:root{color-scheme:dark;--bg: #000;--surface: #121212;--surface-2: #1a1a1a;--surface-3: #2a2a2a;--hover: rgb(255 255 255 / .07);--border: rgb(255 255 255 / .1);--text: #f3f4f6;--muted: #a7a7a7;--accent: #7cdfb0;--accent-ink: #0b2a1d;--danger: #ff7a7a}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);overflow:hidden}body{font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text}h1{font-size:22px;margin:0 0 8px}p{margin:0 0 12px}a{color:inherit}.muted{color:var(--muted)}.accent{color:var(--accent)}.error-text{color:var(--danger)}input:not([type=range]):not([type=file]){font:inherit;color:var(--text);background:var(--surface-3);border:1px solid transparent;border-radius:6px;padding:10px 12px;outline:none}input:not([type=range]):focus{border-color:var(--muted)}input:disabled{opacity:.6}.btn{font:inherit;font-weight:700;cursor:pointer;padding:10px 22px;border-radius:24px;border:1px solid var(--muted);background:transparent;color:var(--text);white-space:nowrap;transition:transform .1s}.btn:hover:not(:disabled){transform:scale(1.03);border-color:var(--text)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn.wide{width:100%}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer;text-decoration:none}.icon-btn:hover:not(:disabled){color:var(--text)}.icon-btn.round{width:36px;height:36px;background:var(--surface-2);color:var(--text)}.pill{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:16px;padding:6px 14px;background:var(--surface-3);color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.pill:hover{background:#3a3a3a}.slider{appearance:none;height:4px;border-radius:2px;cursor:pointer;margin:0;background:linear-gradient(to right,var(--text) var(--p, 0%),#4d4d4d var(--p, 0%))}.slider:hover{background:linear-gradient(to right,var(--accent) var(--p, 0%),#4d4d4d var(--p, 0%))}.slider::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;opacity:0}.slider:hover::-webkit-slider-thumb{opacity:1}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-thumb{background:#fff3;border:3px solid transparent;background-clip:padding-box;border-radius:6px}::-webkit-scrollbar-track{background:transparent}.center-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;overflow-y:auto}.card{width:100%;max-width:380px;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.progress{height:4px;border-radius:2px;background:var(--surface-3);overflow:hidden}.progress div{height:100%;background:var(--accent);transition:width .2s}.progress div.indeterminate{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.spinner{width:28px;height:28px;border:3px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(max-width:760px){body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}input:not([type=range]):not([type=file]):not([type=checkbox]),textarea{font-size:16px}.btn{min-height:44px}.center-screen{padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.card{padding:24px 20px}}:root{--ease-sheet: cubic-bezier(.32, .72, 0, 1);--ease-out-quick: cubic-bezier(.4, 0, 1, 1)}@media(max-width:760px){.btn:hover:not(:disabled){transform:none}}@media(max-width:760px)and (prefers-reduced-motion:no-preference){.btn,.pill,.icon-btn,.tile,.shelf-card,.liked-card{transition:transform .2s cubic-bezier(.3,.7,.4,1),opacity .2s ease,background-color .15s ease}.icon-btn:active:not(:disabled){transform:scale(.86);opacity:.7}.btn:active:not(:disabled),.pill:active{transform:scale(.95);opacity:.85}.tile:active,.shelf-card:active,.liked-card:active{transform:scale(.97);opacity:.85}.btn:active:not(:disabled),.pill:active,.icon-btn:active:not(:disabled),.tile:active,.shelf-card:active,.liked-card:active{transition-duration:.06s}.heart-pop{position:relative}.heart-pop app-icon{animation:heart-pop .45s cubic-bezier(.3,1.6,.5,1)}.heart-pop:after{content:"";position:absolute;inset:15%;border-radius:50%;border:2px solid var(--accent);pointer-events:none;animation:heart-ring .5s ease-out forwards}}@keyframes heart-pop{0%{transform:scale(1)}25%{transform:scale(.7)}60%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes heart-ring{0%{transform:scale(.4);opacity:.9}to{transform:scale(1.5);opacity:0}}
