:root{--bg-canvas: #1c140d;--text-primary: #ebddc4;--text-secondary: #a8916c;--text-muted: #6e5a3f;--text-accent: #7ba266;--font-display: "Fraunces", Georgia, serif;--font-ui: "Inter", "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--cell-size: 440px;--gap: 20px;--img-shrink-w: 90%;--img-shrink-h: 50%;--img-shrink-top: 32%;--info-panel-top: 60%;--pan-duration: 400ms;--hover-in-ms: 200ms;--hover-in-delay: 120ms;--hover-out-ms: 240ms}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;width:100%;background:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-display);overflow:hidden;overscroll-behavior:none;-webkit-font-smoothing:antialiased}.canvas{position:fixed;inset:0;overflow:hidden}.surface{position:absolute;top:0;left:0;will-change:transform}.cell{position:absolute;cursor:pointer}.cell img{position:absolute;top:50%;left:50%;max-width:92%;max-height:92%;transform:translate(-50%, -50%);object-fit:contain;transition:top 320ms cubic-bezier(0.25, 0.1, 0.25, 1),max-width 320ms cubic-bezier(0.25, 0.1, 0.25, 1),max-height 320ms cubic-bezier(0.25, 0.1, 0.25, 1),opacity 220ms ease;pointer-events:none;user-select:none;-webkit-user-drag:none}.cell.selected img{top:var(--img-shrink-top);max-width:var(--img-shrink-w);max-height:var(--img-shrink-h)}.cell .hover-label{position:absolute;top:100%;left:50%;transform:translate(-50%, 8px);text-align:center;pointer-events:none;opacity:0;transition:opacity var(--hover-out-ms) ease;white-space:nowrap}.cell:hover .hover-label{opacity:1;transition:opacity var(--hover-in-ms) ease var(--hover-in-delay)}.cell.selected .hover-label{opacity:0 !important}.hover-label .title{display:block;font-family:var(--font-display);font-size:17px;font-weight:500;color:var(--text-primary);line-height:1.2}.hover-label .meta{display:block;font-family:var(--font-ui);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-secondary);margin-top:4px}.info-panel{position:absolute;top:var(--info-panel-top);left:8%;width:84%;text-align:center;pointer-events:auto;opacity:0;animation:panel-fade 320ms ease 100ms forwards}@keyframes panel-fade{to{opacity:1}}.info-title{font-family:var(--font-display);font-size:26px;font-weight:500;color:var(--text-primary);line-height:1.15}.info-meta{font-family:var(--font-ui);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-secondary);margin-top:6px}.info-link{display:inline-block;margin-top:14px;font-family:var(--font-display);font-size:14px;font-style:italic;color:var(--text-accent);text-decoration:underline;text-underline-offset:3px}.info-link:hover{color:var(--text-primary)}.info-desc{font-family:var(--font-display);font-size:14px;line-height:1.55;color:var(--text-primary);margin:12px 0 0 0}.hint{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);font-family:var(--font-ui);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);pointer-events:none;z-index:10;transition:opacity 200ms ease}body.has-selection .hint{opacity:0}#tuner{position:fixed;bottom:16px;right:16px;width:280px;max-height:calc(100vh - 32px);overflow-y:auto;background:rgba(28,20,13,.92);border:1px solid var(--text-muted);color:var(--text-primary);font-family:var(--font-ui);font-size:11px;padding:12px 14px 14px;z-index:100;transform:translateX(120%);transition:transform 200ms ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}body.tuner-visible #tuner{transform:translateX(0)}#tuner .tuner-head{display:flex;justify-content:space-between;align-items:baseline;text-transform:uppercase;letter-spacing:.16em;color:var(--text-secondary);font-size:10px;margin-bottom:10px}#tuner .tuner-head .tuner-hint{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);letter-spacing:.08em}#tuner fieldset{border:none;border-top:1px solid var(--text-muted);padding:8px 0 2px 0;margin:0}#tuner legend{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--text-secondary);padding:0 6px 0 0}#tuner legend .legend-hint{color:var(--text-muted);text-transform:none;letter-spacing:0;font-size:9px;margin-left:4px}#tuner label{display:block;margin:6px 0 8px;color:var(--text-primary);font-size:10px;text-transform:uppercase;letter-spacing:.08em}#tuner label .value{color:var(--text-accent);font-family:var(--font-mono);font-size:10px;margin:0 4px;text-transform:none;letter-spacing:0}#tuner input[type=range]{display:block;width:100%;margin-top:4px;accent-color:var(--text-accent)}#tuner .dir-chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:6px 0 10px}#tuner .dir-chips>span{margin-right:4px;color:var(--text-secondary);font-size:10px;text-transform:uppercase;letter-spacing:.08em}#tuner .dir-chips button{background:rgba(0,0,0,0);color:var(--text-primary);border:1px solid var(--text-muted);padding:2px 6px;font-family:var(--font-mono);font-size:10px;cursor:pointer;text-transform:uppercase;letter-spacing:.06em}#tuner .dir-chips button.skipped{background:var(--text-muted);color:var(--bg-canvas);border-color:var(--text-muted)}#tuner .tuner-actions{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--text-muted)}#tuner .tuner-actions button{flex:1;background:rgba(0,0,0,0);color:var(--text-primary);border:1px solid var(--text-secondary);padding:6px 8px;font-family:var(--font-ui);font-size:10px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}#tuner .tuner-actions button:hover{border-color:var(--text-accent);color:var(--text-accent)}/*# sourceMappingURL=canvas.css.map */
