@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CaVNZxsx.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-CFHvXkgd.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-C2S99t-D.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-cyrillic-ext-700-normal-x-aBxbRb.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-700-normal-BFjdwtlN.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-cyrillic-700-normal-BNhhQdQz.woff2) format("woff2"),url(/assets/montserrat-cyrillic-700-normal-Blzg39qC.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-vietnamese-700-normal-DKDLz5fg.woff2) format("woff2"),url(/assets/montserrat-vietnamese-700-normal-C_ub6cv3.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-ext-700-normal-98nzzMf9.woff2) format("woff2"),url(/assets/montserrat-latin-ext-700-normal-CF2bYQiV.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-Dkxlx_w4.woff2) format("woff2"),url(/assets/montserrat-latin-700-normal-o5q9xX7W.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-cyrillic-ext-800-normal-CPM1T4AE.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-800-normal-DW3FJ1uK.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-cyrillic-800-normal-Ba9yHwOC.woff2) format("woff2"),url(/assets/montserrat-cyrillic-800-normal-ohJ4n8bG.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-vietnamese-800-normal-BPYfAgHj.woff2) format("woff2"),url(/assets/montserrat-vietnamese-800-normal-DSSCkt_I.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-ext-800-normal-9_ldeTv9.woff2) format("woff2"),url(/assets/montserrat-latin-ext-800-normal-DadQjPPO.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-800-normal-DIlMgMlR.woff2) format("woff2"),url(/assets/montserrat-latin-800-normal-Cf8oFnaQ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#050706;--sidebar:#080a09;--topbar:#080a09;--surface:#0e1110;--surface-2:#131715;--surface-3:#181d1a;--line:#212723;--line-strong:#323a35;--ink:#f2f5f3;--ink-2:#d5dbd7;--muted:#a3aba6;--muted-2:#868e89;--green:#33e35c;--green-2:#2acf50;--lime:#8cf24c;--green-ink:#04140a;--green-soft:rgba(51,227,92,.12);--focus:#8cf24c;--danger:#ff7a6b;--danger-soft:#2a1411;--pdf:#e5322d;--zip:#7b3fe4;--docx:#2f7cf6;--radius-sm:6px;--radius:8px;--radius-lg:12px;--sidebar-w:270px;--topbar-h:72px;--rail-w:356px;--gap:24px;--font:"Inter Variable",Inter,"Segoe UI",system-ui,sans-serif;--display:Montserrat,"Inter Variable","Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}button,input{font:inherit;color:inherit}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 18px;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;transition:background-color .15s ease,transform .1s ease,border-color .15s ease}.button:active{transform:translateY(1px)}.button--primary{background:linear-gradient(90deg,var(--green-2),var(--lime));color:var(--green-ink)}.button--primary:hover{filter:brightness(1.06)}.button--primary:disabled{opacity:.6;cursor:progress}.button--ghost{background:transparent;border-color:var(--line-strong);color:var(--ink)}.button--ghost:hover{background:var(--surface-3)}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--ink-2);cursor:pointer;text-decoration:none}.icon-button:hover{background:var(--surface-3);color:var(--ink)}.link-button{border:0;background:none;padding:0;color:var(--green);font-size:13px;cursor:pointer}.link-button:hover{text-decoration:underline}.brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;letter-spacing:-.2px;line-height:1;white-space:nowrap}.brand-mark{width:30px;height:30px;color:var(--green)}.brand--md .brand-word{font-size:25px}.brand--lg .brand-mark{width:34px;height:34px}.brand--lg .brand-word{font-size:28px}.brand-zyro{color:#fff}.brand-brain{color:var(--green)}.brand-link{text-decoration:none;border-radius:var(--radius-sm)}.portal{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;min-height:100dvh}.skip-link{position:fixed;left:12px;top:-60px;z-index:60;padding:10px 14px;border-radius:var(--radius-sm);border:0;background:var(--green);color:var(--green-ink);font-weight:700;cursor:pointer}.skip-link:focus{top:12px}.sidebar{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--sidebar);border-right:1px solid var(--line);overflow-y:auto;z-index:30}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;height:var(--topbar-h);flex:none;padding:0 20px 0 46px}.sidebar-close{margin-right:-8px}.sidebar-nav{padding:24px 18px 0}.sidebar-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.nav-item{display:flex;align-items:center;gap:16px;width:100%;min-height:42px;padding:8px 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-2);font-size:16px;text-align:left;text-decoration:none;cursor:pointer;transition:background-color .15s ease,color .15s ease}.nav-item svg{flex:none;color:var(--ink-2)}.nav-item:hover{background:var(--surface-3);color:#fff}.nav-item[aria-current=page]{background:linear-gradient(90deg,var(--green-2),var(--green) 60%,#4ff06b);color:var(--green-ink);font-weight:500}.nav-item[aria-current=page] svg{color:var(--green-ink)}.nav-item--quiet{font-size:16px}.vip-card{margin:30px 18px 0;padding:16px 14px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#0f1311,#0b0e0c)}.vip-head{display:flex;align-items:center;gap:10px}.vip-badge{display:grid;place-items:center;flex:none;width:50px;height:50px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#1d5c2a,#0b2412);border:2px solid var(--green);color:var(--lime);box-shadow:0 0 0 3px #33e35c1f}.vip-brand{font-family:var(--display);font-weight:800;font-size:18px;line-height:1.1}.vip-brand-brain{color:#fff}.vip-pill{display:inline-block;margin-top:5px;padding:3px 14px;border-radius:5px;background:linear-gradient(90deg,var(--green-2),var(--lime));color:var(--green-ink);font-family:var(--display);font-weight:800;font-size:16px;letter-spacing:.4px;line-height:1.25}.vip-text{margin-top:12px;font-size:12.5px;line-height:1.45;color:var(--ink-2)}.vip-cta{width:100%;margin-top:14px;min-height:36px;font-size:14px}.sidebar-foot{margin-top:auto;padding:16px 18px 24px;display:grid;gap:4px}.sidebar-foot:before{content:"";display:block;height:1px;margin:0 0 14px;background:var(--line-strong)}.portal-column{display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;height:var(--topbar-h);padding:0 28px;background:#080a09f5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.topbar-menu{flex:none;margin-left:-6px;color:var(--ink)}.topbar-brand{display:none;text-decoration:none}.topbar-tagline{flex:1 1 auto;min-width:0;font-size:14px;font-weight:500;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-tagline span{margin:0 4px;font-size:10px;vertical-align:2px}.topbar-search{position:relative;flex:0 1 372px;min-width:200px}.topbar-search input{width:100%;height:40px;padding:0 14px 0 50px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#0b0d0c;font-size:14px;color:var(--ink)}.topbar-search input::placeholder{color:var(--muted)}.topbar-search input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #33e35c40}.topbar-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--ink-2);pointer-events:none}.topbar-actions{display:flex;align-items:center;gap:22px;margin-left:24px}.popover-anchor{position:relative}.bell{position:relative;color:var(--ink)}.bell-dot{position:absolute;top:7px;right:8px;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 2px var(--topbar)}.profile-button{display:flex;align-items:center;gap:12px;padding:4px 6px 4px 4px;border:0;border-radius:var(--radius);background:transparent;cursor:pointer;text-align:left}.profile-button:hover{background:var(--surface-3)}.avatar{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#2b3a30,#141a16);border:1px solid var(--line-strong);font-weight:700;font-size:15px;letter-spacing:.5px;color:#fff}.profile-text{display:grid;line-height:1.25}.profile-name{font-size:14px;font-weight:600;color:#fff;white-space:nowrap}.profile-role{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2)}.profile-role:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}.profile-chevron{color:var(--ink-2);margin-left:8px}.popover{position:absolute;right:0;top:calc(100% + 10px);z-index:40;width:320px;max-width:calc(100vw - 24px);padding:14px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:0 18px 48px #0000008c}.popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.popover-head h2{font-size:15px}.popover-empty{font-size:14px;color:var(--muted)}.notification-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.notification-list li{padding:10px;border-radius:var(--radius);background:var(--surface-3);border-left:3px solid var(--green)}.notification-list li.is-read{border-left-color:transparent;opacity:.75}.notification-title{font-size:14px;font-weight:600}.notification-body,.notification-date{font-size:13px;color:var(--muted)}.popover--profile{width:260px}.popover-identity{display:grid;gap:2px;padding:4px 6px 12px;border-bottom:1px solid var(--line);margin-bottom:8px}.popover-identity span{font-size:12px;color:var(--muted)}.popover-links{list-style:none;margin:0;padding:0;display:grid}.popover-links a,.popover-links button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 8px;border:0;border-radius:var(--radius-sm);background:none;text-decoration:none;font-size:14px;cursor:pointer;text-align:left}.popover-links a:hover,.popover-links button:hover{background:var(--surface-3)}.popover-links svg{color:var(--green)}.content{position:relative;flex:1;padding:var(--gap);outline:none}.demo-badge{position:absolute;top:5px;right:var(--gap);margin:0;padding:1px 8px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);font-size:11px;color:var(--muted);pointer-events:none;z-index:1}.home{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w);gap:var(--gap);align-items:start}.home--no-rail{grid-template-columns:minmax(0,1fr)}.home-main{display:grid;gap:22px;min-width:0;container-type:inline-size}.welcome{display:grid;gap:6px;padding-top:2px}.welcome h1{font-size:26px;font-weight:700;letter-spacing:-.3px;line-height:1.2}.welcome p{font-size:15px;color:var(--ink-2)}.banner{position:relative;display:flex;min-height:254px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(51,227,92,.28);background:radial-gradient(120% 140% at 85% 30%,#0f2a15,#06100a 45%,#030504 70%)}.banner:before{content:"";position:absolute;inset:0;background:linear-gradient(118deg,transparent 0 56%,rgba(124,242,76,0) 56%,rgba(124,242,76,.85) 57.2%,rgba(51,227,92,0) 58.6%,transparent 59%),linear-gradient(118deg,transparent 0 8%,rgba(51,227,92,0) 8%,rgba(51,227,92,.55) 9.4%,transparent 10.8%);opacity:.9;pointer-events:none}.banner-copy{position:relative;z-index:2;display:grid;align-content:start;gap:9px;padding:16px 0 24px 34px;max-width:500px}.banner-pill{justify-self:start;padding:2px 16px;border-radius:5px;background:linear-gradient(90deg,var(--lime),var(--green));color:var(--green-ink);font-family:var(--display);font-size:13px;font-weight:800;letter-spacing:.3px}.banner-title{display:grid;font-family:var(--display);font-weight:800;font-size:clamp(17px,2.5cqi,21.5px);line-height:1.27;letter-spacing:.2px;color:#fff;text-transform:none}.banner-title em{font-style:normal;color:var(--green)}.banner-tools{list-style:none;margin:4px 0 0;padding:0;display:flex;gap:18px}.banner-tools img{width:50px;height:50px;border-radius:var(--radius-sm)}.banner-art{position:absolute;right:0;top:0;height:100%;width:auto;max-width:none;z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%);mask-image:linear-gradient(90deg,transparent 0,#000 18%)}.banner-dots{position:absolute;left:50%;bottom:12px;z-index:3;display:flex;gap:2px;transform:translate(-50%)}.banner-dots button{width:22px;height:22px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}.banner-dots button:before{content:"";width:9px;height:9px;border-radius:50%;background:#c9cfcb;opacity:.85}.banner-dots button[aria-pressed=true]:before{background:var(--green);opacity:1}.home-section{display:grid;gap:14px}.home-section h2,.section-head h2{font-size:20px;font-weight:700;letter-spacing:-.2px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.see-all{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:15px;font-weight:500;text-decoration:none;border-radius:var(--radius-sm)}.see-all:hover{text-decoration:underline}.see-all--small{font-size:13px}.course-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.course-card{display:flex;flex-direction:column;height:100%;padding:0 0 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-decoration:none;overflow:hidden;transition:border-color .15s ease,transform .15s ease}.course-card:hover{border-color:#33e35c8c;transform:translateY(-2px)}.course-cover{display:block;aspect-ratio:196/76;background:#0a0d0b;overflow:hidden}.course-cover img{width:100%;height:100%;object-fit:cover}.course-title{margin-top:4px;padding:0 8px;font-family:var(--display);font-weight:800;font-size:clamp(12px,1.85cqi,15.5px);letter-spacing:-.35px;line-height:1.15;text-align:center;color:#fff;text-wrap:balance}.course-subtitle{margin-top:3px;padding:0 6px;font-size:clamp(8px,1.15cqi,10px);font-weight:500;text-align:center;color:var(--ink-2);text-transform:uppercase;text-wrap:balance}.course-card .bar{margin:10px 14px 0}.course-progress{margin-top:9px;padding:0 14px;font-size:12px;color:var(--ink-2)}.bar{position:relative;height:6px;border-radius:999px;background:#3a403c;overflow:hidden}.bar-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,var(--green-2),var(--green))}.continue-card{display:grid;grid-template-columns:204px minmax(0,1fr) auto;align-items:center;gap:22px;padding:14px 22px 14px 16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.continue-thumb{display:block;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line-strong)}.continue-thumb img{width:204px;height:88px;object-fit:cover}.continue-body{display:grid;gap:6px;min-width:0}.continue-body h3{font-size:16px;font-weight:600}.continue-lesson{font-size:13px;color:var(--ink-2)}.continue-body .bar{margin-top:6px;max-width:410px}.continue-time{font-size:12px;color:var(--muted)}.continue-cta{min-width:122px}.rail{display:grid;gap:18px;min-width:0;padding-top:0}.panel{padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.panel--inline{margin-bottom:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:700;letter-spacing:-.2px}.panel-icon{color:var(--green);flex:none}.panel-empty{margin-top:12px;font-size:14px;color:var(--muted);line-height:1.5}.progress-summary{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:16px;margin-top:10px}.ring{position:relative;width:104px;height:104px}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-track{fill:none;stroke:#26302a;stroke-width:9}.ring-fill{fill:none;stroke:var(--green);stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .6s ease}.ring-value{position:absolute;inset:0;display:grid;place-items:center;font-size:22px;font-weight:700}.stat-list{list-style:none;margin:0;padding:0}.stat-list li{display:flex;align-items:center;gap:12px;padding:7px 0;font-size:13.5px;color:var(--ink-2)}.stat-list li+li{border-top:1px solid var(--line)}.stat-list svg{color:var(--green);flex:none}.stat-list strong{font-weight:500;color:var(--ink-2)}.quick-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.material-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px}.quick-list a{display:flex;align-items:center;gap:16px;min-height:38px;padding:4px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#0b0d0c;font-size:14px;text-decoration:none;transition:border-color .15s ease,background-color .15s ease}.quick-list a:hover{border-color:#33e35c8c;background:var(--surface-3)}.quick-list a span{flex:1}.quick-icon{color:var(--green)}.material-row{display:flex;align-items:center;gap:12px;min-height:58px;padding:6px 4px 6px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#0b0d0c}.file-tile{display:grid;place-items:end center;flex:none;width:32px;height:40px;padding-bottom:5px;border-radius:4px 10px 4px 4px;font-size:8px;font-weight:800;letter-spacing:.2px;color:#fff;background:#4b5350}.file-tile--pdf{background:linear-gradient(160deg,#ff4b3e,var(--pdf))}.file-tile--zip{background:linear-gradient(160deg,#9a5cff,var(--zip))}.file-tile--docx{background:linear-gradient(160deg,#4d96ff,var(--docx))}.material-text{display:grid;flex:1;min-width:0}.material-title{font-size:13px;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.material-meta{font-size:12px;color:var(--muted)}.material-action{color:var(--green)}.demo-tag{padding:1px 8px;border-radius:999px;border:1px solid var(--line-strong);font-size:11px;font-weight:500;color:var(--muted)}.page{display:grid;gap:16px;max-width:980px}.page>h1{font-size:26px;font-weight:700;letter-spacing:-.3px}.page-intro{color:var(--ink-2)}.back-link{display:inline-flex;align-items:center;gap:6px;justify-self:start;color:var(--green);font-size:14px;text-decoration:none}.back-link:hover{text-decoration:underline}.course-grid--page{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.course-hero{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.course-hero img{width:240px;height:auto;border-radius:var(--radius);border:1px solid var(--line)}.course-hero-progress{display:grid;gap:8px;min-width:220px;flex:1;max-width:360px;font-size:13px;color:var(--ink-2)}.module-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.module{padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.module h2{font-size:17px;font-weight:700;margin-bottom:8px}.lesson-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.lesson-list a{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--radius-sm);text-decoration:none;font-size:14px;color:var(--ink-2)}.lesson-list a:hover{background:var(--surface-3);color:#fff}.lesson-list svg{color:var(--green);flex:none}.lesson-duration{margin-left:auto;font-size:12px;color:var(--muted)}.player{display:grid;place-items:center;aspect-ratio:16/9;max-height:62vh;border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 40%,#10241a,#050706 70%)}.player-empty{display:grid;justify-items:center;gap:10px;max-width:440px;padding:24px;text-align:center;color:var(--ink-2)}.player-empty svg{color:var(--green)}.lesson-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.notice{display:grid;gap:12px;justify-items:start;padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink-2);line-height:1.55}.notice-muted{font-size:14px;color:var(--muted)}.notice--channel{max-width:640px}.notice-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--green-soft);color:var(--green)}.settings-list{list-style:none;margin:14px 0 18px;padding:0;display:grid;gap:14px}.switch{position:relative;display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-weight:500}.switch input{position:absolute;z-index:1;opacity:0;width:44px;height:24px;margin:0;cursor:pointer}.switch-track{position:relative;flex:none;width:44px;height:24px;border-radius:999px;background:#39413c;transition:background-color .15s ease}.switch-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s ease}.switch input:checked+.switch-track{background:var(--green)}.switch input:checked+.switch-track .switch-thumb{transform:translate(20px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--focus);outline-offset:3px}.switch-hint{margin:4px 0 0 56px;font-size:13px;color:var(--muted)}.search-group{display:grid;gap:8px}.search-group h2{font-size:15px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.search-group ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.search-group a{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-decoration:none}.search-group a:hover{border-color:#33e35c8c}.search-title{font-weight:600}.search-detail{font-size:13px;color:var(--muted)}.dialog{width:min(460px,calc(100vw - 32px));padding:0;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--ink);box-shadow:0 24px 64px #0009}.dialog::backdrop{background:#000000a6}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 0 20px}.dialog-head h2{font-size:18px}.dialog-body{display:grid;gap:12px;justify-items:start;padding:12px 20px 20px;color:var(--ink-2);line-height:1.55}.screen{display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:24px 16px;background:radial-gradient(80% 60% at 70% 20%,#0f2a15,transparent 60%),var(--bg)}.screen-card{display:grid;gap:14px;width:min(440px,100%);padding:32px 28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.screen-card h1{margin-top:14px;font-size:26px;letter-spacing:-.3px}.screen-card p{color:var(--ink-2)}.login-form{display:grid;gap:10px;margin-top:6px}.login-form label{font-weight:600;font-size:14px}.login-form input{height:46px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#0b0d0c}.login-form input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #33e35c40}.login-form .button{min-height:46px}.screen-status{min-height:1.5em;font-size:14px}.toast{position:fixed;left:50%;bottom:20px;z-index:70;transform:translate(-50%);padding:10px 16px;border-radius:var(--radius);background:var(--danger-soft);border:1px solid var(--danger);color:#fff}.library{display:grid;gap:18px}.library h2{font-size:18px;line-height:1.3;margin:0}.library button{min-height:40px;padding:8px 16px;border-radius:var(--radius-sm);border:1px solid transparent;background:linear-gradient(90deg,var(--green-2),var(--lime));color:var(--green-ink);font-weight:600;cursor:pointer;transition:transform .1s ease}.library button:active{transform:translateY(1px)}.library .button-quiet{background:transparent;color:var(--ink);border-color:var(--line-strong)}.library .button-quiet:hover{background:var(--surface-3)}.library-members{color:var(--green);font-weight:600}.library-controls{display:grid;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.library-search{display:grid;gap:8px}.library-search label,.library-kinds legend{font-weight:600;font-size:14px}.library-search input{height:42px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#0b0d0c}.library-search input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #33e35c40}.library-kinds{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.library-kinds legend{padding:0;margin-bottom:8px}.library-kinds label{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#0b0d0c;cursor:pointer;font-size:14px}.library-kinds input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.library-kinds label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:3px}.library-kinds label.is-selected{background:linear-gradient(90deg,var(--green-2),var(--green));border-color:var(--green);color:var(--green-ink);font-weight:600}.library-count{font-size:12px;font-variant-numeric:tabular-nums;opacity:.85}.library-summary{margin:0;color:var(--muted);font-size:14px}.library-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.resource{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.resource .body{margin:0}.body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;color:var(--ink-2)}.resource-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0;font-size:13px;color:var(--muted)}.resource-kind{font-weight:600;color:var(--green)}.resource-kind--update{padding:1px 8px;border-radius:999px;background:var(--green-soft)}.prompt-body{padding:14px;background:#0a0c0b;border:1px solid var(--line-strong);border-radius:var(--radius);font-family:ui-monospace,Consolas,Liberation Mono,monospace;font-size:13.5px}.body.is-clamped{max-height:11.5em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}.resource-actions{display:flex;flex-wrap:wrap;gap:10px}.resource-link{color:var(--green);font-weight:600;text-decoration:none}.resource-link:hover{text-decoration:underline}.resource-host{margin-left:6px;font-weight:400;color:var(--muted)}.resource-unavailable{margin:0;color:var(--muted);font-style:italic}.library-notice{display:grid;gap:12px;justify-items:start;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.library-notice p{margin:0;line-height:1.6;max-width:62ch;color:var(--ink-2)}.library-notice--error{background:var(--danger-soft);border-color:var(--danger)}.library-notice--error h2{color:var(--danger)}.library-skeleton{list-style:none;margin:0;padding:0;display:grid;gap:14px}.library-skeleton li{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.library-skeleton span{display:block;height:12px;border-radius:var(--radius-sm);background:var(--line-strong);opacity:.7}.library-skeleton span:nth-child(1){width:18%}.library-skeleton span:nth-child(2){width:50%;height:18px}.library-skeleton span:nth-child(3){width:90%;height:48px}@media(prefers-reduced-motion:no-preference){.portal:not(.reduce-motion) .library-skeleton span{animation:library-pulse 1.4s ease-in-out infinite alternate}}@keyframes library-pulse{to{opacity:.3}}.portal.is-compact{--sidebar-w:84px}.is-compact .sidebar-brand{padding:0;justify-content:center}.is-compact .brand-word,.is-compact .nav-label,.is-compact .vip-card{display:none}.is-compact .sidebar-nav{padding:24px 14px 0}.is-compact .nav-item{justify-content:center;padding:8px}.is-compact .sidebar-foot{padding:16px 14px 24px}@media(max-width:1499px){:root{--rail-w:330px}.topbar-search{flex-basis:320px}}@media(max-width:1279px){:root{--rail-w:300px;--sidebar-w:240px}.sidebar-brand{padding-left:30px}.brand--md .brand-word{font-size:22px}.topbar-tagline{display:none}.topbar-search{flex:1 1 auto}}@media(max-width:1180px){.home{grid-template-columns:minmax(0,1fr)}.rail{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}}@container (max-width:700px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.banner-art{opacity:.55}}@container (max-width:560px){.banner-copy{padding:18px 18px 40px}.banner-tools{gap:10px}.banner-tools img{width:40px;height:40px}}@media(max-width:1023px){.portal,.portal.is-compact{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(300px,86vw);transform:translate(-102%);transition:transform .22s ease;box-shadow:none}.drawer-open .sidebar{transform:none;box-shadow:24px 0 64px #0009}.sidebar-brand{padding:0 12px 0 20px}.scrim{position:fixed;inset:0;z-index:25;background:#0009}.topbar{gap:10px;padding:0 16px}.topbar-brand{display:inline-flex}.topbar-brand .brand-word{font-size:20px}.topbar-brand .brand-mark{width:24px;height:24px}.topbar-actions{gap:6px;margin-left:auto}.profile-text,.profile-chevron{display:none}.avatar{width:38px;height:38px;font-size:13px}.topbar{flex-wrap:wrap;height:auto;padding-top:10px;padding-bottom:10px;row-gap:10px}.topbar-search{order:5;flex:1 1 100%;min-width:0}}@media(max-width:640px){:root{--gap:16px}.welcome h1,.page>h1{font-size:22px}.banner{min-height:0}.banner-art{opacity:.3}.banner-title{font-size:16px}.continue-card{grid-template-columns:minmax(0,1fr);padding:14px}.continue-thumb img{width:100%;height:auto;aspect-ratio:204/88}.continue-cta{justify-self:stretch}.demo-badge{position:static;justify-self:start;display:inline-block;margin-bottom:12px}.panel-title{font-size:17px}.material-title{white-space:normal}.see-all{white-space:nowrap}.progress-summary{grid-template-columns:88px minmax(0,1fr);gap:12px}.ring{width:88px;height:88px}.ring-value{font-size:19px}}@media(max-width:360px){.topbar-brand .brand-word{font-size:17px}.course-grid{grid-template-columns:minmax(0,1fr)}.icon-button{width:36px;height:36px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{transition:none!important;animation:none!important}@media(forced-colors:active){.nav-item[aria-current=page],.library-kinds label.is-selected{outline:2px solid CanvasText}.body.is-clamped{mask-image:none;-webkit-mask-image:none}}.prompt-library{max-width:1240px}.prompt-tool-banner{display:flex;align-items:center;gap:16px;margin:24px 0 16px;padding:20px 24px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface)}.prompt-tool-banner>svg{flex:none;color:var(--green)}.prompt-tool-banner h2{font-size:20px;letter-spacing:-.4px}.prompt-tool-banner p{margin-top:4px;color:var(--muted);font-size:14px}.prompt-total{margin-left:auto;white-space:nowrap;border:1px solid var(--line-strong);padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;color:var(--green)}.prompt-start{color:var(--ink-2);font-size:14px;max-width:880px;line-height:1.7;margin-bottom:24px}.prompt-start strong{color:var(--green);font-weight:600}.prompt-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:16px;margin-bottom:24px}.prompt-controls label{display:block;color:var(--ink-2);font-size:13px;font-weight:600;margin-bottom:8px}.prompt-search>div{position:relative}.prompt-search svg{position:absolute;left:12px;top:14px;color:var(--muted);pointer-events:none}.prompt-search input,.prompt-select select{display:block;width:100%;height:46px;min-width:0;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm)}.prompt-search input{padding:10px 12px 10px 40px}.prompt-search input::placeholder{color:var(--muted-2)}.prompt-select select{font:inherit;font-size:14px;padding:8px 12px}.prompt-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 16px}.prompt-results-head h2{font-size:18px}.prompt-results-head p{font-size:13px;color:var(--muted)}.prompt-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.prompt-list>li{min-width:0}.prompt-card{padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-width:0}.prompt-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.prompt-category{color:var(--green);font-size:12px;font-weight:600}.prompt-number{font-size:12px;color:var(--muted-2);font-variant-numeric:tabular-nums}.prompt-card h3{font-size:18px;line-height:1.4;letter-spacing:-.3px}.prompt-description{color:var(--ink-2);font-size:14px;line-height:1.65;margin-top:10px}.prompt-details{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.prompt-details summary{cursor:pointer;color:var(--ink-2);font-size:13px;font-weight:600;padding:4px 0;min-height:32px}.prompt-details summary:hover{color:var(--green)}.prompt-instructions{padding:12px 0 0;min-width:0}.prompt-instructions h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:16px 0 8px}.prompt-instructions h4:first-child{margin-top:0}.prompt-instructions p,.prompt-instructions li{font-size:13px;line-height:1.7;color:var(--ink-2);overflow-wrap:anywhere}.prompt-instructions ul{margin:0;padding-left:20px;display:grid;gap:6px}.prompt-instructions pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;max-height:400px;overflow-y:auto;padding:16px;margin:0;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font);font-size:13px;line-height:1.75;color:var(--ink-2)}.prompt-copy-row{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}.prompt-copy-row .button{font-size:13px;min-height:40px;padding:8px 14px}.prompt-copy-error{font-size:12px;color:var(--danger);line-height:1.6}.prompt-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:28px}.prompt-pagination span{color:var(--muted);font-size:13px}.prompt-pagination .button{font-size:13px}.prompt-pagination button:disabled{opacity:.4;cursor:not-allowed;transform:none}.prompt-selection{margin-bottom:20px;font-size:14px}.prompt-selection a{color:var(--green)}@media(max-width:1200px){.prompt-list{grid-template-columns:1fr}}@media(max-width:767px){.prompt-tool-banner{padding:16px;gap:12px;flex-wrap:wrap}.prompt-tool-banner h2{font-size:18px}.prompt-tool-banner>div{flex:1;min-width:150px}.prompt-total{margin-left:40px}.prompt-controls{grid-template-columns:1fr}.prompt-card{padding:20px}.prompt-results-head{display:block}.prompt-results-head p{margin-top:6px}.prompt-pagination{gap:12px}.prompt-pagination .button{padding:8px 12px}.prompt-pagination span{font-size:12px}}@media(forced-colors:active){.prompt-category,.prompt-total{color:CanvasText}.prompt-card,.prompt-tool-banner,.prompt-instructions pre{border-color:CanvasText}}.lesson-watch{display:flex;align-items:flex-start;gap:24px;margin:24px 0;padding:28px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface)}.lesson-watch>svg{flex:none;color:var(--green)}.lesson-watch h2{font-size:22px;letter-spacing:-.4px;margin-bottom:8px}.lesson-watch p{color:var(--ink-2);font-size:14px;max-width:720px}.lesson-watch .button{margin-top:20px}.lesson-watch .lesson-pending{margin-top:16px;color:var(--muted)}.lesson-completion{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:24px}.lesson-completion h2,.lesson-support h2{font-size:20px;display:flex;align-items:center;gap:10px}.course-progress-status{margin:16px 0;color:var(--muted);font-size:13px;line-height:1.7}.course-progress-status p+p{margin-top:4px}.course-progress-status [role=alert]{margin-top:8px;color:var(--danger)}.course-progress-status [role=alert] .button{margin-top:8px;font-size:13px}.course-progress-status [role=status]:empty{display:none}.lesson-completion .button:disabled{opacity:.5;cursor:not-allowed;transform:none}.lesson-completed-label{margin-top:12px;font-size:13px;color:var(--green)}.course-open-note{font-size:14px;color:var(--ink-2);margin:20px 0 8px}.course-hero .button{margin-left:auto;font-size:13px;flex:none}.lesson-support{display:grid;gap:32px;margin-top:32px}.lesson-support h2{margin-bottom:16px}.lesson-support-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.lesson-support-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:20px;min-width:0}.lesson-support-item h3{font-size:16px;margin-bottom:8px}.lesson-support-item p{color:var(--ink-2);font-size:14px;line-height:1.7}.lesson-support-item .notice-muted{font-size:13px;color:var(--muted)}.lesson-support-item details summary{cursor:pointer;font-size:14px;color:var(--green);padding:6px 0}.lesson-support-item .lesson-material-body{white-space:pre-wrap;margin-top:12px}.lesson-external{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--green);font-size:14px}@media(max-width:767px){.lesson-watch{padding:20px;gap:16px}.lesson-watch>svg{width:28px;height:28px}.lesson-watch h2{font-size:18px}.lesson-completion{padding:20px}.course-hero .button{margin-left:0}.course-hero{flex-wrap:wrap}.lesson-watch .button{font-size:13px}.lesson-support h2{font-size:18px}}.cchat{--cchat-gold:#f2c94c;--cchat-gold-ink:#1d1503;--cchat-gold-line:#a8842a;display:grid;gap:14px;margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);max-width:860px}.cchat--status{max-width:640px}.cchat-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.cchat-title{font-size:17px;font-weight:700}.cchat-state{font-size:13px;color:var(--muted)}.cchat-demo{display:grid;gap:10px;padding:12px 14px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-2);font-size:14px;color:var(--ink-2)}.cchat-identity{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;border:0}.cchat-identity legend{float:left;margin-right:6px;padding:0;font-weight:600;color:var(--ink)}.cchat-identity label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.cchat-identity input{accent-color:var(--green);margin:0}.cchat-list{list-style:none;margin:0;padding:4px 2px;display:flex;flex-direction:column;gap:12px;height:min(56vh,480px);overflow-y:auto;overscroll-behavior:contain;border-radius:var(--radius)}.cchat-empty{margin:auto;color:var(--muted);font-size:14px;text-align:center}.cchat-msg{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start}.cchat-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface-3);border:1px solid var(--line-strong);font-size:13px;font-weight:700;color:var(--ink-2)}.cchat-avatar--vip{border-color:var(--cchat-gold-line);color:var(--cchat-gold)}.cchat-msg-body{min-width:0;padding:8px 12px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line)}.cchat-msg--own .cchat-msg-body{border-color:#33e35c59;background:#0f1712}.cchat-msg-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px}.cchat-author{font-weight:700;color:var(--ink)}.cchat-you{font-size:12px;color:var(--green)}.cchat-time{margin-left:auto;font-size:12px;color:var(--muted-2)}.cchat-text{margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;color:var(--ink-2)}.cchat-emojis{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.cchat-emoji{display:inline-block;flex:none;vertical-align:middle}.cchat-vip{display:inline-flex;align-items:center;gap:3px;padding:1px 8px 1px 6px;border-radius:999px;background:linear-gradient(180deg,#f7d978,var(--cchat-gold));color:var(--cchat-gold-ink);font-size:11px;font-weight:800;letter-spacing:.04em;text-decoration:none;line-height:18px}.cchat-vip:hover{filter:brightness(1.07)}.cchat-vip:focus-visible{outline:2px solid var(--cchat-gold);outline-offset:2px}.cchat-composer{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.cchat-label{font-weight:600;font-size:14px}.cchat-as{font-weight:400;color:var(--muted)}.cchat-input{font:inherit;width:100%;min-height:76px;resize:vertical;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);line-height:1.5}.cchat-input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.cchat-input[aria-invalid=true]{border-color:var(--danger)}.cchat-input[readonly]{opacity:.75}.cchat-hint{font-size:13px;color:var(--muted)}.cchat-hint a{color:var(--cchat-gold)}.cchat-notice{padding:8px 12px;border-radius:var(--radius);border:1px solid var(--danger);background:var(--danger-soft);color:#ffd2cb;font-size:14px}.cchat-picked{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.cchat-picked-item{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 4px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--muted);cursor:pointer}.cchat-picked-item:hover{border-color:var(--danger);color:var(--ink)}.cchat-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.cchat-emoji-bar{display:flex;gap:4px}.cchat-emoji-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-2);cursor:pointer}.cchat-emoji-btn:hover:not(:disabled){border-color:var(--green)}.cchat-emoji-btn:disabled,.cchat-picked-item:disabled{opacity:.5;cursor:not-allowed}.cchat-count{margin-left:auto;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.cchat-count--over{color:var(--danger);font-weight:700}.cchat-send{min-width:116px}.cchat-send:disabled{cursor:not-allowed}.cchat-channel{margin-top:16px}@media(max-width:600px){.cchat{padding:12px}.cchat-list{height:60vh}.cchat-count{margin-left:0}.cchat-send{width:100%}}.auth{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;min-height:100dvh;background:var(--bg)}.auth-aside{display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:48px clamp(32px,5vw,72px);border-right:1px solid var(--line);background:radial-gradient(90% 70% at 15% 10%,#10301a,transparent 62%),radial-gradient(60% 50% at 90% 100%,rgba(140,242,76,.08),transparent 70%),var(--sidebar)}.auth-aside-copy{display:grid;gap:28px;max-width:30rem}.auth-aside h2{font-family:var(--display);font-weight:800;font-size:clamp(28px,3.2vw,40px);line-height:1.12;letter-spacing:-.6px;color:var(--ink)}.auth-points{display:grid;gap:14px;margin:0;padding:0;list-style:none;color:var(--ink-2)}.auth-points li{display:flex;align-items:center;gap:12px}.auth-points svg{flex:none;width:20px;height:20px;color:var(--green)}.auth-panel{display:grid;grid-template-columns:minmax(0,420px);place-content:center;padding:48px 24px}.auth-card{display:grid;gap:14px;min-width:0}.auth-card h1{font-size:28px;line-height:1.2;letter-spacing:-.4px;outline:none}.auth-card p{color:var(--ink-2);max-width:65ch}.auth-muted{color:var(--muted)!important;font-size:14px}.auth-fineprint{margin-top:2px}.auth-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-lg);background:var(--green-soft);color:var(--green)}.auth-icon svg{width:22px;height:22px}.auth-icon--danger{background:var(--danger-soft);color:var(--danger)}.auth-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}.auth-actions .button{min-height:44px}.auth-link{color:var(--green);font-weight:600;text-underline-offset:3px}.auth-link:hover{color:var(--lime)}.auth-notice{padding:12px 14px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface-2);font-size:14px}.auth-notice--error{border-color:#ff7a6b8c;background:var(--danger-soft);color:#ffd9d4!important}.auth-notice--info{border-color:#33e35c59;background:var(--green-soft);color:var(--ink)!important}.google-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;margin-top:8px;padding:0 16px;border:1px solid #8e918f;border-radius:var(--radius);background:#131314;color:#e3e3e3;font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.google-button:hover{background:#1d1e20;border-color:#a8aba9}.google-button:active{transform:translateY(1px)}.google-button[aria-busy=true]{cursor:progress;opacity:.75}.google-mark{flex:none;width:20px;height:20px}.auth-skeleton{display:block;height:14px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%}.auth-skeleton--title{height:30px;width:78%;margin-bottom:6px}.auth-skeleton--short{width:62%}.auth-skeleton--button{height:48px;margin-top:12px;border-radius:var(--radius)}@media(prefers-reduced-motion:no-preference){.auth-skeleton{animation:auth-shimmer 1.4s ease-in-out infinite}.auth-spin{animation:auth-rotate .9s linear infinite}}@keyframes auth-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes auth-rotate{to{transform:rotate(360deg)}}@media(max-width:900px){.auth{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.auth-aside{gap:0;padding:20px 20px 18px;border-right:0;border-bottom:1px solid var(--line);background:radial-gradient(120% 140% at 10% 0%,#10301a,transparent 65%),var(--sidebar)}.auth-aside-copy{display:none}.auth-aside .brand--lg .brand-word{font-size:24px}.auth-panel{grid-template-columns:minmax(0,1fr);place-content:start stretch;padding:32px 16px 40px}.auth-card h1{font-size:24px}}
