:root{color-scheme:dark;--bg0: #0c0d10;--bg1: #14161c;--bg2: #1c1f28;--ink: #e8e6e1;--muted: #9a958c;--line: rgba(232, 230, 225, .1);--yes: #3dba7a;--no: #d45b5b;--skip: #7a8494;--seen: #4aa3c7;--accent: #e2b15a;--radius: 18px;--font: "DM Sans", system-ui, sans-serif;--display: "Fraunces", Georgia, serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;height:-webkit-fill-available;height:100dvh;overflow:hidden}html{background:#090a0d}body{font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,rgba(226,177,90,.12),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(61,186,122,.08),transparent 50%),linear-gradient(180deg,var(--bg0),#090a0d 70%);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;font-size:16px}button{cursor:pointer}.app-shell{height:100%;height:-webkit-fill-available;height:100dvh;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;max-width:480px;margin:0 auto;padding:calc(16px + env(safe-area-inset-top)) 16px 0;display:flex;flex-direction:column;gap:16px}@media(display-mode:standalone){html,body,#root,.app-shell{height:100lvh}}.app-shell>.panel,.app-shell>.swipe-stage,.app-shell>.reveal{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.app-shell.has-tabbar>.panel,.app-shell.has-tabbar>.swipe-stage,.app-shell.has-tabbar>.reveal{padding-bottom:calc(128px + env(safe-area-inset-bottom))}.tabbar{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(448px,calc(100vw - 24px));z-index:40;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:8px 6px 10px;border-radius:26px;isolation:isolate}.tabbar-glass{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--bg2) 62%,transparent),color-mix(in srgb,var(--bg0) 76%,transparent));backdrop-filter:blur(26px) saturate(180%);-webkit-backdrop-filter:blur(26px) saturate(180%);border:1px solid rgba(232,230,225,.14);box-shadow:0 -1px #ffffff29 inset,0 18px 44px #0000008c,0 2px 10px #00000059}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:6px 2px 2px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted);font:inherit;font-size:.66rem;letter-spacing:.02em;cursor:pointer;transition:color .18s ease;-webkit-tap-highlight-color:transparent}.tab-icon{position:relative;display:grid;place-items:center;width:26px;height:26px}.tab-icon svg{width:23px;height:23px;display:block}.tab.on{color:var(--ink)}.tab:not(.tab-center).on .tab-icon:after{content:"";position:absolute;bottom:-7px;width:4px;height:4px;border-radius:50%;background:var(--accent)}.tab-center{color:var(--ink)}.tab-center .tab-icon{width:56px;height:56px;margin-top:-26px;border-radius:50%;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 92%,#fff),color-mix(in srgb,var(--accent) 74%,#000));color:#17130a;box-shadow:0 1px #ffffff8c inset,0 -2px 8px #00000040 inset,0 10px 22px #e2b15a52,0 2px 6px #0006;transition:transform .2s cubic-bezier(.2,.9,.25,1)}.tab-center .tab-icon svg{width:27px;height:27px;stroke-width:1.9}.tab-center.on .tab-icon{transform:translateY(-2px) scale(1.03)}.tab-center:active .tab-icon{transform:scale(.95)}.tab-badge{position:absolute;top:-3px;right:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--no);color:#fff;font-size:.62rem;font-weight:700;line-height:17px;text-align:center;box-shadow:0 0 0 2px color-mix(in srgb,var(--bg0) 80%,transparent)}@media(prefers-reduced-motion:reduce){.tab-center .tab-icon,.tab-center.on .tab-icon,.tab-center:active .tab-icon{transition:none;transform:none}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.tabbar-glass{background:color-mix(in srgb,var(--bg1) 96%,transparent)}}.settings-topbar-actions{display:flex;gap:8px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:100%}.topbar-name{margin-right:2px}.nav-alert-btn{display:inline-flex;align-items:center;gap:6px}.nav-badge{min-width:1.35em;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 85%,#000);color:#0c0d10;font-size:.75rem;font-weight:700;line-height:1.35;text-align:center}.brand{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:650;font-size:1.35rem;letter-spacing:-.02em;flex:none}.brand-mark{width:1.18em;height:1.18em;flex:none;fill:var(--accent);margin-top:-.1em}.muted{color:var(--muted)}.ghost-btn{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:8px 14px;white-space:nowrap}.topbar-actions .ghost-btn{padding:7px 11px;font-size:.85rem}.ghost-btn:hover{color:var(--ink);border-color:#e8e6e140}.panel{background:color-mix(in srgb,var(--bg1) 88%,transparent);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.login-panel{margin-top:12vh;display:flex;flex-direction:column;gap:16px}.login-panel h1{font-family:var(--display);font-weight:650;font-size:2rem;margin:0;letter-spacing:-.03em}.login-panel p{margin:0;color:var(--muted);line-height:1.45}.login-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.85rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--line)}.login-passkey-btn{width:100%;padding:12px 16px;text-align:center}.passkey-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.passkey-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.passkey-row:last-child{border-bottom:none}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.field input{background:var(--bg0);border:1px solid var(--line);border-radius:12px;color:var(--ink);padding:12px 14px}.field input:focus{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);border-color:transparent}.primary-btn{background:var(--accent);color:#1a1408;border:none;border-radius:12px;padding:14px 16px;font-weight:600}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.error{color:#ff8f8f;font-size:.9rem;margin:0}.status-indicator{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg2) 76%,transparent);font-size:.82rem;line-height:1.35}.status-indicator.dry{color:var(--muted);text-align:center}.status-indicator.degraded{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 34%,var(--line))}.home-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.home-classic{display:flex;flex-direction:column;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid var(--line)}.home-classic-start{width:100%;text-align:center;padding:12px 16px}.progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.9rem}.end-round-btn{padding:6px 12px;font-size:.8rem}.swipe-stage{position:relative;flex:1;display:flex;flex-direction:column;gap:14px;min-height:0}.swipe-hint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;pointer-events:none;opacity:calc(.25 + var(--p, 0) * .75)}.swipe-hint svg{width:clamp(84px,26vw,128px);height:clamp(84px,26vw,128px);filter:drop-shadow(0 6px 20px rgba(0,0,0,.55))}.swipe-hint-label{font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;opacity:calc(var(--p, 0) * var(--p, 0));text-shadow:0 2px 10px rgba(0,0,0,.7)}.swipe-hint.yes{color:var(--yes)}.swipe-hint.no{color:var(--no)}.swipe-hint.skip{color:var(--skip)}.swipe-hint.seen{color:var(--seen)}.swipe-hint.armed:before{content:"";position:absolute;width:clamp(126px,38vw,186px);height:clamp(126px,38vw,186px);border-radius:50%;border:2px solid currentColor;opacity:.55;animation:swipe-hint-arm .22s ease-out}@keyframes swipe-hint-arm{0%{transform:scale(.82);opacity:0}to{transform:scale(1);opacity:.55}}@media(prefers-reduced-motion:reduce){.swipe-hint.armed:before{animation:none}}.swipe-fx{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:40;overflow:hidden}.swipe-fx-flash{background:transparent;animation:swipe-fx-fade .28s ease-out forwards}.swipe-fx-flash.yes{background:color-mix(in srgb,var(--yes) 28%,transparent)}.swipe-fx-flash.no{background:color-mix(in srgb,var(--no) 28%,transparent)}.swipe-fx-flash.skip{background:color-mix(in srgb,var(--skip) 22%,transparent)}.swipe-fx-flash.seen{background:color-mix(in srgb,var(--seen) 26%,transparent)}.swipe-fx-flash.match{background:color-mix(in srgb,var(--yes) 40%,transparent)}.swipe-fx-match .confetti-bit{animation-duration:.85s}@keyframes swipe-fx-fade{0%{opacity:.85}to{opacity:0}}.confetti-bit{position:absolute;left:50%;top:40%;width:var(--size, 8px);height:calc(var(--size, 8px) * .55);border-radius:1.5px;opacity:0;transform:translate(-50%,-50%);animation:confetti-burst .68s cubic-bezier(.12,.82,.28,1) forwards;animation-delay:var(--delay, 0ms)}.confetti-bit.tall{height:var(--size, 8px);width:calc(var(--size, 8px) * .45);border-radius:2px}@keyframes confetti-burst{0%{opacity:1;transform:translate(-50%,-50%) translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(-50%,-50%) translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.35)}}.cross-stamp{position:absolute;left:50%;top:44%;color:color-mix(in srgb,var(--no) 92%,#fff);filter:drop-shadow(0 10px 18px rgba(212,91,91,.45));transform:translate(-50%,-50%);animation:cross-stamp .58s cubic-bezier(.2,.9,.25,1) forwards}.cross-stamp svg{display:block}@keyframes cross-stamp{0%{opacity:0;transform:translate(-50%,-50%) scale(1.7) rotate(-22deg)}16%{opacity:1;transform:translate(-50%,-50%) scale(.96) rotate(-6deg)}32%{opacity:1;transform:translate(-50%,-50%) scale(1.04) rotate(-14deg)}55%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-10deg)}to{opacity:0;transform:translate(-50%,-50%) translateY(56px) scale(.82) rotate(-32deg)}}.skip-chevron{position:absolute;left:50%;top:42%;color:var(--skip);opacity:.85;filter:drop-shadow(0 6px 12px rgba(122,132,148,.35));transform:translate(-50%,-50%);animation:skip-sweep .48s cubic-bezier(.25,.8,.35,1) forwards}.skip-chevron svg{display:block}@keyframes skip-sweep{0%{opacity:0;transform:translate(-50%,-50%) translateY(-28px) scale(.9)}22%{opacity:.9;transform:translate(-50%,-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%,-50%) translateY(72px) scale(.95)}}.seen-stamp{position:absolute;left:50%;top:42%;color:color-mix(in srgb,var(--seen) 92%,#fff);filter:drop-shadow(0 8px 16px rgba(74,163,199,.4));transform:translate(-50%,-50%);animation:seen-stamp .58s cubic-bezier(.2,.9,.25,1) forwards}.seen-stamp svg{display:block}@keyframes seen-stamp{0%{opacity:0;transform:translate(-50%,-50%) scale(1.45)}18%{opacity:1;transform:translate(-50%,-50%) scale(.96)}36%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}58%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.9)}}@media(prefers-reduced-motion:reduce){.confetti-bit,.cross-stamp,.skip-chevron,.seen-stamp{animation:none!important;opacity:0!important}.swipe-fx-flash{animation:swipe-fx-fade .25s ease-out forwards}}.card{position:relative;flex:1;min-height:420px;border-radius:calc(var(--radius) + 4px);overflow:hidden;background:var(--bg2);border:1px solid var(--line);touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .15s ease,opacity .15s ease;will-change:transform}.card.flying-yes{transform:translate(120%) rotate(12deg);opacity:0}.card.flying-no{transform:translate(-120%) rotate(-12deg);opacity:0}.card.flying-skip{transform:translateY(40%) scale(.92);opacity:0}.card.flying-seen{transform:translateY(-40%) scale(.94);opacity:0}.poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:linear-gradient(160deg,#2a2e3a,#12141a)}.poster-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;text-align:center;font-family:var(--display);font-size:1.8rem;background:linear-gradient(160deg,#2a2e3a,#12141a)}.card-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#08090c26,#08090c33 40%,#08090ceb 78%,#08090c)}.card-body{position:absolute;left:0;right:0;bottom:0;padding:20px;display:flex;flex-direction:column;gap:8px}.badge-row{display:flex;flex-wrap:wrap;gap:6px}.badge{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;padding:4px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:#0c0d1073}.badge.library{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.card-title{font-family:var(--display);font-size:1.75rem;font-weight:650;margin:0;letter-spacing:-.02em;line-height:1.1}.meta{color:var(--muted);font-size:.92rem}.overview{margin:0;font-size:.92rem;line-height:1.4;color:color-mix(in srgb,var(--ink) 88%,var(--muted));display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.act{border:none;border-radius:16px;padding:14px 6px;font-weight:600;font-size:.92rem;color:#0c0d10}.act.no{background:var(--no)}.act.skip{background:var(--skip);color:#ebf0f7}.act.seen{background:var(--seen);color:#0c0d10}.act.yes{background:var(--yes)}.waiting{flex:1;display:flex;flex-direction:column;justify-content:center;gap:12px;text-align:center;padding:32px 12px}.waiting h2{font-family:var(--display);font-size:1.8rem;margin:0}.pulse{width:14px;height:14px;margin:8px auto;border-radius:50%;background:var(--accent);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(.85);opacity:.55}50%{transform:scale(1.15);opacity:1}}.reveal{display:flex;flex-direction:column;gap:28px;padding-bottom:40px}.reveal-hero h1{font-family:var(--display);font-size:2.1rem;margin:0 0 8px;letter-spacing:-.03em}.reveal-section h2{font-family:var(--display);font-size:1.35rem;margin:0 0 12px}.match-list,.curious-list{display:flex;flex-direction:column;gap:10px}.match-item,.curious-item{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;padding:10px;border-radius:14px;background:var(--bg1);border:1px solid var(--line)}.match-item img,.curious-item img,.thumb-fallback{width:64px;height:96px;object-fit:cover;border-radius:8px;background:var(--bg2)}.thumb-fallback{display:grid;place-items:center;font-size:.7rem;color:var(--muted);text-align:center;padding:4px}.item-title{font-weight:600;margin:0 0 4px}.score-grid{display:grid;gap:12px}.score-stat{padding:16px;border-radius:14px;background:var(--bg1);border:1px solid var(--line)}.score-stat .big{font-family:var(--display);font-size:2.4rem;font-weight:650;letter-spacing:-.03em}.genre-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.empty{color:var(--muted);font-size:.95rem}.shelf-panel h1{font-family:var(--display);font-size:1.85rem;margin:0 0 6px;letter-spacing:-.03em}.shelf-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.shelf-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.shelf{display:flex;flex-direction:column;gap:14px;margin-top:22px}.shelf-card{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center;padding:12px;border-radius:16px;background:color-mix(in srgb,var(--bg1) 92%,transparent);border:1px solid var(--line)}.shelf-card.matched{border-color:color-mix(in srgb,var(--yes) 45%,transparent);background:color-mix(in srgb,var(--yes) 8%,var(--bg1))}.shelf-card.unread{border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 10%,var(--bg1))}.shelf-card img,.shelf-fallback{width:92px;height:138px;object-fit:cover;border-radius:10px;background:var(--bg2)}.shelf-fallback{display:grid;place-items:center;font-size:.72rem;color:var(--muted);text-align:center;padding:8px;line-height:1.3}.shelf-meta h2{font-family:var(--display);font-size:1.2rem;font-weight:650;margin:0 0 8px;letter-spacing:-.02em;line-height:1.25}.shelf-tags{display:flex;flex-wrap:wrap;gap:6px}.badge.match-badge{color:var(--yes);border-color:color-mix(in srgb,var(--yes) 45%,transparent);background:color-mix(in srgb,var(--yes) 14%,transparent)}.shelf-empty{margin-top:28px;padding:20px 4px}.shelf-empty p{margin:0;color:var(--muted);font-size:1.05rem;line-height:1.5}.match-moment{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--yes) 28%,transparent),transparent 55%),color-mix(in srgb,var(--bg0) 88%,transparent);animation:match-moment-in .38s cubic-bezier(.2,.9,.25,1) forwards;cursor:pointer;overflow:hidden;max-width:100vw}.match-moment.leaving{animation:match-moment-out .32s ease-in forwards;pointer-events:none}.match-moment-glow{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 50%);pointer-events:none;animation:match-glow 2.4s ease-in-out infinite alternate}.match-moment-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:320px;width:100%;animation:match-card-pop .48s cubic-bezier(.2,.95,.3,1) forwards}.match-moment-poster{width:min(200px,52vw);height:auto;aspect-ratio:2 / 3;object-fit:cover;border-radius:14px;border:1px solid var(--line);box-shadow:0 18px 48px #00000073;margin-bottom:18px;background:var(--bg2)}.match-moment-poster.fallback{display:grid;place-items:center;padding:16px;font-family:var(--display);font-size:1.1rem;color:var(--muted)}.match-moment-kicker{margin:0 0 6px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--yes);font-weight:600}.match-moment-title{font-family:var(--display);font-size:clamp(1.45rem,6.5vw,2rem);font-weight:650;margin:0 0 8px;letter-spacing:-.03em;line-height:1.15}.match-moment-sub{margin:0 0 10px;font-size:1.05rem;color:var(--ink);line-height:1.35}.match-moment-names{margin:0;color:var(--muted);font-size:.95rem}.match-moment-hint{position:absolute;bottom:calc(20px + env(safe-area-inset-bottom));margin:0;font-size:.85rem}@keyframes match-moment-in{0%{opacity:0}to{opacity:1}}@keyframes match-moment-out{0%{opacity:1}to{opacity:0}}@keyframes match-card-pop{0%{opacity:0;transform:scale(.86) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes match-glow{0%{opacity:.55}to{opacity:1}}@media(prefers-reduced-motion:reduce){.match-moment,.match-moment.leaving,.match-moment-card,.match-moment-glow{animation:none!important}}.field select{background:var(--bg0);border:1px solid var(--line);border-radius:12px;color:var(--ink);padding:12px 14px}.taste-form fieldset,.taste-block{border:none;padding:0;margin:0 0 18px}.taste-block legend{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.genre-pick{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--bg0);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:8px 12px;font-size:.85rem}.chip.on{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 70%,transparent);background:color-mix(in srgb,var(--accent) 18%,var(--bg0))}.chip.danger.on{border-color:color-mix(in srgb,var(--no) 70%,transparent);background:color-mix(in srgb,var(--no) 18%,var(--bg0))}.settings-tabs{display:flex;gap:8px;margin-bottom:16px}.pair-list{margin:0 0 16px;padding-left:18px;color:var(--ink)}.pair-list-manage{list-style:none;padding-left:0;display:flex;flex-direction:column;gap:10px}.pair-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg1) 92%,transparent)}.pair-unpair-confirm{flex:1 1 100%;display:flex;flex-direction:column;gap:10px}.pair-unpair-actions{display:flex;flex-wrap:wrap;gap:8px}.pairing{margin-top:8px}.pair-invite{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.pair-qr{border-radius:10px;padding:6px;background:#fff;box-shadow:0 2px 14px #00000040}.pair-code-big{margin:0;font-family:var(--display);font-size:2rem;letter-spacing:.24em;text-indent:.24em;color:var(--ink)}.pair-hint{margin:0;max-width:34ch;line-height:1.4;font-size:.9rem}.pair-invite-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.pair-or{display:flex;align-items:center;gap:10px;margin:18px 0 14px;color:var(--muted);font-size:.85rem}.pair-or:before,.pair-or:after{content:"";flex:1;height:1px;background:currentColor;opacity:.25}.pair-claim label{display:block;margin-bottom:6px;color:var(--muted);font-size:.9rem}.pair-claim-row{display:flex;gap:8px}.pair-claim-row input{flex:1;min-width:0;background:var(--bg0);border:1px solid var(--line);border-radius:12px;color:var(--ink);padding:12px 14px;text-transform:uppercase;letter-spacing:.18em;font-family:var(--display)}.pair-claim-row input:focus{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);border-color:transparent}.pair-prompt{margin-bottom:16px}.pair-panel h2{margin:0 0 8px}.watchsync-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}.watchsync-row{display:flex;flex-direction:column;gap:8px}.watchsync-name{font-family:var(--display);font-size:1.05rem}.watchsync-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.watchsync-controls select{flex:1 1 160px;background:var(--bg0);border:1px solid var(--line);border-radius:12px;color:var(--ink);padding:12px 14px}.watchsync-readonly{color:var(--ink);font-size:.95rem}.ok-msg{color:var(--yes);font-size:.9rem}.welcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;overflow:hidden;background:var(--bg0);display:flex;align-items:center;justify-content:center;animation:welcome-in .26s ease-out}.welcome.leaving{animation:welcome-out .4s ease-in forwards}@keyframes welcome-in{0%{opacity:0}to{opacity:1}}@keyframes welcome-out{0%{opacity:1}to{opacity:0}}.welcome-wall{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;opacity:.42;filter:blur(1px) saturate(1.1)}.welcome-col{display:flex;flex-direction:column;gap:12px;animation-name:welcome-drift;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform}.welcome-col.up{animation-direction:reverse}.welcome-col img{width:100%;aspect-ratio:2 / 3;object-fit:cover;border-radius:10px;color:transparent;background:color-mix(in srgb,var(--bg1) 80%,transparent)}@keyframes welcome-drift{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@media(prefers-reduced-motion:reduce){.welcome,.welcome.leaving,.welcome-col{animation:none}}.welcome-copy{position:relative;text-align:center;padding:24px;max-width:32rem;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--bg0) 92%,transparent) 0%,color-mix(in srgb,var(--bg0) 70%,transparent) 55%,transparent 100%)}.welcome-kicker{margin:0 0 6px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--yes)}.welcome-copy h1{font-family:var(--display);margin:0 0 8px;font-size:clamp(1.6rem,7vw,2.4rem)}.welcome-sub{margin:0;color:var(--muted);font-size:.95rem}.welcome-skip{position:absolute;right:16px;bottom:16px;background:transparent;border:1px solid color-mix(in srgb,var(--muted) 45%,transparent);color:var(--muted);border-radius:999px;padding:6px 14px;font-size:.85rem;cursor:pointer}.settings-flash{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 12px;border-radius:12px;font-size:.9rem;line-height:1.35;color:var(--yes);background:color-mix(in srgb,var(--yes) 14%,var(--bg0));border:1px solid color-mix(in srgb,var(--yes) 45%,transparent)}.settings-flash.bad{color:#f0c0c0;background:color-mix(in srgb,var(--no) 16%,var(--bg0));border-color:color-mix(in srgb,var(--no) 50%,transparent)}.settings-flash .ghost-btn{flex:none}.danger-btn{background:color-mix(in srgb,var(--no) 22%,var(--bg0));border:1px solid color-mix(in srgb,var(--no) 55%,transparent);color:#f0c0c0;border-radius:999px;padding:8px 14px}.danger-btn:hover:not(:disabled){background:color-mix(in srgb,var(--no) 35%,var(--bg0))}.danger-btn:disabled{opacity:.5;cursor:not-allowed}.admin-panel{display:flex;flex-direction:column;gap:20px}.admin-subhead{font-family:var(--display);font-size:1.05rem;margin:0 0 10px}.admin-create{display:flex;flex-direction:column;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--line)}.admin-user-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}.admin-user-row{display:flex;flex-direction:column;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--line)}.admin-user-head{display:flex;flex-direction:column;gap:2px}.admin-user-actions{display:flex;flex-direction:column;gap:8px}.admin-delete-confirm{margin-top:8px;padding:16px;border:1px solid color-mix(in srgb,var(--no) 50%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--no) 10%,var(--bg0))}.admin-delete-counts{margin:12px 0;padding-left:18px;display:grid;gap:4px}.settings-tabs{flex-wrap:wrap}
