:root{--bg:#0c0b0a;--surface:#171513;--surface-2:#221f1c;--border:#2a2622;--border-strong:#3a352f;--text:#f3efe7;--muted:#f3efe79e;--faint:#f3efe75c;--accent:#f2b84b;--accent-light:#f2b84b;--accent-rgb:242 184 75;--on-accent:#1a1305;--danger:#ff453a;--warning:#ff9f0a;--success:#30d158;--purple:#bf5af2;--lamp:#f2b84b;--gold:#f2b84b;--valentin:#f87171;--maeva:#60a5fa;--font-display:"Young Serif", "Iowan Old Style", Georgia, serif;--nav-h:62px;--nav-gap:max(12px, -6px + env(safe-area-inset-bottom,0px));--nav-space:calc(18px + var(--nav-h) + var(--nav-gap));--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.16s;--dur-base:.24s;--dur-slow:.36s;--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body,html{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;touch-action:manipulation;margin:0;font-family:-apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif;font-size:15px}body{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text}a{text-decoration:none}a,button{color:inherit}button{font:inherit;cursor:pointer}img{display:block}.page{max-width:820px;margin:0 auto;padding:12px 10px 28px}h1,h2{font-family:var(--font-display);margin:0;font-weight:400}h1{letter-spacing:-.01em;font-size:1.5rem;line-height:1.1}h2{font-size:1.3rem;line-height:1.15}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:.82rem}.center,.state,.tabs>.tab{text-align:center}.row{align-items:center;gap:8px;display:flex}.grow{flex:1;min-width:0}input[type=email],input[type=password],input[type=search],input[type=text]{font:inherit;color:var(--text);background:0 0;border:0;outline:0;width:100%;padding:0;font-size:16px}input::placeholder{color:var(--muted)}.searchbar{border-radius:14px;gap:8px;min-height:46px;padding:12px 14px;display:flex}.pill,.searchbar{background:var(--surface);border:1px solid var(--border);align-items:center}.pill{color:var(--muted);white-space:nowrap;border-radius:999px;justify-content:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex;position:relative}.pill.on{border-color:var(--accent-light);background:rgb(var(--accent-rgb)/.2);color:var(--accent-light)}.tabs{gap:8px;display:flex}.tabs>.tab{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:16px;flex:1;padding:10px 6px;font-size:14px;font-weight:600}.tabs>.tab.on{border-color:var(--accent-light);background:rgb(var(--accent-rgb)/.2);color:var(--accent-light)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid rgb(var(--accent-rgb)/.4);background:rgb(var(--accent-rgb)/.1);color:var(--accent-light);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:500}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex}.btn,.item,.pill,.round,.src,.tab,.utab{transition:transform .12s var(--ease-out),opacity .12s var(--ease-out),background .2s,border-color .2s,color .2s}.btn:active,.item:active,.pill:active,.src:active,.tab:active,.utab:active{opacity:.85;transform:scale(.97)}.pill:after{content:"";position:absolute;inset:-7px -2px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.danger{color:var(--danger)}.btn.sm{border-radius:999px;padding:6px 12px;font-size:13px}.btn:disabled{opacity:.4}.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:15px 14px;display:grid}.hscroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:14px;margin:-10px;padding:10px 10px 16px;display:flex;overflow-x:auto}.hscroll::-webkit-scrollbar{display:none}.hscroll>*{flex:none}.section{margin-top:28px}.section-head{justify-content:space-between;margin-bottom:10px}.section-head,.state{align-items:center;display:flex}.state{color:var(--faint);flex-direction:column;gap:12px;padding:64px 40px}.spinner{border:3px solid var(--border-strong);border-top-color:var(--accent-light);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(1turn)}}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 50%,var(--surface) 75%);background-size:200% 100%;border-radius:16px;animation:1.4s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.topbar{align-items:center;gap:10px;min-height:44px;margin-bottom:6px;display:flex}.back{background:0 0;border:0;place-items:center;width:44px;height:44px;margin-left:-10px;display:grid}.utabs{border-bottom:1px solid var(--border);margin-top:6px;display:flex}.utab{min-height:46px;color:var(--muted);background:0 0;border:0;flex:1;padding:0 4px;font-size:15px;font-weight:500;position:relative}.utab.on{color:var(--text)}.utab.on:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:22%;right:22%}.fade-enter-active{transition:opacity var(--dur-base) var(--ease-out)}.fade-leave-active{transition:opacity var(--dur-fast) var(--ease-in)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-left-enter-active,.slide-right-enter-active{transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out)}.slide-left-leave-active,.slide-right-leave-active{transition:transform var(--dur-fast) var(--ease-in),opacity var(--dur-fast) var(--ease-in)}.slide-left-enter-from{opacity:0;transform:translate(24px)}.slide-left-leave-to{opacity:0;transform:translate(-12px)}.slide-right-enter-from{opacity:0;transform:translate(-24px)}.slide-right-leave-to{opacity:0;transform:translate(12px)}.reveal{opacity:0;transform:translateY(14px)scale(.98)}.reveal.is-visible{opacity:1;transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out);transform:none}.shell{background:var(--bg);min-height:calc(100lvh + 1px);padding-top:env(safe-area-inset-top,0);position:relative}.shell.notabs{padding-bottom:var(--safe-bottom)}.topcover{z-index:60;height:env(safe-area-inset-top,0);background:var(--bg);pointer-events:none;position:fixed;top:0;left:0;right:0}.shell:not(.notabs) .page{padding-bottom:calc(18px + var(--nav-space))}.tabbar{z-index:50;left:50%;bottom:var(--nav-gap);width:min(100% - 32px,380px);height:var(--nav-h);-webkit-backdrop-filter:blur(24px)saturate(1.7);backdrop-filter:blur(24px)saturate(1.7);background:#1a171499;border:1px solid #f3efe71f;gap:4px;padding:6px;position:fixed;transform:translate(-50%);box-shadow:0 14px 34px #00000080,inset 0 1px #f3efe714}.tabbar,.tabbar a{border-radius:999px;display:flex}.tabbar a{min-width:0;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:10.5px;font-weight:500;transition:background .2s,color .2s}.tabbar a.on{color:var(--lamp);background:rgb(var(--accent-rgb)/.14)}.tabbar a:active{opacity:.7}.tabbar .ico{display:inline-grid;position:relative}.tabbar .dot{background:var(--lamp);border-radius:50%;width:9px;height:9px;position:absolute;top:-2px;right:-5px;box-shadow:0 0 0 2px #1a1714}.tabbar a.act{width:56px;height:56px;color:var(--on-accent);background:var(--lamp);box-shadow:0 10px 24px rgb(var(--accent-rgb)/.35),0 2px 6px #00000080;flex:none;align-self:center;margin:0 2px;transform:translateY(-9px)}.tabbar a.act:active{opacity:1;transform:translateY(-9px)scale(.94)}.toast{left:50%;bottom:calc(8px + var(--nav-space));background:var(--surface-2);border:1px solid var(--border-strong);z-index:300;border-radius:999px;padding:10px 18px;font-size:14px;animation:.2s fade;position:fixed;transform:translate(-50%)}
