:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f3eee3;--panel:#fbf8f1;--panel-2:#ebe4d4;--line:#d8cfbd;--line-soft:#e5ded0;--ink:#1f1a14;--ink-soft:#5c5347;--ink-faint:#6e6456;--accent:#b57e1e;--accent-ink:#8a5f12;--accent-soft:#b57e1e1f;--on-accent:#1a1206;--danger:#a8443a;--good:#2f7d4f;--spotify:#1db954;--shadow:0 1px 2px #3c2d140f, 0 12px 32px #3c2d141f;--shadow-lift:0 6px 20px #3c2d1438;--font-display:Georgia, "Iowan Old Style", "Times New Roman", serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius:12px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#16130f;--panel:#201b15;--panel-2:#2a241c;--line:#3a3328;--line-soft:#2c261e;--ink:#f2ebdd;--ink-soft:#b3a795;--ink-faint:#948a78;--accent:#d9a53f;--accent-ink:#e2b35a;--accent-soft:#d9a53f29;--on-accent:#1a1206;--danger:#d2695c;--good:#5fbf86;--spotify:#1ed760;--shadow:0 1px 2px #00000059, 0 12px 32px #00000073;--shadow-lift:0 8px 24px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#16130f;--panel:#201b15;--panel-2:#2a241c;--line:#3a3328;--line-soft:#2c261e;--ink:#f2ebdd;--ink-soft:#b3a795;--ink-faint:#948a78;--accent:#d9a53f;--accent-ink:#e2b35a;--accent-soft:#d9a53f29;--on-accent:#1a1206;--danger:#d2695c;--good:#5fbf86;--spotify:#1ed760;--shadow:0 1px 2px #00000059, 0 12px 32px #00000073;--shadow-lift:0 8px 24px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:16px/1.5 var(--font-body);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}svg.i{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.app{background:var(--bg);flex-direction:column;max-width:680px;height:100%;margin:0 auto;display:flex;position:relative}@media (width>=700px){.app{border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft)}}.body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;position:relative;overflow-y:auto}.pad{padding-inline:16px}.section{padding-block:16px 8px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:11px;font-weight:700}.bar{flex:none;align-items:center;gap:6px;min-height:56px;padding:10px 10px 8px;display:flex}.bar .ttl{min-width:0;font:700 20px/1.2 var(--font-display);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;overflow:hidden}.bar .ttl small{font:13px/1.3 var(--font-body);color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;font-weight:400;display:block;overflow:hidden}.ibtn{cursor:pointer;width:44px;height:44px;color:var(--ink);background:0 0;border:none;border-radius:12px;flex:none;place-items:center;padding:0;display:grid}.ibtn.sm{width:44px;height:44px;color:var(--ink-faint)}.ibtn:hover:not(:disabled){background:var(--panel-2)}.ibtn:disabled{opacity:.3;cursor:default}.ibtn-gap{flex:none;width:44px}.brand{font:700 19px/1 var(--font-display);flex:1;align-items:center;gap:9px;padding-left:8px;display:flex}.brand .dot{background:var(--accent);width:11px;height:11px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%}.dock{border-top:1px solid var(--line);background:var(--panel);flex:none;gap:10px;padding:10px 16px 12px;display:flex}.dock.col{flex-direction:column;gap:2px}.dock.col .btn{width:100%}.dock-note{color:var(--ink-faint);text-align:center;margin:0;padding-top:4px;font-size:12px}.btn{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 14px;font-size:15px;font-weight:600;display:inline-flex}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){filter:brightness(1.05)}.btn.ghost:hover:not(:disabled){border-color:var(--accent)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--line))}.btn:disabled{opacity:.4;cursor:default}.hint{text-align:center;color:var(--ink-faint);margin:8px 16px 0;font-size:13px}.hint.left{text-align:left;margin-top:12px}.err{color:var(--danger);margin:4px 0 8px;font-size:14px}.note{color:var(--ink-faint);margin:10px 0 0;font-size:13px}.empty{text-align:center;color:var(--ink-faint);justify-items:center;gap:12px;padding:48px 24px;display:grid}.empty p{margin:0}.empty .btn{flex:none}.mini{background:var(--panel-2);border-top:1px solid var(--line-soft);flex:none;align-items:center;gap:6px;padding:4px 6px 4px 16px;font-size:14px;display:flex}.mini .np{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.mini .np b{font-weight:600}.mini .np span{color:var(--ink-faint)}.eq{flex:none;align-items:flex-end;gap:2px;height:12px;margin-right:6px;display:inline-flex}.eq i{background:var(--accent);transform-origin:bottom;border-radius:1px;width:3px;height:100%;animation:.9s ease-in-out infinite eq}.eq i:first-child{animation-delay:-.2s}.eq i:nth-child(2){animation-delay:-.5s}.eq i:nth-child(3){animation-delay:-.35s}@keyframes eq{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.mini.paused .eq i{animation:none;transform:scaleY(.35)}.toast{background:var(--ink);color:var(--bg);z-index:25;text-align:center;max-width:calc(100% - 32px);box-shadow:var(--shadow);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:500;line-height:1.35;position:fixed;bottom:86px;left:50%;transform:translate(-50%)}.cards{gap:10px;display:grid}.tcard{text-align:left;background:var(--panel);border:1px solid var(--line);cursor:pointer;width:100%;box-shadow:var(--shadow);border-radius:16px;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;min-width:0;padding:14px 14px 14px 16px;display:grid}.tcard.static{cursor:default}.tcard>span:nth-child(2){min-width:0}button.tcard:hover{border-color:var(--accent)}.tcard .ico{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-ink);border-radius:12px;place-items:center;display:grid}.tcard .ico svg{width:22px;height:22px}.tcard .t{font:700 16px/1.25 var(--font-display);overflow-wrap:anywhere;display:block}.tcard .m{color:var(--ink-faint);margin-top:2px;font-size:13px;display:block}.chev{color:var(--ink-faint);display:inline-flex}.qbtns{gap:2px;display:inline-flex}.lrow{text-align:left;border:none;border-bottom:1px solid var(--line-soft);cursor:pointer;background:0 0;grid-template-columns:1fr 20px;align-items:center;gap:10px;width:100%;padding:13px 4px 13px 0;display:grid}.lrow>span:first-child{min-width:0}.lrow:hover .t{color:var(--accent-ink)}.lrow .t{overflow-wrap:anywhere;font-size:16px;font-weight:600;display:block}.lrow .m{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:13px;display:block}.lrow.new{border-bottom:none}.lrow.new .t{color:var(--accent-ink);align-items:center;gap:8px;display:inline-flex}.sheet-wrap{z-index:30;flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.sheet-backdrop{cursor:pointer;background:#0a080473;border:none;position:absolute;inset:0}.sheet{background:var(--panel);box-shadow:var(--shadow);border-radius:22px 22px 0 0;max-height:90%;padding:8px 16px 18px;animation:.22s up;position:relative;overflow-y:auto}@keyframes up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.sheet{touch-action:pan-y}.sheet .handle{background:var(--line);touch-action:none;border-radius:2px;width:40px;height:4px;margin:0 auto 14px;position:relative}.sheet .handle:before{content:"";position:absolute;inset:-14px -60px}.sheet h3{font:700 20px/1.2 var(--font-display);overflow-wrap:anywhere;margin:0 0 4px}.sheet p.lead{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;font-size:14px;display:flex}.menu{gap:2px;margin-bottom:10px;display:grid}.mitem{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;grid-template-columns:24px 1fr auto;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 8px;display:grid}.mitem.static{cursor:default}.mitem.static .plain{text-align:left;cursor:pointer;background:0 0;border:none;min-width:0;padding:0}button.mitem:hover:not(:disabled){background:var(--panel-2)}.mitem:disabled{opacity:.4;cursor:default}.mitem>span:nth-child(2),.mitem .plain{min-width:0}.mitem .t{overflow-wrap:anywhere;font-size:15px;font-weight:600;display:block}.mitem .d{color:var(--ink-faint);font-size:13px;display:block}.mitem.danger{color:var(--danger)}.mitem>svg{width:20px;height:20px;color:var(--accent-ink)}.mitem.danger>svg{color:var(--danger)}.stepper{border:1px solid var(--line);background:var(--bg);border-radius:999px;align-items:center;gap:4px;display:inline-flex}.stepper button{cursor:pointer;background:0 0;border:none;border-radius:999px;width:44px;height:44px;font-size:18px}.stepper b{text-align:center;font-variant-numeric:tabular-nums;min-width:28px}.field{color:var(--ink-faint);gap:6px;margin-bottom:12px;font-size:13px;display:grid}.field input,.field textarea{font:16px/1.4 var(--font-body);border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:12px;width:100%;padding:11px 12px}.field textarea{resize:vertical;min-height:120px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px}.sheet .actions{gap:10px;margin-top:8px;display:flex}.segment{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;display:flex;overflow:hidden}.segment button{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex:1;padding:11px 8px;font-size:14px;font-weight:600}.segment button.on{background:var(--accent);color:var(--on-accent)}.inline{color:var(--ink-soft);align-items:center;gap:10px;margin-bottom:14px;font-size:14px;display:flex}.hint-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.hint-chip{min-height:36px;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.hint-chip input{accent-color:var(--accent);margin:0}.hint-chip.off{color:var(--ink-faint);text-decoration:line-through}.hint-chip.missing{opacity:.5;cursor:default}.hint-chip.static{cursor:default;color:var(--ink-faint)}.asks{gap:8px;margin-bottom:8px;display:grid}.ask-row{border:1px solid var(--line);border-radius:12px;gap:8px;padding:10px;display:grid}.ask-row.off{opacity:.55}.ask-head{cursor:pointer;align-items:center;gap:10px;display:flex}.ask-head input{accent-color:var(--accent)}.ask-head .t{font-weight:600;display:block}.ask-head .d{color:var(--ink-faint);font-size:13px;display:block}.pick-option{text-align:left;font:inherit;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:12px;gap:8px;padding:14px;display:grid}.pick-option:hover:not(:disabled){border-color:var(--accent)}.pick-teaser{font:italic 17px/1.3 var(--font-display);margin:0}.pick-reveal{text-align:center;gap:6px;padding:8px 0 4px;display:grid}.pick-album{font:700 26px/1.2 var(--font-display);color:var(--accent-ink);margin:6px 0 0}.pick-artist{color:var(--ink);margin:0}.pdot{background:var(--ink-faint);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.pdot.on{background:var(--good);box-shadow:0 0 0 3px color-mix(in srgb, var(--good) 25%, transparent)}.login{place-items:center;min-height:100%;padding:24px 16px;display:grid}.login-card{text-align:center;background:var(--panel);border:1px solid var(--line);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:20px;justify-items:center;gap:14px;padding:40px 28px;display:grid}.login-card .brand{flex:none;padding:0}.login-card h1{font:700 clamp(26px, 6vw, 32px) / 1.15 var(--font-display);text-wrap:balance;margin:0}.login-card p{color:var(--ink-soft);margin:0;line-height:1.55}.login-btn{background:var(--spotify);border-color:var(--spotify);color:#06110a;border-radius:999px;flex:none;margin-top:6px;padding:0 22px}
