:root{--ember-300:#ffb184;--ember-400:#ff9257;--ember-500:#ff7a3c;--ember-600:#ec5f1c;--ember-700:#c44a12;--iron-300:#9fb6c9;--iron-500:#4b7fa5;--ok-500:#35c98a;--ok-600:#1ba36a;--warn-500:#f0b429;--warn-600:#c98a08;--danger-500:#f4614f;--danger-600:#d33d2b;--r-xs:4px;--r-sm:7px;--r-md:11px;--r-lg:16px;--r-xl:24px;--r-full:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--ease:cubic-bezier(.22, .61, .36, 1);--dur-fast:.12s;--dur:.22s;--dur-slow:.42s;--maxw:1240px}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0c0f;--bg-deep:#06080a;--surface:#12161c;--surface-2:#181d25;--surface-3:#1f2530;--overlay:#06080ab8;--line:#262d38;--line-soft:#1c222b;--line-strong:#38414f;--text:#eef2f7;--text-2:#a7b2c1;--text-3:#74808f;--text-inverse:#0a0c0f;--accent:var(--ember-500);--accent-hover:var(--ember-400);--accent-text:#1a0d05;--accent-soft:#ff7a3c24;--accent-line:#ff7a3c57;--ok:var(--ok-500);--ok-soft:#35c98a24;--warn:var(--warn-500);--warn-soft:#f0b42924;--danger:var(--danger-500);--danger-soft:#f4614f24;--info:var(--iron-300);--info-soft:#9fb6c91f;--shadow-sm:0 1px 2px #00000080;--shadow:0 8px 24px -8px #000000b3, 0 2px 6px #0006;--shadow-lg:0 28px 64px -20px #000c;--viewport-bg:radial-gradient(120% 90% at 50% 0%, #232b36 0%, #0e1218 62%, #080a0e 100%);--hero-glow:radial-gradient(60% 55% at 50% -8%, #ff7a3c38, transparent 70%);--grid-line:#ffffff09}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f6f7;--bg-deep:#eceded;--surface:#fff;--surface-2:#f4f5f6;--surface-3:#eaebee;--overlay:#14161a6b;--line:#dfe1e6;--line-soft:#ebecef;--line-strong:#c3c7cf;--text:#14181d;--text-2:#4e5761;--text-3:#7b848f;--text-inverse:#fff;--accent:var(--ember-600);--accent-hover:var(--ember-700);--accent-text:#fff;--accent-soft:#ec5f1c1a;--accent-line:#ec5f1c4d;--ok:var(--ok-600);--ok-soft:#1ba36a1f;--warn:var(--warn-600);--warn-soft:#c98a0821;--danger:var(--danger-600);--danger-soft:#d33d2b1a;--info:var(--iron-500);--info-soft:#4b7fa51a;--shadow-sm:0 1px 2px #10141a12;--shadow:0 10px 26px -12px #10141a3d, 0 2px 5px #10141a0f;--shadow-lg:0 30px 60px -24px #10141a4d;--viewport-bg:radial-gradient(120% 90% at 50% 0%, #fff 0%, #eceef1 60%, #dfe2e7 100%);--hero-glow:radial-gradient(60% 55% at 50% -8%, #ec5f1c21, transparent 70%);--grid-line:#10141a0a}@media (prefers-color-scheme:light){:root:not([data-theme]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f6f7;--bg-deep:#eceded;--surface:#fff;--surface-2:#f4f5f6;--surface-3:#eaebee;--overlay:#14161a6b;--line:#dfe1e6;--line-soft:#ebecef;--line-strong:#c3c7cf;--text:#14181d;--text-2:#4e5761;--text-3:#7b848f;--text-inverse:#fff;--accent:var(--ember-600);--accent-hover:var(--ember-700);--accent-text:#fff;--accent-soft:#ec5f1c1a;--accent-line:#ec5f1c4d;--ok:var(--ok-600);--ok-soft:#1ba36a1f;--warn:var(--warn-600);--warn-soft:#c98a0821;--danger:var(--danger-600);--danger-soft:#d33d2b1a;--info:var(--iron-500);--info-soft:#4b7fa51a;--shadow-sm:0 1px 2px #10141a12;--shadow:0 10px 26px -12px #10141a3d, 0 2px 5px #10141a0f;--shadow-lg:0 30px 60px -24px #10141a4d;--viewport-bg:radial-gradient(120% 90% at 50% 0%, #fff 0%, #eceef1 60%, #dfe2e7 100%);--hero-glow:radial-gradient(60% 55% at 50% -8%, #ec5f1c21, transparent 70%);--grid-line:#10141a0a}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.55}#root{flex-direction:column;min-height:100dvh;display:flex}img,svg,video,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{letter-spacing:-.021em;text-wrap:balance;font-weight:640;line-height:1.15}h1{letter-spacing:-.032em;font-size:clamp(2rem,1.3rem + 3vw,3.4rem)}h2{font-size:clamp(1.35rem,1.1rem + 1vw,1.85rem)}h3{font-size:1.06rem}p{text-wrap:pretty}a{color:var(--accent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-underline-offset:3px}a:hover{text-decoration-color:currentColor}hr{border:0;border-top:1px solid var(--line)}::selection{background:var(--accent-soft);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}:focus:not(:focus-visible){outline:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--sp-3);top:var(--sp-3);z-index:200;background:var(--accent);color:var(--accent-text);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-sm);font-weight:600;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--r-full);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-track{background:0 0}.shell{flex-direction:column;min-height:100dvh;display:flex}.shell__main{flex-direction:column;flex:1;min-height:0;display:flex}.shell--fixed{height:100dvh;overflow:hidden}.shell--fixed .shell__main{min-height:0;overflow:hidden}@media (width<=860px){.shell--fixed{height:auto;overflow:visible}.shell--fixed .shell__main{overflow:visible}}.container{width:100%;max-width:var(--maxw);padding-inline:var(--sp-4);margin-inline:auto}@media (width>=720px){.container{padding-inline:var(--sp-5)}}.container--narrow{max-width:780px}.page{padding-block:var(--sp-6) var(--sp-8)}.page__head{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.page__title{gap:var(--sp-1);flex-direction:column;display:flex}.page__title p{color:var(--text-2);font-size:.94rem}.topbar{z-index:50;background:color-mix(in srgb, var(--bg) 94%, transparent);border-bottom:1px solid var(--line-soft);position:sticky;top:0}.topbar__inner{align-items:center;gap:var(--sp-3);height:58px;display:flex}.brand{align-items:center;gap:var(--sp-2);letter-spacing:-.02em;color:var(--text);flex-shrink:0;font-size:1.02rem;font-weight:680;text-decoration:none;display:inline-flex}.brand__mark{background:linear-gradient(150deg, var(--ember-400), var(--ember-700));width:26px;height:26px;box-shadow:0 0 0 1px var(--accent-line), 0 4px 12px -4px var(--ember-600);color:#fff;border-radius:8px;place-items:center;display:grid}.nav{margin-left:var(--sp-3);scrollbar-width:none;align-items:center;gap:2px;display:flex;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{border-radius:var(--r-sm);color:var(--text-2);white-space:nowrap;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;gap:6px;padding:6px 11px;font-size:.885rem;font-weight:520;text-decoration:none;display:inline-flex}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a[aria-current=page]{color:var(--text);background:var(--surface-3)}.topbar__spacer{flex:1}.topbar__right{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}@media (width<=719px){.topbar__inner{height:auto;padding-block:var(--sp-2);flex-wrap:wrap}.nav{order:3;width:100%;margin-left:0;padding-bottom:2px}.topbar__spacer{display:none}.topbar__right{margin-left:auto}}.btn{--btn-bg:var(--surface-2);--btn-fg:var(--text);--btn-line:var(--line);border-radius:var(--r-sm);border:1px solid var(--btn-line);background:var(--btn-bg);min-height:38px;color:var(--btn-fg);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);justify-content:center;align-items:center;gap:8px;padding:8px 15px;font-size:.9rem;font-weight:570;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-3)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn--primary{--btn-bg:var(--accent);--btn-fg:var(--accent-text);--btn-line:transparent;box-shadow:0 1px 0 #ffffff29 inset, 0 6px 18px -8px var(--ember-600)}.btn--primary:hover:not(:disabled){--btn-bg:var(--accent-hover);--btn-line:transparent;background:var(--accent-hover)}.btn--danger{--btn-bg:var(--danger-soft);--btn-fg:var(--danger);--btn-line:color-mix(in srgb, var(--danger) 32%, transparent)}.btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 18%, transparent)}.btn--ok{--btn-bg:var(--ok);--btn-fg:#04140d;--btn-line:transparent;box-shadow:0 6px 18px -8px var(--ok)}.btn--ok:hover:not(:disabled){background:color-mix(in srgb, var(--ok) 88%, white)}.btn--ghost{--btn-bg:transparent;--btn-line:transparent;color:var(--text-2)}.btn--ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:#0000}.btn--lg{border-radius:var(--r-md);min-height:46px;padding:11px 22px;font-size:.98rem}.btn--sm{min-height:30px;padding:4px 10px;font-size:.82rem}.btn--block{width:100%}.btn--icon{width:36px;min-height:36px;padding:0}.btn__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.72s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card__head{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.card__body{padding:var(--sp-5)}.card__body--tight{padding:var(--sp-4)}.card__title{font-size:.98rem;font-weight:620}.card__sub{color:var(--text-2);font-size:.85rem}.grid{gap:var(--sp-4);display:grid}.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.grid--3{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}.badge{border-radius:var(--r-full);letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:3px 9px;font-size:.755rem;font-weight:620;display:inline-flex}.badge--neutral{background:var(--surface-3);color:var(--text-2);border-color:var(--line)}.badge--accent{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.badge--ok{background:var(--ok-soft);color:var(--ok);border-color:color-mix(in srgb, var(--ok) 30%, transparent)}.badge--warn{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 30%, transparent)}.badge--danger{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.badge--info{background:var(--info-soft);color:var(--info);border-color:color-mix(in srgb, var(--info) 30%, transparent)}.dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.dot--pulse{animation:pulse 1.5s var(--ease) infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.72)}}.field{flex-direction:column;gap:6px;display:flex}.label{color:var(--text-2);font-size:.83rem;font-weight:600}.hint{color:var(--text-3);font-size:.79rem}.input,.textarea,.select{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);width:100%;color:var(--text);transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);padding:9px 12px;font-size:.92rem}.input:hover,.textarea:hover{border-color:var(--line-strong)}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.textarea{resize:none;min-height:44px;line-height:1.5}.input--number{max-width:110px}.check{padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);align-items:flex-start;gap:10px;display:flex}.check:hover{border-color:var(--line-strong)}.check:has(input:checked){border-color:var(--accent-line);background:var(--accent-soft)}.check:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.check input{accent-color:var(--accent);flex-shrink:0;width:16px;height:16px;margin-top:3px}.check__text strong{font-size:.9rem;font-weight:600;display:block}.check__text span{color:var(--text-2);margin-top:2px;font-size:.82rem;display:block}.notice{gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);align-items:flex-start;display:flex}.notice__icon{flex-shrink:0;width:20px;height:20px;margin-top:1px}.notice__body{flex:1;min-width:0}.notice__title{margin-bottom:2px;font-size:.92rem;font-weight:630}.notice__text{color:var(--text-2);font-size:.875rem}.notice__free{color:var(--ok);align-items:center;gap:6px;margin-top:8px;font-size:.8rem;font-weight:600;display:inline-flex}.notice__actions{margin-top:var(--sp-3);gap:var(--sp-2);flex-wrap:wrap;display:flex}.notice--error{border-color:color-mix(in srgb, var(--danger) 34%, transparent);background:var(--danger-soft)}.notice--error .notice__icon{color:var(--danger)}.notice--warning{border-color:color-mix(in srgb, var(--warn) 34%, transparent);background:var(--warn-soft)}.notice--warning .notice__icon{color:var(--warn)}.notice--info{border-color:color-mix(in srgb, var(--info) 30%, transparent);background:var(--info-soft)}.notice--info .notice__icon{color:var(--info)}.hero{padding-block:var(--sp-8) var(--sp-7);position:relative;overflow:hidden}.hero:before{content:"";background:var(--hero-glow);pointer-events:none;height:720px;position:absolute;inset:-40% -20% auto}.hero__inner{gap:var(--sp-7);align-items:center;display:grid;position:relative}@media (width>=940px){.hero__inner{grid-template-columns:1.05fr .95fr}}.eyebrow{border-radius:var(--r-full);border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent);letter-spacing:.03em;text-transform:uppercase;margin-bottom:var(--sp-4);align-items:center;gap:8px;padding:5px 12px;font-size:.78rem;font-weight:640;display:inline-flex}.hero h1{margin-bottom:var(--sp-4)}.hero h1 em{background:linear-gradient(96deg, var(--ember-400), var(--ember-600));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.lede{color:var(--text-2);max-width:54ch;font-size:clamp(1rem,.95rem + .4vw,1.14rem)}.hero__cta{margin-top:var(--sp-5);gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.hero__fineprint{margin-top:var(--sp-4);color:var(--text-3);gap:var(--sp-4);flex-wrap:wrap;font-size:.83rem;display:flex}.hero__fineprint span{align-items:center;gap:6px;display:inline-flex}.google-btn{color:#1f1f1f;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0000001f}.google-btn:hover:not(:disabled){background:#f3f3f3;border-color:#0003}.steps{gap:var(--sp-3);display:grid}.step{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);grid-template-columns:34px 1fr;display:grid}.step__n{background:var(--surface-3);border:1px solid var(--line);width:30px;height:30px;color:var(--accent);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;font-size:.8rem;font-weight:700;display:grid}.step h3{margin-bottom:2px;font-size:.95rem}.step p{color:var(--text-2);font-size:.87rem}.feature-row{gap:var(--sp-4);padding-block:var(--sp-7);border-top:1px solid var(--line-soft);display:grid}@media (width>=800px){.feature-row{grid-template-columns:repeat(3,1fr)}}.feature h3{align-items:center;gap:8px;margin-bottom:6px;font-size:.98rem;display:flex}.feature p{color:var(--text-2);font-size:.89rem}.workspace{flex:1;grid-template-columns:244px minmax(0,1fr) 344px;min-height:0;display:grid}@media (width<=1180px){.workspace{grid-template-columns:minmax(0,1fr) 320px}.workspace>.workspace__chats{display:none}}@media (width<=860px){.workspace{grid-template-columns:minmax(0,1fr)}.workspace>.workspace__side{border-left:0;border-top:1px solid var(--line)}.workspace__main{min-height:64dvh}.workspace .gallery{max-height:46dvh}}.workspace__chats{border-right:1px solid var(--line-soft);background:var(--bg-deep);flex-direction:column;min-height:0;display:flex}.workspace__chats-head{padding:var(--sp-3);border-bottom:1px solid var(--line-soft)}.chat-list{padding:var(--sp-2);flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow-y:auto}.chat-list__item{text-align:left;border-radius:var(--r-sm);width:100%;color:var(--text-2);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;padding:8px 10px;font-size:.87rem;text-decoration:none;display:block;overflow:hidden}.chat-list__item:hover{background:var(--surface-2);color:var(--text)}.chat-list__item[aria-current=true]{background:var(--surface-3);border-color:var(--line);color:var(--text);font-weight:560}.chat-list__item time{color:var(--text-3);font-size:.73rem;font-weight:400;display:block}.workspace__main{flex-direction:column;min-width:0;min-height:0;display:flex}.thread{padding:var(--sp-5) var(--sp-4);gap:var(--sp-4);scroll-behavior:smooth;flex-direction:column;flex:1;display:flex;overflow-y:auto}@media (prefers-reduced-motion:reduce){.thread{scroll-behavior:auto}}.msg{gap:var(--sp-3);width:100%;max-width:760px;margin-inline:auto;display:flex}.msg__avatar{background:var(--surface-3);border:1px solid var(--line);width:28px;height:28px;color:var(--text-2);border-radius:8px;flex-shrink:0;place-items:center;font-size:.7rem;font-weight:700;display:grid}.msg--user .msg__avatar{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.msg__body{flex:1;min-width:0}.msg__role{color:var(--text-3);letter-spacing:.03em;text-transform:uppercase;margin-bottom:3px;font-size:.76rem;font-weight:640}.msg__content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.94rem}.thread__empty{text-align:center;max-width:460px;padding:var(--sp-6) var(--sp-4);margin:auto}.thread__empty h2{margin-bottom:var(--sp-2)}.thread__empty p{color:var(--text-2);font-size:.93rem}.suggestions{margin-top:var(--sp-5);gap:var(--sp-2);flex-wrap:wrap;justify-content:center;display:flex}.suggestion{border-radius:var(--r-full);border:1px dashed var(--line-strong);color:var(--text-2);cursor:pointer;transition:all var(--dur-fast) var(--ease);background:0 0;padding:7px 13px;font-size:.85rem}.suggestion:hover{border-style:solid;border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}.composer{border-top:1px solid var(--line-soft);padding:var(--sp-3) var(--sp-4) var(--sp-4);background:var(--bg)}.composer__inner{max-width:760px;margin-inline:auto}.composer__box{align-items:flex-end;gap:var(--sp-2);border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);padding:7px 7px 7px 12px;display:flex}.composer__box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer__box .textarea{background:0 0;border:0;max-height:180px;padding:6px 0;overflow-y:auto}.composer__box .textarea:focus{box-shadow:none}.composer__meta{justify-content:space-between;align-items:center;gap:var(--sp-3);color:var(--text-3);flex-wrap:wrap;margin-top:7px;font-size:.78rem;display:flex}.allowance{align-items:center;gap:7px;display:inline-flex}.allowance__bar{border-radius:var(--r-full);background:var(--surface-3);width:62px;height:4px;overflow:hidden}.allowance__fill{background:var(--accent);border-radius:inherit;height:100%;transition:width var(--dur) var(--ease)}.workspace__side{border-left:1px solid var(--line-soft);background:var(--bg-deep);flex-direction:column;min-height:0;display:flex}.side__head{padding:var(--sp-4);border-bottom:1px solid var(--line-soft)}.side__head h2{font-size:.92rem;font-weight:640}.side__head p{color:var(--text-3);margin-top:2px;font-size:.8rem}.gallery{padding:var(--sp-3);gap:var(--sp-2);flex:1;grid-template-columns:repeat(2,1fr);align-content:start;display:grid;overflow-y:auto}.candidate{border:2px solid var(--line);background:var(--surface-2);border-radius:var(--r-md);cursor:pointer;aspect-ratio:1;transition:border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);padding:0;position:relative;overflow:hidden}.candidate:hover{border-color:var(--line-strong);transform:translateY(-1px)}.candidate img{object-fit:cover;width:100%;height:100%}.candidate[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.candidate__check{background:var(--accent);width:20px;height:20px;color:var(--accent-text);opacity:0;transition:all var(--dur-fast) var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;right:6px;transform:scale(.6)}.candidate[aria-pressed=true] .candidate__check{opacity:1;transform:scale(1)}.candidate--pending{cursor:default;border-style:dashed;place-items:center;display:grid}.gallery__empty{padding:var(--sp-6) var(--sp-3);text-align:center;color:var(--text-3);grid-column:1/-1;font-size:.85rem}.submit-panel{border-top:1px solid var(--line-soft);padding:var(--sp-4);background:var(--surface);gap:var(--sp-3);flex-direction:column;display:flex}.submit-panel__row{align-items:flex-end;gap:var(--sp-3);display:flex}.submit-panel__preview{border-radius:var(--r-sm);border:1px solid var(--line);object-fit:cover;flex-shrink:0;width:54px;height:54px}.price{font-variant-numeric:tabular-nums}.skeleton{background:linear-gradient(100deg, var(--surface-2) 30%, var(--surface-3) 50%, var(--surface-2) 70%);animation:shimmer 1.4s var(--ease) infinite;border-radius:var(--r-sm);background-size:220% 100%}@keyframes shimmer{to{background-position:-220% 0}}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--surface-2);animation:none}}.run-layout{gap:var(--sp-5);display:grid}@media (width>=1000px){.run-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start}}.progress-head{gap:var(--sp-4);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.elapsed{font-variant-numeric:tabular-nums;font-family:var(--font-mono);color:var(--text-2);font-size:.86rem}.bar{border-radius:var(--r-full);background:var(--surface-3);height:6px;overflow:hidden}.bar__fill{border-radius:inherit;background:linear-gradient(90deg, var(--ember-600), var(--ember-400));height:100%;transition:width var(--dur-slow) var(--ease)}.bar__fill--ok{background:var(--ok)}.bar__fill--danger{background:var(--danger)}.bar--sm{height:4px}.phases{flex-direction:column;gap:0;display:flex}.phase{gap:var(--sp-3);padding:var(--sp-3) 0;grid-template-columns:26px 1fr auto;align-items:start;display:grid;position:relative}.phase+.phase{border-top:1px solid var(--line-soft)}.phase__marker{border:2px solid var(--line-strong);width:22px;height:22px;color:var(--text-3);background:var(--surface);border-radius:50%;flex-shrink:0;place-items:center;margin-top:1px;display:grid}.phase--done .phase__marker{border-color:var(--ok);background:var(--ok);color:#04140d}.phase--active .phase__marker{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.phase--failed .phase__marker{border-color:var(--danger);background:var(--danger);color:#fff}.phase__label{font-size:.92rem;font-weight:600}.phase--todo .phase__label{color:var(--text-3);font-weight:500}.phase__blurb{color:var(--text-3);font-size:.82rem}.phase__aside{color:var(--text-3);font-variant-numeric:tabular-nums;padding-top:2px;font-size:.78rem}.views{gap:var(--sp-2);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=560px){.views{grid-template-columns:repeat(2,1fr)}}.view-tile{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);aspect-ratio:1;position:relative;overflow:hidden}.view-tile img{object-fit:cover;width:100%;height:100%;animation:fade-in var(--dur-slow) var(--ease)}@keyframes fade-in{0%{opacity:0;transform:scale(.985)}}.view-tile__label{border-radius:var(--r-full);color:#fff;letter-spacing:.04em;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000009e;padding:2px 7px;font-size:.7rem;font-weight:620;position:absolute;bottom:6px;left:6px}.view-tile--pending{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;border-style:dashed;place-items:center;font-size:.72rem;font-weight:620;display:grid}.part-card+.part-card{margin-top:var(--sp-4)}.part-card__head{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.part-card__name{align-items:center;gap:var(--sp-2);text-transform:capitalize;font-size:.95rem;font-weight:620;display:flex}.timeline{max-height:340px;font-family:var(--font-mono);flex-direction:column;gap:1px;font-size:.775rem;display:flex;overflow-y:auto}.timeline__row{gap:var(--sp-2);border-bottom:1px solid var(--line-soft);color:var(--text-2);grid-template-columns:46px 1fr;padding:4px 0;display:grid}.timeline__seq{color:var(--text-3);font-variant-numeric:tabular-nums}.timeline__type{overflow-wrap:anywhere}.timeline__type b{color:var(--text);font-weight:600}.stream-status{color:var(--text-3);align-items:center;gap:7px;font-size:.78rem;display:inline-flex}.viewer-grid{gap:var(--sp-4);display:grid}.viewer-grid:not(.viewer-grid--multi){max-width:720px;margin-inline:auto}@media (width>=760px){.viewer-grid--multi{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}}.viewer{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.viewer__stage{background:var(--viewport-bg);aspect-ratio:4/3;min-height:260px;max-height:62dvh;position:relative}.viewer__stage model-viewer{--poster-color:transparent;background-color:#0000;width:100%;height:100%}.viewer__stage:after{content:"";pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 60%,#000,#0000 78%);mask-image:radial-gradient(70% 60% at 50% 60%,#000,#0000 78%)}.viewer__foot{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.viewer__name{text-transform:capitalize;align-items:center;gap:var(--sp-2);font-size:.92rem;font-weight:620;display:flex}.viewer__loading{color:var(--text-3);place-items:center;gap:var(--sp-2);font-size:.85rem;display:grid;position:absolute;inset:0}.verdict{gap:var(--sp-3);flex-wrap:wrap;display:flex}.verdict .btn{flex:1;min-width:160px}.reject-form{gap:var(--sp-4);flex-direction:column;display:flex}.downloads{gap:var(--sp-2);flex-direction:column;display:flex}.download-row{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);flex-wrap:wrap;display:flex}.download-row__meta{min-width:0}.download-row__name{align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}.download-row__sub{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:.79rem}.table-wrap{border:1px solid var(--line);border-radius:var(--r-md);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:520px;font-size:.88rem}thead th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);padding:10px var(--sp-4);background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap;font-size:.74rem;font-weight:640}tbody td{padding:11px var(--sp-4);border-bottom:1px solid var(--line-soft);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-2)}.num{font-variant-numeric:tabular-nums;text-align:right;font-family:var(--font-mono)}.num--pos{color:var(--ok)}.num--neg{color:var(--text-2)}.run-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));display:grid}.run-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:inherit;transition:border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.run-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.run-card__thumb{aspect-ratio:4/3;background:var(--viewport-bg);place-items:center;display:grid;position:relative}.run-card__thumb img{object-fit:cover;width:100%;height:100%}.run-card__thumb-empty{color:var(--text-3)}.run-card__body{padding:var(--sp-3) var(--sp-4) var(--sp-4);flex-direction:column;gap:7px;display:flex}.run-card__row{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.run-card__body>.badge{align-self:flex-start}.run-card__date{color:var(--text-3);font-size:.79rem}.balance{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.balance__amount{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:clamp(2.2rem,1.6rem + 2.4vw,3rem);font-weight:700;line-height:1}.balance__unit{color:var(--text-3);font-size:.9rem}.pack-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(112px,1fr));display:grid}.pack{padding:var(--sp-4) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);cursor:pointer;text-align:center;transition:all var(--dur-fast) var(--ease)}.pack:hover{border-color:var(--line-strong)}.pack[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}.pack__amount{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.3rem;font-weight:700}.pack__sub{color:var(--text-3);margin-top:2px;font-size:.77rem}.stack{gap:var(--sp-4);flex-direction:column;display:flex}.stack>.btn:not(.btn--block):not(.btn--lg){align-self:flex-start}.stack--sm{gap:var(--sp-2)}.stack--lg{gap:var(--sp-5)}.row{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.row--between{justify-content:space-between}.row--tight{gap:var(--sp-2)}.muted{color:var(--text-2)}.dim{color:var(--text-3)}.small{font-size:.84rem}.mono{font-family:var(--font-mono);font-size:.84em}.center{text-align:center}.nowrap{white-space:nowrap}.empty-state{padding:var(--sp-8) var(--sp-4);text-align:center;border:1px dashed var(--line-strong);border-radius:var(--r-lg);color:var(--text-2)}.empty-state h3{color:var(--text);margin-bottom:6px}.empty-state p{max-width:44ch;margin-inline:auto;font-size:.9rem}.empty-state .btn{margin-top:var(--sp-4)}.chip{border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--line);color:var(--text-2);font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;display:inline-flex}.chip--accent{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent);font-weight:620}.modal-backdrop{z-index:100;background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:var(--sp-4);animation:fade var(--dur) var(--ease);place-items:center;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:min(560px,100%);max-height:min(86dvh,720px);box-shadow:var(--shadow-lg);animation:rise var(--dur) var(--ease);overflow-y:auto}@keyframes rise{0%{opacity:0;transform:translateY(10px)scale(.985)}}.footer{border-top:1px solid var(--line-soft);padding-block:var(--sp-5);color:var(--text-3);margin-top:auto;font-size:.83rem}.footer__inner{gap:var(--sp-4);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.footer nav{gap:var(--sp-4);flex-wrap:wrap;display:flex}.footer a{color:var(--text-3);text-decoration:none}.footer a:hover{color:var(--text);text-decoration:underline}@media (width<=380px){.container{padding-inline:var(--sp-3)}.card__body{padding:var(--sp-4)}.verdict .btn{min-width:0}.gallery{grid-template-columns:repeat(2,1fr)}}
