*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--paper:#faf8f4;--paper-2:#f4f1ea;--paper-3:#ede8dd;--ink:#14110d;--ink-2:#2a2620;--ink-soft:#524a40;--ink-mute:#847b6e;--rule:#e8e2d5;--rule-2:#d8d0bf;--accent:#d94a26;--accent-hover:#b83a1f;--accent-wash:color-mix(in srgb, var(--accent) 7%, var(--paper));--accent-tint:#e8a07f;--accent-2:#1a4d3a;--accent-2-deep:#11231b;--mint:#5bbd97;--mint-soft:#9fd9bf;--accent-3:#c9a961;--accent-3-deep:#a8884a;--accent-3-ink:#8a6f2e;--accent-3-wash:#fef6e8;--warn:var(--accent);--warn-soft:var(--accent-tint);--warn-wash:var(--accent-wash);--warn-rule:color-mix(in srgb, var(--accent) 24%, transparent);--accent-blue:#2b4fbf;--highlight:#f5e6a3;--danger:#b83a1f;--shadow-soft:0 1px 2px #14110d0a, 0 8px 24px -12px #14110d1a;--shadow-lift:0 2px 4px #14110d0d, 0 24px 48px -16px #14110d2e;--serif:var(--font-fraunces), "Fraunces", "Times New Roman", serif;--sans:var(--font-inter-tight), "Inter Tight", system-ui, sans-serif;--mono:var(--font-jetbrains-mono), "JetBrains Mono", monospace;--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--bp-tablet:960px;--bp-shell:768px;--bp-mobile:640px;--bp-small:380px;--tap-target:44px;--toolbar-pill-h:38px;--sb-launcher-size:56px;--sb-launcher-lift-mobile:100px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--sa-rail-collapsed-width:64px;--sa-rail-expanded-width:240px;--sa-rail-transition:.42s var(--ease-out);--bg:var(--paper);--s1:var(--paper);--s2:var(--paper-2);--s3:var(--paper-2);--s4:var(--rule);--b1:var(--rule);--b2:var(--rule);--b3:var(--rule-2);--t1:var(--ink);--t2:var(--ink-soft);--t3:var(--ink-mute);--acc:var(--accent);--grn:var(--accent-2);--amb:var(--warn);--red:#c04020;--pur:var(--accent-3);--cyn:var(--accent-blue);--fn:var(--sans)}@media (max-width:640px){:root{--toolbar-pill-h:var(--tap-target)}}html{scrollbar-gutter:stable}body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:radial-gradient(#14110d05 1px,#0000 1px),radial-gradient(#14110d03 1px,#0000 1px);background-position:0 0,2px 2px;background-size:4px 4px,11px 11px;margin:0;font-size:15px}button{font-family:var(--fn);cursor:pointer;border:none;outline:none}input,select,textarea{font-family:var(--sans);color:var(--ink);outline:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--b2);border-radius:2px}*{scrollbar-width:thin;scrollbar-color:var(--b2) transparent}::selection{background:var(--highlight);color:var(--ink)}:focus{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes glow{0%,to{box-shadow:0 0 #4f6ef700}50%{box-shadow:0 0 0 4px #4f6ef733}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes saPulse{0%,to{box-shadow:0 0 #1ed8a066}70%{box-shadow:0 0 0 6px #1ed8a000}}@keyframes saFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.fade{opacity:0;animation:.18s forwards fadeIn}.node-card{transition:box-shadow .15s,transform .15s}.node-card.selected{animation:2s infinite glow}.choice-btn{transition:all .18s}.choice-btn:hover{transform:translateY(-2px)}.sa-h1,.h1{color:var(--t1);font-size:16px;font-weight:800}.h2{color:var(--t1);font-size:14px;font-weight:700}.h3{color:var(--t1);font-size:13px;font-weight:700}.h4{color:var(--t1);font-size:12px;font-weight:700}.h5{color:var(--t1);font-size:11px;font-weight:700}.sub{color:var(--t3);margin-top:2px;font-size:11px}.sa-vcard-duration{color:#fff;font-family:var(--mono);-webkit-backdrop-filter:blur(4px);z-index:2;background:#14110db3;border-radius:3px;padding:3px 8px;font-size:11px;font-weight:500;line-height:1.2;position:absolute;bottom:14px;right:14px}.sa-vcard-menu-btn{-webkit-backdrop-filter:blur(6px);width:28px;height:28px;color:var(--paper);opacity:0;transition:opacity .2s var(--ease-out), background .2s var(--ease-out);cursor:pointer;z-index:5;letter-spacing:1px;background:#14110d8c;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:600;line-height:1;display:flex;position:absolute;top:8px;right:8px}.sa-vcard-wrapper:hover .sa-vcard-menu-btn{opacity:1}.sa-vcard-menu-btn:hover{background:var(--ink);opacity:1}.sa-vcard-menu{background:var(--paper);border:1px solid var(--rule);min-width:200px;box-shadow:var(--shadow-lift);z-index:10;animation:saVcardMenuIn .15s var(--ease-out);border-radius:6px;padding:6px;position:absolute;top:42px;right:8px}@keyframes saVcardMenuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sa-vcard-menu-item{text-align:left;width:100%;font-family:var(--serif);color:var(--ink-2);cursor:pointer;transition:background .15s var(--ease-out);background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.sa-vcard-menu-item:hover{background:var(--paper-2)}.sa-vcard-menu-item.danger{color:var(--accent)}.sa-vcard-menu-item.danger:hover{background:#d94a260f}.sa-vcard-menu-item svg{flex-shrink:0;width:13px;height:13px}.sa-vcard-menu-item[data-disabled],.sa-vcard-menu-item:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.sa-vcard-menu-divider{background:var(--rule);height:1px;margin:6px 0}.sa-vcard-rename-input{font-family:var(--serif);letter-spacing:-.015em;color:var(--ink);background:var(--paper-2);border:1px solid var(--accent);border-radius:4px;outline:none;width:100%;margin:0;padding:4px 8px;font-size:22px;font-weight:500;line-height:1.15}.sa-vcard-rename-input:disabled{opacity:.6}.sa-vcard-confirm-backdrop{z-index:200;animation:saVcardConfirmFadeIn .18s var(--ease-out);background:#14110d66;position:fixed;inset:0}@keyframes saVcardConfirmFadeIn{0%{opacity:0}to{opacity:1}}.sa-vcard-confirm-modal{z-index:201;background:var(--paper);width:calc(100% - 32px);max-width:440px;animation:saVcardConfirmIn .22s var(--ease-out);border-radius:12px;padding:28px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 30px 60px -16px #14110d4d}@keyframes saVcardConfirmIn{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}.sa-vcard-confirm-modal h3{font-family:var(--serif);letter-spacing:-.015em;color:var(--ink);margin:0 0 8px;font-size:22px;font-weight:400}.sa-vcard-confirm-modal h3 em{color:var(--accent);font-style:italic}.sa-vcard-confirm-modal p{font-family:var(--sans);color:var(--ink-soft);margin:0 0 22px;font-size:14px;line-height:1.5}.sa-vcard-confirm-actions{justify-content:flex-end;gap:10px;display:flex}.sa-vcard-confirm-btn{font-family:var(--sans);cursor:pointer;transition:all .18s var(--ease-out);border:1px solid #0000;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:600}.sa-vcard-confirm-btn.ghost{border-color:var(--rule-2);color:var(--ink);background:0 0}.sa-vcard-confirm-btn.ghost:hover:not(:disabled){border-color:var(--ink)}.sa-vcard-confirm-btn.danger{background:var(--accent);color:var(--paper);box-shadow:0 1px 2px #d94a2640,0 8px 20px -8px #d94a2666}.sa-vcard-confirm-btn.danger:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.sa-vcard-confirm-btn.primary{background:var(--ink);color:var(--paper)}.sa-vcard-confirm-btn.primary:hover:not(:disabled){background:var(--ink-soft);transform:translateY(-1px)}.sa-vcard-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.card{background:var(--s2);border:1px solid var(--b2);border-radius:14px;margin-bottom:14px;padding:16px 18px}.row{align-items:center;gap:10px;display:flex}@supports not (gap:1px){.row>*+*{margin-left:10px}}.sa-btn{cursor:pointer;border:none;border-radius:9px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;display:flex}.sa-tag,.chip{border-radius:100px;padding:2px 7px;font-size:9px;font-weight:700}.toggle-sw{background:var(--s4);border:1px solid var(--b2);cursor:pointer;border-radius:100px;flex-shrink:0;width:36px;height:20px;transition:background .2s,border-color .2s;position:relative}.toggle-sw.on{background:var(--grn);border-color:var(--grn)}.toggle-sw .knob{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.toggle-sw.on .knob{transform:translate(16px)}@media (pointer:coarse){.sa-vcard-menu-btn{opacity:1}}.lg{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:14px;display:flex;overflow:hidden}.lib-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.plan-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.sk{background:var(--paper-2);border-radius:6px;position:relative;overflow:hidden}.sk:after{content:"";background:linear-gradient(90deg, var(--paper-2) 0%, var(--paper) 50%, var(--paper-2) 100%);animation:1.4s ease-in-out infinite sk-sweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes sk-sweep{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.sk:after{animation:none}}.sa-tipbar{background:var(--ink);color:var(--paper);font-family:var(--mono);letter-spacing:.05em;text-align:center;pointer-events:none;z-index:10020;border-radius:6px;max-width:320px;padding:5px 9px;font-size:10px;font-weight:600;line-height:1.45;animation:.12s saTipIn;position:fixed}@keyframes saTipIn{0%{opacity:0}}.sa-tipbar-arrow{border:5px solid #0000;border-top-color:var(--ink);position:absolute;top:100%;transform:translate(-50%)}.sa-tipbar.below .sa-tipbar-arrow{border-top-color:#0000;border-bottom-color:var(--ink);top:auto;bottom:100%}.sa-select-trigger{cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:10px;display:inline-flex}.sa-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sa-select-chevron{width:10px;height:6px;color:var(--ink-mute);transition:transform .15s var(--ease-out);flex-shrink:0}.sa-select-trigger[data-state=open] .sa-select-chevron{transform:rotate(180deg)}.sa-select-trigger.set{background:var(--paper-2);border:1.5px solid var(--rule);width:100%;font-family:var(--sans);color:var(--ink);border-radius:8px;justify-content:space-between;padding:11px 14px;font-size:14.5px;transition:border-color .2s,background-color .2s}.sa-select-trigger.set:focus-visible,.sa-select-trigger.set[data-state=open]{background:var(--paper);border-color:var(--ink)}.sa-select-trigger.pill{font-family:var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:8px;padding:7px 12px;font-size:13px;font-weight:500}.sa-select-trigger.pill:hover,.sa-select-trigger.pill:focus-visible,.sa-select-trigger.pill[data-state=open]{border-color:var(--ink-soft)}.sa-select-trigger.bare{width:auto;font:inherit;color:inherit;background:0 0;border:none;border-radius:0;padding:0}.sa-select-menu{background:var(--paper);border:1px solid var(--rule);box-shadow:var(--shadow-lift);z-index:10010;min-width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height);animation:saVcardMenuIn .15s var(--ease-out);border-radius:8px;overflow:hidden}.sa-select-viewport{padding:6px}.sa-select-item{font-family:var(--serif);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;outline:none;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:14.5px;display:flex;overflow:hidden}.sa-select-item[data-highlighted]{background:var(--paper-2)}.sa-select-item[data-state=checked]{color:var(--accent)}.sa-select-item[data-disabled]{color:var(--ink-mute);opacity:.55;cursor:default}.sa-select-check{width:12px;color:var(--accent);flex-shrink:0;display:inline-flex}.sa-select-check svg{width:12px;height:10px}.sa-select-scrollbtn{color:var(--ink-mute);background:var(--paper);cursor:default;justify-content:center;padding:4px 0;font-size:8px;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.gen-cards{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:32px 28px;margin-bottom:32px;display:grid}.gen-card{flex-direction:column;gap:14px;display:flex}.gen-card-thumb{aspect-ratio:16/10;background:var(--paper-2);border:1px dashed var(--rule-2);border-radius:6px;position:relative;overflow:hidden}.gen-card-thumb img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.gen-card-grain{background:radial-gradient(circle at 30% 30%,#14110d0f,#0000 55%),radial-gradient(circle at 70% 70%,#d94a2614,#0000 50%);position:absolute;inset:0}.gen-card-mark{position:absolute;bottom:14px;left:14px}.gen-card-tile.pf-logo{--mark-base:17px;width:32px;height:32px;box-shadow:var(--shadow-soft);border-radius:7px;font-size:13px}.gen-card-pulse{background:linear-gradient(100deg,#0000 30%,#faf8f48c 50%,#0000 70%) 0 0/200% 100%;animation:2.2s ease-in-out infinite gen-card-sweep;position:absolute;inset:0}@keyframes gen-card-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.gen-card-pulse{animation:none}}.gen-card-body{flex-direction:column;gap:6px;display:flex}.gen-card-title{font-family:var(--serif);letter-spacing:-.015em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:500;line-height:1.15;overflow:hidden}.gen-card-meta{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute);flex-wrap:wrap;gap:6px;font-size:11px;line-height:1.5;display:flex}.gen-card-status{color:var(--accent-2)}.gen-card.is-failed .gen-card-status,.gen-card[data-status=ready_not_ingested] .gen-card-status{color:var(--accent);text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:13px}.gen-card-dot{opacity:.6}.gen-card-actions{align-items:center;gap:10px;margin-top:4px;display:flex}.gen-card-btn{border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-family:var(--sans);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:600}.gen-card-btn-ghost{color:var(--ink);background:0 0}.gen-card-btn:focus-visible,.gen-card-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gen-card-link{font-family:var(--sans);color:var(--accent-2);font-size:12px}
.auth-page{--stage-accent:var(--accent-3);--stage-p04:#faf8f40a;--stage-p10:#faf8f41a;--stage-p16:#faf8f429;--stage-p50:#faf8f480;--stage-p70:#faf8f4b3;--stage-tint-ring:color-mix(in srgb, var(--stage-accent) 18%, transparent);--stage-red-wash:#d94a261f;--stage-red-line:#d94a2673;-webkit-overflow-scrolling:touch;background:var(--ink);color:var(--paper);z-index:1000;grid-template-rows:auto 1fr auto;padding:0 48px;display:grid;position:fixed;inset:0;overflow:hidden auto}.auth-page[data-portal]{--stage-accent:var(--accent-tint)}.auth-page:before{content:"";pointer-events:none;background:radial-gradient(34% 40% at 50% 38%,#d94a2638,#0000 62%),radial-gradient(60% 50% at 50% 110%,#1a4d3a47,#0000 60%),radial-gradient(20% 22% at 50% 30%,#c9a9611a,#0000 70%);animation:14s ease-in-out infinite alternate authBeam;position:fixed;inset:-20%}@keyframes authBeam{0%{transform:translate(-1.5%)scale(1)}to{transform:translate(1.5%,1%)scale(1.04)}}.auth-page:after{content:"";pointer-events:none;background-image:radial-gradient(#faf8f407 1px,#0000 1px),radial-gradient(#faf8f404 1px,#0000 1px);background-position:0 0,2px 2px;background-size:4px 4px,11px 11px;position:fixed;inset:0}.auth-page .auth-top{z-index:1;justify-content:space-between;align-items:center;padding:28px 0;display:flex;position:relative}.auth-page .brand{min-height:var(--tap-target);color:inherit;border-radius:6px;align-items:center;line-height:0;text-decoration:none;display:inline-flex}.auth-page .brand .portal-name{line-height:1.2}.auth-page .auth-mark.auth-mark-portal{justify-content:center;display:flex}.auth-page .brand:focus-visible{outline:2px solid var(--stage-accent);outline-offset:4px}.auth-page .auth-counter{min-height:var(--tap-target);border:1px solid var(--stage-p16);color:var(--paper);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:border-color .22s var(--ease-out), color .22s var(--ease-out), transform .22s var(--ease-out);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 16px 0 18px;font-size:10.5px;font-weight:600;display:inline-flex}.auth-page .auth-counter-label{color:var(--stage-p50);margin-right:2px;font-weight:400}.auth-page .auth-counter .arrow{transition:transform .25s var(--ease-out);flex:none}.auth-page .auth-counter:hover{border-color:var(--stage-p70);color:var(--stage-accent);transform:translateY(-1px)}.auth-page .auth-counter:hover .arrow{transform:translate(3px)}.auth-page .auth-one-tap{z-index:3;min-width:0;position:absolute;top:84px;right:48px}@media (max-width:640px){.auth-page .auth-one-tap{top:76px;left:18px;right:18px}}.auth-page .auth-mid{z-index:1;place-items:center;padding:32px 0 56px;display:grid;position:relative}.auth-page .form-card{width:100%;max-width:420px;animation:formIn .9s var(--ease-out) both}@keyframes formIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.auth-page .auth-mark{margin:0 auto 30px;display:block}.auth-page .eyebrow{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--stage-p50);justify-content:center;align-items:center;gap:12px;margin-bottom:20px;font-size:11px;display:flex}.auth-page .eyebrow:before,.auth-page .eyebrow:after{content:"";background:var(--stage-accent);width:28px;height:1px}.auth-page h1.welcome{font-family:var(--serif);letter-spacing:-.035em;color:var(--paper);text-align:center;text-wrap:balance;margin-bottom:16px;font-size:clamp(40px,4vw,56px);font-weight:300;line-height:1}.auth-page h1.welcome em{color:var(--stage-accent);font-style:italic;font-weight:300}.auth-page .lede{font-family:var(--serif);color:var(--stage-p70);text-align:center;text-wrap:balance;max-width:360px;margin:0 auto 36px;font-size:17px;font-style:italic;line-height:1.5}.auth-page .google-btn{border:1px solid var(--stage-p16);width:100%;font-family:var(--sans);color:var(--paper);letter-spacing:-.005em;cursor:pointer;transition:border-color .22s var(--ease-out), transform .22s var(--ease-out);background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:12px;padding:14px 18px;font-size:14px;font-weight:600;display:flex;position:relative}.auth-page .google-btn:hover:not(:disabled){border-color:var(--stage-p70);transform:translateY(-1px)}.auth-page .google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-page .google-btn svg{flex-shrink:0;width:18px;height:18px}.auth-page .last-used{border:1px solid color-mix(in srgb, var(--stage-accent) 45%, transparent);background:color-mix(in srgb, var(--stage-accent) 10%, transparent);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--stage-accent);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 7px;font-size:9px;font-weight:600;line-height:1;animation:.2s saFadeIn;display:inline-flex}.auth-page .field-label .last-used{vertical-align:middle;margin-left:10px}.auth-page .google-btn .last-used{position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-page .divider{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--stage-p50);align-items:center;gap:14px;margin:22px 0;font-size:10px;display:flex}.auth-page .divider:before,.auth-page .divider:after{content:"";background:var(--stage-p16);flex:1;height:1px}.auth-page form{gap:16px;display:grid}.auth-page .field{position:relative}.auth-page .field-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--stage-p50);margin-bottom:8px;font-size:10px;font-weight:500;display:block}.auth-page .field-row{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.auth-page .field-row .field-label{margin-bottom:0}.auth-page .field-link{font-family:var(--serif);color:var(--stage-p70);cursor:pointer;transition:color .2s var(--ease-out), border-color .2s var(--ease-out);background:0 0;border:none;border-bottom:1px solid #0000;padding:0;font-size:14px;font-style:italic;font-weight:400}.auth-page .field-link:hover{color:var(--stage-accent);border-bottom-color:var(--stage-accent)}.auth-page .field-input{background:var(--stage-p04);border:1px solid var(--stage-p16);width:100%;font-family:var(--sans);color:var(--paper);letter-spacing:-.005em;box-sizing:border-box;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;transition:border-color .22s var(--ease-out), background .22s var(--ease-out), box-shadow .22s var(--ease-out);border-radius:10px;padding:13px 16px;font-size:16px;font-weight:400}.auth-page .field-input::placeholder{font-family:var(--serif);color:var(--stage-p50);font-style:italic}.auth-page .field-input:hover{border-color:var(--stage-p50)}.auth-page .field-input:focus{border-color:var(--stage-accent);background:var(--stage-p04);box-shadow:0 0 0 4px var(--stage-tint-ring);outline:none}.auth-page .field-input:-webkit-autofill{-webkit-text-fill-color:var(--paper);-webkit-box-shadow:0 0 0 1000px var(--ink-2) inset;caret-color:var(--paper)}.auth-page .field-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--paper);-webkit-box-shadow:0 0 0 1000px var(--ink-2) inset;caret-color:var(--paper)}.auth-page .field-input.field-input--error{border-color:var(--accent);box-shadow:0 0 0 4px var(--stage-red-wash)}.auth-page .field-error{font-family:var(--sans);color:var(--accent);margin-top:7px;font-size:12px;font-weight:500;line-height:1.4;animation:.15s saFadeIn;display:block}.auth-page .field.with-toggle{position:relative}.auth-page .pw-toggle{width:32px;height:32px;color:var(--stage-p50);cursor:pointer;transition:color .2s var(--ease-out), background .2s var(--ease-out);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;margin-top:11px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-page .pw-toggle:hover{color:var(--paper);background:var(--stage-p10)}.auth-page .pw-toggle svg{stroke-width:1.6px;width:18px;height:18px}@media (max-width:640px){.auth-page .pw-toggle:before{content:"";top:calc((32px - var(--tap-target)) / 2);bottom:calc((32px - var(--tap-target)) / 2);border-radius:inherit;position:absolute;left:-2px;right:-10px}}.auth-page .auth-error{background:var(--stage-red-wash);border:1px solid var(--stage-red-line);font-family:var(--sans);color:var(--paper);border-radius:10px;margin-bottom:18px;padding:11px 14px;font-size:13px;font-weight:500;line-height:1.45;animation:.15s saFadeIn}.auth-page .signin-btn{background:var(--paper);width:100%;color:var(--ink);cursor:pointer;font-family:var(--sans);letter-spacing:-.005em;transition:color .25s var(--ease-out), transform .25s var(--ease-out), box-shadow .25s var(--ease-out);border:none;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:15px 20px;font-size:14px;font-weight:600;display:flex;position:relative;overflow:hidden}.auth-page .signin-btn:before{content:"";background:var(--accent);transition:transform .35s var(--ease-out);position:absolute;inset:0;transform:translateY(100%)}.auth-page .signin-btn>*{z-index:1;position:relative}.auth-page .signin-btn .arrow{transition:transform .3s var(--ease-out)}.auth-page .signin-btn:hover:not(:disabled){color:var(--paper);transform:translateY(-1px);box-shadow:0 16px 32px -16px #d94a2699}.auth-page .signin-btn:hover:not(:disabled):before{transform:translateY(0)}.auth-page .signin-btn:hover:not(:disabled) .arrow{transform:translate(3px)}.auth-page .signin-btn:disabled{opacity:.7;cursor:not-allowed}.auth-page .signin-btn.signin-btn-ghost{color:var(--paper);border:1px solid var(--stage-p16);background:0 0}.auth-page .signin-btn.signin-btn-ghost:before{background:var(--stage-p10)}.auth-page .signin-btn.signin-btn-ghost:hover:not(:disabled){border-color:var(--stage-p50);box-shadow:none}.auth-page .signin-btn:focus-visible,.auth-page .google-btn:focus-visible,.auth-page .auth-counter:focus-visible{outline:2px solid var(--stage-accent);outline-offset:3px}.auth-page .signin-btn-loading{align-items:center;gap:8px;display:inline-flex}.auth-page .auth-spinner{animation:.8s linear infinite spin}.auth-page a.signin-btn{box-sizing:border-box;text-decoration:none}.auth-page .auth-actions{gap:16px;display:grid}.auth-page .auth-wait{color:var(--stage-accent);font-family:var(--sans);justify-content:center;align-items:center;gap:10px;padding:8px 0 4px;font-size:14px;display:flex}.auth-page .auth-wait span{color:var(--stage-p70)}.auth-page .auth-wait .auth-spinner{width:22px;height:22px}.auth-page .auth-legal{font-family:var(--sans);color:var(--stage-p50);text-align:center;margin:-2px 0 0;font-size:12px;line-height:1.5}.auth-page .auth-legal a{color:var(--stage-p70);border-bottom:1px solid var(--stage-p16);transition:color .2s var(--ease-out), border-color .2s var(--ease-out);text-decoration:none}.auth-page .auth-legal a:hover{color:var(--stage-accent);border-bottom-color:var(--stage-accent)}.auth-page .form-foot{text-align:center;text-wrap:pretty;font-family:var(--serif);color:var(--stage-p70);margin-top:22px;font-size:15.5px;line-height:1.55}.auth-page .form-foot.sso-foot{margin-top:18px}.auth-page .form-foot+.form-foot{margin-top:6px}.auth-page .form-foot a,.auth-page .auth-link{color:var(--paper);cursor:pointer;font-style:italic;font-weight:500;font-size:inherit;border:none;border-bottom:1px solid var(--stage-p16);transition:border-color .2s var(--ease-out), color .2s var(--ease-out);background:0 0;padding:0;font-family:inherit}.auth-page .form-foot a:hover,.auth-page .auth-link:hover{border-bottom-color:var(--stage-accent);color:var(--stage-accent)}.auth-page .auth-link,.auth-page .form-foot a,.auth-page .field-link{line-height:inherit;position:relative}.auth-page .form-foot a:after,.auth-page .field-link:after,.auth-page .auth-link:after{content:"";inset:calc((1.55em - var(--tap-target)) / 2) -6px;position:absolute}.auth-page .auth-link:focus-visible,.auth-page .form-foot a:focus-visible,.auth-page .copy-strip a:focus-visible{outline:2px solid var(--stage-accent);outline-offset:3px;border-radius:2px}.auth-page .auth-signed-in{text-align:center;font-family:var(--serif);color:var(--stage-p50);margin:-20px auto 26px;font-size:14px;font-style:italic}.auth-page .auth-data{font-family:var(--mono);color:var(--stage-p70);word-break:break-all;font-size:.95em}.auth-page .auth-fact{border-top:1px solid var(--stage-p10);border-bottom:1px solid var(--stage-p10);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;padding:16px 0;display:flex}.auth-page .auth-fact-k{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--stage-p50);font-size:10px}.auth-page .auth-fact-v{font-family:var(--mono);color:var(--paper);word-break:break-all;font-size:15px}.auth-page .auth-note{font-family:var(--serif);color:var(--stage-p70);text-align:center;text-wrap:pretty;margin:18px 0 26px;font-size:15.5px;font-style:italic;line-height:1.55}.auth-page .auth-duties{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--stage-p50);flex-wrap:wrap;justify-content:center;gap:8px 14px;margin:44px 0 0;padding:0;font-size:10px;list-style:none;display:flex}.auth-page .auth-duties li+li:before{content:"·";color:var(--accent);margin-right:14px}.auth-page .copy-strip{z-index:1;border-top:1px solid var(--stage-p10);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--stage-p50);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:22px 0 28px;font-size:10px;display:flex;position:relative}.auth-page .copy-strip span{white-space:nowrap}.auth-page .copy-links{gap:8px;display:flex}.auth-page .copy-strip a{min-height:var(--tap-target);min-width:var(--tap-target);margin:calc((var(--tap-target) - 1.4em) / -2) 0;color:inherit;transition:color .2s var(--ease-out);justify-content:center;align-items:center;padding:0 4px;text-decoration:none;display:inline-flex}.auth-page .copy-strip a:hover{color:var(--paper)}@media (max-width:640px){.auth-page{padding:0 16px}.auth-page .auth-top{padding:22px 0}.auth-page .auth-counter-label{display:none}.auth-page .auth-mid{padding:16px 0 44px}.auth-page .auth-mark{margin-bottom:24px}.auth-page h1.welcome{font-size:40px}.auth-page .auth-duties{letter-spacing:.12em;gap:8px;margin-top:36px;font-size:9.5px}.auth-page .auth-duties li+li:before{margin-right:8px}.auth-page .lede{margin-bottom:30px}}@media (prefers-reduced-motion:reduce){.auth-page:before,.auth-page .form-card{opacity:1;animation:none;transform:none}}.totp-form,.totp-verify,.totp-enroll{flex-direction:column;gap:12px;display:flex}.totp-enroll{gap:18px}.totp-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);font-size:10px;font-weight:600}.totp-row{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.totp-input{width:180px;min-height:var(--tap-target);box-sizing:border-box;border:1px solid var(--rule-2);background:var(--paper);color:var(--ink);font-family:var(--mono);letter-spacing:.35em;text-align:center;transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:8px;padding:8px 12px;font-size:20px}.totp-input::placeholder{color:var(--ink-mute);opacity:.6}.totp-input:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--rule);outline:none}.totp-btn{min-height:var(--tap-target);border:1px solid var(--rule-2);color:var(--ink);font-family:var(--sans);cursor:pointer;transition:background .2s var(--ease-out), border-color .2s var(--ease-out);background:0 0;border-radius:8px;padding:0 18px;font-size:14px;font-weight:600}.totp-btn:hover:not(:disabled){border-color:var(--ink-mute)}.totp-btn-primary{border-color:var(--ink);background:var(--ink);color:var(--paper)}.totp-btn-primary:hover:not(:disabled){background:var(--ink-2)}.totp-btn:disabled{opacity:.5;cursor:not-allowed}.totp-btn:focus-visible,.totp-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.totp-error{font-family:var(--sans);color:var(--danger);font-size:13px;line-height:1.45}.totp-wait{font-family:var(--sans);color:var(--ink-mute);font-size:14px}.totp-setup{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.totp-qr{border:1px solid var(--rule);background:var(--paper);border-radius:8px;flex-shrink:0}.totp-howto{min-width:200px;font-family:var(--sans);flex:1;font-size:14px;line-height:1.55}.totp-howto p{margin:0}.totp-link{min-height:var(--tap-target);color:var(--accent);font-family:var(--sans);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;font-size:13.5px;font-weight:600;display:inline-flex}.totp-link:hover{color:var(--accent-hover)}.totp-secret{border:1px solid var(--rule);background:var(--paper-2);font-family:var(--mono);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:8px;padding:10px 12px;font-size:13px}.auth-page .totp-label{color:var(--stage-p50)}.auth-page .totp-row{flex-direction:column}.auth-page .totp-input{border:1px solid var(--stage-p16);background:var(--stage-p04);width:100%;min-height:56px;color:var(--paper);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:10px;font-size:24px}.auth-page .totp-input::placeholder{color:var(--stage-p50);opacity:1}.auth-page .totp-input:focus{border-color:var(--stage-accent);box-shadow:0 0 0 4px var(--stage-tint-ring)}.auth-page .totp-btn{border-color:var(--stage-p16);min-height:50px;color:var(--paper);border-radius:10px}.auth-page .totp-btn-primary{background:var(--paper);color:var(--ink);transition:background .25s var(--ease-out), color .25s var(--ease-out);border:none}.auth-page .totp-btn-primary:hover:not(:disabled){background:var(--accent);color:var(--paper)}.auth-page .totp-btn-primary:disabled{opacity:1;background:var(--stage-p10);color:var(--stage-p50)}.auth-page .totp-btn:focus-visible,.auth-page .totp-link:focus-visible{outline-color:var(--stage-accent)}.auth-page .totp-error{border:1px solid var(--stage-red-line);background:var(--stage-red-wash);color:var(--paper);border-radius:10px;padding:11px 14px}.auth-page .totp-wait{text-align:center;color:var(--stage-p70)}.auth-page .totp-setup{text-align:center;flex-direction:column;align-items:center}.auth-page .totp-qr{background:var(--paper);border:none;border-radius:12px;padding:10px}.auth-page .totp-howto{color:var(--stage-p70);min-width:0}.auth-page .totp-link{font-family:var(--serif);color:var(--paper);font-style:italic}.auth-page .totp-link:hover{color:var(--stage-accent)}.auth-page .totp-secret{border-color:var(--stage-p16);background:var(--stage-p04);color:var(--paper);margin-top:4px}.sa-loader{pointer-events:none;display:inline-block;position:relative}.sa-loader-svg{transform-origin:50%;will-change:transform;width:100%;height:100%;animation:1.1s linear infinite saLoaderSpin}.sa-loader-svg path{fill:var(--accent)}@keyframes saLoaderSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sa-loader-inline{width:100%;min-height:240px;animation:saLoaderFadeIn .2s var(--ease-out);justify-content:center;align-items:center;gap:14px;padding:48px 24px;display:flex}.sa-loader-inline .sa-loader-svg{width:36px;height:36px}.sa-loader-inline-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-soft);font-size:11px;font-weight:600;animation:1.8s ease-in-out infinite saLoaderLabelPulse}@keyframes saLoaderLabelPulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes saLoaderFadeIn{0%{opacity:0}to{opacity:1}}.sa-loader-page{z-index:9000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;animation:saLoaderFadeIn .4s var(--ease-out) .15s forwards;background:#faf8f4eb;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.sa-loader-page .sa-loader-svg{width:48px;height:48px}.sa-loader-page-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-soft);font-size:11px;font-weight:600;animation:1.8s ease-in-out infinite saLoaderLabelPulse}.sa-loader-area{width:100%;min-height:70vh;animation:saLoaderFadeIn .2s var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.sa-loader-area .sa-loader-svg{width:48px;height:48px}.sa-loader-mini{vertical-align:middle;width:14px;height:14px}.sa-loader-mini .sa-loader-svg{width:14px;height:14px}@keyframes saSkeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sa-replace-modal{background:var(--paper);z-index:9001;width:min(540px,100vw - 32px);animation:saVcardConfirmIn .25s var(--ease-out);border-radius:12px;padding:28px 30px 22px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 30px 60px -16px #14110d4d}.sa-replace-modal h3{font-family:var(--serif);letter-spacing:-.015em;color:var(--ink);margin:0 0 8px;font-size:24px;font-weight:400}.sa-replace-modal h3 em{color:var(--accent);font-style:italic}.sa-replace-modal p{font-family:var(--sans);color:var(--ink-soft);margin:0 0 20px;font-size:13px;line-height:1.55}.sa-replace-dropzone{border:1.5px dashed var(--rule-2);text-align:center;cursor:pointer;transition:border-color .18s var(--ease-out), background .18s var(--ease-out);background:var(--paper-2);border-radius:10px;margin-bottom:20px;padding:36px 20px}.sa-replace-dropzone:hover,.sa-replace-dropzone.is-dragover{border-color:var(--accent);background:#d94a260a}.sa-replace-dropzone.has-file{border-style:solid;border-color:var(--rule-2);background:var(--paper)}.sa-replace-dropzone-label{font-family:var(--serif);color:var(--ink);margin-bottom:4px;font-size:18px}.sa-replace-dropzone-sub{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-soft);font-size:11px}.sa-replace-file{text-align:left}.sa-replace-file-name{font-family:var(--sans);color:var(--ink);word-break:break-word;font-size:14px;font-weight:500}.sa-replace-file-size{font-family:var(--mono);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.12em;margin-top:4px;font-size:11px}.sa-replace-progress{padding:20px 0 24px}.sa-replace-progress-bar{background:var(--paper-2);border-radius:999px;height:6px;overflow:hidden}.sa-replace-progress-fill{background:var(--accent);height:100%;transition:width .2s var(--ease-out)}.sa-replace-progress-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-soft);text-align:center;margin-top:12px;font-size:11px}.onboarding-root{--el-accent:var(--accent);background:var(--paper);min-height:100dvh;position:relative;overflow:hidden}.select-plan-root{background:var(--paper);min-height:100dvh;overflow-x:hidden}.ob-top{z-index:30;justify-content:space-between;align-items:center;padding:18px 26px;display:flex;position:fixed;top:0;left:0;right:0}.ob-progress{background:var(--rule);border-radius:2px;flex:1;max-width:220px;height:2px;margin:0 22px;overflow:hidden}.ob-progress-bar{background:var(--accent);height:100%;transition:width .8s var(--ease-out);border-radius:2px}.ob-stage{z-index:10;min-height:100dvh;animation:formIn .5s var(--ease-out) both;justify-content:center;align-items:center;padding:84px 26px 52px;display:flex;position:relative}.ob-wrap{width:100%;max-width:540px;margin:auto}.ob-wrap.wide{max-width:1040px}.ob-display{font-family:var(--serif);letter-spacing:-.028em;color:var(--ink);margin-bottom:14px;font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.05}.ob-display em{color:var(--accent);font-style:italic;font-weight:400}.ob-lede{font-family:var(--serif);color:var(--ink-soft);max-width:430px;margin-bottom:30px;font-size:clamp(15px,1.6vw,18px);font-style:italic;line-height:1.5}.ob-micro{color:var(--ink-soft);font-size:12.5px}.ob-btn{font-family:var(--sans);letter-spacing:-.01em;cursor:pointer;transition:transform .2s var(--ease-out), box-shadow .2s, opacity .2s;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:9px;padding:14px 22px;font-size:14.5px;font-weight:600;display:inline-flex}.ob-btn:active{transform:translateY(1px)}.ob-btn-accent{background:var(--accent);color:var(--paper);box-shadow:var(--shadow-soft)}.ob-btn-accent:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}.ob-btn:disabled{opacity:.55;cursor:default;transform:none}.ob-row-actions{align-items:center;gap:14px;margin-top:22px;display:flex}.ob-poster{aspect-ratio:16/9;box-shadow:var(--shadow-lift);cursor:pointer;background:linear-gradient(135deg, var(--ink-2), var(--ink) 60%, var(--ink-2));border-radius:16px;margin-top:6px;position:relative;overflow:hidden}.ob-poster .ob-play{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ob-play-ring{background:color-mix(in srgb, var(--paper) 94%, transparent);width:72px;height:72px;box-shadow:0 8px 30px color-mix(in srgb, var(--ink) 35%, transparent);transition:transform .25s var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:flex}.ob-poster:hover .ob-play-ring{transform:scale(1.07)}.ob-play-ring svg{width:23px;height:23px;fill:var(--ink);margin-left:3px}.ob-poster-dur{font-family:var(--mono);color:color-mix(in srgb, var(--paper) 80%, transparent);background:color-mix(in srgb, var(--ink) 45%, transparent);border-radius:6px;padding:3px 8px;font-size:11px;position:absolute;top:14px;right:14px}.ob-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-hover));width:34px;height:34px;font-family:var(--serif);color:var(--paper);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex}.ob-poster-lower{align-items:center;gap:10px;display:flex;position:absolute;bottom:16px;left:18px}.ob-poster-name{color:color-mix(in srgb, var(--paper) 94%, transparent);font-size:13px;font-weight:600;line-height:1.2}.ob-poster-name span{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--paper) 55%, transparent);font-size:10px;font-weight:400;display:block}.ob-route-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:24px;display:grid}.ob-player{aspect-ratio:16/9;box-shadow:var(--shadow-lift);background:linear-gradient(135deg, var(--ink-2), var(--ink) 55%, var(--ink-2));border-radius:16px;position:relative;overflow:hidden}.ob-rec{font-family:var(--mono);letter-spacing:.1em;color:color-mix(in srgb, var(--paper) 85%, transparent);z-index:6;align-items:center;gap:7px;font-size:10.5px;display:flex;position:absolute;top:13px;left:15px}.ob-rec .ob-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite pulse}.ob-chapter{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--paper) 55%, transparent);background:color-mix(in srgb, var(--ink) 30%, transparent);z-index:6;opacity:0;border-radius:6px;padding:4px 9px;font-size:9.5px;transition:opacity .4s;position:absolute;top:13px;right:14px}.ob-chapter.show{opacity:1}.ob-caption{text-align:center;font-family:var(--serif);color:color-mix(in srgb, var(--paper) 96%, transparent);z-index:3;opacity:0;padding:0 30px;font-size:clamp(15px,1.8vw,20px);font-style:italic;line-height:1.35;transition:opacity .45s,transform .45s;position:absolute;bottom:58px;left:0;right:0;transform:translateY(8px)}.ob-caption.show{opacity:1;transform:none}.ob-lower{z-index:5;align-items:center;gap:9px;display:flex;position:absolute;bottom:15px;left:15px}.ob-lower .ob-avatar{width:28px;height:28px;font-size:12px}.ob-lower-name{color:color-mix(in srgb, var(--paper) 90%, transparent);font-size:11.5px;font-weight:600}.ob-scrub{background:color-mix(in srgb, var(--paper) 18%, transparent);z-index:5;height:3px;position:absolute;bottom:0;left:0;right:0}.ob-scrub-fill{background:var(--el-accent);width:0;height:100%;transition:width .4s linear,background .3s}.ob-play-overlay{cursor:pointer;z-index:7;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ob-play-overlay .ob-play-ring{width:62px;height:62px}.ob-overlay{z-index:4;background:linear-gradient(0deg, color-mix(in srgb, var(--ink) 82%, transparent), color-mix(in srgb, var(--ink) 50%, transparent));animation:formIn .3s var(--ease-out) both;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:22px;display:flex;position:absolute;inset:0}.ob-q{font-family:var(--serif);color:var(--paper);text-align:center;letter-spacing:-.01em;margin-bottom:4px;font-size:clamp(18px,2.2vw,24px)}.ob-overlay-lede{text-align:center;width:min(440px,90%);font-family:var(--sans);color:color-mix(in srgb, var(--paper) 82%, transparent);margin:-2px 0 6px;font-size:14px;line-height:1.5}.ob-opt{text-align:left;background:color-mix(in srgb, var(--paper) 96%, transparent);cursor:pointer;width:min(440px,90%);font-family:var(--sans);color:var(--ink);transition:.18s var(--ease-out);border:none;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;font-size:14.5px;font-weight:600;display:flex}.ob-opt:hover{background:var(--paper);box-shadow:0 8px 24px color-mix(in srgb, var(--ink) 25%, transparent);transform:translateY(-1px)}.ob-opt .ob-arr{color:var(--el-accent);flex:none;font-size:17px;transition:color .3s}.ob-opt.chosen{background:var(--el-accent);color:var(--paper)}.ob-opt.chosen .ob-arr{color:var(--paper)}.ob-opt.dimmed{opacity:.35}.ob-textwrap{width:min(440px,92%)}.ob-q.left{text-align:left;font-size:21px}.ob-textrow{gap:10px;margin-top:12px;display:flex}.ob-textrow input{border:1px solid color-mix(in srgb, var(--paper) 30%, transparent);background:color-mix(in srgb, var(--paper) 95%, transparent);font-family:var(--sans);color:var(--ink);border-radius:11px;flex:1;padding:13px 15px;font-size:15px}.ob-textrow input:focus{border-color:var(--paper);outline:none}.ob-swatches{flex-wrap:wrap;justify-content:center;gap:11px;display:flex}.ob-swatch{cursor:pointer;width:42px;height:42px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--paper) 26%, transparent);transition:transform .16s var(--ease-out);border:2px solid #0000;border-radius:11px}.ob-swatch:hover{transform:scale(1.1)}.ob-swatch.sel{border-color:var(--paper)}.ob-swatch.sel:after{content:"✓";height:100%;color:var(--paper);text-shadow:0 1px 2px color-mix(in srgb, var(--ink) 40%, transparent);justify-content:center;align-items:center;font-weight:700;display:flex}.ob-stars{gap:8px;display:flex}.ob-star{color:color-mix(in srgb, var(--paper) 35%, transparent);cursor:pointer;transition:transform .15s var(--ease-out), color .15s;background:0 0;border:none;padding:0;font-size:34px;line-height:1}.ob-star:hover{transform:scale(1.15)}.ob-star.on{color:var(--accent-3)}.ob-ov-skip{color:color-mix(in srgb, var(--paper) 55%, transparent);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;margin-top:4px;font-size:11px}.ob-ov-skip:hover{color:color-mix(in srgb, var(--paper) 85%, transparent)}.ob-panel{background:var(--paper);border:1px solid var(--rule);box-shadow:var(--shadow-soft);border-radius:16px;padding:20px}.ob-panel-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.ob-panel-head .t{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.ob-status{font-family:var(--mono);letter-spacing:.08em;color:var(--accent);align-items:center;gap:6px;font-size:10px;display:flex}.ob-status .ob-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.4s infinite pulse}.ob-status.ready{color:var(--accent-2)}.ob-status.ready .ob-dot{background:var(--accent-2);animation:none}.ob-ws-id{border-bottom:1px solid var(--rule);align-items:center;gap:12px;margin-bottom:14px;padding-bottom:16px;display:flex}.ob-ws-avatar{background:var(--paper-3);width:46px;height:46px;color:var(--ink-soft);font-family:var(--serif);border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:20px;font-weight:600;transition:all .4s;display:flex}.ob-ws-avatar.filled{background:var(--el-accent);color:var(--paper)}.ob-ws-name{font-family:var(--serif);color:var(--ink-soft);font-size:18px;font-weight:500;transition:color .3s}.ob-ws-name.filled{color:var(--ink)}.ob-ws-row{opacity:.4;justify-content:space-between;align-items:center;padding:8px 0;font-size:13px;transition:opacity .4s;display:flex}.ob-ws-row.filled{opacity:1}.ob-ws-row .k{color:var(--ink-soft);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.ob-ws-row .v{color:var(--ink);align-items:center;gap:7px;font-weight:600;display:flex}.ob-colorchip{background:var(--el-accent);border-radius:4px;width:14px;height:14px;transition:background .3s}.ob-ws-route{border-top:1px solid var(--rule);margin-top:14px;padding-top:14px}.ob-ws-route-label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:10px;display:flex}.ob-route-tag{color:var(--accent)}.ob-map{flex-direction:column;gap:7px;display:flex}.ob-node{opacity:0;transition:.4s var(--ease-out);align-items:center;gap:10px;display:flex;transform:translateY(6px)}.ob-node.on{opacity:1;transform:none}.ob-node .nb{background:var(--el-accent);width:24px;height:24px;color:var(--paper);border-radius:7px;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;transition:background .3s;display:flex}.ob-node .nl{color:var(--ink);font-size:12.5px;font-weight:600;line-height:1.3}.ob-conn{background:var(--rule-2);width:1px;height:8px;margin-left:11px}.ob-reveal-head{text-align:center;margin-bottom:26px}.ob-reveal-head .ob-lede{margin:0 auto}.ob-used-strip{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}.ob-used-chip{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--rule-2);background:var(--paper);border-radius:20px;padding:5px 12px;font-size:10px}.ob-used-chip b{color:var(--accent);font-weight:500}.ob-dash{grid-template-columns:1.25fr .75fr;align-items:start;gap:20px;margin-top:26px;display:grid}.ob-vcard{background:var(--paper);border:1px solid var(--rule);box-shadow:var(--shadow-lift);border-radius:16px;overflow:hidden}.ob-vthumb{aspect-ratio:16/9;background:linear-gradient(135deg, var(--ink-2), var(--ink) 60%, var(--ink-2));position:relative}.ob-vplay{background:color-mix(in srgb, var(--paper) 92%, transparent);width:56px;height:56px;box-shadow:0 8px 24px color-mix(in srgb, var(--ink) 35%, transparent);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ob-vplay svg{width:20px;height:20px;fill:var(--ink);margin-left:3px}.ob-live-pill{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--paper);background:color-mix(in srgb, var(--accent-3) 95%, transparent);border-radius:6px;align-items:center;gap:6px;padding:4px 9px;font-size:10px;display:flex;position:absolute;top:12px;left:12px}.ob-live-pill .ob-dot{background:var(--paper);border-radius:50%;width:6px;height:6px}.ob-cp-chip{background:var(--el-accent);color:var(--paper);border-radius:8px;padding:8px 12px;font-size:12.5px;font-weight:600;transition:background .3s;position:absolute;bottom:12px;left:12px;right:12px}.ob-vmeta{padding:15px 17px}.ob-vtitle{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);margin-bottom:3px;font-size:18px;font-weight:500}.ob-vtag{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--rule-2);border-radius:5px;margin-bottom:13px;padding:2px 8px;font-size:10px;display:inline-block}.ob-vstats{border-top:1px solid var(--rule);gap:20px;padding-top:13px;display:flex}.ob-vstat .n{font-family:var(--serif);color:var(--ink);font-size:22px;font-weight:500;line-height:1}.ob-vstat .n em{color:var(--ink-soft);font-size:14px;font-style:normal}.ob-vstat.hero .n{color:var(--el-accent);transition:color .3s}.ob-vstat .l{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:5px;font-size:9px}.ob-side{flex-direction:column;gap:15px;display:flex}.ob-first-steps{background:var(--paper);border:1px solid var(--rule);box-shadow:var(--shadow-soft);border-radius:16px;padding:17px}.ob-fs-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ob-fs-head h3{font-family:var(--serif);color:var(--ink);font-size:16px;font-weight:500}.ob-fs-head h3 em{color:var(--accent);font-style:italic}.ob-fs-head .meta{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-soft);font-size:10px}.ob-fs-row{color:var(--ink);align-items:center;gap:11px;padding:8px 0;font-size:13.5px;display:flex}.ob-fs-num{border:1px solid var(--rule-2);width:21px;height:21px;font-family:var(--mono);color:var(--ink-soft);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;display:flex}.ob-fs-row.done .ob-fs-num{background:var(--accent-2);border-color:var(--accent-2);color:var(--paper)}.ob-fs-row.done span{color:var(--ink-soft);text-decoration:line-through;-webkit-text-decoration-color:var(--rule-2);text-decoration-color:var(--rule-2)}.ob-embed-card{background:var(--ink);color:var(--paper);box-shadow:var(--shadow-lift);border-radius:16px;padding:17px}.ob-ec-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--paper) 50%, transparent);margin-bottom:8px;font-size:10px}.ob-ec-snip{font-family:var(--mono);color:color-mix(in srgb, var(--paper) 80%, transparent);background:color-mix(in srgb, var(--paper) 6%, transparent);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;margin-bottom:12px;padding:9px 11px;font-size:11px;overflow:hidden}.ob-embed-card .ob-btn-accent{width:100%}.ob-arrival{z-index:40;background:var(--paper);cursor:pointer;animation:obArrivalFade 4.2s var(--ease-out) forwards;justify-content:center;align-items:center;padding:26px;display:flex;position:fixed;inset:0}@keyframes obArrivalFade{0%{opacity:0}10%{opacity:1}84%{opacity:1}to{opacity:0}}.ob-arrival-inner{z-index:1;text-align:center;max-width:560px;animation:obArrivalRise .9s var(--ease-out) both;position:relative}.ob-confetti{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.ob-confetti-piece{width:var(--sz);height:var(--sz);background:var(--c);border-radius:var(--rad);opacity:1;animation:obConfetti var(--dur) var(--del) forwards;position:absolute;top:46%;left:50%}@keyframes obConfetti{0%{opacity:1;animation-timing-function:cubic-bezier(.12,.7,.3,1);transform:translate(-50%,-50%)rotate(0)}42%{opacity:1;transform:translate(calc(-50% + var(--tx) * .55), calc(-50% + var(--peak))) rotate(calc(var(--rot) * .45));animation-timing-function:cubic-bezier(.55,0,.75,.55)}to{opacity:0;transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--fall))) rotate(var(--rot))}}@keyframes obArrivalRise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.ob-arrival-head{margin-bottom:20px;font-size:clamp(46px,8vw,92px);display:inline-block;position:relative}.ob-arrival-head:after{content:"";background:var(--el-accent);width:0;height:3px;animation:obArrivalLine .7s var(--ease-out) .55s forwards;border-radius:2px;position:absolute;bottom:2px;left:0}@keyframes obArrivalLine{to{width:100%}}.ob-arrival-lede{margin:0 auto 26px}.ob-arrival-hint{font-family:var(--sans);color:var(--ink-soft);font-size:14px;animation:1.8s ease-in-out 1s infinite obArrivalPulse}@keyframes obArrivalPulse{0%,to{opacity:.45}50%{opacity:1}}.ob-swatch-custom{border-color:var(--rule-2);justify-content:center;align-items:center;display:flex;position:relative}.ob-swatch-custom input[type=color]{opacity:0;cursor:pointer;border:none;padding:0;position:absolute;inset:0}.ob-swatch-plus{color:var(--paper);pointer-events:none;text-shadow:0 1px 3px color-mix(in srgb, var(--ink) 45%, transparent);font-size:22px;font-weight:300;line-height:1}.ob-hex-row{justify-content:center;align-items:center;gap:8px;margin-top:4px;display:flex}.ob-hex-dot{width:16px;height:16px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 12%, transparent);border-radius:5px;flex:none}.ob-hex-input{text-align:center;width:116px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid color-mix(in srgb, var(--paper) 35%, transparent);background:color-mix(in srgb, var(--paper) 95%, transparent);color:var(--ink);border-radius:9px;padding:9px 10px;font-size:13px}.ob-hex-input:focus{border-color:var(--paper);outline:none}@media (prefers-reduced-motion:reduce){.ob-arrival,.ob-arrival-inner,.ob-arrival-head:after,.ob-arrival-hint{animation:none}.ob-confetti{display:none}}@media (max-width:860px){.ob-route-grid{grid-template-columns:1fr;gap:18px}.ob-dash{grid-template-columns:1fr}.ob-progress{max-width:110px;margin:0 12px}.ob-stage{padding:78px 16px 64px}}@media (max-width:640px){.ob-player{aspect-ratio:9/16}.ob-overlay{background:linear-gradient(0deg, var(--ink) 90%, color-mix(in srgb, var(--ink) 80%, transparent))}}
