.external-link[data-astro-cid-m72e64bd]{display:inline-block;margin-top:var(--space-lg);font-family:var(--font-ui);font-size:.88rem;letter-spacing:.03em;color:var(--color-muted);text-decoration:none;border-bottom:1px solid var(--color-rule);padding-bottom:2px;transition:color var(--transition-fast),border-color var(--transition-fast)}.external-link[data-astro-cid-m72e64bd]:hover{color:var(--color-link-hover);border-color:var(--color-link-hover)}.footer-info[data-astro-cid-5qfeu7cb]{margin-top:var(--space-2xl);margin-bottom:var(--space-2xl);border-top:1px solid var(--color-rule);padding-top:var(--space-md)}.footer-info-title[data-astro-cid-5qfeu7cb]{font-family:var(--font-ui);font-size:.78rem;letter-spacing:.06em;color:var(--color-faint);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;transition:color var(--transition-fast)}.footer-info-title[data-astro-cid-5qfeu7cb]::-webkit-details-marker{display:none}.footer-info-title[data-astro-cid-5qfeu7cb]::marker{content:""}.footer-info-title[data-astro-cid-5qfeu7cb]:hover{color:var(--color-muted)}.footer-info-date[data-astro-cid-5qfeu7cb]{font-size:.72rem;color:var(--color-faint)}.footer-info-body[data-astro-cid-5qfeu7cb]{margin-top:var(--space-sm);font-size:.88rem;color:var(--color-muted);line-height:1.5}.footer-info-body[data-astro-cid-5qfeu7cb] ul,.footer-info-body[data-astro-cid-5qfeu7cb] ol{list-style-position:inside;padding-left:0;margin-bottom:var(--space-md)}.footer-info-body[data-astro-cid-5qfeu7cb] li{margin-bottom:var(--space-xs)}.puz-page{max-width:60em;margin:0 auto;padding:var(--space-lg, 1.5rem) var(--space-md, 1rem)}.drop-zone{border:2px dashed var(--color-text-muted, #888);border-radius:8px;padding:var(--space-xl, 2rem);text-align:center;cursor:pointer;transition:border-color var(--transition-fast, .15s)}.drop-zone.dragover{border-color:var(--color-text, #333)}.result{margin-top:var(--space-lg, 1.5rem);display:flex;flex-direction:column;gap:var(--space-lg, 1.5rem)}.result[hidden]{display:none}.result-grid-col{display:flex;justify-content:center}.result-info-col h2{margin-bottom:var(--space-sm, .5rem)}@media(min-width:700px){.result{flex-direction:row;align-items:start}.result-grid-col{flex-shrink:0}.result-info-col{flex:1}}.meta{display:flex;flex-direction:column;gap:var(--space-xs, .25rem)}.meta-label{color:var(--color-text-muted, #888);margin-right:.4em}.grid-container{display:inline-grid;gap:1px;background:var(--color-text, #333);border:2px solid var(--color-text, #333);line-height:0}.grid-container .cell{width:clamp(16px,3vw,28px);aspect-ratio:1}.grid-container .cell.white{background:#fff}.grid-container .cell.black{background:var(--color-text, #333)}.split-viz{display:flex;gap:var(--space-sm, .5rem);margin-bottom:var(--space-lg, 1.5rem)}.split-square{aspect-ratio:1;border:2px solid var(--color-text, #333);display:flex;align-items:center;justify-content:center;font-family:var(--font-ui, Inter, sans-serif);font-weight:600}.split-square.white-sq{background:#fff;color:var(--color-text, #333)}.split-square.black-sq{background:var(--color-text, #333);color:#fff}.close-btn{margin-top:var(--space-lg, 1.5rem);background:none;border:1px solid var(--color-text-muted, #888);color:var(--color-text-muted, #888);padding:.4em 1em;border-radius:4px;cursor:pointer;font-family:var(--font-ui, Inter, sans-serif);font-size:.85rem;transition:color var(--transition-fast, .15s),border-color var(--transition-fast, .15s)}.close-btn:hover{color:var(--color-text, #333);border-color:var(--color-text, #333)}.listing-header{padding-top:var(--space-sm);margin-bottom:var(--space-lg);display:flex;justify-content:space-between;align-items:baseline}.listing-header h1{margin-bottom:0}.titles-toggle{font-family:var(--font-ui);font-size:.72rem;font-variant:small-caps;letter-spacing:.06em;text-transform:lowercase;color:var(--color-faint);cursor:pointer;border:none;background:none;padding:.2em .4em;transition:color var(--transition-fast);user-select:none}.titles-toggle:hover{color:var(--color-muted)}.titles-toggle.active{color:var(--color-text)}.reading-listing{display:flex;flex-direction:column}.bar-row{position:relative;cursor:pointer;margin-bottom:6px}.bar-row svg{display:block;overflow:visible;transition:opacity var(--transition-fast)}.bar-row:hover svg{opacity:.5}.bar-row.active svg{opacity:1}.bar-title{position:absolute;top:0;left:0;z-index:1;font-family:var(--font-ui);font-variant:small-caps;text-transform:lowercase;font-size:.68rem;letter-spacing:.06em;color:var(--color-text);opacity:0;transition:opacity var(--transition-fast);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px;padding-left:6px;text-shadow:none}.bar-row:hover .bar-title{opacity:.9}.reading-listing.has-expanded .bar-row:not(.active) svg{opacity:.5}.titles-visible .bar-row svg{opacity:.5}.titles-visible .bar-row.active svg{opacity:1}.titles-visible .bar-title{opacity:.9}.titles-visible .bar-row.active .bar-title{opacity:0}.chunk-rect{transition:filter var(--transition-fast);cursor:pointer}.bar-detail{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1);margin-bottom:0}.bar-detail.expanded{margin-bottom:var(--space-md)}.bar-detail-inner{padding:var(--space-md) 0;border-bottom:1px solid var(--color-rule);opacity:0;transition:opacity .2s ease .1s;color:var(--book-color, var(--color-text))}.bar-detail.expanded .bar-detail-inner{opacity:1}.detail-title{font-size:1.1rem;font-weight:400;margin-bottom:2px}.detail-author{font-size:.85rem;font-style:italic;margin-bottom:var(--space-md)}.detail-stats{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);font-family:var(--font-ui);font-size:.72rem;letter-spacing:.04em;margin-bottom:var(--space-md)}.detail-stat{display:flex;align-items:center;gap:.3em}.detail-stat-label{font-variant:small-caps;text-transform:lowercase}.detail-bar{margin:var(--space-md) 0 0}.detail-bar svg{display:block;overflow:visible}.detail-bar:hover .chunk-rect{filter:saturate(.3) brightness(1.1)}.detail-bar:hover .chunk-rect:hover{filter:saturate(1.2) brightness(1)}.detail-chunk-label{font-family:var(--font-ui);font-variant:small-caps;text-transform:lowercase;font-size:11px;letter-spacing:.04em;fill:var(--color-faint);pointer-events:none;opacity:0;transition:opacity var(--transition-fast);text-anchor:start}.detail-chunk-label.visible{opacity:1}.detail-header{display:flex;gap:var(--space-md);align-items:flex-start}.detail-header-text{flex:1;min-width:0}.detail-cover-wrap{max-width:200px;flex-shrink:0;line-height:0;cursor:pointer}.detail-cover{width:100%;height:auto;mix-blend-mode:luminosity}.detail-cover-wrap.revealed{background-color:transparent!important}.detail-cover-wrap.revealed .detail-cover{mix-blend-mode:normal}.detail-notes{font-size:.9rem;line-height:1.6;margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--color-rule)}.detail-notes p{margin-bottom:var(--space-sm)}.detail-notes .detail-img-wrap{display:inline-block;background-color:var(--book-color, transparent);margin:var(--space-sm) 0;cursor:pointer;line-height:0}.detail-notes .detail-img-wrap img{max-width:100%;height:auto;mix-blend-mode:luminosity}.detail-notes .detail-img-wrap.revealed{background-color:transparent}.detail-notes .detail-img-wrap.revealed img{mix-blend-mode:normal}.detail-notes blockquote{border-left:3px solid var(--book-color, var(--color-rule));padding-left:var(--space-md);margin:var(--space-sm) 0;font-style:italic}.detail-notes a,.detail-notes a:visited,.detail-notes a:hover,.detail-notes a:active{color:inherit;text-decoration:underline;text-decoration-color:var(--book-color, var(--color-faint));text-underline-offset:.15em}.detail-notes ul,.detail-notes ol{padding-left:1.5em;margin-bottom:var(--space-sm)}.detail-notes code{font-size:.85em;background:var(--color-rule);padding:.1em .3em;border-radius:3px}.detail-notes .footnotes{font-size:.8rem;margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--color-rule)}.detail-notes sup a{text-decoration:none;font-size:.75em}@media(max-width:600px){.listing-header{flex-direction:column;gap:var(--space-sm)}.bar-title{font-size:.62rem}.detail-chunk-label{font-size:9px}.detail-stats{flex-direction:column;gap:var(--space-xs)}.detail-cover-wrap{max-width:120px}}
