.signin{position:relative;min-height:100dvh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));overflow:hidden;background:var(--bg-deep)}.signin-backdrop{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background:radial-gradient(60% 50% at 20% 15%,color-mix(in oklch,var(--accent) 22%,transparent),transparent 70%),radial-gradient(50% 45% at 85% 80%,color-mix(in oklch,var(--hue-2) 18%,transparent),transparent 70%);filter:blur(20px);animation:signin-drift 24s var(--ease-in-out) infinite alternate}@keyframes signin-drift{to{transform:translate3d(3%,-2%,0) scale(1.05)}}.signin-card{position:relative;width:min(440px,100%);display:flex;flex-direction:column;gap:18px;padding:28px 24px 22px;border-radius:var(--r-xl)}.signin-title{margin:6px 0 0;font-size:clamp(34px,9vw,46px);font-weight:400;line-height:1.02}.signin-title em{color:var(--accent)}.signin-lede{margin:0;color:var(--text-2);font-size:var(--t-md);line-height:1.5}.signin-form{display:flex;flex-direction:column;gap:10px}.signin-field{display:flex;align-items:center;gap:10px;height:52px;padding:0 16px;border-radius:var(--r-lg);border:1px solid var(--line-2);background:var(--bg-deep);color:var(--text-3);transition:border-color var(--d-1) var(--ease-out)}.signin-field:focus-within{border-color:var(--accent)}.signin-field input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--text);font-size:17px}.signin-note{height:auto;align-items:flex-start;padding:12px 16px}.signin-note textarea{flex:1;min-width:0;min-height:66px;border:0;outline:0;resize:none;background:none;color:var(--text);font:inherit;font-size:17px;line-height:1.4}.signin-go{height:52px;justify-content:center;font-size:var(--t-md)}.signin-alt{height:46px;justify-content:center;gap:8px;font-size:var(--t-md);color:var(--text-2)}.signin-alt:hover:not(:disabled){color:var(--text)}.signin-title-sm{font-size:clamp(30px,8vw,40px)}.signin-offer-icon{display:grid;place-items:center;width:56px;height:56px;margin-top:4px;border-radius:var(--r-lg);color:var(--accent);background:var(--accent-soft);animation:signin-offer-in .52s var(--ease-out) both}@keyframes signin-offer-in{0%{opacity:0;transform:scale(.85)}}.signin-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.signin-error{margin:0;color:var(--danger);font-size:var(--t-sm)}.signin-words{margin:0;color:var(--text-2);font-size:var(--t-sm)}.signin-words b{color:var(--text);font-weight:600}.signin-status{display:flex;align-items:center;gap:8px;margin:0;color:var(--text-2);font-size:var(--t-sm)}.signin-beta{margin:4px 0 0;padding-top:14px;border-top:1px solid var(--line);color:var(--text-3);font-size:var(--t-xs);line-height:1.5}.app-splash{min-height:100dvh;display:grid;place-items:center;background:var(--bg-deep)}.signin-modes{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;border-radius:var(--r-full);background:var(--bg-deep);border:1px solid var(--line)}.signin-mode{height:34px;border-radius:var(--r-full);font-size:var(--t-sm);font-weight:600;color:var(--text-3);transition:background var(--d-1) var(--ease-out),color var(--d-1) var(--ease-out)}.signin-mode:hover{color:var(--text)}.signin-mode[aria-selected=true]{color:var(--accent-ink);background:var(--accent)}:root{color-scheme:dark;--n-0: oklch(.125 .006 70);--n-1: oklch(.155 .007 70);--n-2: oklch(.185 .008 70);--n-3: oklch(.225 .009 70);--n-4: oklch(.285 .01 70);--n-5: oklch(.37 .011 70);--bg: var(--n-1);--bg-deep: var(--n-0);--raised: var(--n-2);--card: var(--n-3);--card-hover: var(--n-4);--text: oklch(.955 .008 85);--text-2: oklch(.81 .011 85);--text-3: oklch(.64 .012 85);--text-4: oklch(.5 .012 85);--line: oklch(1 0 0 / .07);--line-2: oklch(1 0 0 / .12);--line-3: oklch(1 0 0 / .2);--glass: oklch(.185 .008 70 / .74);--glass-strong: oklch(.16 .008 70 / .9);--glass-line: oklch(1 0 0 / .1);--glass-blur: 22px;--accent: oklch(.83 .145 78);--accent-2: oklch(.74 .155 66);--accent-ink: oklch(.19 .03 70);--accent-soft: oklch(.83 .145 78 / .14);--accent-glow: oklch(.83 .145 78 / .34);--ok: oklch(.79 .14 155);--warn: oklch(.84 .15 88);--danger: oklch(.69 .19 25);--danger-soft: oklch(.69 .19 25 / .14);--tod-night: oklch(.46 .13 268);--tod-day: oklch(.82 .12 86);--tod-dusk: oklch(.69 .15 32);--tod-dawn: oklch(.75 .11 350);--tod-none: oklch(.52 .02 70);--hue-0: oklch(.79 .13 212);--hue-1: oklch(.74 .17 346);--hue-2: oklch(.84 .16 136);--hue-3: oklch(.73 .15 296);--hue-4: oklch(.77 .15 42);--hue-5: oklch(.79 .11 182);--font-display: "Instrument Serif", ui-serif, Georgia, serif;--font-ui: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-script: "Courier Prime", "Courier New", Courier, monospace;--t-2xs: 10.5px;--t-xs: 11.5px;--t-sm: 12.5px;--t-md: 14px;--t-lg: 16px;--t-xl: 20px;--t-2xl: 28px;--t-3xl: 44px;--t-4xl: 76px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--s-24: 96px;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 26px;--r-full: 999px;--shadow-1: 0 1px 2px oklch(0 0 0 / .28), 0 6px 18px oklch(0 0 0 / .22);--shadow-2: 0 2px 8px oklch(0 0 0 / .32), 0 24px 60px oklch(0 0 0 / .46);--shadow-3: 0 30px 90px oklch(0 0 0 / .6);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--d-1: .12s;--d-2: .2s;--d-3: .32s;--d-4: .56s;--z-canvas: 0;--z-chrome: 10;--z-inspector: 20;--z-ask: 30;--z-theater: 50;--z-toast: 60;--z-modal: 70}:root[data-theme=light]{color-scheme:light;--n-0: oklch(.93 .006 80);--n-1: oklch(.965 .005 80);--n-2: oklch(.985 .004 80);--n-3: oklch(1 0 0);--n-4: oklch(.955 .006 80);--n-5: oklch(.86 .008 80);--text: oklch(.2 .01 70);--text-2: oklch(.36 .012 70);--text-3: oklch(.5 .012 70);--text-4: oklch(.62 .012 70);--line: oklch(.2 .01 70 / .08);--line-2: oklch(.2 .01 70 / .13);--line-3: oklch(.2 .01 70 / .22);--glass: oklch(.99 .004 80 / .78);--glass-strong: oklch(.99 .004 80 / .93);--glass-line: oklch(.2 .01 70 / .1);--accent: oklch(.66 .16 62);--accent-2: oklch(.58 .16 55);--accent-ink: oklch(.99 .01 80);--accent-soft: oklch(.66 .16 62 / .12);--accent-glow: oklch(.66 .16 62 / .3);--tod-day: oklch(.74 .13 80);--hue-0: oklch(.6 .13 222);--hue-1: oklch(.58 .19 350);--hue-2: oklch(.6 .16 140);--hue-3: oklch(.56 .16 296);--hue-4: oklch(.62 .16 40);--hue-5: oklch(.6 .11 185);--shadow-1: 0 1px 2px oklch(.2 .02 70 / .08), 0 6px 18px oklch(.2 .02 70 / .08);--shadow-2: 0 2px 8px oklch(.2 .02 70 / .1), 0 24px 60px oklch(.2 .02 70 / .14);--shadow-3: 0 30px 90px oklch(.2 .02 70 / .2)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:var(--t-md);line-height:1.45;font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow:hidden}img,video{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}::selection{background:var(--accent-soft);color:var(--text)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}*{scrollbar-width:thin;scrollbar-color:var(--line-3) transparent}.display{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em;line-height:1.02}.eyebrow{font-size:var(--t-2xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.mono{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:0;font-variant-numeric:tabular-nums}.muted{color:var(--text-3)}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.glass{background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(var(--glass-blur)) saturate(1.4);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.4);box-shadow:var(--shadow-2)}.hairline{border:1px solid var(--line)}.btn{--btn-h: 34px;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:var(--btn-h);padding:0 var(--s-4);border-radius:var(--r-full);font-size:var(--t-sm);font-weight:550;letter-spacing:.005em;white-space:nowrap;color:var(--text);background:var(--card);border:1px solid var(--line-2);transition:background var(--d-1) var(--ease-out),border-color var(--d-1) var(--ease-out),transform var(--d-1) var(--ease-out),box-shadow var(--d-2) var(--ease-out)}.btn:hover{background:var(--card-hover);border-color:var(--line-3)}.btn:active{transform:translateY(1px) scale(.99)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn svg{width:16px;height:16px;flex:none}.btn-primary{color:var(--accent-ink);background:linear-gradient(180deg,var(--accent),var(--accent-2));border-color:transparent;box-shadow:0 0 0 1px #ffffff14 inset,0 8px 24px var(--accent-soft)}.btn-primary:hover{background:linear-gradient(180deg,var(--accent),var(--accent));border-color:transparent;box-shadow:0 0 0 1px #ffffff1f inset,0 10px 30px var(--accent-glow)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--line);border-color:transparent;color:var(--text)}.btn-danger{color:var(--danger);background:var(--danger-soft);border-color:transparent}.btn-sm{--btn-h: 28px;padding:0 var(--s-3);font-size:var(--t-xs)}.btn-lg{--btn-h: 44px;padding:0 var(--s-6);font-size:var(--t-md)}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:var(--r-full);color:var(--text-2);transition:background var(--d-1) var(--ease-out),color var(--d-1) var(--ease-out)}.icon-btn:hover{background:var(--line);color:var(--text)}.icon-btn svg{width:17px;height:17px}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 var(--s-3);border-radius:var(--r-full);font-size:var(--t-xs);font-weight:500;color:var(--text-2);background:var(--card);border:1px solid var(--line-2);white-space:nowrap;transition:background var(--d-1) var(--ease-out),color var(--d-1) var(--ease-out),border-color var(--d-1) var(--ease-out)}button.chip:hover{background:var(--card-hover);color:var(--text);border-color:var(--line-3)}.chip svg{width:13px;height:13px}.chip-accent{color:var(--accent);background:var(--accent-soft);border-color:transparent}.badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:var(--r-full);font-size:var(--t-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);background:var(--line)}.badge-accent{color:var(--accent);background:var(--accent-soft)}.badge-ok{color:var(--ok);background:#66d59221}.badge-danger{color:var(--danger);background:var(--danger-soft)}.field{width:100%;height:38px;padding:0 var(--s-3);border-radius:var(--r-md);background:var(--bg-deep);border:1px solid var(--line-2);color:var(--text);transition:border-color var(--d-1) var(--ease-out),box-shadow var(--d-1) var(--ease-out)}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:6px;font-family:var(--font-mono);font-size:10.5px;color:var(--text-3);background:var(--line);border:1px solid var(--line)}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--line-2);border-top-color:var(--accent);animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,var(--card) 0%,var(--card-hover) 40%,var(--card) 80%);background-size:200% 100%;animation:shimmer 1.6s var(--ease-in-out) infinite}.divider{height:1px;background:var(--line);border:0;margin:var(--s-4) 0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.topbar{position:absolute;z-index:var(--z-chrome);top:14px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;pointer-events:none}.topbar>*{pointer-events:auto}.topbar-left,.topbar-right{display:flex;align-items:center;gap:10px;height:48px;padding:0 8px 0 14px;border-radius:16px}.topbar-right{padding:0 6px 0 8px;gap:6px}.topbar-sep{width:1px;height:22px;background:var(--line-2)}.brand{display:inline-flex;align-items:center;gap:8px;color:var(--text);text-decoration:none}.brand-word{font-family:var(--font-display);font-size:22px;letter-spacing:-.01em;line-height:1;padding-top:2px}.film-chip{display:flex;align-items:center;gap:10px;min-width:0}.film-chip img{width:24px;height:36px;border-radius:4px;object-fit:cover}.film-chip-title{font-size:var(--t-sm);font-weight:650;white-space:nowrap}.film-chip-meta{display:flex;align-items:center;gap:6px;font-size:var(--t-2xs);white-space:nowrap}.mode{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 11px;border-radius:var(--r-full);font-size:var(--t-xs);font-weight:600;color:var(--text-3);background:var(--line);border:1px dashed var(--line-3)}.mode.real{color:var(--accent-ink);background:var(--accent);border:1px solid transparent}.credits{font-variant-numeric:tabular-nums;font-weight:650;color:var(--text)}.credits svg{color:var(--accent)}.popover{z-index:var(--z-modal);width:300px;padding:16px;border-radius:16px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;animation:pop-in var(--d-2) var(--ease-out)}.pop-title{font-weight:650}.pop-text{margin:0;font-size:var(--t-xs)}.pop-label{margin-top:8px;font-size:var(--t-xs);font-weight:600;color:var(--text-2)}.nudges{display:flex;align-items:center;gap:4px;margin-bottom:6px}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.toast-host{position:fixed;z-index:var(--z-toast);left:18px;bottom:22px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;max-width:420px;padding:11px 15px;border-radius:14px;font-size:var(--t-sm);pointer-events:auto}.toast.tone-ok svg{color:var(--ok)}.toast.tone-danger svg{color:var(--danger)}.toast.tone-info svg{color:var(--accent)}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in var(--d-2) var(--ease-out)}.dialog{position:fixed;z-index:var(--z-modal);left:50%;top:50%;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 64px);overflow-y:auto;padding:18px 22px 22px;border-radius:22px;transform:translate(-50%,-50%);animation:dialog-in var(--d-3) var(--ease-out)}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,-47%) scale(.98)}}.dialog-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}.dialog-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:var(--accent);background:var(--accent-soft)}.dialog-icon svg{width:17px;height:17px}.dialog-title{flex:1;margin:0;font-size:var(--t-lg);font-weight:650}.dialog-actions{display:flex;justify-content:flex-end;margin-top:14px}.ref{display:flex;flex-direction:column;gap:12px}.dropzone{display:flex;flex-direction:column;align-items:center;gap:4px;padding:28px 16px;border-radius:16px;text-align:center;cursor:pointer;color:var(--text-2);background:var(--bg-deep);border:1.5px dashed var(--line-3);transition:border-color var(--d-1) var(--ease-out),background var(--d-1) var(--ease-out)}.dropzone[data-over],.dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.dropzone svg{color:var(--accent);margin-bottom:4px}.dropzone[data-compact]{flex-direction:row;justify-content:center;gap:10px;padding:14px 16px}.dropzone[data-compact] svg{margin-bottom:0}.ref-frames{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.ref-frame{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:8px;background:var(--bg-deep);animation:fade-in var(--d-2) var(--ease-out)}.ref-toggle{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:14px;text-align:left;color:var(--text);background:var(--card);border:1px solid var(--line);cursor:pointer;transition:border-color var(--d-1) var(--ease-out),background var(--d-1) var(--ease-out)}.ref-toggle:hover{border-color:var(--line-3)}.ref-toggle[aria-checked=true]{border-color:color-mix(in oklch,var(--accent) 45%,transparent);background:var(--accent-soft)}.ref-toggle>svg{color:var(--text-3)}.ref-toggle[aria-checked=true]>svg{color:var(--accent)}.ref-toggle-text{display:flex;flex-direction:column;gap:2px;font-size:var(--t-sm)}.ref-toggle-text .muted{font-size:var(--t-xs);line-height:1.45}.switch{position:relative;flex:none;width:32px;height:18px;border-radius:var(--r-full);background:var(--line-3);transition:background var(--d-2) var(--ease-out)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text);box-shadow:0 1px 2px #0000004d;transition:transform var(--d-2) var(--ease-out)}.switch[data-on]{background:var(--accent)}.switch[data-on]:after{transform:translate(14px);background:var(--accent-ink)}@media (max-width: 720px){.ref-frames{grid-template-columns:repeat(2,1fr)}}.privacy{display:flex;gap:8px;margin:0;font-size:var(--t-xs);line-height:1.5;color:var(--text-3)}.privacy svg{flex:none;margin-top:2px;color:var(--ok)}.credits-body p{font-size:var(--t-sm);line-height:1.55}.credit-balance{display:flex;align-items:baseline;gap:8px}.credit-balance .display{font-size:56px;line-height:1;color:var(--accent)}.credit-packs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.credit-pack{display:flex;flex-direction:column;align-items:center;gap:2px;padding:18px 10px;border-radius:16px;background:var(--card);border:1px solid var(--line-2);transition:border-color var(--d-1) var(--ease-out),transform var(--d-1) var(--ease-out)}.credit-pack:hover{border-color:var(--accent);transform:translateY(-2px)}.credit-pack b{font-size:var(--t-2xl)}.credit-pack{position:relative}.credit-pack:disabled{opacity:.6;transform:none}.credit-pack-price{margin-top:8px;font-size:var(--t-lg);font-weight:600;color:var(--text);min-height:1.4em}.credit-pack-per{font-size:var(--t-2xs)}.credit-pack-makes{font-size:var(--t-2xs);color:var(--text-2)}.credit-makes{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-size:var(--t-sm)}.credit-makes b{color:var(--text);font-weight:600}.credit-pack-tag{position:absolute;top:-9px;left:50%;transform:translate(-50%);padding:2px 8px;border-radius:var(--r-full);font-size:var(--t-2xs);font-weight:700;letter-spacing:.04em;white-space:nowrap;color:var(--accent-ink);background:var(--accent)}.credit-packs{padding-top:6px}.buy-owner{display:flex;align-items:center;gap:2px;font-size:var(--t-xs)}.buy-owner>span{margin-right:auto}.buy-note{padding:14px;border-radius:14px;background:var(--accent-soft);color:var(--text-2)}.buy-pay{display:flex;flex-direction:column;gap:14px;animation:pop-in var(--d-2) var(--ease-out)}.buy-summary{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;border-radius:14px;border:1px solid var(--line-2);background:var(--bg-deep)}.buy-summary>span:first-of-type{flex:1}.buy-price{font-size:var(--t-lg);font-weight:600}.buy-apple{margin:-6px 0 0;text-align:center}.warmup{position:fixed;z-index:var(--z-toast);top:calc(max(10px,env(safe-area-inset-top)) + 62px);left:50%;translate:-50% 0;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 16px 10px 12px;border-radius:var(--r-full);pointer-events:none}.warmup-ring{position:relative;flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:var(--accent-ink);background:conic-gradient(var(--accent) calc(var(--done, 0) * 360deg),var(--line-2) 0);transition:background .3s linear}.warmup-ring:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--bg-deep)}.warmup[data-phase=ready] .warmup-ring{background:var(--accent)}.warmup[data-phase=ready] .warmup-ring:after{display:none}.warmup-ring svg{position:relative;z-index:1}.warmup-text{display:flex;flex-direction:column;min-width:0;font-size:var(--t-sm);line-height:1.3}.warmup-text b{display:block;font-weight:600;text-wrap:balance}.warmup-text .muted{font-size:var(--t-xs)}.buy-or{display:flex;align-items:center;gap:10px;color:var(--text-3);font-size:var(--t-xs)}.buy-or:before,.buy-or:after{content:"";flex:1;height:1px;background:var(--line-2)}.buy-go{height:50px;justify-content:center;font-size:var(--t-md)}.buy-fine{margin:-4px 0 0;text-align:center}.buy-done{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 0 6px;text-align:center}.buy-done h3{margin:4px 0 0;font-size:34px;font-weight:400}.buy-done h3 em{color:var(--accent)}.buy-done p{margin:0 0 8px}.buy-done-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--r-full);color:var(--accent-ink);background:var(--accent);animation:buy-done-in .52s var(--ease-out) both}@keyframes buy-done-in{0%{opacity:0;transform:scale(.8)}}.fine{font-size:var(--t-2xs)!important}.studio{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.studio[data-inspector] .askbar-dock{left:calc((100% - 476px)/2);width:min(700px,calc(100vw - 520px))}.studio[data-inspector] .navigator{left:calc((100% - 476px)/2);width:min(620px,calc(100vw - 1000px))}.center-note{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--text-3)}.drop-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:16px;pointer-events:none;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.drop-veil:before{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border:1.5px dashed var(--accent);border-radius:24px}.drop-card{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:420px;padding:26px 28px;border-radius:22px;text-align:center}.drop-card svg{color:var(--accent)}.drop-card b{font-family:var(--font-display);font-size:var(--t-xl);font-weight:400}.drop-card .muted{font-size:var(--t-sm);line-height:1.5}.indexing{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:grid;place-items:center;background:radial-gradient(800px 400px at 50% 40%,oklch(.83 .145 78 / .06),transparent),var(--bg)}.indexing-card{display:flex;gap:22px;align-items:center;width:min(620px,calc(100vw - 32px));padding:22px;border-radius:24px}.indexing-card img{width:110px;height:165px;border-radius:12px;object-fit:cover;box-shadow:var(--shadow-2)}.indexing-title{font-size:40px;line-height:1.02;margin:4px 0 8px}.indexing-card p{margin:0 0 14px;font-size:var(--t-sm);line-height:1.55}.indexing-progress{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-sm);font-weight:550;color:var(--accent)}.indexing-progress svg{animation:pulse 1.4s ease-in-out infinite}.home{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;background:var(--bg-deep)}.wall{position:fixed;top:-10%;right:-10%;bottom:-10%;left:-10%;display:flex;flex-direction:column;gap:14px;transform:rotate(-6deg) scale(1.08);opacity:.55}.wall-row{display:flex;gap:14px;width:max-content;animation:drift 160s linear infinite}.wall-row.r1{animation-duration:210s;animation-direction:reverse}.wall-row.r2{animation-duration:190s}.wall-row img{width:420px;height:236px;object-fit:cover;border-radius:14px;filter:saturate(.85) contrast(1.05)}@keyframes drift{to{transform:translate(-50%)}}.home-veil{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(70% 60% at 50% 45%,#070504b8,#040302f0 70%),linear-gradient(180deg,transparent 60%,var(--bg-deep))}:root[data-theme=light] .home-veil{background:radial-gradient(70% 60% at 50% 45%,#f7f5f1cc,#f7f5f1f2 70%),linear-gradient(180deg,transparent 60%,var(--bg-deep))}.hero{position:relative;display:flex;flex-direction:column;align-items:center;gap:30px;min-height:86vh;padding:18vh 16px 40px;text-align:center}.hero-eyebrow{color:var(--accent);letter-spacing:.22em}.hero-title{margin:14px 0 0;font-size:clamp(44px,7vw,92px)}.hero-title em{font-style:italic;color:var(--accent)}.hero-sub{max-width:600px;margin:18px auto 0;font-size:var(--t-lg);line-height:1.6;color:var(--text-2)}.how{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;font-size:var(--t-sm);color:var(--text-3)}.how span{display:inline-flex;align-items:center;gap:7px}.how svg{color:var(--accent)}.shelf{position:relative;padding:0 max(16px,calc((100vw - 1160px)/2)) 80px}.shelf-head{display:flex;align-items:baseline;justify-content:space-between}.shelf-all{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-sm);color:var(--text-2);text-decoration:none}.shelf-all:hover{color:var(--text)}.shelf-row{display:flex;gap:18px;margin-top:14px;overflow-x:auto;padding-bottom:10px}.poster{position:relative;flex:none;width:156px;color:var(--text);text-decoration:none}.poster img,.poster-empty{width:156px;height:234px;object-fit:cover;border-radius:14px;box-shadow:var(--shadow-2);transition:transform var(--d-3) var(--ease-out)}.poster:hover img{transform:translateY(-4px) rotate(-.6deg)}.poster-empty{display:grid;place-items:center;padding:12px;font-size:22px;text-align:center;background:var(--card)}.poster-meta{display:flex;flex-direction:column;margin-top:10px;font-size:var(--t-sm)}.poster-badge{position:absolute;top:8px;left:8px}.gallery{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:90px 32px 60px}.gallery h2{font-size:var(--t-2xl);margin:30px 0 18px}.gallery-row{display:flex;flex-wrap:wrap;align-items:center;gap:28px}.gallery-cell{height:190px}.gallery-cell.tall{height:210px}.crash{padding:48px;color:var(--text)}.crash pre{white-space:pre-wrap;color:var(--danger)}@media (max-width: 720px){.topbar{top:10px;left:10px;right:10px;gap:8px}.topbar-left,.topbar-right{height:44px;min-width:0}.topbar-left{flex:1;padding-left:10px}.brand-word,.film-chip-meta,.topbar-sep,.topbar-right .btn-ghost,.topbar-right .mode{display:none}.film-chip-title{overflow:hidden;text-overflow:ellipsis}.navigator{top:64px;width:calc(100vw - 20px)!important;min-width:0;left:50%!important}.askbar.askbar-dock,.studio[data-inspector] .askbar.askbar-dock{left:8px;right:8px;width:auto;transform:none;bottom:calc(max(8px,env(safe-area-inset-bottom)) + var(--kb, 0px))}.inspector.sheet{top:auto;left:6px;right:6px;width:auto;bottom:calc(var(--ask-h, 112px) + max(8px,env(safe-area-inset-bottom)) + var(--kb, 0px) + 6px);height:var(--sheet-h, 46dvh);border-radius:22px;transition:height .28s var(--ease-out),left .28s var(--ease-out),right .28s var(--ease-out)}.inspector.sheet[data-snap=peek]{--sheet-h: 150px}.inspector.sheet[data-snap=half]{--sheet-h: 46dvh}.inspector.sheet[data-snap=full]{--sheet-h: calc( 100dvh - var(--ask-h, 112px) - var(--kb, 0px) - max(8px, env(safe-area-inset-bottom)) - 6px - max(6px, env(safe-area-inset-top)) );left:0;right:0;background:var(--glass-strong)}.sheet-grip{position:absolute;z-index:3;top:0;left:56px;right:56px;height:28px;padding:0;border:0;background:none;cursor:grab;touch-action:none}.sheet-grip span{display:block;width:44px;height:5px;margin:9px auto 0;border-radius:var(--r-full);background:var(--line-3)}.inspector.sheet .insp-head{padding-top:28px}.inspector.sheet .insp-tabs{padding:0 6px;overflow-x:auto;scrollbar-width:none}.inspector.sheet .insp-tabs::-webkit-scrollbar{display:none}.inspector.sheet .insp-tab{flex:1 0 auto;justify-content:center;gap:5px;padding:0 6px}.inspector.sheet .inspector-close{top:16px}.studio[data-inspector] .navigator{opacity:.6}.hero{padding-top:14vh}}.projects-chip{text-decoration:none;color:var(--text-2)}.projects-chip:hover{color:var(--text)}.projects-page{min-height:100vh;background:var(--bg)}.projects-main{max-width:1160px;margin:0 auto;padding:112px 16px 80px}.projects-head h1{margin:0;font-size:clamp(34px,5vw,52px);font-weight:400;line-height:1.05}.projects-head p{max-width:560px;margin:10px 0 28px;font-size:var(--t-sm);line-height:1.55}.projects-loading{height:220px;border-radius:18px}.projects-empty{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:40px 0;color:var(--text-2)}.film-group{display:grid;grid-template-columns:112px 1fr;gap:22px;padding:24px 0;border-top:1px solid var(--line)}.film-group-poster img,.film-group-poster .poster-empty{display:block;width:112px;aspect-ratio:2 / 3;object-fit:cover;border-radius:10px;box-shadow:var(--shadow-2, 0 8px 24px oklch(0 0 0 / .35))}.film-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.film-group-head h2{margin:0;font-size:var(--t-2xl, 28px);font-weight:400}.project-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.project-card{position:relative;border-radius:14px;background:var(--card);border:1px solid var(--line);transition:border-color var(--d-1) var(--ease-out),background var(--d-1) var(--ease-out)}.project-card:hover{border-color:var(--line-3);background:var(--card-hover)}.project-card[data-confirm]{border-color:color-mix(in oklch,var(--danger) 55%,transparent)}.project-card-link{display:flex;flex-direction:column;gap:6px;padding:14px 44px 14px 16px;color:var(--text);text-decoration:none}.project-card-title{font-weight:600}.project-card-meta{display:flex;align-items:center;gap:5px;font-size:var(--t-xs)}.project-card-latest{font-family:var(--font-display);font-size:var(--t-lg, 17px);line-height:1.25}.project-card-date{font-size:11px}.project-card-delete{position:absolute;top:10px;right:10px;color:var(--text-3)}.project-card-delete:hover{color:var(--danger)}.project-card-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 16px 14px;font-size:var(--t-xs);color:var(--text-2)}.project-card-confirm span{flex-basis:100%}@media (max-width: 720px){.projects-chip span{display:none}.film-group{grid-template-columns:64px 1fr;gap:14px}.film-group-poster img,.film-group-poster .poster-empty{width:64px}.film-group-head{flex-direction:column;align-items:flex-start}}.viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#020202e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fade-in var(--d-2) var(--ease-out)}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;grid-template-rows:1fr auto;outline:none;animation:fade-in var(--d-3) var(--ease-out)}.viewer-stage{position:relative;display:grid;place-items:center;min-height:0;padding:32px 72px 12px}.viewer-stage img{max-width:100%;max-height:100%;border-radius:var(--r-md);box-shadow:var(--shadow-3);object-fit:contain;animation:fade-in var(--d-2) var(--ease-out)}.viewer-nav{position:absolute;top:50%;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-full);color:#eee;background:#ffffff14;transform:translateY(-50%);transition:background var(--d-1) var(--ease-out)}.viewer-nav:hover{background:#ffffff2e}.viewer-nav.prev{left:16px}.viewer-nav.next{right:16px}.viewer-bar{display:flex;align-items:flex-end;gap:20px;padding:12px 24px 22px;color:#e4e4e4}.viewer-bar .icon-btn{color:#cecece}.viewer-caption{flex:1;min-width:0}.viewer-title{display:flex;align-items:center;gap:10px;margin:0 0 4px;font-family:var(--font-display);font-size:var(--t-2xl);font-weight:400}.viewer-caption p{max-width:72ch;margin:0;color:#b7b7b7;font-size:var(--t-sm);line-height:1.5}.viewer-thumbs{display:flex;gap:8px;max-width:45vw;overflow-x:auto}.viewer-thumbs button{flex:none;width:64px;height:44px;overflow:hidden;border:2px solid transparent;border-radius:var(--r-sm);opacity:.55;transition:opacity var(--d-1) var(--ease-out),border-color var(--d-1) var(--ease-out)}.viewer-thumbs button:hover,.viewer-thumbs button[data-on]{opacity:1}.viewer-thumbs button[data-on]{border-color:var(--accent)}.viewer-thumbs img{width:100%;height:100%;object-fit:cover}@media (max-width: 720px){.viewer-stage{padding:16px 16px 8px}.viewer-nav{display:none}.viewer-bar{flex-wrap:wrap;padding:10px 16px 16px}.viewer-thumbs{order:3;max-width:100%}}.account{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 2px;border-radius:var(--r-full)}.account.beta{padding-left:10px;background:var(--accent-soft)}.account-beta{font-size:var(--t-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.account-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r-full);font-weight:700;font-size:var(--t-sm);color:var(--accent-ink);background:var(--accent)}.account-pop{width:min(320px,calc(100vw - 24px));display:flex;flex-direction:column;gap:12px;padding:14px}.account-who{display:flex;flex-direction:column;align-items:flex-start;gap:6px;overflow-wrap:anywhere}.account-note{margin:0;font-size:var(--t-xs);color:var(--text-2);line-height:1.5}.account-passkeys,.account-actions{align-self:stretch}.account-actions{display:flex;justify-content:space-between;gap:6px}.account-everywhere{align-self:flex-end;font-size:12px;color:var(--text-2);margin-top:-4px}.account-passkeys{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.account-passkeys ul{align-self:stretch;margin:0;padding:0;list-style:none;font-size:var(--t-xs)}.account-passkeys li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;border-bottom:1px solid var(--line)}.account-passkey-name{display:flex;flex-direction:column;gap:1px;min-width:0}.account-passkey-name b{font-weight:600}.account-passkey-remove{flex:none;min-width:30px;justify-content:center}.account-passkeys .eyebrow{display:flex;align-items:center;gap:6px}.account-costs{align-self:stretch;justify-content:flex-start;gap:8px}.account-costs .muted{margin-left:auto;font-size:var(--t-2xs);font-weight:500}.admin-waiting{padding:1px 7px;border-radius:var(--r-full);font-size:var(--t-2xs);font-weight:700;color:var(--accent-ink);background:var(--accent)}.staging-badge{position:fixed;top:max(6px,env(safe-area-inset-top));left:50%;z-index:2147483000;transform:translate(-50%);padding:2px 10px;border-radius:999px;background:#e5484d;color:#fff;font:600 10px/16px var(--font-mono, ui-monospace, monospace);letter-spacing:.12em;text-transform:uppercase;pointer-events:none;box-shadow:0 2px 10px #00000059}.hero-ask{position:relative;z-index:20}
