@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Syne:wght@600;700;800&family=Manrope:wght@400;500;600;700&display=swap";.admin{min-height:100vh;background:var(--bg);color:var(--text);font-family:Manrope,sans-serif;padding:2rem;max-width:1100px;margin:0 auto}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem}.admin-header-actions{display:flex;align-items:center;gap:8px}.admin-title{font-family:Syne,sans-serif;font-size:1.4rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.admin-back{font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;border:1px solid var(--border);padding:6px 14px;border-radius:var(--radius-sm);transition:color .15s,border-color .15s}.admin-back:hover{color:var(--text);border-color:var(--border-hover)}.admin-random-btn{font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:transparent;border:1px solid var(--border);padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,border-color .15s}.admin-random-btn:hover{color:var(--text);border-color:var(--border-hover)}.admin-body{display:flex;flex-direction:column;gap:2.5rem}.admin-section{display:flex;flex-direction:column;gap:1rem}.admin-section h2{font-family:Syne,sans-serif;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.admin-section-header{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.admin-conflicts{display:flex;gap:6px;flex-wrap:wrap}.admin-badge{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:3px}.admin-badge.valid{background:#ff2d551a;color:var(--accent)}.admin-badge.invalid{background:var(--error-dim);color:var(--error)}.admin-hint{font-size:.75rem;color:var(--text-muted);margin-top:6px}.admin-hint code{font-family:monospace;color:var(--text);background:var(--surface-2);padding:1px 5px;border-radius:3px}.admin-progress{font-size:.78rem;color:var(--text-muted)}.admin-copy-btn{background:var(--accent);color:#000;font-family:Syne,sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;border:none;border-radius:var(--radius);padding:13px 32px;cursor:pointer;transition:opacity .15s}.admin-copy-btn:hover{opacity:.88}.admin-copy-btn:disabled{opacity:.3;cursor:not-allowed}.admin-login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;background:var(--bg)}.admin-login-form{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:300px}.admin-login-error{font-size:.75rem;color:var(--error)}.admin-pw-input{width:100%;text-align:center}.constraint-cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.constraint-group{display:flex;flex-direction:column;gap:.75rem}.constraint-group h3{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.constraint-builder{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.constraint-label{font-size:.72rem;color:var(--text-muted);min-width:64px}.cb-select{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:Manrope,sans-serif;outline:none}.cb-select:focus{border-color:var(--border-hover)}.cb-select{font-size:.8rem;padding:6px 10px;cursor:pointer}.cb-select-sm{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:Manrope,sans-serif;outline:none}.cb-select-sm:focus{border-color:var(--border-hover)}.cb-select-sm{font-size:.78rem;padding:5px 8px}.cb-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:Manrope,sans-serif;outline:none}.cb-input:focus{border-color:var(--border-hover)}.cb-input{font-size:.82rem;padding:6px 10px;width:80px}.cb-input-letter{width:44px;text-align:center}.cb-range{display:flex;align-items:center;gap:6px}.cb-range span{color:var(--text-muted);font-size:.8rem}.admin-grid-wrapper{display:grid;grid-template-columns:160px repeat(3,1fr);gap:6px}.admin-grid-corner{background:transparent}.admin-grid-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px}.admin-row-header{justify-content:flex-start;text-align:left}.admin-grid-actions{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.admin-cell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px;min-height:120px;display:flex;flex-direction:column;gap:6px}.admin-cell.conflict{opacity:.35;border-style:dashed;align-items:center;justify-content:center;font-size:.72rem;color:var(--error)}.admin-cell.verified{border-color:#ff2d554d;background:#ff2d550a}.admin-cell-search{display:flex;gap:4px}.admin-cell-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:Manrope,sans-serif;outline:none}.admin-cell-input:focus{border-color:var(--border-hover)}.admin-cell-input{flex:1;font-size:.78rem;padding:5px 8px;min-width:0}.admin-cell-btn{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.8rem;padding:5px 10px;cursor:pointer;flex-shrink:0;transition:background .1s}.admin-cell-btn:hover{background:var(--border)}.admin-cell-btn:disabled{opacity:.5;cursor:wait}.admin-cell-results{display:flex;flex-direction:column;gap:3px;overflow-y:auto;max-height:160px}.admin-cell-verified{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;flex:1;justify-content:center}.admin-cell-verified img{width:56px;height:56px;object-fit:cover;border-radius:6px}.admin-cell-verified span{font-size:.68rem;color:var(--accent);text-align:center;line-height:1.3}.admin-cell-status{font-size:.72rem;color:var(--text-muted);text-align:center;margin:auto 0}.admin-cell-status.warn{color:var(--error)}.admin-cell-manual{display:flex;gap:4px;margin-top:auto}.admin-result{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;border:1px solid transparent;text-align:left;color:var(--text);cursor:default;transition:background .1s}.admin-result.valid{cursor:pointer;border-color:#ff2d5533;background:#ff2d550d}.admin-result.valid:hover{background:#ff2d551a}.admin-result.invalid{opacity:.3}.admin-result img{width:28px;height:28px;object-fit:cover;border-radius:3px;flex-shrink:0}.admin-result-name{font-size:.72rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-result-artist{font-size:.65rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.admin-result-check{font-size:.7rem;color:var(--accent);flex-shrink:0}.auto-search-all-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:Manrope,sans-serif;font-size:.8rem;padding:7px 14px;cursor:pointer;transition:background .1s}.auto-search-all-btn:hover{background:var(--border)}.auto-search-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:Manrope,sans-serif;font-size:.75rem;padding:6px 10px;cursor:pointer;width:100%;transition:background .1s}.auto-search-btn:hover{background:var(--border)}.verified-name{font-size:.7rem;font-weight:600;text-align:center;line-height:1.3}.verified-artist{font-size:.65rem;color:var(--text-muted);text-align:center}.puzzle-list{display:flex;flex-direction:column;gap:4px}.puzzle-list-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s}.puzzle-list-item:hover{border-color:var(--border-hover)}.puzzle-list-item.today{border-color:#ff2d554d}.puzzle-list-item.past{opacity:.55}.puzzle-list-date{font-size:.8rem;color:var(--text);flex:1;text-transform:capitalize}.puzzle-list-badge{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:3px}.puzzle-list-delete{background:transparent;border:none;color:var(--text-muted);font-size:.9rem;cursor:pointer;padding:2px 6px;border-radius:3px;transition:color .1s,background .1s;line-height:1}.puzzle-list-delete:hover{color:var(--error);background:var(--error-dim)}.today-badge{background:#ff2d551a;color:var(--accent)}.past-badge{background:var(--surface-3);color:var(--text-muted)}.admin-save-row{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}.admin-save-date{display:flex;flex-direction:column;gap:6px}.admin-date-label{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.admin-date-input{width:auto}:root{color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px}button{font-family:inherit}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0a;--surface: #111111;--surface-2: #181818;--surface-3: #202020;--border: #242424;--border-hover: #383838;--text: #efefef;--text-muted: #888;--text-dim: #2e2e2e;--accent: #ff2d55;--accent-dim: rgba(255, 45, 85, .08);--error: #ff3b30;--error-dim: rgba(255, 59, 48, .12);--radius: 10px;--radius-sm: 6px}.error-boundary{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:2rem;text-align:center}.error-boundary-title{font-family:Syne,sans-serif;font-weight:700;font-size:1.1rem;color:var(--text)}.error-boundary-msg{font-size:.82rem;color:var(--text-muted)}.error-boundary-btn{background:var(--surface-3);color:var(--text);border:1px solid var(--border-hover);border-radius:var(--radius-sm);font-family:Syne,sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .15s}.error-boundary-btn:hover{background:var(--border)}.error-boundary-btn:disabled{opacity:.5;cursor:default}.error-boundary-btn{margin-top:8px;padding:9px 24px}html,body{background:var(--bg);color:var(--text);font-family:Manrope,sans-serif;min-height:100dvh}#root{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:2rem 1rem;gap:1.5rem;min-height:100dvh}@media (max-width: 500px){#root{padding:1.25rem 1.75rem 2.5rem;gap:.5rem}}@media (min-width: 900px){#root{padding:2.5rem 2rem}}.app-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:660px}@media (min-width: 900px){.app-header{max-width:800px}}.app-title-link{text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.app-title-row{display:flex;align-items:center;gap:8px}.app-logo{width:22px;height:22px;flex-shrink:0}@media (max-width: 500px){.app-logo{width:18px;height:18px}}.app-title{font-family:Syne,sans-serif;font-weight:800;font-size:1.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}@media (max-width: 500px){.app-title{font-size:1.35rem}}.app-subtitle{font-size:.65rem;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase}@media (max-width: 500px){.app-subtitle{font-size:.55rem;letter-spacing:.06em}}.app-nav{display:flex;align-items:center;gap:12px}.app-nav-link{font-size:.78rem;color:var(--text-muted);text-decoration:none;padding:5px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);transition:color .15s,border-color .15s}@media (max-width: 500px){.app-nav-link{font-size:.72rem;padding:5px 10px}}.app-nav-link:hover,.app-nav-link.active{color:var(--text);border-color:var(--border-hover)}.app-footer{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:.65rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.06em;padding-top:1rem;flex-wrap:wrap;justify-content:center}.footer-sep{width:3px;height:3px;border-radius:50%;background:var(--border-hover);flex-shrink:0}.game{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:660px}@media (min-width: 900px){.game{max-width:800px}}.error-bar{display:flex;align-items:center;gap:6px;width:100%;justify-content:flex-end}@media (max-width: 500px){.error-bar{justify-content:flex-start}}.error-dot{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--border-hover);background:transparent;transition:background .2s,border-color .2s}.error-dot.used{background:var(--error);border-color:var(--error)}.error-label{font-size:.72rem;color:var(--text-muted);letter-spacing:.04em;margin-left:4px}.grid-wrapper{display:grid;grid-template-columns:148px repeat(3,1fr);gap:6px;width:100%;max-width:660px}@media (max-width: 500px){.grid-wrapper{grid-template-columns:80px repeat(3,1fr);gap:4px}}@media (min-width: 900px){.grid-wrapper{max-width:800px;grid-template-columns:180px repeat(3,1fr);gap:8px}}.grid-corner{background:transparent}.grid-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.4;min-height:52px;overflow-wrap:break-word;word-break:break-word}@media (max-width: 500px){.grid-header{font-size:.58rem;padding:6px;min-height:40px;letter-spacing:.01em}}@media (min-width: 900px){.grid-header{font-size:.75rem;padding:12px;min-height:60px}}.row-header{justify-content:flex-start;text-align:left;padding:10px 12px}@media (max-width: 500px){.row-header{padding:6px 7px}}@media (min-width: 900px){.row-header{padding:12px 14px}}.grid-cell{position:relative;aspect-ratio:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;overflow:hidden;transition:border-color .15s,background .15s,transform .1s;display:flex;align-items:center;justify-content:center;color:var(--text)}.grid-cell:not(.filled):hover{border-color:var(--border-hover);background:var(--surface-2);transform:scale(1.02)}.grid-cell:not(.filled):hover .cell-placeholder{color:var(--border-hover)}.grid-cell.filled{border-color:var(--border);cursor:default}.grid-cell.filled img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.grid-cell.filled:hover .cell-overlay{opacity:1}.grid-cell.error{border-color:var(--error)!important;background:var(--error-dim)!important;animation:shake .38s ease}.cell-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#000000d9,#0000 55%);opacity:0;transition:opacity .2s;display:flex;flex-direction:column;justify-content:flex-end;padding:8px;pointer-events:none}.cell-overlay-name{font-size:.68rem;font-weight:700;color:#fff;line-height:1.3;letter-spacing:.01em}@media (max-width: 500px){.cell-overlay-name{font-size:.6rem}}.cell-overlay-artist{font-size:.6rem;color:#fff9;margin-top:1px}@media (max-width: 500px){.cell-overlay-artist{font-size:.52rem}}.cell-placeholder{font-size:1.1rem;color:var(--text-dim);font-weight:300;transition:color .15s}@keyframes shake{0%{transform:translate(0)}18%{transform:translate(-7px)}36%{transform:translate(6px)}54%{transform:translate(-4px)}72%{transform:translate(3px)}to{transform:translate(0)}}.game-over{width:100%;border:1px solid var(--error);border-radius:var(--radius);padding:1.25rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--error-dim)}.game-over-title{font-family:Syne,sans-serif;font-weight:700;font-size:1rem;color:var(--error);text-transform:uppercase;letter-spacing:.06em}.game-over-sub{font-size:.78rem;color:var(--text-muted)}.game-over-restart{font-family:Syne,sans-serif;font-weight:700;background:var(--accent);color:#000;border:none;border-radius:var(--radius-sm);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:opacity .15s}.game-over-restart:hover{opacity:.85}.game-over-restart{background:var(--error);margin-top:6px;padding:8px 20px;font-family:Manrope,sans-serif}.next-grid-countdown{font-size:.75rem;color:var(--text-muted)}.next-grid-countdown span{font-family:Syne,sans-serif;font-weight:700;font-size:.88rem;color:var(--text);letter-spacing:.04em}.completion-panel{width:100%;border:1px solid rgba(255,45,85,.3);border-radius:var(--radius);padding:1.25rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:8px;background:#ff2d550a}.completion-title{font-family:Syne,sans-serif;font-weight:700;font-size:1rem;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.completion-sub{font-size:.78rem;color:var(--text-muted)}.completion-actions{display:flex;gap:8px;width:100%}.completion-actions .share-text-btn{flex:1}@media (max-width: 500px){.completion-actions{flex-direction:column}}.share-text-btn{font-family:Syne,sans-serif;font-weight:700;background:var(--accent);color:#000;border:none;border-radius:var(--radius-sm);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:opacity .15s}.share-text-btn:hover{opacity:.85}.share-text-btn{margin-top:6px;padding:9px 24px}.share-btn{background:var(--surface-3);color:var(--text);border:1px solid var(--border-hover);border-radius:var(--radius-sm);font-family:Syne,sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .15s}.share-btn:hover{background:var(--border)}.share-btn:disabled{opacity:.5;cursor:default}.share-btn{flex:1;padding:9px 16px;margin-top:6px}.error-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.error-modal{background:var(--surface);border:1px solid var(--error);border-radius:var(--radius);padding:1.5rem;max-width:360px;width:100%;display:flex;flex-direction:column;gap:12px}.error-modal-album{display:flex;align-items:center;gap:10px}.error-modal-album img{width:44px;height:44px;object-fit:cover;border-radius:5px;flex-shrink:0}.error-modal-name{font-size:.88rem;font-weight:600;color:var(--text);line-height:1.3}.error-modal-title{font-size:.72rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.06em}.error-modal-reasons{list-style:none;display:flex;flex-direction:column;gap:6px}.error-modal-reasons li{font-size:.82rem;color:var(--error);padding-left:12px;position:relative;line-height:1.4}.error-modal-reasons li:before{content:"×";position:absolute;left:0;font-weight:700}.error-modal-close{align-self:flex-end;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:Manrope,sans-serif;font-size:.8rem;padding:6px 16px;cursor:pointer;transition:background .1s}.error-modal-close:hover{background:var(--border)}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:1000;transform:translateY(0);transition:transform .42s cubic-bezier(.76,0,.24,1)}.loading-screen.slide-up{transform:translateY(-105%)}.loading-content{display:flex;flex-direction:column;align-items:center;gap:24px}.loading-title{font-family:Syne,sans-serif;font-weight:800;font-size:2rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text);animation:loading-pulse 1.6s ease-in-out infinite}@media (max-width: 500px){.loading-title{font-size:1.35rem;letter-spacing:.08em}}.loading-dots{display:flex;gap:7px}.loading-dots span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:dot-bounce 1.2s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}@keyframes loading-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes dot-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-7px);opacity:1}}.stats-panel{width:100%;display:flex;flex-direction:column;gap:12px;padding-top:4px}.stats-row{display:flex;justify-content:space-around;gap:8px}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}.stat-value{font-family:Syne,sans-serif;font-weight:700;font-size:1.35rem;color:var(--text);line-height:1}.stat-label{font-size:.62rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.06em;text-align:center}.stats-dist{display:flex;flex-direction:column;gap:5px}.dist-row{display:flex;align-items:center;gap:8px}.dist-label{font-size:.65rem;color:var(--text-muted);width:56px;flex-shrink:0;text-align:right}.dist-bar-wrap{flex:1;height:10px;background:var(--surface-3);border-radius:3px;overflow:hidden}.dist-bar{height:100%;background:var(--accent);border-radius:3px;min-width:4px;transition:width .4s ease}.dist-count{font-size:.65rem;color:var(--text-muted);width:16px;text-align:right;flex-shrink:0}.game-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:4rem 0}.game-state-title{font-size:.9rem;color:var(--text)}.game-state-sub{font-size:.78rem;color:var(--text-muted)}.game-state-retry{margin-top:8px;background:var(--surface-3);border:1px solid var(--border-hover);border-radius:var(--radius-sm);color:var(--text);font-family:Manrope,sans-serif;font-size:.82rem;font-weight:600;padding:8px 20px;cursor:pointer;transition:background .15s}.game-state-retry:hover{background:var(--border)}.archives{width:100%;max-width:660px;display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 900px){.archives{max-width:800px}}.archives-title{font-family:Syne,sans-serif;font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.06em}.archives-section{display:flex;flex-direction:column;gap:8px}.archives-section-label{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);letter-spacing:.08em}.archives-empty{font-size:.82rem;color:var(--text-muted)}.archive-list{display:flex;flex-direction:column;gap:4px}.archive-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;transition:border-color .15s,background .15s;gap:12px}.archive-item:hover{border-color:var(--border-hover);background:var(--surface-2)}.archive-item.today{border-color:#ff2d554d}.archive-date{font-size:.82rem;color:var(--text);text-transform:capitalize}.archive-badge{font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:3px;white-space:nowrap}.archive-badge.completed{background:#ff2d551a;color:var(--accent)}.archive-badge.failed{background:var(--error-dim);color:var(--error)}.archive-badge.in-progress{background:var(--surface-3);color:var(--text-muted)}.archive-badge.untouched{background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.25rem;width:100%;max-width:460px;display:flex;flex-direction:column;gap:.75rem;max-height:85vh}@media (min-width: 900px){.modal{max-width:540px}}.modal-context{display:flex;gap:6px;flex-wrap:wrap}.modal-tag{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bg);background:var(--accent);padding:3px 8px;border-radius:3px;max-width:100%;word-break:break-word}@media (min-width: 900px){.modal-tag{font-size:.7rem;padding:4px 10px}}.modal-tag.row{background:var(--accent)}.modal-tag.col{background:var(--surface-3);color:var(--text);border:1px solid var(--border-hover)}.modal-input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px;color:var(--text);font-family:Manrope,sans-serif;font-size:.95rem;font-weight:500;outline:none;transition:border-color .15s}.modal-input::placeholder{color:var(--text-muted)}.modal-input:focus{border-color:var(--border-hover)}.modal-results{display:flex;flex-direction:column;gap:4px;overflow-y:auto;max-height:340px}.modal-status{color:var(--text-muted);font-size:.82rem;text-align:center;padding:1.5rem}@keyframes result-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.album-result{display:flex;align-items:center;gap:12px;background:var(--surface-2);border:1px solid transparent;border-left:2px solid transparent;border-radius:var(--radius-sm);padding:8px 10px 8px 9px;cursor:pointer;color:var(--text);text-align:left;transition:background .12s,border-color .12s,opacity .12s;width:100%;animation:result-in .22s ease both}.album-result.valid{border-color:#ff2d5540;border-left-color:var(--accent);background:var(--accent-dim)}.album-result.valid:hover{background:#ff2d551f;border-color:#ff2d5566;border-left-color:var(--accent)}.album-result.invalid{opacity:.28;cursor:not-allowed}.album-result.used{opacity:.35;cursor:not-allowed}.album-result:not(.invalid):not(.used):not(.valid):hover{background:var(--surface-3);border-color:var(--border);border-left-color:var(--border-hover)}.album-result.validating{animation:loading-pulse .9s ease-in-out infinite}.album-cover-wrap{position:relative;flex-shrink:0;width:52px;height:52px;border-radius:5px;overflow:hidden;box-shadow:0 2px 8px #0006}.album-cover-wrap img{width:100%;height:100%;object-fit:cover;background:var(--surface-3);display:block}.album-result-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.album-name{font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);letter-spacing:.01em}.album-artist{font-size:.73rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}.album-year{font-size:.65rem;color:var(--border-hover);font-weight:500}.album-year:before{content:"·";margin-right:6px}.album-used-badge{font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);border-radius:3px;padding:2px 6px;flex-shrink:0}.album-valid-badge{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);flex-shrink:0}.intro-modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.5rem;width:100%;max-width:460px;display:flex;flex-direction:column;gap:1.25rem;max-height:90vh;overflow-y:auto}.intro-header{display:flex;flex-direction:column;gap:4px}.intro-title{font-family:Syne,sans-serif;font-weight:800;font-size:1.2rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text)}.intro-sub{font-size:.72rem;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.intro-grid-demo{display:grid;grid-template-columns:80px 1fr 1fr;gap:4px}.demo-corner{background:transparent}.demo-header{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 7px;font-size:.58rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.4}.demo-header.row{justify-content:flex-start;text-align:left}.demo-cell{aspect-ratio:1;border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.58rem;font-weight:600;text-align:center;line-height:1.3;padding:4px}.demo-cell.valid{background:var(--accent-dim);border:1px solid rgba(255,45,85,.3);color:var(--accent)}.demo-cell.valid span{font-weight:400;font-size:.52rem;color:#ff2d5599;margin-top:2px}.demo-cell.empty{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);font-size:.9rem;font-weight:300}.intro-rules{list-style:none;display:flex;flex-direction:column;gap:8px}.intro-rules li{font-size:.82rem;color:var(--text-muted);padding-left:14px;position:relative;line-height:1.5}.intro-rules li:before{content:"–";position:absolute;left:0;color:var(--accent);font-weight:700}.intro-rules strong{color:var(--text);font-weight:600}.intro-cta{font-family:Syne,sans-serif;font-weight:700;background:var(--accent);color:#000;border:none;border-radius:var(--radius-sm);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:opacity .15s}.intro-cta:hover{opacity:.85}.intro-cta{padding:11px 24px;font-size:.85rem;letter-spacing:.08em;align-self:stretch}
