@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f6f4f0;--bg-outer:#e9e5de;--surface:#fff;--surface-2:#f1eee8;--surface-3:#e5e0d7;--text:#171a18;--text-2:#5b605c;--text-3:#8c908b;--border:#171a1814;--border-strong:#171a1824;--primary:#2f4b3c;--primary-2:#3b5d4b;--on-primary:#fff;--primary-soft:#e3ebe5;--primary-soft-2:#cfddd4;--accent:#a9844d;--accent-soft:#f4ecdf;--danger:#c33f2c;--danger-soft:#fbe7e3;--success:#2b7a52;--success-soft:#e0f1e7;--warning:#9a6512;--warning-soft:#fbefd8;--stage:#e8e4dc;--stage-dot:#171a1812;--shadow-sm:0 1px 2px #1216140f, 0 1px 1px #1216140a;--shadow-md:0 12px 30px -14px #12161447, 0 2px 6px #1216140d;--shadow-lg:0 30px 60px -24px #12161473;--radius-sm:12px;--radius:18px;--radius-lg:24px;--radius-xl:30px;--font:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease:cubic-bezier(.2, .8, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-sheet:cubic-bezier(.32, .72, 0, 1);--spring:cubic-bezier(.34, 1.36, .64, 1);--spring-soft:cubic-bezier(.25, 1.1, .5, 1);--safe-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--safe-bottom:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px));--app-width:520px;--gutter:20px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@supports (transition-timing-function:linear(0, 1)){:root{--spring:linear(0, .0112, .0441 2.6%, .1711 5.4%, .6093 12.8%, .8098 17.4%, .9369 22.5%, .9785 25.2%, 1.0081 28%, 1.0287 31.3%, 1.0391 35.1%, 1.0404 38.2%, 1.0368 42%, 1.0098 54.3%, 1.0005 63.7%, .9973 75.9%, 1);--spring-soft:linear(0, .0084, .0331 2.4%, .1282 5%, .4652 11.6%, .6951 17%, .8433 22.6%, .9318 28.4%, .9795 34.4%, 1.0026 40.7%, 1.0112 47.8%, 1.0112 56.2%, 1.0038 70.4%, 1)}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1110;--bg-outer:#070808;--surface:#181b19;--surface-2:#212522;--surface-3:#2c312d;--text:#f1f1ed;--text-2:#a9aea9;--text-3:#767c77;--border:#ffffff12;--border-strong:#ffffff21;--primary:#9cc4a9;--primary-2:#b3d5be;--on-primary:#0c1a11;--primary-soft:#9cc4a924;--primary-soft-2:#9cc4a93d;--accent:#d7b67f;--accent-soft:#d7b67f1f;--danger:#f0806e;--danger-soft:#f0806e24;--success:#74d19d;--success-soft:#74d19d21;--warning:#e8b660;--warning-soft:#e8b66021;--stage:#141715;--stage-dot:#ffffff0d;--shadow-sm:0 1px 2px #00000073;--shadow-md:0 14px 34px -14px #000000b3;--shadow-lg:0 30px 70px -24px #000c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1110;--bg-outer:#070808;--surface:#181b19;--surface-2:#212522;--surface-3:#2c312d;--text:#f1f1ed;--text-2:#a9aea9;--text-3:#767c77;--border:#ffffff12;--border-strong:#ffffff21;--primary:#9cc4a9;--primary-2:#b3d5be;--on-primary:#0c1a11;--primary-soft:#9cc4a924;--primary-soft-2:#9cc4a93d;--accent:#d7b67f;--accent-soft:#d7b67f1f;--danger:#f0806e;--danger-soft:#f0806e24;--success:#74d19d;--success-soft:#74d19d21;--warning:#e8b660;--warning-soft:#e8b66021;--stage:#141715;--stage-dot:#ffffff0d;--shadow-sm:0 1px 2px #00000073;--shadow-md:0 14px 34px -14px #000000b3;--shadow-lg:0 30px 70px -24px #000c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:15px;line-height:1.45}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%}:focus-visible{outline:2.5px solid var(--primary);outline-offset:2px}h1,h2,h3,p{margin:0}@media (width>=600px){body{background:var(--bg-outer)}.app{box-shadow:0 0 0 1px var(--border), 0 40px 80px -40px #00000059}}.app{width:100%;max-width:var(--app-width);background:var(--bg);min-height:100dvh;margin:0 auto;position:relative;overflow-x:clip}.boot{min-height:100dvh;color:var(--text-3);place-items:center;display:grid}.screen{padding:0 20px calc(var(--safe-bottom) + 128px);flex-direction:column;gap:22px;display:flex}.screen.with-tabbar{padding-bottom:calc(var(--safe-bottom) + 118px)}html[data-enter=forward] .screen,html[data-enter=forward] .step>.step-stage,html[data-enter=forward] .step>.step-controls{animation:enter-from-right .36s var(--ease) both}html[data-enter=back] .screen,html[data-enter=back] .step>.step-stage,html[data-enter=back] .step>.step-controls{animation:enter-from-left .36s var(--ease) both}html[data-enter=tab] .screen>*{animation:rise-in .6s var(--ease) both}html[data-enter=tab] .screen>:nth-child(2){animation-delay:50ms}html[data-enter=tab] .screen>:nth-child(3){animation-delay:.1s}html[data-enter=tab] .screen>:nth-child(4){animation-delay:.15s}html[data-enter=tab] .screen>:nth-child(5){animation-delay:.2s}html[data-enter=tab] .screen>:nth-child(6){animation-delay:.25s}html[data-enter=tab] .screen>:nth-child(n+7){animation-delay:.3s}html[data-enter=tab] .step>.step-stage,html[data-enter=tab] .step>.step-controls{animation:step-in .3s var(--ease) both}@keyframes enter-from-right{0%{opacity:0;transform:translate(28px)}}@keyframes enter-from-left{0%{opacity:0;transform:translate(-28px)}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}}.tabbar{view-transition-name:tabbar}.step-head{view-transition-name:step-head}.step-foot{view-transition-name:step-foot}.toaster{view-transition-name:toaster}html[data-nav=forward]::view-transition-old(root){animation:nav-out-left .18s var(--ease-in) both}html[data-nav=forward]::view-transition-old(*):only-child{animation:nav-out-left .18s var(--ease-in) both}html[data-nav=forward]::view-transition-new(root){animation:nav-in-right .4s var(--ease) 80ms both}html[data-nav=forward]::view-transition-new(*):only-child{animation:nav-in-right .4s var(--ease) 80ms both}html[data-nav=back]::view-transition-old(root){animation:nav-out-right .18s var(--ease-in) both}html[data-nav=back]::view-transition-old(*):only-child{animation:nav-out-right .18s var(--ease-in) both}html[data-nav=back]::view-transition-new(root){animation:nav-in-left .4s var(--ease) 80ms both}html[data-nav=back]::view-transition-new(*):only-child{animation:nav-in-left .4s var(--ease) 80ms both}html[data-nav]::view-transition-old(step-head){animation:nav-fade-out .12s var(--ease-in) both}html[data-nav]::view-transition-old(step-foot){animation:nav-fade-out .12s var(--ease-in) both}html[data-nav]::view-transition-new(step-head){animation:nav-fade-in .22s var(--ease) .1s both}html[data-nav]::view-transition-new(step-foot){animation:nav-fade-in .22s var(--ease) .1s both}html[data-nav=tab]::view-transition-old(root){animation:nav-fade-out .12s var(--ease-in) both}html[data-nav=tab]::view-transition-new(root){animation:nav-fade-in .26s var(--ease) 90ms both}html[data-nav=tab]::view-transition-old(tabbar){display:none}html[data-nav=tab]::view-transition-new(tabbar){animation:none}html[data-nav=theme] .tabbar,html[data-nav=theme] .step-head,html[data-nav=theme] .step-foot,html[data-nav=theme] .toaster{view-transition-name:none}html[data-nav=theme]::view-transition-old(root){mix-blend-mode:normal;animation:none}html[data-nav=theme]::view-transition-new(root){animation:theme-reveal .7s var(--ease-sheet) both;mix-blend-mode:normal}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--reveal-x,50%) var(--reveal-y,50%))}to{clip-path:circle(150vmax at var(--reveal-x,50%) var(--reveal-y,50%))}}@keyframes nav-out-left{to{opacity:0;transform:translate(-32px)}}@keyframes nav-in-right{0%{opacity:0;transform:translate(32px)}}@keyframes nav-out-right{to{opacity:0;transform:translate(32px)}}@keyframes nav-in-left{0%{opacity:0;transform:translate(-32px)}}@keyframes nav-fade-out{to{opacity:0}}@keyframes nav-fade-in{0%{opacity:0}}.topbar{z-index:20;padding:calc(var(--safe-top) + 10px) 16px 10px;background:color-mix(in srgb, var(--bg) 84%, transparent);-webkit-backdrop-filter:saturate(170%)blur(18px);align-items:center;gap:10px;margin:0 -20px;display:flex;position:sticky;top:0}.topbar-title{text-align:center;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:16px;font-weight:750;overflow:hidden}.topbar-spacer{flex:none;width:42px}.page-head{gap:8px;display:grid}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:800}.title-xl{letter-spacing:-.035em;font-size:30px;font-weight:800;line-height:1.08}.title-lg{letter-spacing:-.03em;font-size:24px;font-weight:800;line-height:1.15}.subtitle{color:var(--text-2);font-size:15px;line-height:1.5}.muted{color:var(--text-3);font-size:13px;line-height:1.5}.stepper-bars{gap:6px;display:flex}.stepper-bars span{background:var(--surface-3);border-radius:99px;flex:1;height:4px;position:relative;overflow:hidden}.stepper-bars span:after{content:"";border-radius:inherit;background:var(--primary);transform-origin:0;transition:transform .5s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.stepper-bars span.done:after,.stepper-bars span.current:after{transform:scaleX(1)}.stepper-bars span.current.fill:after{animation:bar-fill .75s var(--ease) .15s both}@keyframes bar-fill{0%{transform:scaleX(0)}}.btn{--h:54px;height:var(--h);letter-spacing:-.01em;white-space:nowrap;transition:transform .45s var(--spring), background .2s, box-shadow .2s, opacity .2s;border:0;border-radius:17px;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:16px;font-weight:750;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transition-duration:.1s;transform:scale(.97)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:0 12px 26px -12px color-mix(in srgb, var(--primary) 80%, transparent), inset 0 1px 0 #ffffff1f}.btn-primary:hover:not(:disabled){background:var(--primary-2)}.btn-secondary{background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong), var(--shadow-sm)}.btn-soft{background:var(--primary-soft);color:var(--primary)}.btn-ghost{--h:44px;color:var(--text-2);background:0 0;padding:0 12px}.btn-danger{background:var(--danger);color:#fff}.btn-danger-soft{background:var(--danger-soft);color:var(--danger)}.btn-block{width:100%}.btn-sm{--h:40px;border-radius:13px;gap:7px;padding:0 14px;font-size:14px}.btn .spin{animation:.9s linear infinite spin}.icon-btn{background:var(--surface);width:42px;height:42px;color:var(--text);box-shadow:inset 0 0 0 1px var(--border), var(--shadow-sm);transition:transform .45s var(--spring), background .2s;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.icon-btn:active{transition-duration:.1s;transform:scale(.9)}.icon-btn.ghost{box-shadow:none;background:0 0}.icon-btn.small{width:34px;height:34px}.icon-btn.on-media{color:#fff;box-shadow:none;-webkit-backdrop-filter:blur(10px);background:#1214138c}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px var(--border), var(--shadow-sm);padding:18px}.section{gap:12px;display:grid}.section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title{letter-spacing:-.015em;font-size:17px;font-weight:800}.section-label{color:var(--text-2);font-size:13px;font-weight:750}.link-btn{color:var(--primary);background:0 0;border:0;align-items:center;gap:4px;padding:4px 2px;font-size:14px;font-weight:700;transition:opacity .2s;display:inline-flex}.link-btn:active:not(:disabled){opacity:.55;transition-duration:50ms}.stack{gap:12px;display:grid}.row{align-items:center;gap:10px;display:flex}.grow{flex:1;min-width:0}.divider{background:var(--border);height:1px;margin:4px 0}.segmented{--pad:4px;padding:var(--pad);background:var(--surface-2);border-radius:16px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;display:grid;position:relative}.segmented-thumb{top:var(--pad);bottom:var(--pad);left:var(--pad);width:calc((100% - 2 * var(--pad) - (var(--count) - 1) * 4px) / var(--count));background:var(--surface);box-shadow:0 1px 3px #00000014, 0 0 0 1px var(--border);transform:translateX(calc(var(--index) * (100% + 4px)));transition:transform .5s var(--spring-soft);pointer-events:none;border-radius:12px;position:absolute}.segmented button{min-height:44px;color:var(--text-2);transition:background .2s var(--ease), color .2s, box-shadow .2s;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:6px 8px;font-size:14px;font-weight:700;display:flex;position:relative}.segmented button[aria-pressed=true]{color:var(--text)}.segmented.tall button{flex-direction:column;gap:5px;min-height:66px;font-size:12.5px}.segmented button small{color:var(--text-3);font-size:11px;font-weight:600}.chips{scrollbar-width:none;margin:0 calc(-1 * var(--gutter));padding:2px var(--gutter);gap:8px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips.wrap{flex-wrap:wrap;margin:0;padding:0;overflow:visible}.chip{background:var(--surface);height:38px;color:var(--text-2);box-shadow:inset 0 0 0 1px var(--border-strong);white-space:nowrap;transition:background .2s, color .2s, transform .45s var(--spring);border:0;border-radius:99px;flex:none;align-items:center;gap:7px;padding:0 15px;font-size:14px;font-weight:700;display:inline-flex}.chip:active{transition-duration:.1s;transform:scale(.94)}.chip[aria-pressed=true]{background:var(--text);color:var(--bg);box-shadow:none}.chip .count{opacity:.7;font-size:12px}.field{gap:8px;display:grid}.field-label{justify-content:space-between;align-items:baseline;font-size:14px;font-weight:700;display:flex}.field-value{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.input,.textarea{background:var(--surface);width:100%;color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong);border:0;border-radius:14px;padding:13px 15px;font-size:15px;transition:box-shadow .2s}.textarea{resize:vertical;min-height:96px;line-height:1.5}.input:focus,.textarea:focus{box-shadow:inset 0 0 0 1.5px var(--primary), 0 0 0 4px var(--primary-soft);outline:none}.slider{--pct:50%;appearance:none;background:0 0;width:100%;height:28px;margin:0}.slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--primary) var(--pct), var(--surface-3) var(--pct));border-radius:99px;height:6px}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:0;border-radius:50%;width:26px;height:26px;margin-top:-10px;box-shadow:0 2px 8px #00000047,0 0 0 1px #0000000a}.slider::-moz-range-track{background:var(--surface-3);border-radius:99px;height:6px}.slider::-moz-range-progress{background:var(--primary);border-radius:99px;height:6px}.slider::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:26px;height:26px;box-shadow:0 2px 8px #00000047}.switch-row{justify-content:space-between;align-items:center;gap:16px;min-height:48px;display:flex}.switch-row .text{gap:2px;font-size:15px;font-weight:700;display:grid}.switch-row .text small{color:var(--text-3);font-size:13px;font-weight:500}.switch{flex:none;width:50px;height:30px;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;margin:0;position:absolute;inset:0}.switch .track{background:var(--surface-3);transition:background .22s var(--ease);border-radius:99px;position:absolute;inset:0}.switch .track:after{content:"";width:24px;height:24px;transition:transform .24s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #00000040}.switch input:checked+.track{background:var(--primary)}.switch input:checked+.track:after{transform:translate(20px)}.switch input:focus-visible+.track{outline:2.5px solid var(--primary);outline-offset:2px}.swatches{flex-wrap:wrap;gap:12px;display:flex}.swatch{color:#fff;width:42px;height:42px;transition:transform .15s var(--ease);border:0;border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 0 1px #0000001a}.swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--text)}.swatch.light-swatch{color:#1a1d1b}.pill{white-space:nowrap;border-radius:99px;align-items:center;gap:6px;height:28px;padding:0 11px;font-size:12.5px;font-weight:750;display:inline-flex}.pill.ok{background:var(--success-soft);color:var(--success)}.pill.warn{background:var(--warning-soft);color:var(--warning)}.pill.info{background:var(--primary-soft);color:var(--primary)}.pill.neutral{background:var(--surface-2);color:var(--text-2)}.pill.on-media{color:#fff;-webkit-backdrop-filter:blur(10px);background:#12141399}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn-square{width:54px;padding:0}.tabbar{left:50%;bottom:calc(var(--safe-bottom) + 14px);z-index:30;width:calc(100% - 40px);max-width:calc(var(--app-width) - 40px);background:color-mix(in srgb, var(--surface) 84%, transparent);-webkit-backdrop-filter:saturate(180%)blur(22px);height:68px;box-shadow:inset 0 0 0 1px var(--border), var(--shadow-md);border-radius:24px;grid-template-columns:repeat(3,minmax(0,1fr));padding:6px;display:grid;position:fixed;transform:translate(-50%)}.tab-glider{background:var(--primary-soft);width:calc(33.3333% - 4px);transform:translateX(calc(var(--active) * 100%));transition:transform .55s var(--spring);pointer-events:none;border-radius:18px;position:absolute;top:6px;bottom:6px;left:6px}.tab{color:var(--text-3);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11.5px;font-weight:750;text-decoration:none;transition:color .25s;display:flex;position:relative}.tab-icon{width:46px;height:30px;transition:transform .45s var(--spring);border-radius:99px;place-items:center;display:grid}.tab:active .tab-icon{transition-duration:.1s;transform:scale(.86)}.tab.active{color:var(--primary)}.tab.active .tab-icon{animation:tab-pop .5s var(--spring)}@keyframes tab-pop{0%{transform:scale(.82)}}.fade-img{opacity:0;transition:opacity .45s var(--ease)}.fade-img.loaded{opacity:1}.stage{border-radius:var(--radius-xl);background-color:var(--stage);background-image:radial-gradient(var(--stage-dot) 1.2px, transparent 1.2px);background-size:14px 14px;place-items:center;padding:16px;display:grid;position:relative;overflow:hidden}.stage canvas{width:auto;max-width:100%;height:auto;max-height:min(54dvh,600px);box-shadow:var(--shadow-lg);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:14px;display:block}.stage.compact canvas{max-height:min(38dvh,380px)}.stage.interactive canvas{cursor:grab}.stage.interactive canvas:active{cursor:grabbing}.stage-overlay{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute;inset:12px 12px auto}.stage-overlay>*{pointer-events:auto}.stage-hint{pointer-events:none;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.home-head{padding-top:calc(var(--safe-top) + 18px);justify-content:space-between;align-items:center;display:flex}.brand-mark{letter-spacing:-.02em;align-items:center;gap:10px;font-size:17px;font-weight:800;display:flex}.brand-mark .logo-glyph{width:34px;height:34px;box-shadow:var(--shadow-sm);border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.logo-glyph span:first-child{background:#c9b79b}.logo-glyph span:last-child{background:var(--primary)}.hero{border-radius:var(--radius-xl);color:#fff;box-shadow:var(--shadow-lg);background:radial-gradient(120% 90% at 100% 0,#d6ba8b73 0%,#0000 55%),linear-gradient(150deg,#3f6552 0%,#2a4436 55%,#1b2d23 100%);gap:16px;padding:24px 22px 22px;display:grid;position:relative;overflow:hidden}.hero h1{letter-spacing:-.03em;max-width:64%;font-size:26px;font-weight:800;line-height:1.12;position:relative}.hero p{color:#ffffffc7;max-width:64%;font-size:14.5px;position:relative}.hero .btn{color:#1f3328;background:#fff;justify-self:start;box-shadow:0 14px 30px -12px #00000080}.hero-art{pointer-events:none;opacity:.95;width:128px;height:150px;animation:7s ease-in-out infinite hero-float;position:absolute;top:26px;right:-6px}@keyframes hero-float{50%{transform:translateY(-5px)}}.hero-art div{border-radius:16px;width:78px;height:104px;position:absolute;box-shadow:0 16px 30px -12px #0000008c}.hero-art div:first-child{background:linear-gradient(160deg,#e3d6c3,#c9b596);top:18px;right:56px;transform:rotate(-9deg)}.hero-art div:last-child{background:linear-gradient(160deg,#f1e7da,#d9c2a0);top:6px;right:14px;transform:rotate(7deg)}html[data-enter=tab] .hero-art div:first-child{animation:deal-before .9s var(--spring) .15s both}html[data-enter=tab] .hero-art div:last-child{animation:deal-after .9s var(--spring) .25s both}@keyframes deal-before{0%{opacity:0;transform:translate(18px,34px)rotate(4deg)scale(.9)}}@keyframes deal-after{0%{opacity:0;transform:translate(18px,34px)rotate(-4deg)scale(.9)}}.hero-art div span{letter-spacing:.1em;color:#fff;background:#121413b3;border-radius:99px;padding:2px 7px;font-size:8.5px;font-weight:800;position:absolute;top:8px;left:8px}.brand-card{text-align:left;border-radius:var(--radius-lg);background:var(--surface);width:100%;box-shadow:inset 0 0 0 1px var(--border), var(--shadow-sm);transition:transform .45s var(--spring);border:0;align-items:center;gap:14px;padding:14px;display:flex}.brand-card:active{transition-duration:.1s;transform:scale(.985)}.brand-card .logo-box{background:var(--surface-2);width:56px;height:56px;color:var(--accent);border-radius:16px;flex:none;place-items:center;display:grid;overflow:hidden}.brand-card .logo-box img{object-fit:contain;max-width:80%;max-height:80%}.brand-card strong{font-size:15px;display:block}.brand-card small{color:var(--text-3);font-size:13px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.project-card{text-align:left;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border), var(--shadow-sm);transition:transform .45s var(--spring), box-shadow .3s var(--ease);border:0;border-radius:20px;padding:0;display:grid;position:relative;overflow:hidden}.project-card:active{transition-duration:.1s;transform:scale(.97)}@media (hover:hover){.project-card:hover,.brand-card:hover{box-shadow:inset 0 0 0 1px var(--border), var(--shadow-md)}}.project-thumb{aspect-ratio:4/5;background:var(--surface-2);display:flex;position:relative;overflow:hidden}.project-thumb img{object-fit:cover;width:100%;height:100%}.project-thumb.split img{width:50%}.project-thumb .pill{height:24px;padding:0 9px;font-size:11px;position:absolute;bottom:8px;left:8px}.project-info{gap:1px;padding:10px 12px 12px;display:grid}.project-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:750;overflow:hidden}.project-date{color:var(--text-3);font-size:12px}.project-menu{position:absolute;top:8px;right:8px}.bg-strip{scrollbar-width:none;margin:0 calc(-1 * var(--gutter));padding:2px var(--gutter) 4px;gap:10px;display:flex;overflow-x:auto}.bg-strip::-webkit-scrollbar{display:none}.bg-strip .bg-tile{flex:none;width:86px}.empty{text-align:center;color:var(--text-2);border-radius:var(--radius-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);justify-items:center;gap:10px;padding:30px 18px;display:grid}.empty-icon{background:var(--surface-2);width:60px;height:60px;color:var(--text-3);border-radius:20px;place-items:center;display:grid}.empty strong{color:var(--text);font-size:16px}.photo-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid;position:relative}.photo-card{aspect-ratio:3/4;border-radius:var(--radius-lg);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--border-strong);transition:transform .2s var(--ease), box-shadow .2s;border:0;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.photo-card.empty-slot{background:repeating-linear-gradient(135deg, transparent 0 10px, color-mix(in srgb, var(--surface-2) 70%, transparent) 10px 20px), var(--surface)}.photo-card.dragging{box-shadow:inset 0 0 0 2px var(--primary), 0 0 0 5px var(--primary-soft)}.photo-card.filled{box-shadow:var(--shadow-md)}button.photo-card:active{transform:scale(.98)}.photo-card>img{object-fit:cover;width:100%;height:100%}.photo-card .slot-tag{position:absolute;top:10px;left:10px}.photo-card .slot-status{display:flex;position:absolute;bottom:10px;left:10px;right:10px}.photo-card .slot-replace{justify-content:center;width:28px;padding:0;position:absolute;top:10px;right:10px}.photo-empty{text-align:center;color:var(--text-2);justify-items:center;gap:10px;padding:16px;font-size:13px;font-weight:600;display:grid}.photo-empty strong{color:var(--text);font-size:15px}.photo-empty .plus{background:var(--primary-soft);width:54px;height:54px;color:var(--primary);border-radius:18px;place-items:center;display:grid}.swap-fab{z-index:3;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.swap-fab:active{transform:translate(-50%,-50%)scale(.92)}.scanning:after{content:"";pointer-events:none;background:linear-gradient(#0000,#9cdcb480,#0000);height:40%;animation:1.7s ease-in-out infinite scan;position:absolute;top:-40%;left:0;right:0}@keyframes scan{to{top:100%}}.error-banner{background:var(--danger-soft);color:var(--danger);border-radius:16px;align-items:flex-start;gap:10px;padding:13px 15px;font-size:14px;font-weight:600;display:flex}.bg-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px;display:grid}.bg-tile{text-align:left;background:0 0;border:0;gap:7px;min-width:0;padding:0;display:grid}.bg-thumb{aspect-ratio:1;background-color:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border);transition:box-shadow .2s var(--ease), transform .2s var(--ease);background-position:50%;background-size:cover;border-radius:16px;position:relative}.bg-tile[aria-pressed=true] .bg-thumb{box-shadow:0 0 0 2.5px var(--bg), 0 0 0 5px var(--primary)}.bg-tile:active .bg-thumb{transform:scale(.97)}.bg-name{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.bg-check{background:var(--primary);width:24px;height:24px;color:var(--on-primary);box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:7px;left:7px}.fav-btn{color:#3a3d3b;background:#ffffffe0;border:0;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:6px;right:6px;box-shadow:0 1px 3px #00000026}.fav-btn.on{color:#b8872f}.add-tile{aspect-ratio:1;color:var(--primary);background:var(--primary-soft);border-radius:16px;align-content:center;place-items:center;gap:6px;font-size:12px;font-weight:750;display:grid}.checker{background-color:#fff;background-image:linear-gradient(45deg,#ece9e3 25%,#0000 25%),linear-gradient(-45deg,#ece9e3 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ece9e3 75%),linear-gradient(-45deg,#0000 75%,#ece9e3 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.logo-list{gap:10px;display:grid}.logo-item{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);border-radius:20px;align-items:center;gap:14px;padding:12px;display:flex}.logo-item.default{box-shadow:inset 0 0 0 1.5px var(--primary), 0 0 0 4px var(--primary-soft)}.logo-preview{border-radius:14px;flex:none;place-items:center;width:92px;height:64px;display:grid;overflow:hidden}.logo-preview.dark-bg{background:#1c1f1d}@media (width<=380px){.logo-preview.dark-bg{display:none}}.logo-preview img{object-fit:contain;max-width:84%;max-height:76%}.logo-picker{scrollbar-width:none;margin:0 calc(-1 * var(--gutter));padding:4px var(--gutter);gap:10px;display:flex;overflow-x:auto}.logo-option{width:96px;height:68px;box-shadow:inset 0 0 0 1px var(--border-strong);border:0;border-radius:16px;flex:none;place-items:center;padding:0;display:grid;overflow:hidden}.logo-option[aria-pressed=true]{box-shadow:0 0 0 2.5px var(--bg), 0 0 0 5px var(--primary)}.logo-option img{object-fit:contain;max-width:80%;max-height:70%}.dropzone{border-radius:var(--radius-lg);text-align:center;width:100%;color:var(--text-2);background:repeating-linear-gradient(135deg, transparent 0 10px, color-mix(in srgb, var(--surface-2) 70%, transparent) 10px 20px), var(--surface);box-shadow:inset 0 0 0 1.5px var(--border-strong);border:0;justify-items:center;gap:10px;padding:26px 18px;display:grid}.dropzone.dragging{box-shadow:inset 0 0 0 2px var(--primary), 0 0 0 5px var(--primary-soft)}.dropzone .plus{background:var(--primary-soft);width:52px;height:52px;color:var(--primary);border-radius:17px;place-items:center;display:grid}.dropzone strong{color:var(--text);font-size:15px}.position-board{aspect-ratio:4/5;background:var(--surface-2);width:132px;box-shadow:inset 0 0 0 1px var(--border);border-radius:16px;flex:none;position:relative}.position-board button{width:34px;height:34px;color:var(--text-3);background:0 0;border:0;border-radius:11px;place-items:center;margin:-17px 0 0 -17px;display:grid;position:absolute}.position-board button span{opacity:.45;width:12px;height:12px;transition:all .2s var(--ease);background:currentColor;border-radius:4px}.position-board button[aria-pressed=true]{color:var(--primary)}.position-board button[aria-pressed=true] span{opacity:1;width:22px;height:14px}.list{border-radius:var(--radius-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);overflow:hidden}.list-row{text-align:left;background:0 0;border:0;align-items:center;gap:14px;width:100%;min-height:58px;padding:12px 16px;font-size:15px;font-weight:650;display:flex}.list-row+.list-row{box-shadow:inset 0 1px 0 var(--border)}button.list-row{transition:background .25s}button.list-row:active{background:var(--surface-2);transition-duration:50ms}.list-row:disabled{cursor:default;opacity:1}.list-icon{background:var(--surface-2);width:36px;height:36px;color:var(--text-2);border-radius:11px;flex:none;place-items:center;display:grid}.list-row .meta{color:var(--text-3);text-align:right;margin-left:auto;font-size:13px;font-weight:650}.list-row.danger{color:var(--danger)}.list-row.danger .list-icon{background:var(--danger-soft);color:var(--danger)}.soon{letter-spacing:.06em;text-transform:uppercase;background:var(--surface-2);color:var(--text-3);border-radius:99px;padding:3px 8px;font-size:11px;font-weight:800}.storage-bar{background:var(--surface-2);border-radius:99px;height:8px;overflow:hidden}.storage-bar span{border-radius:inherit;background:var(--primary);height:100%;display:block}@media (pointer:coarse){html.sheet-open,html.sheet-open body{overflow:hidden}}.sheet-layer{z-index:50;position:fixed;inset:0}.sheet-layer.closing{pointer-events:none}.sheet-backdrop{-webkit-backdrop-filter:blur(3px);opacity:calc(1 - var(--drag-ratio,0));touch-action:none;background:#080a0973;transition:opacity .26s;animation:.3s fade-in;position:absolute;inset:0}.sheet{left:0;right:0;bottom:var(--keyboard,0px);width:100%;max-width:var(--app-width);max-height:calc(var(--viewport,100dvh) - max(var(--safe-top), 12px) - 12px);background:var(--surface);box-shadow:var(--shadow-lg);transform:translateY(var(--drag,0px));animation:sheet-in .5s var(--ease-sheet);transition:transform .3s var(--ease-sheet), bottom .25s var(--ease), max-height .25s var(--ease);border-radius:28px 28px 0 0;flex-direction:column;margin:0 auto;display:flex;position:absolute}.sheet-layer[data-dragging] .sheet,.sheet-layer[data-dragging] .sheet-backdrop{transition:none}.sheet-layer.closing .sheet{animation:none;transform:translateY(100%)}.sheet-layer.closing .sheet-backdrop{opacity:0;animation:none}.sheet-head{touch-action:none;border-radius:28px 28px 0 0;flex:none;gap:14px;padding:10px 20px 0;transition:box-shadow .2s;display:grid}.sheet-head[data-scrolled]{box-shadow:0 1px 0 var(--border)}.sheet-handle{background:var(--surface-3);border-radius:99px;width:40px;height:5px;margin:0 auto}.sheet-bar{align-items:center;gap:10px;min-height:32px;display:flex}.sheet-title{letter-spacing:-.02em;flex:1;min-width:0;font-size:19px;font-weight:800;line-height:1.3}.sheet-bar .icon-btn{background:var(--surface-2);width:32px;height:32px;color:var(--text-2);box-shadow:none}.sheet-bar .icon-btn:first-child{margin-left:-4px}.sheet-body{min-height:0;padding:16px 20px calc(var(--safe-bottom) + 20px);overscroll-behavior:contain;flex:0 auto;align-content:start;gap:16px;display:grid;overflow:hidden auto}.sheet-layer[data-keyboard] .sheet-body{padding-bottom:16px}.sheet-actions{gap:10px;display:grid}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{transform:translateY(100%)}}.app-content{display:contents}.busy-backdrop{z-index:55;padding:16px;padding-bottom:calc(16px + var(--safe-bottom));-webkit-backdrop-filter:blur(3px);touch-action:none;background:#080a0973;place-items:center;animation:.22s fade-in;display:grid;position:fixed;inset:0}.busy-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(340px,100%);color:var(--text);text-align:center;box-shadow:var(--shadow-lg);animation:busy-in .55s var(--spring) both;justify-items:center;gap:6px;padding:26px 20px 20px;display:grid}.busy-icon{background:var(--primary-soft);width:56px;height:56px;color:var(--primary);border-radius:50%;place-items:center;margin-bottom:8px;animation:2.4s ease-in-out infinite busy-breathe;display:grid;position:relative}.busy-icon:after{content:"";background:conic-gradient(from 0deg, transparent 0deg, color-mix(in srgb, var(--primary) 15%, transparent) 120deg, var(--primary) 340deg, transparent 360deg);border-radius:50%;animation:1.1s linear infinite spin;position:absolute;inset:-6px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px))}@keyframes busy-breathe{50%{box-shadow:0 0 0 10px color-mix(in srgb, var(--primary) 9%, transparent)}}.busy-progress{background:var(--surface-2);border-radius:99px;width:min(220px,80%);height:4px;margin:8px 0 2px;position:relative;overflow:hidden}.busy-progress>span{border-radius:inherit;background:var(--primary);transform-origin:0;height:100%;transition:transform .5s linear;display:block}.busy-progress:after{content:"";background:linear-gradient(90deg,#0000,#ffffff80,#0000);animation:1.7s ease-in-out infinite busy-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes busy-shimmer{to{transform:translate(100%)}}.busy-card strong{font-size:17px}.busy-step{color:var(--text-2);font-size:15px;line-height:1.4}.busy-time{color:var(--text-3);margin-bottom:10px;font-size:13px}@keyframes busy-in{0%{opacity:0;transform:translateY(12px)scale(.94)}}.toaster{left:50%;top:calc(var(--safe-top) + 62px);z-index:60;pointer-events:none;gap:8px;width:calc(100% - 40px);max-width:440px;display:grid;position:fixed;transform:translate(-50%)}.toast{color:#f4f4f0;box-shadow:var(--shadow-lg);animation:toast-in .55s var(--spring) both;pointer-events:auto;background:#1b1e1c;border-radius:16px;align-items:center;gap:10px;padding:13px 16px;font-size:14px;font-weight:650;display:flex}.toast.leaving{animation:toast-out .26s var(--ease-in) both}.toast.error{background:#3b1712}.toast svg{flex:none}@keyframes toast-in{0%{opacity:0;transform:translateY(-16px)scale(.95)}}@keyframes toast-out{to{opacity:0;transform:translateY(-10px)scale(.97)}}.success-burst{text-align:center;justify-items:center;gap:8px;display:grid}.success-mark{width:72px;height:72px;animation:success-pop .6s var(--spring) both;margin-bottom:4px;position:relative}.success-mark svg{width:100%;height:100%;display:block;overflow:visible}.success-circle{fill:var(--success-soft);stroke:var(--success);stroke-width:3px;stroke-dasharray:183;stroke-dashoffset:183px;transform-origin:50%;animation:draw .6s var(--ease) .1s forwards;transform:rotate(-90deg)}.success-check{fill:none;stroke:var(--success);stroke-width:4.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:37;stroke-dashoffset:37px;animation:draw .4s var(--ease) .5s forwards}.success-mark:before{content:"";box-shadow:0 0 0 2px var(--success);opacity:0;animation:halo .9s var(--ease) .55s;border-radius:50%;position:absolute;inset:0}.success-mark i{background:var(--accent);opacity:0;width:6px;height:6px;animation:spark .85s var(--ease) calc(.55s + var(--delay)) both;border-radius:50%;margin:-3px;position:absolute;top:50%;left:50%}.success-mark i:nth-child(odd){background:var(--success)}@keyframes success-pop{0%{transform:scale(.6)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes halo{0%{opacity:.55;transform:scale(.95)}to{opacity:0;transform:scale(1.75)}}@keyframes spark{0%{opacity:0;transform:rotate(var(--angle)) translateY(-28px) scale(.3)}25%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(-46px) scale(1)}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.compare-stage{width:100%;height:100%;box-shadow:var(--shadow-lg);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:#161816;border-radius:14px;position:relative;overflow:hidden}.compare-stage:active{cursor:grabbing}.compare-stage:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.compare-stage.is-adjusting{cursor:move;box-shadow:0 0 0 3px var(--accent), var(--shadow-lg)}.compare-stage.is-wipe{cursor:ew-resize}.compare-stage canvas{width:100%;height:100%;display:block}.compare-stage .stage-chip{pointer-events:none;text-transform:uppercase;letter-spacing:.03em;position:absolute;bottom:10px}.compare-stage .stage-chip.left{left:10px}.compare-stage .stage-chip.right{right:10px}.compare-stage-loading{color:#d8d4cb;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.muted.small{margin:0;font-size:13px;line-height:1.45}.nowrap{white-space:nowrap}.step{--gutter:16px;height:100dvh;padding:0 var(--gutter);flex-direction:column;gap:12px;display:flex;overflow:hidden}@keyframes step-in{0%{opacity:0}}.step-head{padding-top:calc(var(--safe-top) + 8px);flex:none;gap:10px;display:grid}.step-head-row{grid-template-columns:minmax(max-content,1fr) minmax(0,max-content) minmax(max-content,1fr);align-items:center;gap:8px;display:grid}.step-head-side{align-items:center;min-width:0;display:flex}.step-head-side.end{justify-content:flex-end}.step-title{text-align:center;letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:clamp(15px,4.2vw,17px);font-weight:800;overflow:hidden}.stepper-row{align-items:center;gap:10px;display:flex}.stepper-row .stepper-bars{flex:1}.step-count{color:var(--text-3);font-variant-numeric:tabular-nums;flex:none;font-size:12px;font-weight:750}.step-stage{border-radius:var(--radius-xl);background-color:var(--stage);background-image:radial-gradient(var(--stage-dot) 1.2px, transparent 1.2px);background-size:14px 14px;flex:1 1 0;grid-template:minmax(0,1fr)/minmax(0,1fr);min-height:0;padding:12px;display:grid;position:relative;overflow:hidden}.step-stage.plain{background:0 0;border-radius:0;padding:0;overflow:visible}.fit-box{place-items:center;min-width:0;min-height:0;display:grid;position:relative;container-type:size}.step-controls{flex:none;gap:10px;display:grid}.step-foot{padding-bottom:calc(var(--safe-bottom) + 14px);flex:none;gap:10px;display:flex}.step-foot>.btn{flex:1}.step-foot>.btn-square{flex:none}@media (height<=540px){.step{height:auto;min-height:100dvh;overflow:visible}.step-stage{flex:none;height:max(300px,82dvh)}}.preview-frame{width:min(100cqw, calc(100cqh * var(--ar)));aspect-ratio:var(--ar);position:relative}.preview-frame canvas{width:100%;height:100%;box-shadow:var(--shadow-lg);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:12px;display:block}.preview-frame.interactive canvas{cursor:grab}.preview-frame.interactive canvas:active{cursor:grabbing}.compare-frame{aspect-ratio:3/4;width:min(100cqw,75cqh);position:relative}.frame-layer{pointer-events:none;position:absolute;inset:0}.frame-layer>*{pointer-events:auto}.frame-corner{max-width:calc(100% - 64px);position:absolute;top:10px}.frame-corner.left{left:10px}.frame-corner.right{right:10px}.frame-corner .pill{text-overflow:ellipsis;max-width:100%;overflow:hidden}.frame-bottom{pointer-events:none;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.frame-card{color:#fff;text-align:center;-webkit-backdrop-filter:blur(3px);background:#121413a8;border-radius:14px;align-content:center;place-items:center;gap:8px;padding:20px;display:grid;position:absolute;inset:0}.frame-card strong{font-size:16px}.frame-card small{color:#ffffffd1;max-width:280px;font-size:13px;line-height:1.45}.frame-card .row{flex-wrap:wrap;justify-content:center;margin-top:6px}.pill.on-media.warn{background:#9a6512e0}button.pill{cursor:pointer;border:0}.status-line{align-items:center;gap:10px;min-height:42px;font-size:14px;font-weight:650;line-height:1.35;display:flex}.status-line>svg{flex:none}.status-line.ok>svg{color:var(--success)}.status-line.warn>svg{color:var(--warning)}.status-line.info>svg{color:var(--primary)}.status-line small{color:var(--text-3);font-size:12.5px;font-weight:550;display:block}.status-line .btn{flex:none}.segmented.small{--pad:3px;border-radius:14px}.segmented.small .segmented-thumb{border-radius:11px}.segmented.small button{border-radius:11px;gap:6px;min-height:36px;padding:4px 8px;font-size:13.5px}.chip.icon-only{justify-content:center;width:38px;padding:0}.chips .chip-sep{background:var(--border-strong);flex:none;width:1px;margin:6px 2px}.tool-panel{align-content:center;gap:10px;height:124px;display:grid}.tool-panel.dense{gap:4px}.tool-panel.enter-right{animation:panel-from-right .34s var(--ease) both}.tool-panel.enter-left{animation:panel-from-left .34s var(--ease) both}@keyframes panel-from-right{0%{opacity:0;transform:translate(18px)}}@keyframes panel-from-left{0%{opacity:0;transform:translate(-18px)}}.note.one-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.row-label{align-items:center;gap:10px;display:flex}.row-label>span:first-child{color:var(--text-2);flex:none;font-size:13px;font-weight:750}.fade-row{min-height:40px;color:var(--text-2);align-items:center;gap:12px;font-size:13px;font-weight:750;display:flex}.adjust-row{justify-content:space-between;align-items:center;gap:8px;min-height:40px;display:flex}.adjust-row .group{color:var(--text-2);align-items:center;gap:8px;font-size:13px;font-weight:750;display:flex}.hint-line{text-align:center;min-height:40px;color:var(--text-3);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.hold-btn{touch-action:manipulation;-webkit-user-select:none;user-select:none;width:40px;height:40px}.models{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.model{background:var(--surface-2);min-height:60px;color:var(--text-2);text-align:center;border:0;border-radius:14px;align-content:center;justify-items:center;gap:4px;padding:6px 4px;font-size:11.5px;font-weight:700;line-height:1.15;display:grid}.model small{color:var(--text-3);font-size:10.5px;font-weight:650}.model[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 0 0 1.5px var(--primary)}.model-art{background:var(--surface-3);border-radius:5px;gap:2px;width:34px;height:26px;padding:3px;display:grid}.model-art.side{grid-template-columns:1fr 1fr}.model-art.stacked{grid-template-rows:1fr 1fr}.model-art.full{gap:1px;padding:0;overflow:hidden}.model-art i{background:var(--primary);opacity:.6;border-radius:2px}.model-art.full i{border-radius:0}.bg-strip .bg-tile{width:64px}.bg-strip .bg-thumb{border-radius:14px}.bg-strip .bg-name{font-size:11px}.bg-strip .add-tile{border-radius:14px;align-self:start;gap:3px;width:64px;height:64px;font-size:11px}.note{color:var(--text-3);font-size:12.5px;line-height:1.4}.note .link-btn{padding:0;font-size:12.5px}.slider-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.slider-pair .field{gap:2px}.slider-pair .field-label{font-size:13px}.export-row{min-height:42px;color:var(--text-2);justify-content:space-between;align-items:center;gap:12px;font-size:13.5px;font-weight:700;display:flex}.photo-slots.fit{width:min(100cqw,112.5cqh + 12px)}.photo-slots.fit .photo-card{aspect-ratio:9/16}.tips-list{color:var(--text-2);gap:10px;margin:0;padding-left:20px;font-size:15px;line-height:1.45;display:grid}.model-label{display:grid}.swatches.row-strip{scrollbar-width:none;margin:0 calc(-1 * var(--gutter));padding:4px var(--gutter);flex-wrap:nowrap;gap:10px;overflow-x:auto}.swatches.row-strip::-webkit-scrollbar{display:none}.swatches.row-strip .swatch{flex:none;width:36px;height:36px}.options-empty{background:var(--surface-2);min-height:82px;color:var(--text-3);text-align:center;border-radius:16px;place-items:center;padding:0 16px;font-size:13px;font-weight:650;display:grid}.export-row .switch-row{gap:12px;min-height:0}.export-row .switch-row .text{font-size:14px}.tabs{border-bottom:1px solid var(--border);gap:4px;display:flex;position:relative}.tabs-glider{width:calc((100% - (var(--count) - 1) * 4px) / var(--count));height:3px;transform:translateX(calc(var(--index) * (100% + 4px)));transition:transform .45s var(--spring-soft);pointer-events:none;position:absolute;bottom:-1px;left:0}.tabs-glider:before{content:"";background:var(--primary);border-radius:3px 3px 0 0;position:absolute;inset:0 18%}.tabs button{min-height:38px;color:var(--text-3);background:0 0;border:0;flex:1;padding:4px 6px 8px;font-size:14px;font-weight:750;transition:color .2s;position:relative}.tabs button[aria-selected=true]{color:var(--text)}.chips .strip-label{color:var(--text-3);flex:none;align-self:center;padding-right:2px;font-size:12.5px;font-weight:750}.chip .dot{border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0000002e}.credit-pill{background:var(--surface);height:36px;color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong), var(--shadow-sm);font-variant-numeric:tabular-nums;letter-spacing:-.01em;cursor:pointer;transition:transform .16s var(--ease), background .2s, color .2s;border:0;border-radius:99px;flex:none;align-items:center;gap:6px;padding:0 5px 0 11px;font-size:15px;font-weight:800;display:inline-flex;position:relative}.credit-pill:active{transform:scale(.96)}.credit-pill>svg{color:var(--accent)}.credit-slot{display:inline-block;overflow:visible clip}.credit-pill .credit-value{min-width:1ch;display:inline-block;position:relative}.credit-pill .credit-value.roll.up{animation:roll-up .6s var(--spring) both}.credit-pill .credit-value.roll.down{animation:roll-down .6s var(--spring) both}.credit-pill .credit-value.roll:before{content:attr(data-from);position:absolute;left:0}.credit-pill .credit-value.roll.up:before{top:-100%}.credit-pill .credit-value.roll.down:before{top:100%}@keyframes roll-up{0%{transform:translateY(100%)}}@keyframes roll-down{0%{transform:translateY(-100%)}}.credit-pill .credit-add{background:var(--primary);width:26px;height:26px;color:var(--on-primary);border-radius:50%;place-items:center;display:grid}.credit-pill.signed-out{padding:0 14px 0 11px;font-size:14px}.credit-pill.low{background:var(--warning-soft);color:var(--warning);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--warning) 30%, transparent)}.credit-pill.low>svg{color:var(--warning)}.step-head .credit-pill{height:34px;padding:0 12px 0 10px}.step-head .credit-pill .credit-add{display:none}.credit-delta{pointer-events:none;animation:credit-delta 1.8s var(--ease) forwards;border-radius:99px;padding:1px 6px;font-size:11.5px;font-weight:800;position:absolute;top:-10px;right:6px}.credit-delta.down{background:var(--text);color:var(--bg)}.credit-delta.up{background:var(--success);color:#fff}@keyframes credit-delta{0%{opacity:0;transform:translateY(6px)}12%{opacity:1;transform:translateY(0)}75%{opacity:1;transform:translateY(-4px)}to{opacity:0;transform:translateY(-12px)}}.chip-cost{background:var(--accent-soft);color:var(--accent);font-variant-numeric:tabular-nums;border-radius:99px;align-items:center;gap:2px;margin-right:-6px;padding:2px 7px 2px 5px;font-size:12px;font-weight:800;display:inline-flex}.frame-card.choose{gap:10px}.choose-actions{gap:10px;width:min(280px,100%);margin-top:6px;display:grid}.choose-actions .btn{padding:0 16px}.busy-credits{max-width:270px;color:var(--accent);margin:-4px 0 12px;font-size:12.5px;font-weight:700;line-height:1.45;display:block}.form-error{color:var(--danger);margin:0;font-size:14px;font-weight:650}.code-input::placeholder{color:var(--surface-3)}.code-input{text-align:center;letter-spacing:.4em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:800}.row.between{justify-content:space-between}.link-btn:disabled{color:var(--text-3);cursor:default}.credit-view{align-content:start;gap:18px;display:grid}.credit-view.enter-right{animation:view-in-right .28s var(--ease)}.credit-view.enter-left{animation:view-in-left .28s var(--ease)}@keyframes view-in-right{0%{opacity:0;transform:translate(24px)}}@keyframes view-in-left{0%{opacity:0;transform:translate(-24px)}}.credit-balance{border-radius:var(--radius);background:var(--accent-soft);align-items:center;gap:14px;padding:14px 12px 14px 14px;display:flex}.credit-balance-icon{background:var(--surface);width:46px;height:46px;color:var(--accent);box-shadow:var(--shadow-sm);border-radius:14px;flex:none;place-items:center;display:grid}.credit-balance strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:850;line-height:1.1}.credit-balance small{color:var(--text-2);text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.credit-need{background:var(--warning-soft);color:var(--warning);border-radius:14px;margin:0;padding:12px 14px;font-size:14.5px;font-weight:750}.credit-section{gap:10px;display:grid}.credit-section h3{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin:0;font-size:13px;font-weight:800}.credit-costs,.credit-history{border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--border);margin:0;padding:0;list-style:none}.credit-costs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.credit-costs li{align-content:start;gap:3px;padding:12px 12px 13px;display:grid}.credit-costs li+li{box-shadow:inset 1px 0 0 var(--border)}.credit-costs b{color:var(--accent);letter-spacing:-.01em;font-size:15px;font-weight:800}.credit-costs span{color:var(--text-2);font-size:12.5px;font-weight:650;line-height:1.3}.credit-history li{align-items:center;gap:12px;min-height:46px;padding:8px 14px;font-size:14.5px;font-weight:650;display:flex}.credit-history li+li{box-shadow:inset 0 1px 0 var(--border)}.credit-history-link{border-radius:var(--radius);background:var(--surface-2);width:100%;min-height:54px;color:var(--text);text-align:left;transition:transform .16s var(--ease);border:0;align-items:center;gap:12px;padding:9px 14px 9px 9px;font-size:15px;font-weight:700;display:flex}.credit-history-link:active{transform:scale(.99)}.credit-history-link .list-icon{background:var(--surface)}.credit-history-link>svg{color:var(--text-3)}.credit-history small{color:var(--text-3);font-size:12.5px;font-weight:550;display:block}.credit-history b{font-variant-numeric:tabular-nums}.credit-history b.up{color:var(--success)}.credit-history b.down{color:var(--text-2)}.packs{gap:8px;display:grid}.pack{border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong);align-items:center;gap:12px;padding:12px 16px;text-decoration:none;display:flex}a.pack:active,button.pack:active:not(:disabled){transform:scale(.99)}button.pack{text-align:left;width:100%;font:inherit;cursor:pointer;border:0}button.pack:disabled{opacity:.7;cursor:default}.pack.featured{box-shadow:inset 0 0 0 2px var(--primary), var(--shadow-sm)}.pack-main{flex:1;gap:2px;min-width:0;display:grid}.pack-name{align-items:center;gap:8px;font-size:16px;font-weight:800;display:flex}.pack-badge{background:var(--primary);color:var(--on-primary);border-radius:99px;padding:2px 8px;font-size:11px;font-weight:800}.pack-credits{color:var(--text-2);align-items:center;gap:4px;font-size:13.5px;font-weight:700;display:inline-flex}.pack-credits svg{color:var(--accent)}.pack-price{letter-spacing:-.02em;font-variant-numeric:tabular-nums;justify-items:end;font-size:18px;font-weight:850;display:grid}.pack-price small{color:var(--text-3);letter-spacing:0;font-size:11.5px;font-weight:650}.skeleton{background:var(--surface-2);border-radius:7px;width:64px;height:20px;animation:1.3s ease-in-out infinite skeleton-pulse;display:block}@keyframes skeleton-pulse{50%{opacity:.5}}.inline-icon{vertical-align:-2px}.list-icon.credit{background:var(--accent-soft);color:var(--accent)}.legal-doc{padding-bottom:calc(var(--safe-bottom) + 32px);color:var(--text-2);gap:12px;font-size:15px;line-height:1.6;display:grid}.legal-doc .title-lg{color:var(--text)}.legal-doc h2{letter-spacing:-.01em;color:var(--text);margin:14px 0 0;font-size:16px;font-weight:800}.legal-doc p,.legal-doc ul{margin:0}.legal-doc ul{gap:6px;padding-left:20px;display:grid}.legal-action{border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);gap:10px;padding:14px;display:grid}.link-btn.inline{font-size:inherit;padding:0;font-weight:700;text-decoration:underline;display:inline}.report-reasons{border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--border);display:grid;overflow:hidden}.report-reason{cursor:pointer;align-items:center;gap:12px;min-height:50px;padding:10px 14px;font-size:15px;font-weight:650;display:flex}.report-reason+.report-reason{box-shadow:inset 0 1px 0 var(--border)}.report-reason input{width:20px;height:20px;accent-color:var(--primary);margin:0}.consent-list{color:var(--text-2);gap:8px;margin:0;padding-left:20px;font-size:14.5px;line-height:1.5;display:grid}.home-foot{color:var(--text-3);text-align:center;justify-items:center;gap:4px;margin-top:8px;font-size:12.5px;display:grid}.home-foot .link-btn.inline{color:var(--text-2);font-weight:650;text-decoration:none}
