@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.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:Plus Jakarta Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.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:Plus Jakarta Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.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:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_9c19b2b3-module__UegOEW__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_9c19b2b3-module__UegOEW__variable{--font-plus-jakarta-sans:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:Source Code Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ab36ba74ba67ee0c-s.0s6jj7y_a8v57.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:Source Code Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/33f266618f7bf8bb-s.08s7pfcsa02gy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/36f8835f1b5285ee-s.1dep1hhyk44a4.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0fe8cf670dc7929a-s.3vi3ejgvl3r0i.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:Source Code Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e858660d9da6747c-s.2nv2eq31xp4p7.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:Source Code Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/31a7435702a308bc-s.2mnf2yq1gs_e4.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c9e42e3eae6237c2-s.p.04s-z9uhm_0n2.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:Source Code Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ab36ba74ba67ee0c-s.0s6jj7y_a8v57.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:Source Code Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/33f266618f7bf8bb-s.08s7pfcsa02gy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/36f8835f1b5285ee-s.1dep1hhyk44a4.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0fe8cf670dc7929a-s.3vi3ejgvl3r0i.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:Source Code Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e858660d9da6747c-s.2nv2eq31xp4p7.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:Source Code Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/31a7435702a308bc-s.2mnf2yq1gs_e4.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c9e42e3eae6237c2-s.p.04s-z9uhm_0n2.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:Source Code Pro Fallback;src:local(Arial);ascent-override:73.11%;descent-override:20.28%;line-gap-override:0.0%;size-adjust:134.59%}.source_code_pro_fac1c3ea-module__m2BdEa__className{font-family:Source Code Pro,Source Code Pro Fallback;font-style:normal}.source_code_pro_fac1c3ea-module__m2BdEa__variable{--font-source-code-pro:"Source Code Pro", "Source Code Pro Fallback"}
:root{--accent:#1f7d4a;--accent-soft:#1f7d4a1a;--accent-hover:#165f38;--accent-light:#5dd590;--brand:#101510;--bg:#f4f3ec;--surface:#fff;--surface-2:#f9f8f2;--border:#e0dcd2;--border-strong:#c8c3b8;--text:#141a14;--text-muted:#607060;--text-light:#9aaa9a;--green:#1f7d4a;--green-soft:#1f7d4a1a;--red:#dc2626;--red-soft:#dc262617;--yellow:#d97706;--yellow-soft:#d9770617;--purple:#7c3aed;--purple-soft:#7c3aed14;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 20px #00000017;--shadow-lg:0 12px 40px #00000024;--sidebar-w:240px;--sidebar-w-collapsed:64px;--topbar-h:58px;--radius:14px;--radius-sm:9px;--transition:.2s ease;--fs-hero:40px;--fs-h1:30px;--fs-h2:21px;--fs-lg:16px;--fs-base:14px;--fs-sm:13px;--fs-xs:12px;--fs-2xs:11px;--fs-glyph:96px;--fs-stat:26px;--lh-display:1.15;--lh-tight:1.3;--lh-body:1.6;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--control-h:44px;--control-fs:16px;--focus-ring:0 0 0 3px var(--accent-soft)}[data-theme=dark]{--bg:#161d16;--surface:#1c231c;--surface-2:#212a21;--border:#ffffff17;--border-strong:#ffffff38;--text:#f0eee8;--text-muted:#748074;--text-light:#4e5e4e;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 20px #0006;--shadow-lg:0 12px 40px #00000080}.sh-toast{left:50%;bottom:var(--sp-6);background:var(--red-soft);color:var(--red);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-sm);z-index:9999;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;border-radius:10px;font-weight:700;transition:opacity .2s;position:fixed;transform:translate(-50%)}.sh-toast.sh-toast-show{opacity:1}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-plus-jakarta-sans),sans-serif;color:var(--text);background:var(--bg);transition:background var(--transition),color var(--transition);font-size:16px;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-plus-jakarta-sans),sans-serif;letter-spacing:-.025em;font-weight:700}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--brand);z-index:200;transition:width var(--transition),transform var(--transition);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-w-collapsed)}.sidebar.collapsed .sidebar-text{opacity:0;width:0;margin:0;padding:0;overflow:hidden}.sidebar.collapsed .sidebar-logo{justify-content:center;padding:0}.sidebar.collapsed .nav-item{justify-content:center;gap:0;padding:9px 0}.sidebar.collapsed .nav-item:after{content:attr(data-label);color:#ffffffe0;white-space:nowrap;pointer-events:none;opacity:0;box-shadow:var(--shadow-md);z-index:300;background:#101510;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600;transition:opacity .12s;position:absolute;left:calc(100% + 12px)}.sidebar.collapsed .nav-item:hover:after{opacity:1}.sidebar-logo{height:var(--topbar-h);transition:padding var(--transition);border-bottom:1px solid #ffffff12;flex-shrink:0;align-items:center;gap:10px;padding:0 18px;text-decoration:none;display:flex}.sidebar-logo-letter{font-family:var(--font-plus-jakarta-sans),sans-serif;color:var(--accent);flex-shrink:0;font-size:22px;font-weight:700}.sidebar-logo-word{text-transform:uppercase;letter-spacing:.08em;color:#ffffffe0;white-space:nowrap;transition:opacity var(--transition),width var(--transition);font-size:13px;font-weight:800}.sidebar-nav{flex-direction:column;flex:1;gap:18px;padding:16px 10px;display:flex;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{display:none}.nav-section{flex-direction:column;gap:2px;display:flex}.nav-item{color:#ffffff80;cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:10px;margin-bottom:1px;padding:9px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:all .14s;display:flex;position:relative}.nav-item .material-icons-round{flex-shrink:0;font-size:18px}.nav-item-text{transition:opacity var(--transition),width var(--transition)}.nav-item:hover{color:#ffffffe0;background:#ffffff12}.nav-item.active{background:var(--accent-soft);color:#fff}.nav-item.active .material-icons-round{color:var(--accent)}.sidebar-collapse-btn{color:#ffffff47;cursor:pointer;background:0 0;border:none;border-top:1px solid #ffffff12;flex-shrink:0;justify-content:center;align-items:center;width:100%;height:44px;transition:all .14s;display:flex}.sidebar-collapse-btn:hover{color:#ffffffa6;background:#ffffff0d}.sidebar-collapse-btn .material-icons-round{transition:transform var(--transition);font-size:20px}.sidebar.collapsed .sidebar-collapse-btn .material-icons-round{transform:rotate(180deg)}.sidebar-logo:focus-visible,.nav-item:focus-visible,.sidebar-collapse-btn:focus-visible{box-shadow:var(--focus-ring),0 0 0 1px var(--accent);border-radius:8px;outline:none}.app-main{margin-left:var(--sidebar-w);min-height:100vh;transition:margin-left var(--transition);flex-direction:column;flex:1;min-width:0;display:flex}.sidebar.collapsed~.sidebar-overlay~.app-main{margin-left:var(--sidebar-w-collapsed)}.app-topbar{height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);z-index:100;transition:background var(--transition),border-color var(--transition);align-items:center;gap:12px;padding:0 24px 0 20px;display:flex;position:sticky;top:0}.topbar-menu-btn{border:1.5px solid var(--border);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .14s;display:none}.topbar-menu-btn:hover{background:var(--bg);color:var(--text)}.topbar-menu-btn .material-icons-round{font-size:20px}.topbar-mobile-logo{align-items:center;gap:8px;text-decoration:none;display:none}.topbar-logo-letter{font-family:var(--font-plus-jakarta-sans),sans-serif;color:var(--accent);font-size:19px;font-weight:700}.topbar-logo-word{text-transform:uppercase;letter-spacing:.06em;color:var(--text);font-size:13px;font-weight:800}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.topbar-avatar-wrap{cursor:pointer;position:relative}.topbar-avatar{background:var(--accent);color:#fff;width:32px;height:32px;transition:border-color var(--transition);border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.topbar-avatar-wrap:hover .topbar-avatar{border-color:var(--accent)}.topbar-avatar-wrap:focus-visible{box-shadow:var(--focus-ring),0 0 0 1px var(--accent);border-radius:8px;outline:none}.topbar-dropdown{top:calc(var(--topbar-h) + 6px);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:500;min-width:220px;padding:6px;animation:.18s fadeUp;display:none;position:fixed;right:16px}.topbar-dropdown.open{display:block}.td-profile{align-items:center;gap:10px;padding:10px 10px 12px;display:flex}.td-av{background:var(--accent);color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:flex}.td-name{color:var(--text);font-size:13px;font-weight:700}.td-email{color:var(--text-muted);font-size:11.5px}.td-divider{background:var(--border);height:1px;margin:4px 0}.td-item{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;width:100%;font-size:13px;font-weight:600;font-family:var(--font-plus-jakarta-sans),sans-serif;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;transition:all .14s;display:flex}.td-item .material-icons-round{font-size:17px}.td-item:hover{background:var(--bg);color:var(--text)}.td-item:focus-visible{box-shadow:var(--focus-ring),0 0 0 1px var(--accent);outline:none}.td-signout{color:var(--red)}.td-signout:hover{background:var(--red-soft);color:var(--red)}.td-theme-row{-webkit-user-select:none;user-select:none;justify-content:flex-start}.td-theme-row:hover{background:var(--bg);color:var(--text)}#themeLabel{flex:1}.td-toggle-switch{background:var(--border);border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background .2s;display:inline-block;position:relative}.td-toggle-switch.on{background:var(--green)}.td-toggle-knob{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;display:block;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.td-toggle-switch.on .td-toggle-knob{transform:translate(16px)}.app-content{flex:1;max-width:1200px;padding:30px 32px 100px}.app-content--narrow{max-width:820px}.app-content--full{max-width:100%}.sidebar-overlay{z-index:190;background:#00000073;display:none;position:fixed;inset:0}.sidebar-overlay.show{display:block}@media (max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0);box-shadow:4px 0 24px #0000004d}.app-main{margin-left:0!important}.topbar-menu-btn,.topbar-mobile-logo{display:flex}.sidebar-collapse-btn{display:none}.app-content{padding:22px 16px 90px}}@media (max-width:480px){.app-content{padding:18px 14px 90px}}.dash-header{margin-bottom:28px}.dash-header h1{color:var(--text);margin-bottom:4px;font-size:26px;font-weight:700}.dash-sub{color:var(--text-muted);font-size:14px}.dash-empty{background:var(--surface);border:2px dashed var(--border);border-radius:var(--radius);text-align:center;max-width:540px;margin:0 auto;padding:52px 36px}.dash-empty-icon{background:var(--accent-soft);border-radius:18px;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 20px;display:flex}.dash-empty-icon .material-icons-round{color:var(--accent);font-size:34px}.dash-empty h3{color:var(--text);margin-bottom:10px;font-size:20px;font-weight:700}.dash-empty p{color:var(--text-muted);font-size:13.5px;line-height:1.7}.sh-wizard-shell{flex-direction:column;min-height:100vh;display:flex}.sh-wizard-topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);background:var(--surface);z-index:10;justify-content:space-between;align-items:center;padding:0 22px;display:flex;position:sticky;top:0}.sh-wizard-logo{color:inherit;border-radius:var(--radius-sm);align-items:center;gap:10px;text-decoration:none;display:flex}.sh-wizard-logo:focus-visible{box-shadow:var(--focus-ring), 0 0 0 1px var(--accent);outline:none}.sh-wizard-topbar-right{align-items:center;gap:8px;display:flex}.sh-wizard-content{flex:1;width:100%;max-width:760px;margin:0 auto;padding:34px 28px 90px}.sh-wizard-narrow{max-width:640px}.sh-muted{color:var(--text-muted)}.sh-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-5);box-shadow:var(--shadow-sm);margin-bottom:var(--sp-4)}@media (min-width:768px){.sh-card{padding:var(--sp-6)}}.sh-card:last-child{margin-bottom:0}.sh-page-head{margin-bottom:22px}.sh-page-head .sh-kick,.sh-kick{font-family:Source Code Pro,monospace;font-size:var(--fs-2xs);letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:var(--sp-2);font-weight:600}.sh-page-head h1{font-size:var(--fs-h1);letter-spacing:-.03em;font-weight:800;line-height:var(--lh-display)}.sh-page-head p{color:var(--text-muted);margin-top:var(--sp-2);font-size:var(--fs-base);line-height:var(--lh-body)}.sh-label-sm{font-size:var(--fs-xs);letter-spacing:.4px;text-transform:uppercase;color:var(--text-light);font-weight:700;line-height:var(--lh-tight)}.sh-divider{background:var(--border);width:100%;height:1px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sh-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);padding:var(--sp-3) var(--sp-5);font:inherit;font-weight:700;font-size:var(--fs-base);min-height:var(--control-h);cursor:pointer;transition:var(--transition);border:none;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.sh-btn:hover{background:var(--accent-hover);color:#fff}.sh-btn:disabled{opacity:.4;cursor:not-allowed}.sh-btn:focus-visible{box-shadow:var(--focus-ring), 0 0 0 1px var(--accent);outline:none}.sh-btn-lg{padding:var(--sp-4) var(--sp-6);font-size:var(--fs-lg)}.sh-btn-block{width:100%}.sh-btn-sm{padding:var(--sp-2) var(--sp-3);min-height:36px;font-size:13px}.sh-btn-ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.sh-btn-ghost:hover{color:var(--text);background:var(--surface-2);filter:brightness(.97)}.sh-btn-ghost.sh-btn-sm .material-icons-round{font-size:var(--fs-lg)}.sh-btn-danger{background:var(--red);color:#fff}.sh-btn-danger:hover{color:#fff;background:#b91c1c}.sh-footnote{color:var(--text-muted);font-size:var(--fs-sm);line-height:var(--lh-body);margin-top:var(--sp-2)}.sh-area-chip{align-items:center;gap:var(--sp-3);margin-top:var(--sp-1);display:flex}.sh-area-chip-label{font-weight:700;font-size:var(--fs-lg)}.sh-area-chip .material-icons-round,.sh-fork-heaven .sh-fork-card-head .material-icons-round,.sh-goal-echo .material-icons-round,.sh-system-row>.material-icons-round,.sh-system-icon .material-icons-round,.sh-beat-icon .material-icons-round{color:var(--accent);font-size:var(--fs-h2)}.sh-hub-area-chip{margin-bottom:var(--sp-4)}.sh-hub-project-title{font-weight:700;font-size:var(--fs-lg);margin-top:var(--sp-1)}.sh-hub-review-link{margin-top:var(--sp-1);color:var(--accent);font-weight:600;font-size:var(--fs-sm);text-decoration:none;display:inline-block}.sh-hub-review-link:hover{text-decoration:underline}.sh-celebrate{z-index:200;padding:var(--sp-6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0f0ab8;place-items:center;animation:.25s sh-cfadein;display:grid;position:fixed;inset:0}.sh-celebrate[hidden]{display:none}.sh-celebrate-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);text-align:center;width:100%;max-width:420px;padding:var(--sp-8)}.sh-celebrate-emoji{font-size:var(--fs-hero);margin-bottom:var(--sp-2);line-height:1}.sh-celebrate-kicker{letter-spacing:2px}.sh-celebrate-title{font-size:var(--fs-h1);letter-spacing:-.02em;font-weight:800;line-height:var(--lh-display);margin:var(--sp-2) 0 var(--sp-2);text-wrap:balance}.sh-celebrate-sub{font-size:var(--fs-lg);margin-bottom:var(--sp-6);text-wrap:balance}.sh-celebrate-undo-wrap{margin-top:var(--sp-3)}.sh-celebrate-undo-wrap[hidden]{display:none}@keyframes sh-cfadein{0%{opacity:0}to{opacity:1}}@keyframes sh-shakeit{0%,to{transform:translate(0)}15%{transform:translate(-7px)rotate(-1deg)}30%{transform:translate(7px)rotate(1deg)}45%{transform:translate(-5px)}60%{transform:translate(5px)}75%{transform:translate(-2px)}}.sh-shake{animation:.25s sh-cfadein,.6s .15s sh-shakeit}
