.toast-enter-active[data-v-650b0fb4],.toast-leave-active[data-v-650b0fb4]{transition:opacity .25s ease,transform .25s ease}.toast-enter-from[data-v-650b0fb4],.toast-leave-to[data-v-650b0fb4]{opacity:0;transform:translateY(-8px)}.confirm-enter-active[data-v-25560b55],.confirm-leave-active[data-v-25560b55]{transition:opacity .2s ease}.confirm-enter-from[data-v-25560b55],.confirm-leave-to[data-v-25560b55]{opacity:0}.page-enter-active,.page-leave-active{transition:opacity .22s ease}.page-enter-from,.page-leave-to{opacity:0}:root{--c-ink: #0B0B0D;--c-ink-2: #15151A;--c-ink-3: #1F1F26;--c-cream: #F5F2EC;--c-cream-2: #EBE7DC;--c-cream-3: #E0DBCD;--c-paper: #FFFFFF;--c-mute: #6B6B73;--c-mute-2: #A3A3AC;--c-line: #E5E1D8;--c-line-d: #2A2A30;--c-brand: #D9583B;--c-brand-h: #C44A2E;--c-brand-l: #F0E1DA;--c-accent: #E8C547;--c-accent-h: #D5B232;--c-success: #4A8B6F;--c-warn: #C68A2A;--c-danger: #C8513B;--c-info: #355C7D;--t-strong: #0B0B0D;--t-base: #1F1F26;--t-muted: #6B6B73;--t-subtle: #A3A3AC;--t-onbrand: #FFFFFF;--t-ondark: #F5F2EC;--t-ondark-mute:#A3A3AC;--f-sans: "Inter", "PingFang SC", "Source Han Sans CN", "Noto Sans CJK SC", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--f-display: "Inter Display", "Inter", "PingFang SC", "Source Han Sans CN", system-ui, sans-serif;--f-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 15px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 32px;--fs-4xl: 44px;--fs-5xl: 60px;--fs-6xl: 84px;--fs-7xl: 112px;--lh-tight: 1.05;--lh-snug: 1.18;--lh-base: 1.55;--lh-loose: 1.75;--ls-tighter: -.04em;--ls-tight: -.02em;--ls-base: 0;--ls-wide: .04em;--ls-cap: .12em;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-black: 800;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-7: 32px;--s-8: 40px;--s-9: 48px;--s-10: 64px;--s-11: 80px;--s-12: 96px;--s-13: 128px;--r-xs: 4px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 22px;--r-2xl: 32px;--r-full: 9999px;--sh-1: 0 1px 2px rgba(11,11,13,.04);--sh-2: 0 4px 12px rgba(11,11,13,.06), 0 1px 2px rgba(11,11,13,.04);--sh-3: 0 10px 30px rgba(11,11,13,.08), 0 2px 4px rgba(11,11,13,.04);--sh-4: 0 24px 60px rgba(11,11,13,.12), 0 4px 8px rgba(11,11,13,.06);--sh-brand: 0 10px 30px rgba(217,88,59,.28);--container: 1200px;--nav-h: 72px;--easing-out: cubic-bezier(.22,1,.36,1);--easing-in: cubic-bezier(.55,.06,.68,.19);--easing-inout: cubic-bezier(.65,.05,.36,1);--d-fast: .18s;--d-base: .28s;--d-slow: .48s;--d-slower: .72s;--g-brand: linear-gradient(135deg,#D9583B 0%,#E8794F 50%,#E8C547 100%);--g-ink: linear-gradient(180deg,#15151A 0%,#0B0B0D 100%);--g-mesh: radial-gradient(60% 60% at 20% 20%, rgba(217,88,59,.18) 0%, transparent 60%), radial-gradient(50% 50% at 80% 30%, rgba(232,197,71,.1) 0%, transparent 60%), radial-gradient(50% 50% at 50% 100%, rgba(74,139,111,.08) 0%, transparent 60%)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--f-sans);font-size:var(--fs-base);line-height:var(--lh-base);color:var(--t-base);background:var(--c-cream);font-feature-settings:"ss01","cv11","cv09";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,video,canvas,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}input,textarea,select{font:inherit;color:inherit}.input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.input[type=number]::-webkit-inner-spin-button,.input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}[hidden]{display:none!important}::selection{background:var(--c-brand);color:#fff}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000;opacity:.04;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");mix-blend-mode:multiply}h1,h2,h3,h4,h5,h6{font-family:var(--f-display);color:var(--t-strong);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin:0;font-weight:var(--fw-semibold)}h1{font-size:clamp(40px,8vw,var(--fs-6xl));letter-spacing:var(--ls-tighter);font-weight:var(--fw-bold)}h2{font-size:clamp(28px,4.4vw,var(--fs-4xl));font-weight:var(--fw-bold)}h3{font-size:var(--fs-2xl)}h4{font-size:var(--fs-xl)}p{margin:0}.font-display{font-family:var(--f-display)}.font-mono{font-family:var(--f-mono)}.t-mute{color:var(--t-muted)}.t-subtle{color:var(--t-subtle)}.t-strong{color:var(--t-strong)}.t-brand{color:var(--c-brand)}.t-accent{color:var(--c-accent-h)}.t-eyebrow{font-size:var(--fs-xs);letter-spacing:var(--ls-cap);text-transform:uppercase;font-weight:var(--fw-semibold);color:var(--c-brand)}.t-balance{text-wrap:balance}.container{max-width:var(--container);margin:0 auto;padding:0 var(--s-6)}.container-wide{max-width:1380px;margin:0 auto;padding:0 var(--s-6)}@media (max-width: 720px){.container,.container-wide{padding:0 var(--s-4)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:44px;padding:0 22px;border-radius:var(--r-full);border:1px solid transparent;font-size:var(--fs-base);font-weight:var(--fw-medium);letter-spacing:var(--ls-tight);cursor:pointer;background:transparent;color:inherit;transition:transform var(--d-fast) var(--easing-out),background var(--d-fast) var(--easing-out),color var(--d-fast) var(--easing-out),box-shadow var(--d-fast) var(--easing-out),border-color var(--d-fast) var(--easing-out);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{transform:none!important}.btn-primary{background:var(--c-ink);color:var(--t-ondark);box-shadow:var(--sh-2)}.btn-primary:hover{background:var(--c-brand);box-shadow:var(--sh-brand)}.btn-brand{background:var(--c-brand);color:#fff;box-shadow:var(--sh-brand)}.btn-brand:hover{background:var(--c-brand-h);transform:translateY(-1px)}.btn-ghost{color:var(--t-strong);border-color:var(--c-line);background:var(--c-paper)}.btn-ghost:hover{background:var(--c-cream-2);border-color:var(--c-cream-3)}.btn-ondark{color:var(--t-ondark);border-color:#ffffff29;background:#ffffff0a}.btn-ondark:hover{background:#ffffff1a;border-color:#ffffff3d}.btn-link{padding:0;height:auto;background:transparent;color:var(--t-strong)}.btn-link:hover{color:var(--c-brand)}.btn-lg{height:56px;padding:0 28px;font-size:var(--fs-md)}.btn-sm{height:34px;padding:0 14px;font-size:var(--fs-sm)}.card{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--s-6);transition:transform var(--d-base) var(--easing-out),box-shadow var(--d-base) var(--easing-out),border-color var(--d-base) var(--easing-out)}.card-hover:hover{transform:translateY(-4px);box-shadow:var(--sh-3);border-color:transparent}.field{display:flex;flex-direction:column;gap:var(--s-2)}.field label{font-size:var(--fs-sm);color:var(--t-strong);font-weight:var(--fw-medium)}.input,.textarea,.select{width:100%;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-md);padding:12px 14px;font-size:var(--fs-base);color:var(--t-strong);transition:border-color var(--d-fast),box-shadow var(--d-fast);outline:none}.input:focus,.textarea:focus,.select:focus{border-color:var(--c-brand);box-shadow:0 0 0 3px #d9583b29}.textarea{min-height:120px;resize:vertical;line-height:1.55}.input::placeholder,.textarea::placeholder{color:var(--t-subtle)}.field-help{font-size:var(--fs-xs);color:var(--t-muted)}.field-error{font-size:var(--fs-xs);color:var(--c-danger)}.tag{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:var(--fw-medium);background:var(--c-brand-l);color:var(--c-brand-h);border:1px solid rgba(217,88,59,.16)}.tag-mute{background:var(--c-cream-2);color:var(--t-muted);border-color:var(--c-line)}.tag-success{background:#4a8b6f1a;color:var(--c-success);border-color:#4a8b6f3d}.tag-warn{background:#c68a2a1a;color:var(--c-warn);border-color:#c68a2a3d}.tag-danger{background:#c8513b1a;color:var(--c-danger);border-color:#c8513b3d}.chip-group{display:inline-flex;gap:6px;padding:4px;border-radius:var(--r-full);background:var(--c-cream-2);border:1px solid var(--c-line)}.chip{padding:6px 14px;border-radius:var(--r-full);font-size:var(--fs-sm);color:var(--t-muted);cursor:pointer;transition:all var(--d-fast)}.chip:hover{color:var(--t-strong)}.chip.active{background:var(--c-paper);color:var(--t-strong);box-shadow:var(--sh-1)}.nav{position:sticky;top:0;z-index:50;height:var(--nav-h);display:flex;align-items:center;background:#f5f2ecbd;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid rgba(11,11,13,.06)}.nav-inner{display:flex;align-items:center;gap:var(--s-7);width:100%}.nav-brand{display:flex;align-items:center;gap:10px;font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);font-size:var(--fs-lg);cursor:pointer}.nav-links{display:flex;align-items:center;gap:var(--s-7);margin-left:var(--s-8)}.nav-links a{font-size:var(--fs-sm);color:var(--t-muted);transition:color var(--d-fast);position:relative;cursor:pointer}.nav-links a:hover,.nav-links a.active{color:var(--t-strong)}.nav-links a.active:after{content:"";position:absolute;left:0;right:0;bottom:-22px;height:2px;background:var(--c-brand);border-radius:2px}.nav-spacer{flex:1}.nav-actions{display:flex;align-items:center;gap:var(--s-3)}.section{padding:clamp(48px,6vw,80px) 0;position:relative}.section-tight{padding:clamp(36px,5vw,64px) 0}.eyebrow-row{display:flex;align-items:center;gap:10px;margin-bottom:var(--s-4)}.eyebrow-dot{width:8px;height:8px;border-radius:999px;background:var(--c-brand);display:inline-block}.mesh-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.mesh-bg:before{content:"";position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background:var(--g-mesh);filter:blur(30px);opacity:.9}[data-reveal]{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity .72s var(--easing-out),transform .72s var(--easing-out),filter .72s var(--easing-out),clip-path .72s var(--easing-out);will-change:opacity,transform,filter}[data-reveal].in{opacity:1;transform:none;filter:none}[data-reveal][data-reveal-from=up-strong]{transform:translateY(56px) scale(.96)}[data-reveal][data-reveal-from=left]{transform:translate(-48px)}[data-reveal][data-reveal-from=right]{transform:translate(48px)}[data-reveal][data-reveal-from=scale]{transform:scale(.92)}[data-reveal][data-reveal-from=mask]{clip-path:inset(0 100% 0 0);transform:none;filter:none;opacity:1}[data-reveal][data-reveal-from=mask].in{clip-path:inset(0 0 0 0)}[data-reveal-d="1"]{transition-delay:.08s}[data-reveal-d="2"]{transition-delay:.16s}[data-reveal-d="3"]{transition-delay:.24s}[data-reveal-d="4"]{transition-delay:.32s}[data-reveal-d="5"]{transition-delay:.4s}[data-reveal-d="6"]{transition-delay:.48s}[data-parallax]{will-change:transform}@media (prefers-reduced-motion: reduce){[data-reveal],[data-reveal][data-reveal-from]{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}[data-parallax]{transform:none!important}}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse-brand{0%,to{box-shadow:0 0 #d9583b47}50%{box-shadow:0 0 0 16px #d9583b00}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.anim-float{animation:float-y 4s ease-in-out infinite}.anim-pulse{animation:pulse-brand 2.4s ease-out infinite}.anim-spin{animation:spin 1s linear infinite}.anim-fade-up{animation:fade-up var(--d-slow) var(--easing-out) both}.spinner{width:18px;height:18px;border-radius:999px;border:2px solid rgba(11,11,13,.12);border-top-color:var(--c-brand);animation:spin .8s linear infinite}.spinner.lg{width:32px;height:32px;border-width:3px}.spinner.on-dark{border-color:#ffffff52;border-top-color:#fff}.skeleton{background:linear-gradient(90deg,var(--c-cream-2) 0%,var(--c-cream-3) 50%,var(--c-cream-2) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--r-md)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--s-2)}.gap-3{gap:var(--s-3)}.gap-4{gap:var(--s-4)}.gap-6{gap:var(--s-6)}.gap-8{gap:var(--s-7)}.w-full{width:100%}.h-full{height:100%}.text-center{text-align:center}.relative{position:relative}.absolute{position:absolute}.hidden{display:none!important}.mt-2{margin-top:var(--s-2)}.mt-4{margin-top:var(--s-4)}.mt-6{margin-top:var(--s-6)}.mt-8{margin-top:var(--s-7)}.mt-10{margin-top:var(--s-9)}.mb-4{margin-bottom:var(--s-4)}.mb-6{margin-bottom:var(--s-6)}.mb-8{margin-bottom:var(--s-7)}.mb-10{margin-bottom:var(--s-9)}.py-6{padding-block:var(--s-6)}.px-6{padding-inline:var(--s-6)}.rounded-full{border-radius:var(--r-full)}.rounded-lg{border-radius:var(--r-lg)}.rounded-xl{border-radius:var(--r-xl)}.shadow{box-shadow:var(--sh-2)}.shadow-lg{box-shadow:var(--sh-3)}.cursor-pointer{cursor:pointer}.uppercase{text-transform:uppercase}.italic{font-style:italic}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-reset{list-style:none;padding:0;margin:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-cream-3);border-radius:999px;border:2px solid var(--c-cream)}::-webkit-scrollbar-thumb:hover{background:var(--t-subtle)}@media (max-width: 920px){.nav-links{display:none}}.hero{position:relative;padding:clamp(80px,14vw,180px) 0 clamp(64px,10vw,140px);overflow:hidden}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:6px 14px;border-radius:999px;background:#d9583b14;border:1px solid rgba(217,88,59,.18);color:var(--c-brand);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-cap);text-transform:uppercase}.hero-eyebrow:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--c-brand);box-shadow:0 0 0 4px #d9583b29;animation:pulse-brand 2.4s ease-out infinite}.hero h1{margin-top:24px;font-size:clamp(44px,9vw,124px);line-height:var(--lh-tight);letter-spacing:var(--ls-tighter);font-weight:var(--fw-bold);color:var(--t-strong)}.hero h1 .ink-strong{color:var(--c-ink)}.hero h1 .accent{color:var(--c-brand);font-style:italic;font-family:Inter Display,Inter,serif}.hero h1 .word-stroke{-webkit-text-stroke:2px var(--c-ink);color:transparent;font-style:italic}.hero-sub{margin-top:28px;font-size:clamp(16px,1.6vw,19px);color:var(--t-muted);max-width:640px;line-height:var(--lh-base)}.hero-actions{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap}.hero-stage{position:relative;margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media (max-width: 880px){.hero-stage{grid-template-columns:1fr 1fr}.hero-stage>:nth-child(3){display:none}}.stage-card{position:relative;aspect-ratio:4 / 5;border-radius:var(--r-xl);overflow:hidden;background:var(--c-cream-2);border:1px solid var(--c-line);transition:transform .6s var(--easing-out),box-shadow .6s var(--easing-out)}.stage-card:hover{transform:translateY(-6px);box-shadow:var(--sh-3)}.stage-card .badge{position:absolute;top:14px;right:14px;background:#ffffffeb;color:var(--t-strong);font-size:11px;font-weight:var(--fw-semibold);padding:4px 10px;border-radius:999px;letter-spacing:var(--ls-cap);text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 2px 8px #0b0b0d2e;z-index:2}.cover{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-between;padding:28px;font-family:var(--f-display);color:#fff}.cover .cover-eyebrow{font-size:11px;letter-spacing:var(--ls-cap);text-transform:uppercase;opacity:.8}.cover .cover-title{font-size:clamp(28px,3.6vw,44px);line-height:1;font-weight:700;letter-spacing:var(--ls-tighter)}.cover .cover-foot{font-size:12px;opacity:.85;letter-spacing:var(--ls-cap)}.cover-1{background:radial-gradient(120% 120% at 100% 0%,#e8c547,#d9583b 60%,#6b2018)}.cover-2{background:linear-gradient(180deg,#15151a,#2c2c36)}.cover-3{background:linear-gradient(160deg,#f5f2ec,#e0dbcd);color:#1f1f26}.cover-3 .cover-eyebrow,.cover-3 .cover-foot{color:#6b6b73}.section-head{display:flex;flex-direction:column;gap:10px;max-width:720px;margin-bottom:32px}.section-head h2{font-size:clamp(32px,4.4vw,56px);line-height:var(--lh-tight);letter-spacing:var(--ls-tighter);font-weight:var(--fw-bold)}.section-head .lead{color:var(--t-muted);font-size:17px}.dark-section{background:var(--c-ink);color:var(--t-ondark)}.dark-section h2,.dark-section h3{color:#fff}.dark-section .section-head .lead{color:var(--t-ondark-mute)}.dark-section .card{background:var(--c-ink-2);border-color:var(--c-line-d);color:var(--t-ondark)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media (max-width: 920px){.feature-grid{grid-template-columns:1fr}}.feature{position:relative;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-xl);padding:32px;display:flex;flex-direction:column;gap:16px;transition:transform .35s var(--easing-out),box-shadow .35s var(--easing-out),border-color .35s;overflow:hidden}.feature:hover{transform:translateY(-4px);box-shadow:var(--sh-3);border-color:transparent}.feature .num{font-family:var(--f-display);font-size:13px;font-weight:600;color:var(--c-brand);letter-spacing:var(--ls-cap);text-transform:uppercase}.feature h3{font-size:24px;letter-spacing:var(--ls-tight)}.feature p{color:var(--t-muted);font-size:15px}.feature .icon-box{width:48px;height:48px;border-radius:14px;background:var(--c-cream-2);display:grid;place-items:center;color:var(--c-brand);border:1px solid var(--c-line)}.bento{display:grid;grid-template-columns:6fr 4fr;grid-template-rows:auto auto;gap:24px}.bento-item{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-xl);padding:32px;position:relative;overflow:hidden;min-height:240px}.bento-item.dark{background:var(--c-ink);color:var(--t-ondark);border-color:var(--c-line-d)}.bento-item.brand{background:var(--c-brand);color:#fff;border-color:transparent}.bento-big{grid-row:span 2;min-height:504px;display:flex;flex-direction:column;justify-content:space-between}@media (max-width: 920px){.bento{grid-template-columns:1fr}.bento-big{grid-row:auto;min-height:320px}}.bento-eyebrow{font-size:11px;letter-spacing:var(--ls-cap);text-transform:uppercase;color:var(--c-brand);font-weight:600}.bento-item.dark .bento-eyebrow{color:var(--c-accent)}.bento-item.brand .bento-eyebrow{color:#fff;opacity:.85}.bento-item h3{font-size:28px;line-height:1.15;letter-spacing:var(--ls-tight);margin-top:12px}.bento-item p{margin-top:12px;color:var(--t-muted);font-size:15px}.bento-item.dark p{color:var(--t-ondark-mute)}.bento-item.brand p{color:#ffffffd9}.marquee{overflow:hidden;position:relative;padding:32px 0;border-block:1px solid var(--c-line)}.marquee-track{display:flex;gap:56px;width:max-content;animation:marquee 32s linear infinite}.marquee-track:hover{animation-play-state:paused}.marquee-item{font-family:var(--f-display);font-size:clamp(20px,2.6vw,32px);letter-spacing:var(--ls-tight);color:var(--t-strong);display:flex;align-items:center;gap:16px;white-space:nowrap}.marquee-item .dot{width:6px;height:6px;background:var(--c-brand);border-radius:999px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}@media (max-width: 920px){.steps{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.steps{grid-template-columns:1fr}}.step{padding:24px;background:var(--c-cream-2);border-radius:var(--r-xl);border:1px solid var(--c-line);position:relative}.step .num{font-family:var(--f-display);font-size:56px;line-height:1;font-weight:800;color:var(--c-brand);letter-spacing:var(--ls-tighter)}.step h4{margin-top:14px;font-size:18px}.step p{margin-top:8px;color:var(--t-muted);font-size:14px;line-height:1.6}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media (max-width: 920px){.price-grid{grid-template-columns:1fr}}.price-card{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-xl);padding:32px;display:flex;flex-direction:column;gap:16px}.price-card.featured{background:var(--c-ink);color:var(--t-ondark);border-color:transparent;box-shadow:var(--sh-4);position:relative}.price-card.featured:after{content:"推荐";position:absolute;top:24px;right:24px;background:var(--c-brand);color:#fff;font-size:11px;font-weight:600;padding:4px 8px;border-radius:999px;letter-spacing:var(--ls-cap);text-transform:uppercase}.price-card .name{font-size:16px;color:var(--t-muted);font-weight:500}.price-card.featured .name{color:var(--t-ondark-mute)}.price-card .amount strong{font-family:var(--f-display);font-size:56px;font-weight:800;letter-spacing:var(--ls-tighter)}.price-card .amount .unit{font-size:14px;color:var(--t-muted);margin-left:4px}.price-card.featured .amount .unit{color:var(--t-ondark-mute)}.price-list{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:10px}.price-list li{font-size:14px;color:var(--t-base);display:flex;gap:10px;align-items:center}.price-list li svg{width:16px;height:16px;color:var(--c-success);flex-shrink:0}.price-card.featured .price-list li{color:var(--t-ondark)}.price-card.featured .price-list li svg{color:var(--c-accent)}.footer{background:var(--c-ink);color:var(--t-ondark-mute);padding:80px 0 48px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}@media (max-width: 920px){.footer-top{grid-template-columns:1fr 1fr}}.footer h4{color:#fff;font-size:14px;letter-spacing:var(--ls-wide);text-transform:uppercase;margin-bottom:16px;font-weight:600}.footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.footer ul a{font-size:14px;color:var(--t-ondark-mute);transition:color .2s;cursor:pointer}.footer ul a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s-3);margin-top:56px;padding-top:24px;border-top:1px solid var(--c-line-d);font-size:12px}.footer-record{color:var(--t-ondark-mute);transition:color var(--d-fast) var(--easing-out)}.footer-record:hover,.footer-record:focus-visible{color:var(--t-ondark)}.footer-brand{color:#fff;font-family:var(--f-display);font-size:64px;font-weight:900;letter-spacing:var(--ls-tighter);margin-top:56px;line-height:1;opacity:.92}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}@media (max-width: 920px){.auth-shell{grid-template-columns:1fr}}.auth-art{position:relative;background:var(--c-ink);color:var(--t-ondark);padding:56px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}@media (max-width: 920px){.auth-art{display:none}}.auth-art:before{content:"";position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background:radial-gradient(50% 50% at 30% 20%,rgba(217,88,59,.34) 0%,transparent 60%),radial-gradient(40% 40% at 80% 70%,rgba(232,197,71,.22) 0%,transparent 60%);filter:blur(40px);z-index:0}.auth-art>*{position:relative;z-index:1}.auth-art h2{font-size:clamp(36px,5vw,64px);color:#fff;line-height:1.05;letter-spacing:var(--ls-tighter)}.auth-art p{color:var(--t-ondark-mute);font-size:16px;max-width:380px;margin-top:16px}.auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:48px;background:var(--c-cream)}.auth-form{width:100%;max-width:420px;display:flex;flex-direction:column;gap:20px}.auth-form h1{font-size:36px;letter-spacing:var(--ls-tight)}.auth-form .meta{color:var(--t-muted);font-size:14px}.app-page{padding-block:var(--s-9) var(--s-11);min-width:0}.app-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-6);margin-bottom:var(--s-7)}.app-page-copy{min-width:0}.app-page-copy h1{font-size:var(--fs-3xl);margin-top:var(--s-2)}.app-page-copy p{color:var(--t-muted);margin-top:var(--s-2);max-width:680px}.app-page-actions{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-4);margin-bottom:var(--s-6);background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-lg)}.toolbar-group{display:flex;align-items:center;gap:var(--s-3);flex:1;flex-wrap:wrap;min-width:0}.search-field{position:relative;min-width:min(320px,100%)}.search-field svg{position:absolute;left:var(--s-3);top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--t-muted);pointer-events:none}.search-field .input{padding-left:38px}.state-panel{min-height:280px;display:grid;place-items:center;text-align:center;padding:var(--s-8);background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-xl)}.state-panel svg{width:32px;height:32px;color:var(--t-subtle);margin-inline:auto}.state-panel h3{font-size:var(--fs-lg);margin-top:var(--s-4)}.state-panel p{color:var(--t-muted);margin-top:var(--s-2);max-width:480px}.state-panel .btn{margin-top:var(--s-5)}.status-badge{display:inline-flex;align-items:center;gap:var(--s-1);min-height:24px;padding:2px 10px;border-radius:var(--r-full);font-size:var(--fs-xs);color:var(--t-muted);background:var(--c-cream-2);border:1px solid var(--c-line)}.status-badge.success{color:var(--c-success);background:#4a8b6f1a;border-color:#4a8b6f3d}.status-badge.warn{color:var(--c-warn);background:#c68a2a1a;border-color:#c68a2a3d}.status-badge.danger{color:var(--c-danger);background:#c8513b1a;border-color:#c8513b3d}.status-badge.info{color:var(--c-info)}@media (max-width: 720px){.app-page{padding-block:var(--s-7) var(--s-10)}.app-page-head{align-items:flex-start;flex-direction:column}.app-page-actions{width:100%}.app-page-actions .btn{flex:1}.toolbar{align-items:stretch;flex-direction:column}.toolbar-group,.search-field{width:100%}}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:var(--s-6)}.project-card{min-width:0;min-height:330px;overflow:hidden;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-xl);transition:transform var(--d-base) var(--easing-out),box-shadow var(--d-base),border-color var(--d-base)}.project-card:hover{transform:translateY(-3px);box-shadow:var(--sh-3);border-color:transparent}.project-cover{position:relative;display:grid;place-items:center;aspect-ratio:16 / 10;overflow:hidden;background:var(--c-cream-2);color:var(--t-subtle)}.project-cover>svg{width:36px;height:36px}.project-cover img{width:100%;height:100%;object-fit:cover}.project-cover .status-badge{position:absolute;top:var(--s-3);left:var(--s-3);background:var(--c-paper)}.project-card-body{padding:var(--s-5)}.project-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.project-card-title-row h2{font-size:var(--fs-lg);line-height:var(--lh-snug);overflow-wrap:anywhere}.project-card-actions{display:flex;gap:var(--s-1);flex-shrink:0}.project-card-actions .icon-btn{width:30px;height:30px;background:transparent}.project-card-body>p{color:var(--t-muted);font-size:var(--fs-sm);margin-top:var(--s-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px}.project-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);color:var(--t-subtle);font-size:var(--fs-xs);margin-top:var(--s-5)}.modal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-6)}.modal-title-row h2{font-size:var(--fs-2xl);margin-top:var(--s-1)}.modal-card .field+.field{margin-top:var(--s-4)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--s-3);margin-top:var(--s-6)}@media (max-width: 600px){.project-meta{align-items:flex-start;flex-direction:column;gap:var(--s-1)}.modal-actions .btn{flex:1}}.template-category{width:168px}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:var(--s-6)}.template-card{min-width:0;min-height:390px;display:flex;flex-direction:column;overflow:hidden;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-xl);transition:transform var(--d-base) var(--easing-out),box-shadow var(--d-base),border-color var(--d-base)}.template-card:hover{transform:translateY(-3px);box-shadow:var(--sh-3);border-color:transparent}.template-preview{position:relative;aspect-ratio:4 / 3;display:grid;place-items:center;overflow:hidden;background:var(--c-cream-2);color:var(--t-subtle)}.template-preview>svg{width:36px;height:36px}.template-preview img{width:100%;height:100%;object-fit:cover}.template-preview .status-badge{position:absolute;left:var(--s-3);top:var(--s-3);background:var(--c-paper)}.template-card-body{flex:1;display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-5)}.template-card-body h2{font-size:var(--fs-lg)}.template-card-body>p{color:var(--t-muted);font-size:var(--fs-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.template-tags{display:flex;gap:var(--s-2);flex-wrap:wrap}.template-card-body .btn{margin-top:auto}.template-project-loading,.template-no-project{min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);color:var(--t-muted);text-align:center}.template-no-project svg{width:30px;height:30px;color:var(--t-subtle)}@media (max-width: 720px){.template-category{width:100%}}.task-filter{display:flex;gap:var(--s-2);overflow-x:auto;padding-bottom:var(--s-2);margin-bottom:var(--s-5);scrollbar-width:thin}.task-filter-btn{flex:0 0 auto;min-height:38px;padding:0 var(--s-4);border-radius:var(--r-full);border:1px solid var(--c-line);background:var(--c-paper);color:var(--t-muted)}.task-filter-btn:hover,.task-filter-btn.active{border-color:var(--c-brand);color:var(--c-brand-h)}.task-filter-btn.active{background:var(--c-brand-l)}.task-list{display:flex;flex-direction:column;gap:var(--s-4)}.task-card{min-height:138px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s-4);align-items:center;padding:var(--s-5);background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-lg)}.task-icon{width:44px;height:44px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--c-cream-2);color:var(--t-muted)}.task-icon svg{width:20px;height:20px}.task-icon.success{color:var(--c-success);background:#4a8b6f1a}.task-icon.warn{color:var(--c-warn);background:#c68a2a1a}.task-icon.danger{color:var(--c-danger);background:#c8513b1a}.task-icon.info{color:var(--c-info)}.task-main{min-width:0}.task-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.task-title-row h2{display:inline;font-size:var(--fs-md)}.task-id{color:var(--t-subtle);font-size:var(--fs-xs);margin-left:var(--s-2)}.task-prompt{color:var(--t-muted);font-size:var(--fs-sm);margin-top:var(--s-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-error{color:var(--c-danger);font-size:var(--fs-sm);margin-top:var(--s-2);overflow-wrap:anywhere}.task-progress{height:6px;overflow:hidden;margin-top:var(--s-3);border-radius:var(--r-full);background:var(--c-cream-2)}.task-progress span{display:block;height:100%;border-radius:inherit;background:var(--c-brand);transition:width var(--d-base) var(--easing-out)}.task-meta{display:flex;gap:var(--s-4);flex-wrap:wrap;color:var(--t-subtle);font-size:var(--fs-xs);margin-top:var(--s-3)}.task-actions{display:flex;gap:var(--s-2);flex-direction:column}@media (max-width: 720px){.task-card{grid-template-columns:auto minmax(0,1fr);align-items:start}.task-actions{grid-column:1 / -1;flex-direction:row}.task-actions .btn{flex:1}.task-title-row{flex-direction:column}}.brand-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--s-6);align-items:start}.brand-list,.brand-editor{min-width:0;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-xl)}.brand-list{position:sticky;top:calc(var(--nav-h) + var(--s-4));padding:var(--s-3)}.brand-list-head{display:flex;justify-content:space-between;align-items:center;padding:var(--s-3)}.brand-list-head h2{font-size:var(--fs-md)}.brand-list-head span{color:var(--t-subtle);font-size:var(--fs-xs)}.brand-list-item{width:100%;min-height:58px;display:flex;align-items:center;gap:var(--s-3);text-align:left;padding:var(--s-2);border:0;border-radius:var(--r-md);background:transparent}.brand-list-item:hover,.brand-list-item.active{background:var(--c-cream-2)}.brand-list-mark{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--c-line);border-radius:var(--r-md);color:var(--c-brand);background:var(--c-paper)}.brand-list-mark svg{width:17px;height:17px}.brand-list-item>span:last-child{min-width:0;display:flex;flex-direction:column}.brand-list-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm)}.brand-list-item small{color:var(--t-muted);font-size:var(--fs-xs)}.brand-editor{padding:var(--s-7)}.brand-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-4);padding-bottom:var(--s-6);border-bottom:1px solid var(--c-line)}.brand-editor-head h2{font-size:var(--fs-2xl);margin-top:var(--s-1)}.brand-editor-head p{color:var(--t-subtle);font-size:var(--fs-xs);margin-top:var(--s-2)}.brand-editor-actions{display:flex;gap:var(--s-2)}.brand-section{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:var(--s-7);padding-block:var(--s-7);border-bottom:1px solid var(--c-line)}.brand-section:last-child{border-bottom:0}.brand-section-copy h3{font-size:var(--fs-md)}.brand-section-copy p{color:var(--t-muted);font-size:var(--fs-sm);margin-top:var(--s-2)}.brand-section-fields{min-width:0;display:flex;flex-direction:column;gap:var(--s-4)}.logo-uploader{display:flex;align-items:center;gap:var(--s-3);cursor:pointer;color:var(--t-strong)}.logo-uploader input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.logo-uploader small{color:var(--t-muted);margin-left:auto}.logo-preview{width:72px;height:72px;display:grid;place-items:center;overflow:hidden;border:1px dashed var(--c-line);border-radius:var(--r-lg);background:var(--c-cream-2);color:var(--c-brand)}.logo-preview img{width:100%;height:100%;object-fit:contain;padding:var(--s-2)}.logo-preview svg{width:22px;height:22px}.color-entry{display:flex;gap:var(--s-2)}.brand-colors{display:flex;flex-wrap:wrap;gap:var(--s-2)}.brand-colors button{display:inline-flex;align-items:center;gap:var(--s-2);min-height:36px;padding:0 var(--s-3);background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-full);font-size:var(--fs-xs)}.brand-colors i{width:16px;height:16px;border-radius:var(--r-full);border:1px solid var(--c-line)}.brand-colors svg{width:14px;height:14px;color:var(--t-subtle)}.brief-color-field{gap:var(--s-2)}.brief-color-label{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.brief-color-label span{color:var(--t-muted);font-size:var(--fs-xs)}.brief-color-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:var(--s-2)}.brief-color-options>button{min-width:0;min-height:52px;display:flex;align-items:center;gap:var(--s-2);padding:7px 9px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-paper);text-align:left;transition:border-color var(--d-fast),background var(--d-fast),box-shadow var(--d-fast)}.brief-color-options>button:hover:not(:disabled){border-color:var(--c-cream-3);background:var(--c-cream)}.brief-color-options>button:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px}.brief-color-options>button.selected{border-color:var(--c-brand);background:var(--c-brand-l);box-shadow:0 0 0 2px var(--c-brand-l)}.brief-color-options>button:disabled{opacity:.42;cursor:not-allowed}.brief-color-options i{position:relative;width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid rgba(11,11,13,.14);border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px #ffffff73}.brief-color-options i svg{width:16px;height:16px;padding:2px;border-radius:var(--r-full);background:var(--c-ink);color:var(--t-ondark)}.brief-color-options>button>span{min-width:0;display:flex;flex-direction:column}.brief-color-options strong{color:var(--t-strong);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.brief-color-options small{color:var(--t-subtle);font-size:10px;letter-spacing:.02em}.brief-custom-colors{display:grid;gap:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--c-line)}.brief-custom-colors>span{color:var(--t-muted);font-size:var(--fs-xs)}.brand-small-textarea{min-height:88px}@media (max-width: 920px){.brand-layout{grid-template-columns:1fr}.brand-list{position:static;display:flex;overflow-x:auto}.brand-list-head{min-width:120px}.brand-list-item{min-width:200px}.brand-list .pager{min-width:240px}}@media (max-width: 720px){.brand-editor{padding:var(--s-5)}.brand-editor-head,.brand-section{grid-template-columns:1fr;flex-direction:column}.brand-editor-actions{width:100%}.brand-editor-actions .btn{flex:1}.brand-section{gap:var(--s-4)}.logo-uploader{align-items:flex-start;flex-wrap:wrap}.logo-uploader small{width:100%;margin-left:84px}}.project-detail-page{min-width:0}.project-detail-skeleton{min-height:560px;border-radius:var(--r-xl)}.back-link{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--t-muted);font-size:var(--fs-sm);margin-bottom:var(--s-5)}.back-link:hover{color:var(--c-brand-h)}.project-detail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-6);margin-bottom:var(--s-6)}.project-title-row{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.project-detail-head h1{font-size:var(--fs-3xl);overflow-wrap:anywhere}.project-detail-head p{color:var(--t-muted);margin-top:var(--s-2);max-width:680px}.project-tabs{display:flex;gap:var(--s-1);overflow-x:auto;padding:var(--s-1);margin-bottom:var(--s-5);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-paper)}.project-tabs button{flex:1 0 auto;min-width:132px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:var(--s-2);border:0;border-radius:var(--r-md);background:transparent;color:var(--t-muted)}.project-tabs button:hover{color:var(--t-strong);background:var(--c-cream)}.project-tabs button.active{color:var(--c-brand-h);background:var(--c-brand-l);font-weight:var(--fw-medium)}.project-tabs svg{width:16px;height:16px}.project-panel{min-width:0;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-xl);padding:var(--s-7)}.panel-loading{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);color:var(--t-muted)}.panel-section-head,.brief-section-head,.batch-form-head,.batch-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-6)}.panel-section-head h2,.brief-section-head h2{font-size:var(--fs-2xl);margin-top:var(--s-1)}.panel-section-head p,.batch-form-head p,.batch-detail-head p{color:var(--t-muted);font-size:var(--fs-sm);margin-top:var(--s-2)}.brief-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:var(--s-7);align-items:start}.brief-fields{min-width:0}.brief-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4);margin-bottom:var(--s-4)}.brief-fields>.field{margin-top:var(--s-4)}.compiled-card{position:sticky;top:calc(var(--nav-h) + var(--s-4));padding:var(--s-6);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-cream)}.compiled-card h3{font-size:var(--fs-lg);margin-top:var(--s-4)}.compiled-card p{color:var(--t-base);font-size:var(--fs-sm);line-height:var(--lh-loose);margin-block:var(--s-3) var(--s-5);white-space:pre-wrap;overflow-wrap:anywhere}.compiled-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--c-paper);border:1px solid var(--c-line);color:var(--c-brand)}.compiled-icon svg{width:20px;height:20px}.version-layout{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:var(--s-6);align-items:start}.version-list{min-width:0;display:flex;flex-direction:column;gap:var(--s-3)}.version-row{min-width:0;display:grid;grid-template-columns:104px minmax(0,1fr);gap:var(--s-3);padding:var(--s-3);border:1px solid var(--c-line);border-radius:var(--r-lg);transition:border-color var(--d-fast),background var(--d-fast)}.version-row.selected{border-color:var(--c-brand);background:var(--c-brand-l)}.version-row.current{border-color:var(--c-cream-3);box-shadow:inset 3px 0 0 var(--c-brand)}.version-thumb{position:relative;width:104px;aspect-ratio:1;padding:0;overflow:hidden;border:0;border-radius:var(--r-md);background:var(--c-cream-2)}.version-thumb img{width:100%;height:100%;object-fit:cover}.version-thumb-badges{position:absolute;left:var(--s-1);bottom:var(--s-1);display:flex;align-items:center;gap:3px;flex-wrap:wrap}.version-thumb .status-badge{background:var(--c-paper)}.version-thumb .status-badge.current{color:var(--c-brand-h)}.version-info{min-width:0}.version-info>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.version-info small{color:var(--t-subtle);font-size:var(--fs-xs)}.version-info>p{color:var(--t-muted);font-size:var(--fs-xs);margin-top:var(--s-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.version-actions{display:flex;flex-wrap:wrap;gap:var(--s-1);margin-top:var(--s-3)}.version-actions .btn{padding-inline:10px}.compare-stage{position:sticky;top:calc(var(--nav-h) + var(--s-4));min-height:520px;display:grid;grid-template-columns:1fr;gap:var(--s-3);align-items:center;padding:var(--s-5);border-radius:var(--r-lg);background:var(--c-cream-2);overflow:hidden}.compare-stage.dual{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-stage figure{min-width:0;margin:0;text-align:center}.compare-stage img{width:100%;max-height:62vh;object-fit:contain;border-radius:var(--r-md);background:var(--c-paper);box-shadow:var(--sh-2)}.compare-stage figcaption{color:var(--t-muted);font-size:var(--fs-xs);margin-top:var(--s-2)}.compare-hint{position:absolute;left:50%;bottom:var(--s-4);transform:translate(-50%);display:flex;align-items:center;gap:var(--s-2);white-space:nowrap;padding:var(--s-2) var(--s-3);border-radius:var(--r-full);background:var(--c-paper);color:var(--t-muted);font-size:var(--fs-xs);box-shadow:var(--sh-1)}.compare-hint svg{width:14px;height:14px}.batch-create-card,.review-card{padding:var(--s-5);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-cream)}.batch-foundation{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr) 220px;gap:var(--s-4);align-items:end;margin-top:var(--s-5)}.batch-foundation>.field{align-self:start}.layout-reference{min-width:0;height:78px;display:grid;grid-template-columns:68px minmax(0,1fr);gap:var(--s-3);align-items:center;padding:5px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-paper)}.layout-reference img{width:68px;height:68px;object-fit:cover;border-radius:var(--r-sm)}.layout-reference span{min-width:0;display:flex;flex-direction:column}.layout-reference strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm)}.layout-reference small{color:var(--t-muted)}.sku-editor-list{display:flex;flex-direction:column;gap:var(--s-3);margin-block:var(--s-5) var(--s-3)}.sku-editor-card{padding:var(--s-4);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-paper);box-shadow:var(--sh-1)}.sku-editor-card>header{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-3)}.sku-editor-card>header>span{color:var(--c-brand);font-family:var(--f-mono);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide)}.sku-core-grid{display:grid;grid-template-columns:.8fr 1.2fr 1fr 1fr;gap:var(--s-3)}.sku-difference-grid{display:grid;grid-template-columns:1fr .7fr 1.25fr;gap:var(--s-3);margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px dashed var(--c-line)}.sku-editor-card .field{gap:6px}.sku-editor-card .field label{color:var(--t-muted);font-size:var(--fs-xs)}.batch-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--s-5);margin-top:var(--s-6)}.batch-list{padding:var(--s-4);border:1px solid var(--c-line);border-radius:var(--r-lg)}.batch-list h3{font-size:var(--fs-md);margin-bottom:var(--s-3)}.batch-list>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);padding:var(--s-3);border:0;border-radius:var(--r-md);background:transparent;text-align:left}.batch-list>button:hover,.batch-list>button.active{background:var(--c-cream-2)}.batch-list>button>span:first-child{min-width:0;display:flex;flex-direction:column}.batch-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm)}.batch-list small{color:var(--t-muted)}.batch-detail{min-width:0;padding:var(--s-5);border:1px solid var(--c-line);border-radius:var(--r-lg)}.batch-detail-head{gap:var(--s-4)}.batch-detail-actions{display:flex;gap:var(--s-2);flex-wrap:wrap;justify-content:flex-end}.batch-detail-actions .batch-delete{color:var(--c-danger)}.batch-value-note{margin-block:var(--s-4);padding:var(--s-3) var(--s-4);border-left:3px solid var(--c-brand);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--c-brand-l);color:var(--t-base);font-size:var(--fs-xs);line-height:var(--lh-loose)}.batch-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:var(--s-4)}.batch-items article{min-width:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-paper);transition:transform var(--d-base) var(--easing-out),box-shadow var(--d-base)}.batch-items article:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}.batch-result-image,.batch-item-placeholder{width:100%;aspect-ratio:4 / 3;display:grid;place-items:center;overflow:hidden;background:var(--c-cream-2);color:var(--t-subtle)}.batch-result-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--d-slow) var(--easing-out)}.batch-result-image:hover img{transform:scale(1.025)}.batch-item-placeholder svg{width:26px;height:26px}.batch-result-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4)}.batch-result-copy>div:first-child{min-width:0;display:flex;flex-direction:column}.batch-result-copy strong,.batch-result-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-result-copy>div:first-child span{color:var(--t-muted);font-size:var(--fs-xs);margin-top:2px}.sku-variable-tags{display:flex;flex-wrap:wrap;gap:6px}.sku-variable-tags span{max-width:100%;display:inline-flex;gap:5px;padding:4px 7px;border-radius:var(--r-sm);background:var(--c-cream);color:var(--t-muted);font-size:11px}.sku-variable-tags b{color:var(--t-base);font-weight:var(--fw-medium)}.batch-result-copy footer{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:auto;padding-top:var(--s-2);border-top:1px solid var(--c-line)}.review-owner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5)}.review-card{display:flex;flex-direction:column;gap:var(--s-4)}.review-card h3{font-size:var(--fs-lg)}.review-comments{grid-column:1 / -1}.check-row{display:flex;gap:var(--s-5);flex-wrap:wrap}.check-row label{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-sm)}.created-link{display:flex;gap:var(--s-2)}.share-list,.owner-comment-list{display:flex;flex-direction:column;gap:var(--s-2)}.share-list{max-height:430px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:3px}.share-list article,.owner-comment-list article{padding:var(--s-3);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-paper)}.share-list article{display:flex;flex-direction:column;gap:var(--s-2)}.share-list article.inactive{background:var(--c-cream)}.share-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.share-record-head>div{min-width:0;display:flex;flex-direction:column}.share-list article>p{color:var(--t-muted);font-size:var(--fs-xs)}.share-record-link{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--s-2);align-items:center}.share-record-link .input{min-width:0;height:38px;font-size:var(--fs-xs)}.share-record-link .icon-btn{width:38px;height:38px}.share-list span,.comment-head span{color:var(--t-muted);font-size:var(--fs-xs)}.comment-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.owner-comment-list p{margin-block:var(--s-2);overflow-wrap:anywhere}.owner-comment-list article>div:last-child{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.comment-point{display:inline-flex;align-items:center;gap:4px;color:var(--t-muted);font-size:var(--fs-xs)}.owner-review-card{gap:var(--s-5)}.owner-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4)}.owner-review-head>div:first-child p{margin-top:4px;color:var(--t-muted);font-size:var(--fs-sm)}.owner-review-status{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2);flex-wrap:wrap}.owner-review-inspector{min-width:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:var(--s-4)}.owner-review-canvas{min-width:0;overflow:hidden;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-paper)}.owner-review-canvas-head{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:0 var(--s-4);border-bottom:1px solid var(--c-line)}.owner-review-canvas-head>div{display:flex;align-items:center;gap:var(--s-3)}.owner-review-canvas-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2);flex-wrap:wrap}.owner-review-canvas-head strong{font-size:var(--fs-md)}.owner-review-canvas-head span{color:var(--t-muted);font-size:var(--fs-xs)}.owner-review-image-wrap{min-height:440px;display:grid;place-items:center;overflow:hidden;padding:var(--s-3);background:var(--c-cream-2)}.owner-review-image-wrap .review-image-stage>img{max-width:100%;max-height:68vh;object-fit:contain}.owner-annotation-pin{cursor:pointer}.owner-review-no-image{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);color:var(--t-subtle)}.owner-review-no-image svg{width:30px;height:30px}.owner-selected-note{display:grid;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-top:1px solid var(--c-line)}.owner-selected-note>span{display:inline-flex;align-items:center;gap:5px;color:var(--c-brand-h);font-size:var(--fs-xs)}.owner-selected-note p{color:var(--t-base);font-size:var(--fs-sm);line-height:var(--lh-base);overflow-wrap:anywhere}.owner-selected-note small{color:var(--t-muted);font-size:var(--fs-xs);line-height:var(--lh-base)}.owner-comment-panel{max-height:610px;overflow:auto;padding-right:3px}.owner-comment-panel article{cursor:pointer;transition:border-color var(--d-fast),background var(--d-fast),box-shadow var(--d-fast)}.owner-comment-panel article:hover{border-color:var(--c-cream-3)}.owner-comment-panel article.active{border-color:var(--c-brand);background:var(--c-brand-l);box-shadow:0 0 0 3px var(--c-brand-l)}.owner-comment-panel .comment-head>div{min-width:0;display:flex;flex-direction:column}.owner-comment-panel .comment-head small{color:var(--t-subtle);font-size:10px;margin-top:2px}.owner-review-empty{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-2);color:var(--t-subtle);text-align:center}.owner-review-empty svg{width:30px;height:30px}.owner-review-empty strong{color:var(--t-base)}.owner-review-empty span{font-size:var(--fs-sm)}.delivery-grid{min-height:480px;display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1fr);gap:var(--s-8);align-items:center}.delivery-preview{aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:var(--r-xl);background:var(--c-cream-2);color:var(--t-subtle)}.delivery-preview img{width:100%;height:100%;object-fit:contain}.delivery-preview svg{width:48px;height:48px}.delivery-copy h2{font-size:var(--fs-3xl);margin-top:var(--s-2)}.delivery-copy>p{color:var(--t-muted);margin-top:var(--s-4)}.delivery-copy ul{margin-block:var(--s-5);padding-left:var(--s-5);color:var(--t-base)}.delivery-copy li+li{margin-top:var(--s-2)}@media (max-width: 1080px){.brief-layout,.version-layout{grid-template-columns:1fr}.compiled-card,.compare-stage{position:static}.compare-stage{min-height:420px}.batch-layout{grid-template-columns:1fr}.batch-list{display:flex;overflow-x:auto;align-items:center}.batch-list h3{min-width:110px;margin-bottom:0}.batch-list>button{min-width:220px}.batch-foundation{grid-template-columns:1fr 1fr}.layout-reference{grid-column:1 / -1}.sku-core-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-review-inspector{grid-template-columns:1fr}.owner-comment-panel{max-height:420px}}@media (max-width: 720px){.project-detail-head,.panel-section-head,.brief-section-head,.batch-form-head,.batch-detail-head{align-items:flex-start;flex-direction:column}.project-detail-head .btn,.brief-section-head .btn,.batch-form-head .btn{width:100%}.project-panel{padding:var(--s-4)}.brief-form-grid,.review-owner-grid,.delivery-grid{grid-template-columns:1fr}.review-comments{grid-column:auto}.version-row{grid-template-columns:84px minmax(0,1fr)}.version-thumb{width:84px}.version-actions{grid-column:1 / -1}.version-actions .btn{flex:1}.compare-stage.dual,.batch-foundation,.sku-core-grid,.sku-difference-grid{grid-template-columns:1fr}.layout-reference{grid-column:auto}.batch-detail-actions{width:100%;justify-content:stretch}.batch-detail-actions .btn,.batch-detail-head .btn{flex:1}.created-link{flex-direction:column}.share-record-link{grid-template-columns:minmax(0,1fr) auto}.share-record-link .input{grid-column:1 / -1}.owner-review-head{flex-direction:column}.owner-review-status{justify-content:flex-start}.owner-review-canvas-head{align-items:flex-start;flex-direction:column;padding-block:var(--s-3)}.owner-review-canvas-actions{justify-content:flex-start}.owner-review-image-wrap{min-height:340px;padding:var(--s-2)}.delivery-copy h2{font-size:var(--fs-2xl)}}@media (max-width: 420px){.batch-detail-actions{flex-direction:column}}.review-public-shell{min-height:100vh;background:var(--c-cream)}.review-public-nav{height:64px;display:flex;align-items:center;background:#f5f2ece6;border-bottom:1px solid var(--c-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.review-public-nav-inner{display:flex;align-items:center;justify-content:space-between;color:var(--t-muted);font-size:var(--fs-sm)}.review-public-main{padding-block:var(--s-8) var(--s-11)}.review-public-loading{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);color:var(--t-muted)}.review-public-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-5);margin-bottom:var(--s-6)}.review-public-head h1{font-size:var(--fs-3xl);margin-top:var(--s-2)}.review-public-head p{color:var(--t-muted);margin-top:var(--s-2)}.review-public-statuses{display:flex;align-items:flex-end;flex-direction:column;gap:var(--s-2)}.realtime-indicator{min-height:28px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;border:1px solid var(--c-line);border-radius:var(--r-full);background:var(--c-paper);color:var(--t-muted);font-size:var(--fs-xs)}.realtime-indicator i{width:7px;height:7px;border-radius:var(--r-full);background:var(--c-warn)}.realtime-indicator.connected{color:var(--c-success)}.realtime-indicator.connected i{background:var(--c-success);animation:realtime-pulse 1.8s ease-in-out infinite}.realtime-indicator.reconnecting{color:var(--c-warn)}@keyframes realtime-pulse{0%,to{opacity:.45;transform:scale(.82)}50%{opacity:1;transform:scale(1)}}.review-version-tabs{display:flex;gap:var(--s-2);overflow-x:auto;margin-bottom:var(--s-4)}.review-version-tabs button{min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 var(--s-4);border:1px solid var(--c-line);border-radius:var(--r-full);background:var(--c-paper);color:var(--t-muted);white-space:nowrap;transition:border-color var(--d-fast),background var(--d-fast),color var(--d-fast)}.review-version-tabs button.active{color:var(--c-brand-h);border-color:var(--c-brand);background:var(--c-brand-l)}.version-tab-name{font-weight:var(--fw-medium)}.version-final-label{font-size:10px;color:var(--c-success)}.version-comment-count{min-width:20px;height:20px;display:grid;place-items:center;padding-inline:5px;border-radius:var(--r-full);background:var(--c-cream-2);color:var(--t-muted);font-size:10px}.review-version-tabs button.active .version-comment-count{background:var(--c-paper);color:var(--c-brand-h)}.review-public-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:var(--s-5);align-items:start}.review-canvas-card,.review-thread-card{min-width:0;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-xl)}.review-canvas-card{padding:var(--s-5)}.review-canvas-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-4)}.review-canvas-head h2{font-size:var(--fs-lg)}.review-canvas-head p{color:var(--t-muted);font-size:var(--fs-sm);margin-top:var(--s-1);max-width:600px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-canvas-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2);flex-wrap:wrap}.annotation-summary,.annotation-visibility{min-height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:var(--r-full);font-size:var(--fs-xs);white-space:nowrap}.annotation-summary{background:var(--c-brand-l);color:var(--c-brand-h)}.annotation-visibility{border:1px solid var(--c-line);background:var(--c-paper);color:var(--t-muted)}.annotation-visibility:hover,.annotation-visibility:focus-visible{border-color:var(--c-brand);color:var(--c-brand-h);outline:none}.review-image-wrap{position:relative;min-height:520px;display:grid;place-items:center;overflow:hidden;border-radius:var(--r-lg);background:var(--c-cream-2)}.review-image-stage{position:relative;display:inline-block;max-width:100%;line-height:0}.review-image-stage>img{max-width:100%;max-height:72vh;object-fit:contain;cursor:default}.review-image-stage.annotating>img{cursor:crosshair}.annotation-pin{position:absolute;z-index:3;width:38px;height:38px;transform:translate(-50%,-50%);display:grid;place-items:center;overflow:visible;border:3px solid var(--c-paper);border-radius:var(--r-full);background:var(--c-brand);color:var(--t-onbrand);font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:1;box-shadow:var(--sh-3);transition:transform var(--d-fast) var(--easing-out),background var(--d-fast),box-shadow var(--d-fast)}.annotation-pin:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border:2px solid var(--c-brand-l);border-radius:inherit;opacity:0;transform:scale(.7);transition:opacity var(--d-fast),transform var(--d-base) var(--easing-out)}.annotation-pin:hover,.annotation-pin:focus-visible,.annotation-pin.active{z-index:8;background:var(--c-ink);transform:translate(-50%,-50%) scale(1.12);box-shadow:var(--sh-4);outline:none}.annotation-pin.active:before,.annotation-pin:focus-visible:before{opacity:1;transform:scale(1)}.annotation-pin-index{pointer-events:none}.annotation-pin.draft{pointer-events:auto;background:var(--c-accent-h);font-size:10px;cursor:pointer}.review-draft-summary{display:grid;gap:var(--s-2);margin-top:var(--s-3);padding:var(--s-3);border:1px dashed var(--c-brand);border-radius:var(--r-md);background:var(--c-brand-l)}.review-draft-summary>div{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}.review-draft-summary strong{color:var(--c-brand-h);font-size:var(--fs-sm)}.review-draft-summary span{color:var(--t-muted);font-size:var(--fs-xs)}.review-draft-summary p{color:var(--t-base);font-size:var(--fs-sm);line-height:var(--lh-base);overflow-wrap:anywhere}.review-image-foot{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding-top:var(--s-3);color:var(--t-muted);font-size:var(--fs-xs)}.review-image-foot span{display:inline-flex;align-items:center;gap:6px}.review-thread-card{position:sticky;top:var(--s-4);height:calc(100vh - var(--s-8));min-height:560px;max-height:760px;display:flex;flex-direction:column;overflow:hidden;padding:var(--s-4)}.review-thread-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--s-3);border-bottom:1px solid var(--c-line)}.review-thread-head h2{font-size:var(--fs-lg)}.review-thread-head small{display:block;color:var(--t-subtle);font-size:var(--fs-xs);margin-top:3px}.review-thread-stats{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.review-thread-stats span{padding:4px 7px;border-radius:var(--r-full);font-size:10px}.review-thread-stats .open{color:var(--c-warn);background:var(--c-cream-2)}.review-thread-stats .resolved{color:var(--c-success);background:var(--c-cream)}.review-thread-list{min-height:0;flex:1;display:flex;flex-direction:column;gap:var(--s-3);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:var(--s-3) 3px var(--s-4) 10px}.review-comment-thread{position:relative;padding:var(--s-4);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-paper);cursor:pointer;transition:border-color var(--d-fast),background var(--d-fast),box-shadow var(--d-fast),transform var(--d-fast) var(--easing-out)}.review-comment-thread:hover{border-color:var(--c-cream-3);transform:translateY(-1px);box-shadow:var(--sh-1)}.review-comment-thread.active{border-color:var(--c-brand);background:var(--c-brand-l);box-shadow:0 0 0 3px var(--c-brand-l)}.review-comment-thread.approval{border-color:var(--c-success)}.review-comment-thread>p{margin-top:var(--s-2);font-size:var(--fs-sm);line-height:var(--lh-base);overflow-wrap:anywhere}.thread-point-index{position:absolute;left:-12px;top:14px;width:26px;height:26px;display:grid;place-items:center;border:2px solid var(--c-paper);border-radius:var(--r-full);background:var(--c-brand);color:var(--t-onbrand);font-size:11px;font-weight:var(--fw-bold);box-shadow:var(--sh-2)}.reply-label{color:var(--t-subtle);font-size:var(--fs-xs);margin-top:var(--s-2)}.thread-foot{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-3)}.thread-location{display:inline-flex;align-items:center;gap:3px;color:var(--t-muted);font-size:var(--fs-xs);margin-right:auto}.thread-replies{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-3);padding:var(--s-3);border-left:2px solid var(--c-line);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--c-cream)}.thread-replies>div{padding:var(--s-2);border-radius:var(--r-sm)}.thread-replies>div.active{background:var(--c-paper);box-shadow:var(--sh-1)}.thread-replies p{margin-top:5px;color:var(--t-base);font-size:var(--fs-xs);line-height:var(--lh-base);overflow-wrap:anywhere}.review-thread-empty{min-height:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-2);color:var(--t-subtle);text-align:center}.review-thread-empty svg{width:24px;height:24px}.review-thread-empty strong{color:var(--t-base);font-size:var(--fs-sm)}.review-thread-empty span{max-width:250px;font-size:var(--fs-xs);line-height:var(--lh-base)}.review-comment-form{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--s-3);padding-top:var(--s-4);border-top:1px solid var(--c-line)}.comment-composer-head h3{font-size:var(--fs-md)}.comment-composer-head p{margin-top:3px;color:var(--t-muted);font-size:var(--fs-xs)}.comment-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-cream-2)}.comment-mode-switch button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--t-muted);font-size:var(--fs-xs);transition:background var(--d-fast),color var(--d-fast),box-shadow var(--d-fast)}.comment-mode-switch button.active{background:var(--c-paper);color:var(--c-brand-h);box-shadow:var(--sh-1)}.comment-mode-switch button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--c-brand-l)}.reply-banner{display:flex;justify-content:space-between;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--c-brand-l);color:var(--c-brand-h);font-size:var(--fs-xs)}.reply-banner button{border:0;background:transparent;color:inherit}.point-selection{min-height:42px;display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border:1px dashed var(--c-line);border-radius:var(--r-md);background:var(--c-cream);color:var(--t-muted);font-size:var(--fs-xs)}.point-selection.ready{border-color:var(--c-brand);background:var(--c-brand-l);color:var(--c-brand-h)}.point-selection span{flex:1}.point-selection button{border:0;background:transparent;color:inherit;font-size:inherit}.review-disabled-note{color:var(--t-muted);font-size:var(--fs-sm);padding-top:var(--s-4);border-top:1px solid var(--c-line)}.review-approval{display:flex;flex-direction:column;gap:var(--s-3);margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--c-line)}.review-approval h3{font-size:var(--fs-md)}.review-approval p{color:var(--t-muted);font-size:var(--fs-sm)}@media (max-width: 1024px){.review-public-grid{grid-template-columns:1fr}.review-thread-card{position:static;height:auto;min-height:0;max-height:none}.review-thread-list{max-height:420px;flex:none}}@media (max-width: 720px){.review-public-head,.review-canvas-head{align-items:flex-start;flex-direction:column}.review-public-main{padding-block:var(--s-6) var(--s-9)}.review-public-statuses{width:100%;align-items:flex-start}.review-canvas-card,.review-thread-card{border-radius:var(--r-lg)}.review-canvas-card{padding:var(--s-3)}.review-canvas-actions{justify-content:flex-start}.review-image-wrap{min-height:360px}.review-image-foot{align-items:flex-start;flex-direction:column}.annotation-pin{width:34px;height:34px}.review-thread-head{align-items:flex-start;gap:var(--s-3)}.review-thread-stats{justify-content:flex-start}}@media (prefers-reduced-motion: reduce){.annotation-pin,.annotation-pin:before,.review-comment-thread{transition:none}.annotation-pin:hover,.annotation-pin:focus-visible,.annotation-pin.active{transform:translate(-50%,-50%)}.realtime-indicator.connected i{animation:none}}.workbench{display:grid;grid-template-columns:380px 1fr;gap:24px;padding:32px 0;align-items:stretch}@media (max-width: 1080px){.workbench{grid-template-columns:1fr}}.panel-side{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-xl);padding:28px;display:flex;flex-direction:column;gap:20px;position:sticky;top:calc(var(--nav-h) + 16px);align-self:start;max-height:calc(100vh - var(--nav-h) - 32px);overflow-y:auto}.panel-stage{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-xl);padding:32px;min-height:600px;display:flex;flex-direction:column}.stage-canvas{flex:1;border-radius:var(--r-lg);background:var(--c-cream-2);display:grid;place-items:center;overflow:hidden;min-height:480px;position:relative}.stage-canvas img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:var(--r-md);box-shadow:var(--sh-3)}.stage-empty{color:var(--t-muted);text-align:center;padding:40px}.stage-empty .empty-title{margin-top:12px;font-weight:500;color:var(--t-strong)}.stage-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#f5f2eceb;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.stage-loading-rich{overflow:auto;background:radial-gradient(circle at 18% 14%,rgba(232,197,71,.16),transparent 32%),radial-gradient(circle at 82% 86%,rgba(217,88,59,.12),transparent 38%),#f5f2ecf5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stage-loading .label{font-weight:500;margin-top:14px}.stage-loading .step-text{color:var(--t-muted);font-size:13px;margin-top:6px}.generation-progress{width:min(260px,70vw);height:6px;margin:var(--s-3) auto 0;overflow:hidden;border-radius:var(--r-full);background:var(--c-cream-3)}.generation-progress span{display:block;height:100%;border-radius:inherit;background:var(--c-brand);transition:width var(--d-base) var(--easing-out)}.project-required{min-height:40px;display:flex;align-items:center;justify-content:center;gap:var(--s-2);border:1px dashed var(--c-line);border-radius:var(--r-md);color:var(--c-brand-h);font-size:var(--fs-sm)}.style-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.style-chip{padding:10px 12px;background:var(--c-cream-2);border:1px solid var(--c-line);border-radius:var(--r-md);font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.style-chip svg{width:14px;height:14px;color:var(--t-muted);flex-shrink:0}.style-chip:hover{border-color:var(--c-brand);color:var(--c-brand-h)}.style-chip.active{background:var(--c-ink);color:var(--t-ondark);border-color:transparent}.style-chip.active svg{color:var(--c-accent)}.aspect-row{display:flex;gap:6px;flex-wrap:wrap}.aspect-pill{padding:6px 12px;border:1px solid var(--c-line);border-radius:999px;font-size:12px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.aspect-pill.active{background:var(--c-ink);color:var(--t-ondark);border-color:transparent}.uploader{position:relative;border:1.5px dashed var(--c-line);border-radius:var(--r-lg);padding:40px 20px;text-align:center;cursor:pointer;transition:all .25s;background:var(--c-cream-2)}.uploader:hover{border-color:var(--c-brand);background:var(--c-brand-l)}.uploader.has-file{border-style:solid;padding:8px;min-height:180px}.uploader input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.uploader .preview{width:100%;height:100%;max-height:220px;object-fit:contain;border-radius:var(--r-md)}.uploader .label{display:flex;flex-direction:column;gap:6px;align-items:center}.uploader .label svg{width:22px;height:22px;color:var(--c-brand)}.uploader .label .t{font-weight:500}.uploader .label .s{color:var(--t-muted);font-size:12px}.review-guide-card{display:grid;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-cream)}.review-guide-card.error{border-color:color-mix(in srgb,var(--c-danger) 35%,var(--c-line))}.review-guide-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.review-guide-head span{display:inline-flex;align-items:center;gap:6px;color:var(--t-strong);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.review-guide-head span svg{color:var(--c-brand)}.review-guide-head small,.review-guide-card>p{color:var(--t-muted);font-size:var(--fs-xs);line-height:var(--lh-base)}.review-guide-card>img{width:100%;max-height:220px;object-fit:contain;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-paper)}.review-guide-state{min-height:92px;display:flex;align-items:center;justify-content:center;gap:var(--s-2);color:var(--t-muted);font-size:var(--fs-sm);text-align:center}.review-guide-state.error{flex-wrap:wrap;color:var(--c-danger)}.review-guide-state svg{width:18px;height:18px}.works-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}.work-card{position:relative;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-xl);overflow:hidden;transition:transform .35s var(--easing-out),box-shadow .35s,border-color .35s;display:flex;flex-direction:column}.work-card:hover{transform:translateY(-4px);box-shadow:var(--sh-3);border-color:transparent}.work-card .thumb{aspect-ratio:1 / 1;background:var(--c-cream-2);position:relative;overflow:hidden}.work-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.work-card:hover .thumb img{transform:scale(1.06)}.work-card .info{padding:14px 16px;display:flex;flex-direction:column;gap:6px}.work-card .prompt{font-size:13px;line-height:1.5;color:var(--t-base);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.work-card .meta{display:flex;align-items:center;justify-content:space-between;color:var(--t-muted);font-size:12px}.work-card .actions{position:absolute;top:12px;right:12px;display:flex;gap:6px;opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .2s}.work-card:hover .actions{opacity:1;transform:none}.icon-btn{width:32px;height:32px;border-radius:999px;background:#ffffffeb;display:grid;place-items:center;cursor:pointer;color:var(--t-strong);border:1px solid var(--c-line);transition:all .15s}.icon-btn:hover{background:#fff;transform:scale(1.05)}.icon-btn svg{width:14px;height:14px}.icon-btn.danger{color:var(--c-danger)}.icon-btn.fav.active{background:var(--c-brand);color:#fff;border-color:transparent}.empty-state{text-align:center;padding:80px 24px;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-xl)}.empty-state svg{width:32px;height:32px;color:var(--t-subtle);margin-inline:auto}.empty-state .title{font-size:18px;font-weight:600;margin-top:16px}.empty-state .desc{color:var(--t-muted);margin-top:6px}.empty-state .btn{margin-top:24px}.load-more{display:flex;justify-content:center;padding:24px 0}.profile-grid{display:grid;grid-template-columns:280px 1fr;gap:24px}@media (max-width: 880px){.profile-grid{grid-template-columns:1fr}}.profile-aside{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-xl);padding:28px;display:flex;flex-direction:column;gap:18px}.profile-avatar{width:72px;height:72px;border-radius:999px;background:var(--c-ink);color:var(--t-ondark);display:grid;place-items:center;font-family:var(--f-display);font-size:28px;font-weight:700}.profile-stat-row{display:flex;gap:12px}.profile-stat{flex:1;padding:12px;border-radius:var(--r-md);background:var(--c-cream-2);border:1px solid var(--c-line)}.profile-stat .num{font-size:22px;font-weight:700}.profile-stat .lab{font-size:11px;color:var(--t-muted);letter-spacing:var(--ls-cap);text-transform:uppercase;margin-top:2px}.tab-row{display:flex;gap:4px;padding:4px;background:var(--c-cream-2);border-radius:var(--r-md);border:1px solid var(--c-line);width:fit-content}.tab-row .tab{padding:8px 16px;border-radius:var(--r-sm);cursor:pointer;font-size:14px;color:var(--t-muted);transition:all .15s}.tab-row .tab.active{background:var(--c-paper);color:var(--t-strong);box-shadow:var(--sh-1)}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.admin-side{background:var(--c-ink);color:var(--t-ondark);padding:24px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:6px}.admin-side .brand{padding:8px 12px;font-family:var(--f-display);font-size:20px;font-weight:700;color:#fff;margin-bottom:16px;display:flex;align-items:center;gap:10px}.admin-side .brand .logo{width:28px;height:28px;background:var(--c-brand);display:grid;place-items:center;border-radius:8px;color:#fff;font-weight:800;font-size:14px}.admin-side a{padding:10px 12px;border-radius:var(--r-md);color:var(--t-ondark-mute);display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;transition:all .15s}.admin-side a:hover{background:var(--c-ink-3);color:#fff}.admin-side a.active{background:var(--c-ink-3);color:#fff;box-shadow:inset 3px 0 0 var(--c-brand)}.admin-side a svg{width:16px;height:16px;flex-shrink:0}.admin-side .me{margin-top:auto;padding:12px;border-top:1px solid var(--c-line-d);display:flex;align-items:center;gap:10px;font-size:13px}.admin-side .me .av{width:28px;height:28px;border-radius:999px;background:var(--c-brand);display:grid;place-items:center;color:#fff;font-weight:700;flex-shrink:0}.admin-side .me .name{color:#fff;font-weight:500}.admin-side .me-logout{width:28px;height:28px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--t-ondark-mute);display:grid;place-items:center;cursor:pointer;transition:all .15s}.admin-side .me-logout:hover{background:#ffffff1f;color:#fff}.admin-side .me-logout svg{width:14px;height:14px}.admin-main{background:var(--c-cream);padding:32px 40px;min-height:100vh}.admin-page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:16px}.admin-page-head h1{font-size:30px;letter-spacing:var(--ls-tight)}.admin-page-head .desc{color:var(--t-muted);font-size:14px;margin-top:4px}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media (max-width: 1080px){.kpi-row{grid-template-columns:repeat(2,1fr)}}.kpi{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden}.kpi .lab{font-size:12px;color:var(--t-muted);letter-spacing:var(--ls-cap);text-transform:uppercase}.kpi .val{font-family:var(--f-display);font-size:40px;font-weight:700;letter-spacing:var(--ls-tight)}.kpi .delta{font-size:13px;color:var(--c-success)}.kpi .delta.down{color:var(--c-danger)}.kpi .icon-deco{position:absolute;right:16px;top:16px;width:36px;height:36px;border-radius:12px;background:var(--c-cream-2);display:grid;place-items:center;color:var(--c-brand)}.admin-card{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:24px}.admin-card h3{font-size:18px}.admin-card .desc{color:var(--t-muted);font-size:13px;margin-top:4px;margin-bottom:16px}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;table-layout:fixed}.tbl thead th{text-align:left;background:var(--c-cream-2);color:var(--t-muted);font-weight:500;padding:12px 14px;font-size:12px;letter-spacing:var(--ls-cap);text-transform:uppercase;border-bottom:1px solid var(--c-line);border-top:1px solid var(--c-line)}.tbl thead th:first-child{border-left:1px solid var(--c-line);border-top-left-radius:var(--r-md)}.tbl thead th:last-child{border-right:1px solid var(--c-line);border-top-right-radius:var(--r-md)}.tbl tbody td{padding:14px;border-bottom:1px solid var(--c-line);vertical-align:middle}.tbl tbody tr:hover td{background:var(--c-cream)}.tbl tbody tr:last-child td{border-bottom:1px solid var(--c-line)}.tbl .actions{display:flex;gap:6px;justify-content:flex-end}.tbl .thumb-mini{width:40px;height:40px;border-radius:8px;object-fit:cover;background:var(--c-cream-2)}.pager{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:12px}.pager .info{color:var(--t-muted);font-size:13px}.pager .ctrls{display:flex;gap:6px}.pager .pg-btn{padding:6px 12px;border:1px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-paper);cursor:pointer;font-size:13px;transition:all .15s}.pager .pg-btn:disabled{opacity:.4;cursor:not-allowed}.pager .pg-btn.active{background:var(--c-ink);color:var(--t-ondark);border-color:transparent}.drawer-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:7999;background:#0b0b0d66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-up var(--d-base)}.drawer{position:fixed;right:0;top:0;bottom:0;width:420px;background:var(--c-paper);padding:28px;z-index:8000;box-shadow:var(--sh-4);overflow-y:auto;display:flex;flex-direction:column;gap:16px;animation:slide-in .3s var(--easing-out)}@keyframes slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer h3{font-size:22px}@media (max-width: 600px){.drawer{width:100%}}.user-menu{position:relative}.user-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;background:var(--c-paper);border:1px solid var(--c-line);border-radius:999px;font-size:14px;cursor:pointer;transition:border-color .2s}.user-pill:hover{border-color:var(--c-brand)}.user-pill .av{width:26px;height:26px;border-radius:999px;background:var(--c-ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px}.user-pill svg{width:14px;height:14px}.user-menu .menu{position:absolute;right:0;top:calc(100% + 10px);background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-3);min-width:200px;padding:6px;z-index:100}.user-menu .menu a,.user-menu .menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--r-sm);font-size:14px;color:var(--t-strong);background:transparent;border:0;cursor:pointer;text-align:left}.user-menu .menu a:hover,.user-menu .menu button:hover{background:var(--c-cream-2)}.user-menu .menu svg{width:16px;height:16px;flex-shrink:0}.user-menu .menu .divider{border-top:1px solid var(--c-line);margin:6px 0}.mobile-menu-btn{display:none;width:40px;height:40px;border-radius:var(--r-full);border:1px solid var(--c-line);background:var(--c-paper);align-items:center;justify-content:center}.mobile-nav-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8200;background:#0b0b0d7a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:flex-end}.mobile-nav-panel{width:min(360px,88vw);height:100%;background:var(--c-paper);padding:var(--s-6);box-shadow:var(--sh-4);overflow-y:auto}.mobile-nav-head{display:flex;align-items:center;justify-content:space-between;font-weight:var(--fw-semibold);margin-bottom:var(--s-6)}.mobile-nav-links{display:flex;flex-direction:column;gap:var(--s-2)}.mobile-nav-links a{min-height:48px;display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-4);border-radius:var(--r-md);color:var(--t-base)}.mobile-nav-links a:hover,.mobile-nav-links a.router-link-active{background:var(--c-cream-2);color:var(--c-brand-h)}.mobile-nav-links svg{width:18px;height:18px}.mobile-nav-enter-active,.mobile-nav-leave-active{transition:opacity var(--d-fast)}.mobile-nav-enter-active .mobile-nav-panel,.mobile-nav-leave-active .mobile-nav-panel{transition:transform var(--d-base) var(--easing-out)}.mobile-nav-enter-from,.mobile-nav-leave-to{opacity:0}.mobile-nav-enter-from .mobile-nav-panel,.mobile-nav-leave-to .mobile-nav-panel{transform:translate(100%)}@media (max-width: 920px){.mobile-menu-btn{display:inline-flex}.gen-badge{margin-right:0}}@media (max-width: 600px){.nav-brand>span{display:none}.gen-badge>span:not(.dots){display:none}}.toast-wrap{position:fixed;top:24px;right:24px;z-index:9000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background:var(--c-ink);color:var(--t-ondark);padding:12px 16px;border-radius:var(--r-md);font-size:var(--fs-sm);box-shadow:var(--sh-3);animation:fade-up var(--d-base) var(--easing-out) both;max-width:360px;pointer-events:auto}.toast.success{background:var(--c-success)}.toast.error{background:var(--c-danger)}.toast.warn{background:var(--c-warn)}.toast.info{background:var(--c-ink)}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8000;background:#0b0b0d8c;display:grid;place-items:center;padding:24px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-up var(--d-base) var(--easing-out)}.modal-card{background:var(--c-paper);border-radius:var(--r-xl);padding:var(--s-7);width:100%;max-width:520px;box-shadow:var(--sh-4);animation:fade-up var(--d-slow) var(--easing-out)}.notfound{min-height:100vh;display:grid;place-items:center;padding:48px;text-align:center}.notfound .code{font-family:var(--f-display);font-size:clamp(80px,14vw,180px);font-weight:800;color:var(--c-brand);letter-spacing:var(--ls-tighter);line-height:1}.btn.btn-fav-active{color:var(--c-brand);border-color:var(--c-brand);background:#d9583b14}.btn.btn-fav-active svg{color:var(--c-brand)}.gen-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;margin-right:14px;background:linear-gradient(135deg,#d9583b24,#e8c5472e);border:1px solid rgba(217,88,59,.32);border-radius:999px;color:var(--c-brand);font-size:12.5px;font-weight:500;text-decoration:none;transition:transform .15s,box-shadow .15s}.gen-badge:hover{transform:translateY(-1px);box-shadow:0 6px 16px #d9583b2e}.gen-badge svg{color:var(--c-brand)}.gen-badge .dots{display:inline-flex;gap:3px;align-items:center}.gen-badge .dots i{width:4px;height:4px;border-radius:50%;background:var(--c-brand);display:inline-block;animation:gen-dot 1.2s infinite ease-in-out}.gen-badge .dots i:nth-child(2){animation-delay:.15s}.gen-badge .dots i:nth-child(3){animation-delay:.3s}@keyframes gen-dot{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.btn-link-mini{display:inline-flex;align-items:center;gap:4px;background:transparent;border:0;padding:4px 6px;margin:-4px -6px;color:var(--c-brand);font-size:12.5px;font-weight:500;cursor:pointer;border-radius:var(--r-sm);transition:background .12s}.btn-link-mini:hover{background:#d9583b14}.picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8500;background:#0b0b0d8c;display:grid;place-items:center;padding:32px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.picker-modal{width:100%;max-width:920px;max-height:calc(100vh - 64px);background:var(--c-paper);border-radius:var(--r-xl);box-shadow:var(--sh-4);display:flex;flex-direction:column;overflow:hidden}.picker-head{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 24px 16px;border-bottom:1px solid var(--c-line)}.picker-head h3{font-size:18px;font-weight:600;letter-spacing:var(--ls-tight)}.icon-x{width:34px;height:34px;border-radius:50%;border:1px solid var(--c-line);background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--t-muted);transition:all .15s;flex-shrink:0}.icon-x:hover{background:var(--c-cream-2);color:var(--t-strong)}.picker-tabs{display:flex;gap:4px;padding:12px 24px 0;border-bottom:1px solid var(--c-line)}.picker-tabs .ptab{background:transparent;border:0;cursor:pointer;padding:10px 14px;margin-bottom:-1px;font-size:13.5px;color:var(--t-muted);border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.picker-tabs .ptab:hover{color:var(--t-strong)}.picker-tabs .ptab.active{color:var(--c-brand);border-bottom-color:var(--c-brand);font-weight:500}.picker-body{padding:20px 24px 24px;overflow-y:auto;flex:1}.picker-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.pick-item{background:var(--c-cream-2);border:1px solid var(--c-line);border-radius:var(--r-md);overflow:hidden;cursor:pointer;padding:0;text-align:left;transition:transform .18s var(--easing-out),box-shadow .18s,border-color .18s}.pick-item:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0b0b0d14;border-color:var(--c-brand)}.pick-item img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:#fff}.pick-meta{padding:8px 10px;font-size:11.5px;color:var(--t-muted);border-top:1px solid var(--c-line)}.pick-skel{aspect-ratio:1/1;border-radius:var(--r-md)}.picker-empty{text-align:center;padding:60px 20px;color:var(--t-strong)}.picker-empty svg{width:32px;height:32px;color:var(--t-subtle);margin:0 auto 12px}.picker-more{display:flex;justify-content:center;padding-top:16px}.picker-enter-active,.picker-leave-active{transition:opacity .25s,backdrop-filter .25s}.picker-enter-active .picker-modal,.picker-leave-active .picker-modal{transition:transform .28s var(--easing-out),opacity .28s}.picker-enter-from,.picker-leave-to{opacity:0}.picker-enter-from .picker-modal{transform:translateY(16px) scale(.97);opacity:0}.picker-leave-to .picker-modal{transform:translateY(8px) scale(.98);opacity:0}.profile-avatar{position:relative;overflow:hidden;flex-shrink:0;aspect-ratio:1 / 1}.profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.profile-avatar.avatar-sm{width:32px;height:32px;font-size:12px;min-width:32px}.avatar-editor{cursor:pointer;transition:box-shadow .2s,transform .2s}.avatar-editor:hover{transform:scale(1.03);box-shadow:0 10px 24px #0b0b0d2e}.avatar-editor .overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0b0b0d00 30%,#0b0b0dc7);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;padding-bottom:8px;font-size:11px;font-weight:500;letter-spacing:.04em;opacity:0;transition:opacity .2s;border-radius:inherit}.avatar-editor:hover .overlay{opacity:1}.avatar-editor.uploading .overlay{opacity:1;background:#0b0b0d99;justify-content:center;padding-bottom:0}.avatar-editor.uploading svg{animation:gen-dot 1s infinite ease-in-out}.user-pill .av,.admin-side .me .av{overflow:hidden}.user-pill .av img,.admin-side .me .av img{width:100%;height:100%;object-fit:cover;display:block}#scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:9999;pointer-events:none;background:linear-gradient(90deg,var(--c-brand) 0%,var(--c-brand-h) 70%,var(--c-accent) 100%);transform-origin:0 50%;transform:scaleX(0);transition:transform .12s linear;box-shadow:0 0 12px #d9583b73}.hero .mesh-bg{transition:transform .35s var(--easing-out)}.hero .stage-card{transition:transform .42s var(--easing-out),box-shadow .42s var(--easing-out)}@media (max-width: 880px){.hero .stage-card,.hero .mesh-bg{transform:none!important}}.stats-strip{background:var(--c-paper);border-block:1px solid var(--c-line);padding:clamp(28px,3.6vw,44px) 0;position:relative}.stats-strip:before,.stats-strip:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--c-brand),transparent);opacity:.35}.stats-strip:before{top:-1px}.stats-strip:after{bottom:-1px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,36px)}@media (max-width: 880px){.stats-grid{grid-template-columns:repeat(2,1fr);row-gap:24px}}.stat-cell{display:flex;flex-direction:column;gap:2px;padding-left:16px;border-left:1px solid var(--c-line)}.stat-cell:first-child{padding-left:0;border-left:0}@media (max-width: 880px){.stat-cell:nth-child(odd){padding-left:0;border-left:0}}.stat-cell .num{font-family:var(--f-display);font-size:clamp(32px,4vw,48px);line-height:1.05;font-weight:800;letter-spacing:var(--ls-tighter);color:var(--t-strong);display:flex;align-items:baseline;gap:4px;font-variant-numeric:tabular-nums}.stat-cell .num .suf{font-size:.4em;font-weight:600;color:var(--c-brand);letter-spacing:0}.stat-cell .lab{font-size:12.5px;color:var(--t-muted);letter-spacing:var(--ls-cap);text-transform:uppercase;margin-top:2px}[data-spotlight]{position:relative;isolation:isolate}[data-spotlight]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(320px circle at var(--mx, 50%) var(--my, 50%),rgba(232,197,71,.18) 0%,rgba(232,197,71,0) 55%);opacity:0;transition:opacity .35s var(--easing-out);pointer-events:none;z-index:0}[data-spotlight]:hover:before{opacity:1}[data-spotlight]>*{position:relative;z-index:1}[data-magnetic]{transition:transform .25s cubic-bezier(.23,1,.32,1),background var(--d-fast) var(--easing-out),color var(--d-fast) var(--easing-out),box-shadow var(--d-fast) var(--easing-out),border-color var(--d-fast) var(--easing-out);will-change:transform}.marquee{-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%)}.marquee-track{transition:animation-duration .3s}.marquee:hover .marquee-track{animation-duration:64s}.step{transition:transform .3s var(--easing-out),background .3s,border-color .3s}.step:hover{transform:translateY(-4px);background:var(--c-paper);border-color:var(--c-brand-l)}.step:hover .num{background:linear-gradient(135deg,var(--c-brand),var(--c-accent-h));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.price-card{transition:transform .3s var(--easing-out),box-shadow .3s var(--easing-out)}.price-card:hover{transform:translateY(-4px);box-shadow:var(--sh-3)}.price-card.featured:hover{box-shadow:var(--sh-4)}@media (prefers-reduced-motion: reduce){#scroll-progress{display:none}[data-magnetic],.hero .stage-card,.hero .mesh-bg{transition:none!important;transform:none!important}.marquee-track{animation:none!important}[data-reveal]{opacity:1!important;transform:none!important}}
