@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/08f3d05b771d66cc-s.02.3m.z9py4_p.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/413670c8b897121b-s.p.14ap8~zrl6szq.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/72b93e0389b54497-s.0.u5885n6nh5m.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ab8c2f9dfe50fb3c-s.p.02z9z4k9hf4m9.woff2)format("woff2");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}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/57f2d0e8dd065b18-s.0weekw4rtjj~..woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/966a1ae9b0187c65-s.p.16f3t..oolz7~.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/25d906941e607a44-s.0lxz35w72rj-1.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/666deae7c569669f-s.p.0wbhs3.w672uy.woff2)format("woff2");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}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(../media/cce0da533fe89a78-s.0nlsrqwh8q3p8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(../media/411573def610439a-s.p.0xiiz24wsq24s.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0f35197ba25d2b5b-s.0btkb4ac4ikdr.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e4b5e1d5de235207-s.p.0agc93klb0f7e.woff2)format("woff2");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}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(../media/cdf71b3840042aba-s.0u7tcimkd~9n1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(../media/86fee4a10e2832ea-s.p.0yseaop5hit0-.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b1ef0ab36ab59f4e-s.0j0xf~qrmsfka.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9fdf3a539c009271-s.p.07ns-dtj7gzka.woff2)format("woff2");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}@font-face{font-family:IBM Plex Sans Thai Fallback;src:local(Arial);ascent-override:110.31%;descent-override:52.78%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_thai_514143d0-module__CjwZyG__className{font-family:IBM Plex Sans Thai,IBM Plex Sans Thai Fallback;font-style:normal}.ibm_plex_sans_thai_514143d0-module__CjwZyG__variable{--font-plex:"IBM Plex Sans Thai", "IBM Plex Sans Thai Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");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}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_74680ea-module__Yhtzuq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_74680ea-module__Yhtzuq__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f7f8fc;--color-surface:#fff;--color-surface-2:#eef1f8;--color-text:#1b2035;--color-text-muted:#5b6380;--color-border:#dde2ee;--color-primary:#3d5af1;--color-primary-hover:#2f49d6;--color-primary-contrast:#fff;--color-primary-soft:#e6eaff;--color-accent:#12b5a6;--color-success:#15935a;--color-success-soft:#dcf5e8;--color-warning:#b26a00;--color-warning-soft:#fff1d6;--color-danger:#d23b3b;--color-danger-soft:#fde4e4;--color-skeleton:#e4e8f2;--color-input-border:#c9d0e2;--color-input-focus-bg:#fbfcff;--color-primary-ring:#3d5af12e;--color-primary-ring-strong:#3d5af173;--font-sans:var(--font-plex), "IBM Plex Sans Thai", "Noto Sans Thai", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:clamp(2rem, 5vw, 3rem);--leading:1.65;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--radius-sm:8px;--radius:14px;--radius-lg:22px;--radius-pill:999px;--shadow-sm:0 1px 2px #1b20350f;--shadow:0 6px 24px #1b203514;--container:1120px;--header-h:64px;--transition:.18s ease}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0f1220;--color-surface:#181c2e;--color-surface-2:#21263b;--color-text:#e8eaf4;--color-text-muted:#a0a7c2;--color-border:#2d3350;--color-primary:#7b91ff;--color-primary-hover:#95a6ff;--color-primary-contrast:#0f1220;--color-primary-soft:#262d52;--color-accent:#3fd8c8;--color-success:#4fd18f;--color-success-soft:#173a2a;--color-warning:#f4b552;--color-warning-soft:#3b2e14;--color-danger:#ff7a7a;--color-danger-soft:#3f1d22;--color-skeleton:#262b42;--color-input-border:#3a4163;--color-input-focus-bg:#1c2135;--color-primary-ring:#7b91ff40;--color-primary-ring-strong:#7b91ff8c;--shadow-sm:0 1px 2px #0000004d;--shadow:0 8px 28px #00000059}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--space-4))}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;transition:background-color var(--transition), color var(--transition);margin:0}img{max-width:100%;display:block}a{color:var(--color-primary)}h1,h2,h3{margin:0 0 var(--space-3);line-height:1.3}p{margin:0 0 var(--space-4)}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.container{width:100%;max-width:var(--container);padding:0 var(--space-4);margin:0 auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--color-text-muted)}.icon{vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:1.15em;height:1.15em;transition:transform .2s}.icon-btn .icon{width:20px;height:20px}.icon-end{opacity:.6;width:.9em;height:.9em;margin-left:auto}.btn:hover .icon-slide,a:hover>.icon-slide{transform:translate(3px)}.btn:hover .icon-fly{transform:translate(2px,-2px)rotate(-8deg)}.icon-spin-in{animation:.42s cubic-bezier(.34,1.56,.64,1) icon-spin-in}@keyframes icon-spin-in{0%{opacity:0;transform:rotate(-120deg)scale(.4)}}@media (prefers-reduced-motion:reduce){.icon{transition:none}.icon-spin-in{animation:none}.btn:hover .icon-slide,a:hover>.icon-slide,.btn:hover .icon-fly{transform:none}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);font:inherit;cursor:pointer;transition:background-color var(--transition), border-color var(--transition), color var(--transition);border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-primary-contrast)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-outline{border-color:var(--color-border);color:var(--color-text);background:0 0}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-danger{border-color:var(--color-danger);color:var(--color-danger);background:0 0}.btn-danger:hover{background:var(--color-danger-soft)}.btn{isolation:isolate;transition:background-color var(--transition), border-color var(--transition), color var(--transition), transform .16s ease, box-shadow .16s ease;position:relative;overflow:hidden}.btn:hover{box-shadow:0 8px 18px -8px color-mix(in srgb, var(--color-text) 35%, transparent);transform:translateY(-2px)}.btn-primary:hover{box-shadow:0 10px 22px -8px var(--color-primary)}.btn:active{box-shadow:none;transition-duration:60ms;transform:translateY(0)scale(.96)}.ripple{z-index:-1;opacity:.28;pointer-events:none;background:currentColor;border-radius:50%;animation:.6s ease-out forwards ripple;position:absolute;transform:scale(0)}@keyframes ripple{to{opacity:0;transform:scale(1)}}.icon-btn,.chip{transition:border-color var(--transition), background-color var(--transition), color var(--transition), transform .16s ease}.icon-btn:hover,.chip:hover{transform:translateY(-1px)}.icon-btn:active,.chip:active{transform:scale(.9)}.icon-btn.is-popping,.chip.is-popping{animation:.38s cubic-bezier(.34,1.56,.64,1) btn-pop}@keyframes btn-pop{0%{box-shadow:0 0 0 0 var(--color-primary-ring-strong);transform:scale(.85)}60%{transform:scale(1.08);box-shadow:0 0 0 8px #0000}to{transform:scale(1);box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.btn:hover,.btn:active,.icon-btn:hover,.icon-btn:active,.chip:hover,.chip:active{transform:none}.icon-btn.is-popping,.chip.is-popping{animation:none}}.btn-sm{min-height:34px;padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.btn-block{width:100%}.icon-btn{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);width:42px;height:42px;color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex}.icon-btn:hover{border-color:var(--color-primary)}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field label{font-weight:600;font-size:var(--text-sm)}.field .hint{font-size:var(--text-xs);color:var(--color-text-muted)}.field label{transition:color var(--transition)}.field:focus-within label{color:var(--color-primary)}.input,.select,.textarea{width:100%;min-height:46px;padding:var(--space-2) var(--space-4);border:2px solid var(--color-input-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text);font:inherit;transition:border-color var(--transition), box-shadow var(--transition), background-color var(--transition)}.input::placeholder,.textarea::placeholder{color:var(--color-text-muted);opacity:.7}.textarea{resize:vertical;min-height:120px}.input:hover,.select:hover,.textarea:hover{border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-input-border))}.input:focus,.select:focus,.textarea:focus,.select:active{border-color:var(--color-primary);background-color:var(--color-input-focus-bg);box-shadow:0 0 0 4px var(--color-primary-ring);outline:none}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:var(--text-sm)}.alert[hidden]{display:none}.alert-success{background:var(--color-success-soft);color:var(--color-success)}.alert-danger{background:var(--color-danger-soft);color:var(--color-danger)}.alert-info{background:var(--color-primary-soft);color:var(--color-text)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm)}.badge{padding:2px var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-xs);background:var(--color-surface-2);color:var(--color-text-muted);font-weight:600;display:inline-block}.badge-primary{background:var(--color-primary-soft);color:var(--color-primary)}.badge-success{background:var(--color-success-soft);color:var(--color-success)}:root{--neon-violet:#a855f7;--neon-pink:#ec4899;--neon-blue:#3b82f6;--neon-cyan:#22d3ee;--os-topbar-h:40px;--os-dock-space:96px;--font-mono:var(--font-jetbrains), "JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--os-wall-base:#eef0fb;--os-wall-tint:#f6e9ff;--os-orb-opacity:.42;--os-grid-line:#3d5af112;--os-glass:#fff9;--os-glass-strong:#ffffffdb;--os-glass-border:#ffffffbf;--os-on-wall:#1b2035;--os-on-wall-muted:#4c5474;--os-label-shadow:0 1px 2px #ffffffe6;--os-window-border:#1b20351a;--os-window-shadow:0 24px 60px -12px #1b203547, 0 2px 8px #1b203514;--os-bar-bg:var(--color-surface-2)}[data-theme=dark]{--os-wall-base:#070a1a;--os-wall-tint:#170d33;--os-orb-opacity:.5;--os-grid-line:#7b91ff12;--os-glass:#12162a8c;--os-glass-strong:#161a30e0;--os-glass-border:#ffffff1a;--os-on-wall:#eef0ff;--os-on-wall-muted:#a9b0d0;--os-label-shadow:0 1px 3px #000000b3;--os-window-border:#ffffff14;--os-window-shadow:0 30px 80px -10px #000000b3, 0 0 0 1px #7b91ff1a;--os-bar-bg:#1d2238}.os-body{background:var(--os-wall-base);height:100dvh;color:var(--os-on-wall);-webkit-tap-highlight-color:transparent;overflow:hidden}.os-noscript{text-align:center;margin:40vh auto 0;position:relative}.os-badge{letter-spacing:.06em;color:#fff;background:linear-gradient(135deg, var(--neon-violet), var(--neon-blue));border-radius:6px;place-items:center;height:18px;padding:0 6px;font-size:11px;font-weight:700;display:inline-grid}.os-wallpaper{background:radial-gradient(ellipse at 15% 0%, var(--os-wall-tint), transparent 60%), radial-gradient(ellipse at 100% 100%, var(--os-wall-tint), transparent 55%), var(--os-wall-base);transition:background-color .3s;position:fixed;inset:0;overflow:hidden}.os-wall-grid{background-image:linear-gradient(var(--os-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--os-grid-line) 1px, transparent 1px);translate:calc(var(--mx,0) * -10px) calc(var(--my,0) * -10px);background-size:48px 48px;position:absolute;inset:-40px;-webkit-mask-image:radial-gradient(at 50% 55%,#000 20%,#0000 75%);mask-image:radial-gradient(at 50% 55%,#000 20%,#0000 75%)}.os-wall-orb{aspect-ratio:1;filter:blur(90px);width:46vmax;opacity:var(--os-orb-opacity);translate:calc(var(--mx,0) * 24px) calc(var(--my,0) * 24px);border-radius:50%;animation:18s ease-in-out infinite alternate orb-drift;position:absolute}.orb-a{background:var(--neon-violet);top:-18%;left:-12%}.orb-b{background:var(--neon-cyan);animation-duration:22s;animation-delay:-6s;bottom:-24%;right:-10%}.orb-c{background:var(--neon-pink);width:30vmax;opacity:calc(var(--os-orb-opacity) * .6);animation-delay:-11s;top:35%;left:45%}.os-wall-mark{aspect-ratio:1;width:min(34vmin,300px);translate:calc(-50% + var(--mx,0) * 14px) calc(-55% + var(--my,0) * 14px);opacity:.9;place-items:center;display:grid;position:absolute;top:50%;left:50%}.os-wall-mark img{filter:drop-shadow(0 0 24px #a855f773)drop-shadow(0 0 48px #22d3ee40);border-radius:50%;width:100%;height:auto;animation:7s ease-in-out infinite logo-float;position:relative}.os-wall-ring{background:conic-gradient(from 0deg, var(--neon-violet), var(--neon-pink), var(--neon-blue), var(--neon-cyan), var(--neon-violet));filter:blur(22px);opacity:.55;border-radius:50%;animation:14s linear infinite halo-spin;position:absolute;inset:-10%}.os-boot{z-index:100;color:#e9e7ff;cursor:pointer;background:radial-gradient(at 50% 40%,#171040,#05060f 70%);place-items:center;transition:opacity .4s,visibility .4s;display:grid;position:fixed;inset:0}.os-boot.is-done{opacity:0;visibility:hidden}.os-boot-inner{justify-items:center;gap:var(--space-3);text-align:center;display:grid}.os-boot-logo{filter:drop-shadow(0 0 20px #a855f799);border-radius:50%;animation:.7s cubic-bezier(.22,1,.36,1) both boot-in}.os-boot-name{align-items:center;gap:var(--space-2);margin:0;display:flex}.os-boot-name .logo{color:#fff;font-size:var(--text-xl)}.os-boot-name .logo span{color:var(--neon-cyan)}.os-boot-bar{border-radius:var(--radius-pill);background:#ffffff1f;width:200px;height:4px;overflow:hidden}.os-boot-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--neon-violet), var(--neon-pink), var(--neon-cyan));transform-origin:0;width:100%;height:100%;animation:boot-bar var(--boot-ms,1.4s) cubic-bezier(.65, 0, .35, 1) both;display:block}.os-boot-text{min-height:1.6em;font-family:var(--font-mono);font-size:var(--text-xs);color:#a9b0d0;margin:0}.os-boot-skip{margin:var(--space-5) 0 0;font-size:var(--text-xs);color:#fff6}@keyframes boot-in{0%{opacity:0;transform:scale(.7)}}@keyframes boot-bar{0%{transform:scaleX(0)}}.app-icon{--tile:52px;width:var(--tile);height:var(--tile);color:#fff;background:linear-gradient(145deg, var(--a), var(--b));box-shadow:0 8px 18px -8px var(--b), inset 0 1px 0 #ffffff59;border-radius:28%;flex-shrink:0;place-items:center;display:grid;position:relative}.app-icon:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff40,#0000 45%);position:absolute;inset:0}.app-icon .icon{stroke-width:2.2px;width:46%;height:46%}.app-icon img{border-radius:50%;width:82%;height:auto}.app-icon-sm{--tile:24px;box-shadow:none;border-radius:7px}.tone-brand{--a:#1a1440;--b:#0b1026}.tone-violet{--a:#a78bfa;--b:#7c3aed}.tone-blue{--a:#60a5fa;--b:#2563eb}.tone-pink{--a:#f472b6;--b:#c026d3}.tone-green{--a:#34d399;--b:#059669}.tone-amber{--a:#fbbf24;--b:#ea580c}.tone-cyan{--a:#22d3ee;--b:#0284c7}.tone-dark{--a:#334155;--b:#0f172a}.tone-dark .icon{color:#4ade80}.tone-line{--a:#4ade80;--b:#06c755}.tone-slate{--a:#94a3b8;--b:#475569}.os-shell{position:fixed;inset:0}.os-topbar{z-index:50;height:var(--os-topbar-h);align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--os-glass);border-bottom:1px solid var(--os-glass-border);-webkit-backdrop-filter:blur(18px)saturate(1.4);font-size:var(--text-sm);display:flex;position:absolute;top:0;left:0;right:0}.os-brand,.os-menu button,.os-top-btn{height:30px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--os-on-wall);font:inherit;cursor:pointer;transition:background-color var(--transition);background:0 0;border:0;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.os-brand:hover,.os-menu button:hover,.os-top-btn:hover{background:#7f7fa029}.os-brand .logo{font-size:var(--text-sm);color:inherit}.os-shell .logo,.os-boot-name .logo{gap:0}.os-menu{gap:2px;display:flex}.os-menu button{color:var(--os-on-wall-muted)}.os-menu button:hover{color:var(--os-on-wall)}.os-topbar-end{align-items:center;gap:var(--space-1);margin-left:auto;display:flex}.os-top-btn{justify-content:center;width:30px;padding:0}.os-hire{height:28px;margin-right:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-pill);font:inherit;color:#fff;background:linear-gradient(135deg, var(--neon-violet), var(--neon-pink));cursor:pointer;border:0;align-items:center;gap:6px;font-weight:600;transition:transform .16s,box-shadow .16s;display:inline-flex;box-shadow:0 4px 14px -4px #ec489999}.os-hire:hover{transform:translateY(-1px);box-shadow:0 6px 18px -4px #ec4899bf}.os-clock{min-width:9.5em;padding-left:var(--space-2);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.os-desktop{top:var(--os-topbar-h);position:absolute;bottom:0;left:0;right:0}.os-icons{top:var(--space-4);left:var(--space-3);bottom:var(--os-dock-space);gap:var(--space-1);grid-template-rows:repeat(auto-fill,100px);grid-auto-columns:92px;grid-auto-flow:column;margin:0;padding:0;list-style:none;display:grid;position:absolute}.os-icon{width:92px;height:100px;padding:var(--space-2) var(--space-1);border-radius:var(--radius);color:var(--os-on-wall);font:inherit;font-size:var(--text-xs);text-align:center;text-shadow:var(--os-label-shadow);cursor:pointer;transition:background-color var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;align-content:start;justify-items:center;gap:6px;font-weight:500;line-height:1.3;text-decoration:none;display:grid}.os-icon:hover,.os-icon:focus-visible{background:#7f7fb429;border-color:#7f7fb440}.os-icon .app-icon{transition:transform .22s cubic-bezier(.34,1.56,.64,1)}.os-icon:hover .app-icon{transform:translateY(-3px)scale(1.06)}.os-widgets{top:var(--space-4);right:var(--space-4);gap:var(--space-3);width:260px;display:grid;position:absolute}.os-widget{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--os-glass);border:1px solid var(--os-glass-border);-webkit-backdrop-filter:blur(18px)saturate(1.3);color:var(--os-on-wall);box-shadow:0 12px 30px -16px #00000059}.os-widget-title{margin:0 0 var(--space-2);font-size:var(--text-xs);letter-spacing:.04em;color:var(--os-on-wall-muted);font-weight:600}.os-widget-time{letter-spacing:-.02em;font-variant-numeric:tabular-nums;background:linear-gradient(135deg, var(--neon-violet), var(--neon-cyan));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2.6rem;font-weight:700;line-height:1.1;display:block}.os-widget-date{color:var(--os-on-wall-muted);font-size:var(--text-sm)}.os-status{align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);font-weight:600;display:flex}.os-status-dot{background:#22c55e;border-radius:50%;width:10px;height:10px;animation:2s ease-out infinite status-ping;box-shadow:0 0 #22c55e99}.os-widget p{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--os-on-wall-muted)}.os-widget .btn{justify-content:center;width:100%}.os-widget-work{gap:var(--space-3);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:flex}.os-widget-work .work-mini{border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;width:64px;height:48px}.os-widget .work-mini.placeholder{font-size:0}.os-widget-work strong{font-size:var(--text-sm);line-height:1.35;display:block}.os-widget-work small{color:var(--os-on-wall-muted)}@media (max-width:1180px){.os-widgets{display:none}}.os-windows{pointer-events:none;position:absolute;inset:0}.os-window{background:var(--color-surface);min-width:340px;min-height:240px;color:var(--color-text);border:1px solid var(--os-window-border);box-shadow:var(--os-window-shadow);pointer-events:auto;border-radius:14px;outline:none;flex-direction:column;display:flex;position:absolute;overflow:hidden}.os-window:not(.is-active){box-shadow:0 14px 40px -16px #00000059}.os-window.is-active:before{content:"";z-index:2;background:linear-gradient(90deg, var(--neon-violet), var(--neon-pink), var(--neon-cyan));height:2px;position:absolute;top:0;left:0;right:0}.os-window.is-animating{transition:left .24s cubic-bezier(.22,1,.36,1),top .24s cubic-bezier(.22,1,.36,1),width .24s cubic-bezier(.22,1,.36,1),height .24s cubic-bezier(.22,1,.36,1),border-radius .24s}.os-window.is-max{border-radius:10px}.os-window.is-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.os-window-bar{align-items:center;gap:var(--space-2);height:44px;padding:0 var(--space-2) 0 var(--space-3);background:var(--os-bar-bg);border-bottom:1px solid var(--color-border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex-shrink:0;display:flex}.os-window:not(.is-active) .os-window-bar{opacity:.75}.os-window-bar h2{font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-weight:600;overflow:hidden}.os-window-actions{gap:2px;display:flex}.os-wbtn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition), color var(--transition);background:0 0;border:0;place-items:center;display:grid}.os-wbtn .icon{width:16px;height:16px}.os-wbtn:hover{background:var(--color-surface);color:var(--color-text)}.os-wbtn[data-act=close]:hover{background:var(--color-danger);color:#fff}.os-window-body{overscroll-behavior:contain;flex:1;position:relative;overflow:auto;container-type:inline-size}.os-resize{cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg, transparent 50%, var(--color-border) 50%, var(--color-border) 58%, transparent 58%, transparent 70%, var(--color-border) 70%, var(--color-border) 78%, transparent 78%);width:18px;height:18px;position:absolute;bottom:0;right:0}.os-window.is-max .os-resize{display:none}.os-dock{left:50%;bottom:var(--space-3);z-index:40;background:var(--os-glass);border:1px solid var(--os-glass-border);-webkit-backdrop-filter:blur(20px)saturate(1.5);border-radius:22px;align-items:flex-end;gap:6px;padding:8px 10px;display:flex;position:absolute;translate:-50%;box-shadow:0 18px 40px -18px #00000073}.os-dock-sep{background:var(--os-glass-border);align-self:stretch;width:1px;margin:4px}.os-dock-item{cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:transform .22s cubic-bezier(.34,1.56,.64,1);display:grid;position:relative}.os-dock-item .app-icon{--tile:50px}.os-dock-item:hover,.os-dock-item:focus-visible{transform:translateY(-8px)scale(1.12)}.os-dock-item:active{transform:translateY(-4px)scale(1)}.os-dock-tip{border-radius:var(--radius-sm);background:var(--os-glass-strong);border:1px solid var(--os-glass-border);color:var(--os-on-wall);font-size:var(--text-xs);white-space:nowrap;opacity:0;pointer-events:none;padding:3px 10px;transition:opacity .15s,translate .15s;position:absolute;bottom:calc(100% + 12px);left:50%;translate:-50% 4px}.os-dock-item:hover .os-dock-tip,.os-dock-item:focus-visible .os-dock-tip{opacity:1;translate:-50%}.os-dock-dot{background:var(--os-on-wall-muted);opacity:0;border-radius:50%;width:4px;height:4px;transition:opacity .2s,width .2s;position:absolute;bottom:-7px}.os-dock-item.is-running .os-dock-dot{opacity:1}.os-dock-item.is-active .os-dock-dot{background:linear-gradient(90deg, var(--neon-violet), var(--neon-cyan));border-radius:2px;width:14px}.app{padding:var(--space-5)}.app-head{margin-bottom:var(--space-5)}.app-head h2,.app-head h3{margin:0 0 var(--space-2);font-size:var(--text-2xl)}.app-head p{color:var(--color-text-muted);margin:0}.eyebrow-os{margin-bottom:var(--space-2);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(90deg, var(--neon-violet), var(--neon-pink));color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700;display:inline-block}.app-grid{gap:var(--space-3);grid-template-columns:1fr;display:grid}@container (min-width:520px){.app-grid{grid-template-columns:repeat(2,1fr)}}@container (min-width:820px){.app-grid.cols-3{grid-template-columns:repeat(3,1fr)}}.app-card{padding:var(--space-4);border-radius:var(--radius);background:var(--color-bg);border:1px solid var(--color-border)}.app-card h3{margin:0 0 var(--space-2);font-size:var(--text-lg)}.app-card p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.app-welcome{gap:var(--space-5);align-items:center;display:grid}@container (min-width:640px){.app-welcome{grid-template-columns:1.15fr 1fr}}.app-welcome h2{margin:0 0 var(--space-3);font-size:clamp(1.6rem,5cqi,2.4rem);line-height:1.25}.app-welcome h2 em{background:linear-gradient(90deg, var(--neon-violet), var(--neon-pink), var(--neon-cyan));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal;display:block}.app-welcome .lead{color:var(--color-text-muted)}.app-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.app-welcome .hero-visual{aspect-ratio:1}.welcome-tips{margin:var(--space-5) 0 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-surface-2);font-size:var(--text-xs);color:var(--color-text-muted)}.welcome-tips kbd{border:1px solid var(--color-border);background:var(--color-surface);font-family:var(--font-mono);border-radius:5px;padding:1px 6px;font-size:.95em}.about-card .feature-ic{width:40px;height:40px;margin-bottom:var(--space-3);color:#fff;background:linear-gradient(135deg, var(--neon-violet), var(--neon-blue));border-radius:12px;place-items:center;display:grid}.steps{counter-reset:step;gap:var(--space-2);margin:var(--space-5) 0 0;padding:0;list-style:none;display:grid}@container (min-width:620px){.steps{grid-template-columns:repeat(4,1fr)}}.steps li{counter-increment:step;padding:var(--space-3) var(--space-3) var(--space-3) 48px;border-radius:var(--radius);border:1px dashed var(--color-border);font-size:var(--text-sm);position:relative}.steps li:before{content:counter(step);left:var(--space-3);top:var(--space-3);width:26px;height:26px;font-weight:700;font-size:var(--text-xs);color:#fff;background:linear-gradient(135deg, var(--neon-pink), var(--neon-violet));border-radius:50%;place-items:center;display:grid;position:absolute}.steps strong{display:block}.steps small{color:var(--color-text-muted)}.service-row{gap:var(--space-3);align-items:flex-start;display:flex}.service-emoji{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:1.5rem;display:grid}.service-row .link-btn{margin-top:var(--space-2)}.link-btn{color:var(--color-primary);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:600;display:inline-flex}.link-btn:hover{text-decoration:underline}.work-toolbar{z-index:1;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex;position:sticky;top:0}.work-path{font-size:var(--text-sm);color:var(--color-text-muted);align-items:center;gap:6px;margin-right:auto;display:flex}.work-path strong{color:var(--color-text)}.pill{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font:inherit;font-size:var(--text-xs);cursor:pointer;transition:background-color var(--transition), color var(--transition), border-color var(--transition);padding:4px 12px;font-weight:600}.pill:hover{color:var(--color-text)}.pill[aria-pressed=true]{color:#fff;background:linear-gradient(135deg, var(--neon-violet), var(--neon-blue));border-color:#0000}.work-grid{gap:var(--space-4);padding:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.work-tile{gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;display:grid}.work-tile:hover,.work-tile:focus-visible{background:var(--color-surface-2);border-color:var(--color-border)}.work-img{aspect-ratio:16/10;border-radius:var(--radius-sm);object-fit:cover;background:var(--color-surface-2);width:100%}.work-img.placeholder{padding:var(--space-3);color:#fff;font-size:var(--text-sm);text-align:center;text-shadow:0 1px 4px #0000004d;place-items:center;font-weight:600;display:grid}.work-tile strong{font-size:var(--text-sm);line-height:1.35}.work-tile small{color:var(--color-text-muted)}.work-detail{gap:var(--space-5);padding:var(--space-5);display:grid}@container (min-width:720px){.work-detail{grid-template-columns:1.2fr 1fr;align-items:start}}.work-thumbs{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.work-thumbs button{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:2px solid #0000;width:64px;padding:0;overflow:hidden}.work-thumbs button[aria-pressed=true]{border-color:var(--color-primary)}.work-thumbs img{aspect-ratio:16/10;object-fit:cover;width:100%}.work-detail h3{margin:var(--space-2) 0;font-size:var(--text-xl)}.work-detail .details{white-space:pre-line;font-size:var(--text-sm);color:var(--color-text-muted)}.app-product{gap:var(--space-5);align-items:center;display:grid}@container (min-width:600px){.app-product{grid-template-columns:1.3fr 1fr}}.app-product ul{gap:var(--space-2);margin:0 0 var(--space-5);padding:0;list-style:none;display:grid}.app-product li{gap:var(--space-2);align-items:flex-start;display:flex}.app-product li .icon{color:var(--color-success);margin-top:4px}.mock-phone{background:#0b1026;border-radius:30px;justify-self:center;width:190px;padding:12px;box-shadow:0 30px 50px -20px #4c1d9599,inset 0 0 0 2px #ffffff14}.mock-screen{color:#1b2035;background:#f4f6fb;border-radius:20px;gap:8px;padding:14px 12px;font-size:11px;display:grid}.mock-head{align-items:center;gap:6px;font-weight:700;display:flex}.mock-head:before{content:"";background:#06c755;border-radius:50%;width:18px;height:18px}.mock-bubble{background:#fff;border-radius:12px 12px 12px 4px;padding:6px 9px;box-shadow:0 1px 2px #00000014}.mock-bubble.is-me{color:#fff;background:#06c755;border-radius:12px 12px 4px;justify-self:end}.mock-menu{grid-template-columns:1fr 1fr;gap:4px;margin-top:6px;display:grid}.mock-menu span{color:#fff;background:linear-gradient(135deg,#a78bfa,#7c3aed);border-radius:8px;place-items:center;padding:10px 4px;font-weight:600;display:grid}.mock-menu span:nth-child(2){background:linear-gradient(135deg,#34d399,#059669)}.mock-menu span:nth-child(3){background:linear-gradient(135deg,#60a5fa,#2563eb)}.mock-menu span:nth-child(4){background:linear-gradient(135deg,#fbbf24,#ea580c)}.review{gap:var(--space-3);margin:0;display:grid}.review-stars{color:#f59e0b;letter-spacing:2px}.review-stars .is-off{color:var(--color-border)}.review blockquote{font-size:var(--text-sm);margin:0}.review figcaption{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}.review figcaption small{color:var(--color-text-muted);display:block}.avatar{object-fit:cover;color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.app-contact{gap:var(--space-5);display:grid}@container (min-width:680px){.app-contact{grid-template-columns:1fr 1.4fr;align-items:start}}.channels{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.channel{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:var(--text-sm);transition:border-color var(--transition), transform .16s ease;text-decoration:none;display:flex}a.channel:hover{border-color:var(--color-primary);transform:translate(3px)}.channel .app-icon{--tile:36px;border-radius:10px}.channel small{color:var(--color-text-muted);display:block}.contact-form{gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-bg);border:1px solid var(--color-border);display:grid}.contact-form .field{margin:0}.contact-form label,.contact-form legend{margin-bottom:var(--space-1);font-size:var(--text-sm);font-weight:600;display:block}.contact-form fieldset{border:0;margin:0;padding:0}.choice-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.choice-list label{margin:0;font-weight:500}.choice-list input{opacity:0;pointer-events:none;position:absolute}.choice-list span{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--transition), color var(--transition), border-color var(--transition);padding:5px 12px;display:inline-block}.choice-list input:checked+span{color:#fff;background:linear-gradient(135deg, var(--neon-violet), var(--neon-blue));border-color:#0000}.choice-list input:focus-visible+span{outline:3px solid var(--color-primary);outline-offset:2px}.contact-form .alert{margin:0}.sent{justify-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);text-align:center;display:grid}.sent .app-icon{--tile:64px;animation:.5s cubic-bezier(.34,1.56,.64,1) boot-in}.sent h3{margin:0}.sent p{color:var(--color-text-muted);margin:0}.term{min-height:100%;padding:var(--space-4);color:#d6dcf5;font-family:var(--font-mono);cursor:text;background:#0a0e1a;font-size:13px;line-height:1.6}.term-out div{white-space:pre-wrap;word-break:break-word}.term-out .t-cmd{color:#f8fafc}.term-out .t-ok{color:#4ade80}.term-out .t-dim{color:#7c86a8}.term-out .t-err{color:#f87171}.term-out .t-accent{color:#c084fc}.term-line{gap:8px;display:flex}.term-prompt{color:#22d3ee;white-space:nowrap}.term-prompt b{color:#c084fc;font-weight:600}.term-input{color:#f8fafc;min-width:0;font:inherit;caret-color:#4ade80;background:0 0;border:0;outline:0;flex:1;padding:0}.os-shell-mobile{flex-direction:column;display:flex}.os-statusbar{z-index:5;justify-content:space-between;align-items:center;gap:var(--space-2);padding:max(env(safe-area-inset-top), 6px) var(--space-4) 4px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:600;display:flex;position:relative}.os-statusbar time{min-width:3.5em}.os-statusbar .logo{font-size:var(--text-sm);color:var(--os-on-wall)}.os-home{overscroll-behavior:contain;padding:var(--space-3) var(--space-4) calc(110px + env(safe-area-inset-bottom));align-content:start;gap:var(--space-5);flex:1;grid-template-columns:minmax(0,1fr);display:grid;position:relative;overflow-y:auto}.glass{background:var(--os-glass);border:1px solid var(--os-glass-border);-webkit-backdrop-filter:blur(18px)saturate(1.3);border-radius:24px;box-shadow:0 12px 30px -18px #0006}.m-hero{padding:var(--space-5)}.m-hero-top{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.m-hero-top img{filter:drop-shadow(0 0 10px #a855f780);border-radius:50%;width:44px;height:44px}.m-hero-top .eyebrow-os{margin:0}.m-hero h1{margin:0 0 var(--space-2);font-size:1.5rem;line-height:1.3}.m-hero h1 em{background:linear-gradient(90deg, var(--neon-violet), var(--neon-pink), var(--neon-cyan));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.m-hero p{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--os-on-wall-muted)}.m-hero .app-actions .btn{padding-inline:var(--space-4);white-space:nowrap;flex:auto;justify-content:center}.m-grid{gap:var(--space-4) var(--space-2);grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.m-app{width:100%;color:var(--os-on-wall);font:inherit;text-align:center;text-shadow:var(--os-label-shadow);cursor:pointer;background:0 0;border:0;justify-items:center;gap:6px;padding:0;font-size:12px;font-weight:500;text-decoration:none;display:grid}.m-app .app-icon{--tile:min(60px, 16vw);transition:transform .16s}.m-app:active .app-icon{transform:scale(.88)}.m-widget{padding:var(--space-4)}.m-widgets{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.m-widgets .m-widget{align-content:start;gap:4px;display:grid}.m-widgets .os-widget-time{font-size:2rem}.m-widget .os-widget-work{align-items:stretch;gap:var(--space-2);flex-direction:column}.m-widget .os-widget-work .work-mini{aspect-ratio:16/10;width:100%;height:auto}.m-foot{justify-content:center;gap:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--os-on-wall-muted);flex-wrap:wrap;display:flex}.m-foot a{color:inherit}[data-os-mode=mobile] .os-wall-mark{opacity:.25}.os-mdock{left:var(--space-3);right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom));z-index:5;background:var(--os-glass);border:1px solid var(--os-glass-border);-webkit-backdrop-filter:blur(22px)saturate(1.5);border-radius:28px;grid-template-columns:repeat(4,1fr);padding:10px 8px;display:grid;position:absolute;box-shadow:0 18px 40px -18px #00000080}.os-mdock .m-app .app-icon{--tile:min(54px, 14vw)}.os-sheet{z-index:30;background:var(--color-surface);color:var(--color-text);outline:none;flex-direction:column;display:flex;position:fixed;inset:0}.os-sheet-bar{align-items:center;gap:var(--space-2);padding:max(env(safe-area-inset-top), 8px) var(--space-3) 8px;border-bottom:1px solid var(--color-border);background:var(--os-bar-bg);display:flex}.os-sheet-bar h2{font-size:var(--text-base);text-align:center;flex:1;margin:0}.os-sheet-back{min-width:84px;height:36px;padding:0 var(--space-2) 0 0;color:var(--color-primary);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;font-weight:600;display:inline-flex}.os-sheet-bar .app-icon{--tile:28px;border-radius:8px;min-width:0;margin-left:56px}.os-sheet-body{overscroll-behavior:contain;padding-bottom:calc(28px + env(safe-area-inset-bottom));flex:1;overflow-y:auto;container-type:inline-size}.os-sheet-body .app{padding:var(--space-4)}.os-sheet-body .work-toolbar,.os-sheet-body .work-grid,.os-sheet-body .work-detail{padding-left:var(--space-4);padding-right:var(--space-4)}.os-sheet-body .work-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.os-sheet-body .term{min-height:calc(100dvh - 60px)}.os-home-bar{left:50%;bottom:calc(6px + env(safe-area-inset-bottom));cursor:pointer;background:0 0;border:0;width:134px;height:22px;padding:0;position:absolute;translate:-50%}.os-home-bar:before{content:"";border-radius:var(--radius-pill);background:var(--color-text);opacity:.35;width:100%;height:5px;margin-top:8px;display:block}.app-badge{z-index:1;border-radius:var(--radius-pill);color:#fff;text-align:center;min-width:20px;height:20px;box-shadow:0 0 0 2px var(--os-wall-base);background:#ef4444;padding:0 5px;font-size:11px;font-weight:700;line-height:20px;position:absolute;top:-5px;right:-5px}.app-icon.is-busy:before{content:"";border:2px solid #0000;border-top-color:var(--neon-pink);border-right-color:var(--neon-cyan);border-radius:32%;animation:.9s linear infinite halo-spin;position:absolute;inset:-4px}.os-window-body.is-frame,.os-sheet-body.is-frame{padding-bottom:0;position:relative;overflow:hidden}.os-frame{background:var(--color-bg);opacity:0;border:0;width:100%;height:100%;transition:opacity .2s;display:block}.is-loaded>.os-frame{opacity:1}.os-frame-loading{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.is-loaded>.os-frame-loading{display:none}.os-frame-loading span{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite halo-spin}.os-dragging iframe{pointer-events:none}.os-sheet-bar .app-icon-bar{--tile:28px;border-radius:8px;margin-left:56px}.os-widgets-admin{width:290px;max-height:calc(100% - var(--os-dock-space) - var(--space-4));scrollbar-width:none;overflow-y:auto}.os-widgets-admin .os-widget p:not(.os-widget-title){margin-bottom:var(--space-2)}.os-hello-avatar,.os-user-avatar,.os-lock-avatar-img{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid;overflow:hidden}.os-hello-avatar img,.os-user-avatar img,.os-lock-avatar-img img{object-fit:cover;width:100%;height:100%}.os-hello-avatar{width:48px;height:48px;font-size:1.2rem}.os-user-avatar{width:26px;height:26px;font-size:12px}.os-user-btn{width:32px;height:32px;margin-left:var(--space-1);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.os-user-btn[aria-expanded=true] .os-user-avatar{box-shadow:0 0 0 2px var(--neon-violet)}.os-statusbar-end{align-items:center;display:flex}.os-menu-pop{z-index:70;width:240px;padding:var(--space-2);border-radius:var(--radius);background:var(--os-glass-strong);border:1px solid var(--os-glass-border);-webkit-backdrop-filter:blur(20px)saturate(1.4);box-shadow:var(--os-window-shadow);color:var(--os-on-wall);position:fixed}.os-menu-pop-head{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-3);display:flex}.os-menu-pop-head .os-hello-avatar{width:40px;height:40px}.os-menu-pop-head small{color:var(--os-on-wall-muted);display:block}.os-menu-pop button{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-sm);color:inherit;font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.os-menu-pop button:hover,.os-menu-pop button:focus-visible{background:#7f7fb42e}.os-menu-pop .is-danger{color:var(--color-danger)}.os-menu-pop hr{margin:var(--space-1) 0;border:0;border-top:1px solid var(--os-glass-border)}.os-hello{align-items:center;gap:var(--space-3);display:flex}.os-hello h3{font-size:var(--text-xl);margin:0 0 2px}.os-stats{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@container (min-width:640px){.os-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.os-widget .os-stats,.m-hero .os-stats{margin:0}.os-stat{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-3);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition), transform .16s ease;display:flex}.os-widget .os-stat,.m-hero .os-stat{border-color:var(--os-glass-border);color:var(--os-on-wall);background:#7f7fb414}.os-stat:hover{border-color:var(--color-primary);transform:translateY(-2px)}.os-stat .app-icon{--tile:34px;border-radius:10px}.os-stat strong{font-size:var(--text-xl);line-height:1.1;display:block}.os-stat small{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.os-widget .os-stat small,.m-hero .os-stat small{color:var(--os-on-wall-muted)}.os-home-grid .app-card h3{font-size:var(--text-base)}.os-list{margin:0 0 var(--space-2);gap:2px;padding:0;list-style:none;display:grid}.os-list button{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-sm);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.os-list button:hover{background:#7f7fb424}.os-list-main{flex:1;min-width:0}.os-list-main strong,.os-list-main small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.os-list-main strong{font-size:var(--text-sm)}.os-list-main small{opacity:.75;font-size:12px}.os-quick{gap:var(--space-1);display:grid}.os-quick-btn{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.os-quick-btn:hover{background:var(--color-surface-2)}.os-publish-rows{gap:var(--space-1);margin:0 0 var(--space-4);padding:0;list-style:none;display:grid}.os-publish-rows li{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg);font-size:var(--text-sm);display:flex}.os-publish-rows strong{margin-left:auto}.os-steps{gap:var(--space-2);margin:0 0 var(--space-4);padding:0;list-style:none;display:grid}.os-steps li{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.os-steps li.is-done,.os-steps li.is-running{color:var(--color-text)}.os-step-dot{border:2px solid var(--color-border);border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:grid}.is-done .os-step-dot{background:var(--color-success);color:#fff;border-color:#0000}.is-running .os-step-dot{border-color:var(--color-primary);color:#0000;border-top-color:#0000;animation:.8s linear infinite halo-spin}.os-publish-actions{margin-bottom:var(--space-3)}.os-note{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.os-m-hello .m-hero-top h1{font-size:var(--text-lg);margin:0}.os-m-hello .m-hero-top .eyebrow-os{margin:0;display:block}.os-admin .toast-region{top:calc(var(--os-topbar-h) + var(--space-3))}[data-os-mode=mobile] .os-admin .toast-region{top:auto;bottom:calc(110px + env(safe-area-inset-bottom))}.os-lock{z-index:90;padding:var(--space-5);color:#fff;-webkit-backdrop-filter:blur(28px)saturate(1.3);background:#05081659;grid-template-rows:1fr auto 1.4fr;justify-items:center;transition:opacity .4s,transform .4s;display:grid;position:fixed;inset:0}.os-lock.is-leaving{opacity:0;transform:translateY(-24px)}.is-locked .os-shell{filter:blur(6px)}.os-lock-clock{margin-bottom:var(--space-6);text-shadow:0 2px 20px #00000059;align-self:end;justify-items:center;display:grid}.os-lock-clock time{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(4rem,14vw,7rem);font-weight:600;line-height:1}.os-lock-clock span{font-size:var(--text-lg);opacity:.85}.os-lock-card{justify-items:center;gap:var(--space-2);text-align:center;width:min(360px,100%);display:grid}.os-lock-card.is-shake{animation:.42s lock-shake}.os-lock-avatar-img{width:88px;height:88px;font-size:2rem;box-shadow:0 0 0 3px #ffffff59,0 10px 40px #a855f773}.os-lock-card h1{margin:var(--space-2) 0 0;font-size:var(--text-xl)}.os-lock-hint{margin:0 0 var(--space-2);font-size:var(--text-sm);opacity:.8}.os-lock-field{width:100%;position:relative}.os-lock-input{width:100%;height:48px;padding:0 52px 0 var(--space-5);border-radius:var(--radius-pill);color:#fff;font:inherit;transition:border-color var(--transition), background-color var(--transition), box-shadow var(--transition);background:#ffffff24;border:1px solid #ffffff4d;outline:none}.os-lock-input::placeholder{color:#ffffffa6}.os-lock-input:focus{background:#fff3;border-color:#ffffffb3;box-shadow:0 0 0 4px #a855f759}.os-lock-go{background:linear-gradient(135deg, var(--neon-violet), var(--neon-pink));color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:6px;right:6px}.os-lock-error{border-radius:var(--radius-pill);font-size:var(--text-sm);background:#ef4444d9;margin:0;padding:4px 12px}.os-lock-demo{margin:var(--space-3) 0 0;font-size:var(--text-xs);opacity:.7}.os-lock-link{font-size:var(--text-xs);color:#ffffffbf}@keyframes lock-shake{20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}@keyframes status-ping{0%{box-shadow:0 0 #22c55e8c}80%,to{box-shadow:0 0 0 10px #22c55e00}}@media (prefers-reduced-motion:reduce){.os-wall-orb,.os-wall-ring,.os-wall-mark img,.os-status-dot,.os-boot-bar span,.sent .app-icon,.app-icon.is-busy:before,.os-lock-card.is-shake{animation:none}.os-lock{transition:none}.os-wall-grid,.os-wall-orb{translate:none}.os-wall-mark{translate:-50% -55%}.os-window.is-animating,.os-dock-item,.os-icon .app-icon,.m-app .app-icon,a.channel{transition:none}.os-dock-item:hover,.os-dock-item:focus-visible,.os-icon:hover .app-icon{transform:none}}.btn-danger-solid{background:var(--color-danger);color:#fff}.btn-danger-solid:hover{background:color-mix(in srgb, var(--color-danger) 85%, #000);box-shadow:0 10px 22px -8px var(--color-danger)}.btn-warning-solid{background:var(--color-warning);color:#fff}.btn-warning-solid:hover{background:color-mix(in srgb, var(--color-warning) 85%, #000);box-shadow:0 10px 22px -8px var(--color-warning)}[data-theme=dark] .btn-danger-solid,[data-theme=dark] .btn-warning-solid{color:var(--color-bg)}.modal{--tone:var(--color-primary);--tone-soft:var(--color-primary-soft);width:min(420px, calc(100vw - 2 * var(--space-4)));border-radius:var(--radius-lg);background:var(--color-surface);max-width:none;color:var(--color-text);box-shadow:0 30px 80px -20px #0f122073, 0 0 0 1px var(--color-border);border:0;padding:0;animation:.38s cubic-bezier(.34,1.4,.64,1) modal-in;overflow:visible}.modal-warning{--tone:var(--color-warning);--tone-soft:var(--color-warning-soft)}.modal-danger{--tone:var(--color-danger);--tone-soft:var(--color-danger-soft)}.modal::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f122073;animation:.26s backdrop-in}.modal.is-closing{animation:.18s ease-in forwards modal-out}.modal.is-closing::backdrop{animation:.18s ease-in forwards backdrop-out}.modal-box{padding:var(--space-6) var(--space-5) var(--space-5);text-align:center;border-radius:inherit;position:relative;overflow:hidden}.modal-box:before{content:"";background:linear-gradient(90deg, var(--tone), color-mix(in srgb, var(--tone) 40%, var(--color-accent)));height:4px;position:absolute;inset:0 0 auto}.modal-icon{width:64px;height:64px;margin:0 auto var(--space-4);background:var(--tone-soft);color:var(--tone);border-radius:50%;place-items:center;animation:.52s cubic-bezier(.34,1.56,.64,1) 80ms backwards modal-icon-pop;display:grid;position:relative}.modal-icon .icon{width:30px;height:30px}.modal-icon:after{content:"";border:2px solid var(--tone);border-radius:50%;animation:1.6s ease-out .3s infinite modal-ring;position:absolute;inset:0}.modal-danger .modal-icon .icon{animation:.5s .45s modal-shake}.modal-title{font-size:var(--text-xl);margin-bottom:var(--space-2)}.modal-message{color:var(--color-text-muted);margin-bottom:var(--space-5);overflow-wrap:anywhere}.modal-actions{gap:var(--space-3);display:flex}.modal-actions .btn{flex:1 1 0}@keyframes modal-in{0%{opacity:0;transform:translateY(24px)scale(.92)}}@keyframes modal-out{to{opacity:0;transform:translateY(12px)scale(.96)}}@keyframes backdrop-in{0%{opacity:0}}@keyframes backdrop-out{to{opacity:0}}@keyframes modal-icon-pop{0%{opacity:0;transform:scale(.3)rotate(-30deg)}}@keyframes modal-ring{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}@keyframes modal-shake{20%,60%{transform:rotate(-12deg)}40%,80%{transform:rotate(12deg)}}.toast-region{z-index:300;top:var(--space-4);right:var(--space-4);width:min(380px, calc(100vw - 2 * var(--space-4)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{--tone:var(--color-success);--tone-soft:var(--color-success-soft);align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-4) var(--space-4) calc(var(--space-4) + 2px);border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--tone);box-shadow:0 18px 40px -16px #0f122059, 0 0 0 1px color-mix(in srgb, var(--tone) 12%, transparent);pointer-events:auto;animation:.52s cubic-bezier(.34,1.4,.64,1) toast-in;display:flex;position:relative;overflow:hidden}.toast-error{--tone:var(--color-danger);--tone-soft:var(--color-danger-soft)}.toast-warning{--tone:var(--color-warning);--tone-soft:var(--color-warning-soft)}.toast-info{--tone:var(--color-primary);--tone-soft:var(--color-primary-soft)}.toast:before{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--tone) 10%, transparent), transparent 55%);pointer-events:none;position:absolute;inset:0}.toast-icon{background:var(--tone-soft);width:36px;height:36px;color:var(--tone);border-radius:50%;flex-shrink:0;place-items:center;animation:.56s cubic-bezier(.34,1.56,.64,1) .14s backwards toast-icon-pop;display:grid;position:relative}.toast-icon .icon{width:20px;height:20px}.toast-body{flex:1;min-width:0;position:relative}.toast-title{color:var(--color-text);margin:0;font-weight:700}.toast-message{font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere;margin:2px 0 0}.toast-close{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition), color var(--transition), transform .2s ease;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;margin:-4px -6px 0 0;display:grid;position:relative}.toast-close:hover{background:var(--color-surface-2);color:var(--color-text);transform:rotate(90deg)}.toast-close .icon{width:16px;height:16px}.toast-progress{background:linear-gradient(90deg, var(--tone), color-mix(in srgb, var(--tone) 50%, var(--color-accent)));transform-origin:0;height:4px;animation:toast-countdown var(--toast-duration,4s) linear forwards;position:absolute;bottom:0;left:0;right:0}.toast:hover .toast-progress,.toast:focus-within .toast-progress{animation-play-state:paused}.toast.is-leaving{animation:.32s cubic-bezier(.4,0,1,1) forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translate(110%)scale(.9)}}@keyframes toast-out{to{opacity:0;border-width:0;height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;transform:translate(110%)}}@keyframes toast-icon-pop{0%{transform:scale(0)rotate(-90deg)}}@keyframes toast-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width:640px){.toast-region{top:auto;bottom:var(--space-3);right:var(--space-3);left:var(--space-3);flex-direction:column-reverse;width:auto}.toast{margin-bottom:0;margin-top:var(--space-2);animation-name:toast-in-up}@keyframes toast-in-up{0%{opacity:0;transform:translateY(120%)scale(.95)}}.modal-actions{flex-direction:column-reverse}}@media (prefers-reduced-motion:reduce){.modal,.modal::backdrop,.modal-icon,.modal-icon:after,.modal-danger .modal-icon .icon,.toast,.toast-icon{animation:none}.modal-icon:after{display:none}}
@keyframes halo-spin{to{transform:rotate(360deg)}}@keyframes orb-drift{0%{transform:translate(0)scale(1)}to{transform:translate(14%,10%)scale(1.15)}}@keyframes logo-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(-2deg)}}.is-spinning{animation:.9s linear infinite halo-spin}.rot-90{transform:rotate(90deg)}.muted{color:var(--color-text-muted)}.btn-sm{min-height:36px;padding:var(--space-1) var(--space-4);font-size:var(--text-sm)}.icon-btn-sm{width:34px;height:34px}.icon-btn-sm .icon{width:16px;height:16px}.icon-btn:disabled{opacity:.35;cursor:default;transform:none}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b819c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.select-sm{width:auto;min-height:36px;font-size:var(--text-sm);padding-top:0;padding-bottom:0}.form-row{gap:0 var(--space-4);display:grid}@container (min-width:560px){.form-row{grid-template-columns:1fr 1fr}}.field-error{color:var(--color-danger);font-size:var(--text-xs)}.alert-warning{background:var(--color-warning-soft);color:var(--color-warning)}.app-list{gap:var(--space-3);align-content:start;display:grid}.toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.toolbar>.btn{margin-left:auto}.toolbar-note{font-size:var(--text-sm);color:var(--color-text-muted);flex:240px;margin:0}.pills{gap:var(--space-1);flex-wrap:wrap;display:flex}.pill-count{opacity:.75;margin-left:4px}.search{flex:200px;max-width:320px;position:relative}.search .icon{color:var(--color-text-muted);position:absolute;top:50%;left:12px;translate:0 -50%}.search .input{min-height:38px;font-size:var(--text-sm);padding-left:38px}.lead-list,.item-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.lead{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--color-border);border-left:4px solid var(--color-border);background:var(--color-bg);flex-wrap:wrap;transition:box-shadow .3s;display:flex}.lead-new{border-left-color:var(--color-primary)}.lead-contacted{border-left-color:var(--color-warning)}.lead-closed{border-left-color:var(--color-success)}.lead.is-focus{box-shadow:0 0 0 3px var(--color-primary-ring-strong)}.lead-main{flex:260px;min-width:0}.lead-top{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.lead-top time{font-size:var(--text-xs);color:var(--color-text-muted);margin-left:auto}.lead-main p{font-size:var(--text-sm);margin:4px 0 0}.lead-contact,.lead-service{color:var(--color-text-muted);align-items:center;gap:6px;display:flex}.lead-message{white-space:pre-line;overflow-wrap:anywhere}.lead-main .lead-page{font-size:var(--text-xs);color:var(--color-text-muted)}.lead-actions,.item-actions{align-items:center;gap:var(--space-1);display:flex}.item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);display:flex}.item.is-hidden .item-main,.item.is-hidden .item-thumb,.item.is-hidden .item-emoji{opacity:.55}.item-order{gap:2px;display:grid}.item-order .icon-btn{border-radius:6px;width:26px;height:22px}.item-main{flex:1;min-width:0}.item-main strong,.item-main small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.item-main small{color:var(--color-text-muted);font-size:var(--text-xs)}.item-emoji{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:1.4rem;display:grid}.item-thumb{border-radius:var(--radius-sm);object-fit:cover;background:var(--color-surface-2);flex-shrink:0;width:64px;height:44px}.item-thumb-round{border-radius:50%;width:44px}.item-thumb-empty{color:var(--color-text-muted);place-items:center;font-weight:700;display:grid}@container (max-width:520px){.item{flex-wrap:wrap}.item-main{flex-basis:calc(100% - 140px)}.item-actions{margin-left:auto}}.empty{justify-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-4);text-align:center;color:var(--color-text-muted);display:grid}.empty>.icon{opacity:.5;width:40px;height:40px}.empty-title{color:var(--color-text);margin:0;font-weight:600}.empty p{margin:0}.loading{padding:var(--space-7);place-items:center;display:grid}.loading span{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite halo-spin}.modal.modal-form{width:min(620px, calc(100vw - 2 * var(--space-4)));max-height:calc(100dvh - 2 * var(--space-4));overflow:hidden}.modal-form .modal-box{max-height:calc(100dvh - 2 * var(--space-4));text-align:left;grid-template-rows:auto 1fr auto auto;padding:0;display:grid}.modal-form-head{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);display:flex}.modal-form-head .modal-title{font-size:var(--text-lg);flex:1;margin:0}.modal-form-icon{width:36px;height:36px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.modal-form-body{padding:var(--space-4) var(--space-5);overflow-y:auto;container-type:inline-size}.modal-form .alert{margin:0 var(--space-5) var(--space-3)}.modal-form .modal-actions{padding:var(--space-3) var(--space-5) var(--space-4);border-top:1px solid var(--color-border)}.input-emoji{text-align:center;max-width:120px;font-size:1.4rem}.stars-input{gap:2px;display:flex}.stars-input button{color:var(--color-border);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:1.8rem;line-height:1}.stars-input button.is-on{color:#f59e0b}.image-field{gap:var(--space-2);flex-wrap:wrap;display:flex}.image-chip{border-radius:var(--radius-sm);border:1px solid var(--color-border);width:104px;height:72px;margin:0;position:relative;overflow:hidden}.image-chip img{object-fit:cover;width:100%;height:100%}.image-chip-main{border-radius:var(--radius-pill);color:#fff;background:#0009;padding:0 6px;font-size:11px;position:absolute;bottom:4px;left:4px}.image-chip-x{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:4px;right:4px}.image-chip-x .icon{width:14px;height:14px}.image-add{border:2px dashed var(--color-input-border);border-radius:var(--radius-sm);width:104px;height:72px;color:var(--color-text-muted);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;align-content:center;place-items:center;gap:2px;display:grid}.image-add:hover{border-color:var(--color-primary);color:var(--color-primary)}.modal.modal-picker{width:min(820px, calc(100vw - 2 * var(--space-4)))}.picker-grid{gap:var(--space-2);margin:var(--space-3) 0 0;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));padding:0;list-style:none;display:grid}.picker-grid button{aspect-ratio:4/3;border-radius:var(--radius-sm);background:var(--color-surface-2);cursor:pointer;border:3px solid #0000;width:100%;padding:0;display:block;position:relative;overflow:hidden}.picker-grid img{object-fit:cover;width:100%;height:100%}.picker-grid .is-chosen{border-color:var(--color-primary)}.picker-check{background:var(--color-primary);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:6px;right:6px}.files{min-height:100%;position:relative}.files.is-drag{outline:3px dashed var(--color-primary);outline-offset:-8px}.drop-hint{align-content:center;place-items:center;gap:var(--space-2);background:color-mix(in srgb, var(--color-surface) 85%, transparent);color:var(--color-primary);pointer-events:none;font-weight:600;display:grid;position:absolute;inset:0}.drop-hint .icon{width:40px;height:40px}.upload-bar{align-items:center;gap:var(--space-3);font-size:var(--text-sm);display:flex}.upload-track{border-radius:var(--radius-pill);background:var(--color-surface-2);flex:1;height:6px;overflow:hidden}.upload-track span{background:linear-gradient(90deg, var(--neon-violet), var(--neon-cyan));height:100%;transition:width .3s;display:block}.file-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin:0;padding:0;list-style:none;display:grid}.file-card{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);display:grid;overflow:hidden}.file-thumb{aspect-ratio:4/3;background:var(--color-surface-2);color:var(--color-text-muted);place-items:center;display:grid}.file-thumb img{object-fit:cover;width:100%;height:100%}.file-thumb .icon{width:40px;height:40px}.file-meta{padding:var(--space-2) var(--space-3) 0;min-width:0}.file-meta strong,.file-meta small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.file-meta strong{font-size:var(--text-sm)}.file-meta small{color:var(--color-text-muted);font-size:11px}.file-actions{justify-content:flex-end;gap:var(--space-1);padding:var(--space-2);display:flex}.app-site{gap:var(--space-4);display:grid}.tabs{border-bottom:1px solid var(--color-border);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.tab{padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;position:relative}.tab[aria-selected=true]{color:var(--color-text);border-bottom-color:var(--color-primary);font-weight:600}.tab-dot{background:var(--color-warning);vertical-align:2px;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.site-form{align-content:start;display:grid}.group{gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);display:grid}.group legend{padding:0 var(--space-2);font-size:var(--text-sm);font-weight:600}.group-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.group-row .input,.group-row .select{flex:140px;width:auto;min-height:40px}.group-row .select{flex:0 0 150px}.group-row .grow{flex:3 220px}.step-no{width:26px;height:26px;font-size:var(--text-xs);color:#fff;background:linear-gradient(135deg, var(--neon-pink), var(--neon-violet));border-radius:50%;place-items:center;font-weight:700;display:grid}.switch{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);cursor:pointer;font-weight:600;display:flex}.switch input{width:20px;height:20px;accent-color:var(--color-primary)}.counter{margin:-12px 0 var(--space-4);font-size:var(--text-xs);color:var(--color-success);display:block}.counter.is-warn{color:var(--color-warning)}.serp{padding:var(--space-4);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg)}.serp small{color:var(--color-success)}.serp strong{color:#1a0dab;font-size:var(--text-lg);margin:2px 0;font-weight:500;display:block}[data-theme=dark] .serp strong{color:#8ab4f8}.serp p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.brand-preview{font-size:var(--text-2xl);font-weight:700}.brand-preview span{color:var(--color-primary)}.save-bar{justify-content:flex-end;align-items:center;gap:var(--space-2);margin:0 calc(-1 * var(--space-5)) calc(-1 * var(--space-5));padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-wrap:wrap;display:flex;position:sticky;bottom:0}.save-bar .muted{font-size:var(--text-sm);margin-right:auto}.section-title{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-base)}.publish-history{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.publish-history li{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg);font-size:var(--text-sm);display:flex}.publish-history li>.icon{color:var(--color-success)}.publish-history li.is-failed>.icon{color:var(--color-danger)}.publish-history span{flex:1;min-width:0}.publish-history small{color:var(--color-text-muted);overflow-wrap:anywhere;display:block}.app-profile{gap:var(--space-4);display:grid}.panel{padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg);container-type:inline-size}.panel-head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.panel-head h3{font-size:var(--text-lg);margin:0}.panel-head p{font-size:var(--text-sm);margin:0}.panel-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.panel-actions-left{margin-bottom:var(--space-4);justify-content:flex-start}.input-group{gap:var(--space-2);display:flex}.input-group .icon-btn{flex-shrink:0;width:46px;height:46px}.strength{align-items:center;gap:var(--space-3);margin:-8px 0 var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);display:flex}.strength-bars{grid-template-columns:repeat(4,32px);gap:4px;display:grid}.strength-bars i{border-radius:var(--radius-pill);background:var(--color-border);height:5px}.strength-1 .strength-bars i:nth-child(-n+1){background:var(--color-danger)}.strength-2 .strength-bars i:nth-child(-n+2){background:var(--color-warning)}.strength-3 .strength-bars i:nth-child(-n+3),.strength-4 .strength-bars i{background:var(--color-success)}.checks{gap:var(--space-1) var(--space-3);margin:0 0 var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.checks li{align-items:center;gap:4px;display:flex}.checks .is-ok{color:var(--color-success)}.os-lock-logo{filter:drop-shadow(0 0 20px #a855f799);border-radius:50%}.os-lock-field+.os-lock-field{margin-top:var(--space-1)}.os-menu-pop .os-menu-pop-link{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);color:inherit;font-size:var(--text-sm);text-decoration:none;display:flex}.os-menu-pop .os-menu-pop-link:hover{background:#7f7fb42e}.logo{color:var(--color-text);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.logo span{color:var(--color-primary)}@media (prefers-reduced-motion:reduce){.is-spinning,.loading span{animation:none}}body:has(.os-lock) .os-wall-mark{opacity:0}
