:root{--paper: #f3f1ea;--paper-deep: #eae7dd;--surface: #fffdf8;--surface-2: #f8f6f0;--ink: #14211d;--ink-2: #34443f;--muted: #74807b;--muted-2: #9ca59f;--line: #dedbd0;--line-strong: #cfcab9;--green: #175c4c;--green-dark: #0d3b31;--green-deep: #092a23;--green-soft: #e4efe8;--green-soft-2: #d6e7dc;--lime: #d9f477;--lime-deep: #c9ea5c;--coral: #e76847;--coral-soft: #fbe9e3;--blue: #436cb7;--danger: #b8442e;--sidebar-w: 264px;--radius: 16px;--radius-lg: 24px;--radius-xl: 30px;--shadow-sm: 0 1px 2px rgba(20, 33, 29, .04);--shadow: 0 18px 50px rgba(20, 33, 29, .08);--shadow-lg: 0 30px 80px rgba(20, 33, 29, .14);--font-sans: "Inter", "SF Pro Text", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-serif: "Georgia", "Songti SC", "STSong", "Noto Serif SC", serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}img,svg{display:block}h1,h2,h3,h4,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}::selection{background:var(--lime);color:var(--ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d2cec2;border-radius:99px;border:3px solid var(--paper)}::-webkit-scrollbar-track{background:transparent}.eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:10.5px;font-weight:700;letter-spacing:.16em;line-height:1.4;text-transform:uppercase}.eyebrow--light{color:#ffffff94}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border:1px solid transparent;border-radius:12px;font-size:13.5px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn--lg{height:50px;padding:0 22px;border-radius:14px;font-size:14px}.btn--sm{height:36px;padding:0 13px;border-radius:10px;font-size:12.5px}.btn--primary{background:var(--ink);color:#fff;box-shadow:0 8px 20px #14211d24}.btn--primary:hover:not(:disabled){background:var(--green-dark)}.btn--lime{background:var(--lime);color:var(--ink);box-shadow:0 8px 24px #d9f4771f}.btn--lime:hover:not(:disabled){background:var(--lime-deep)}.btn--soft{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn--soft:hover:not(:disabled){border-color:var(--line-strong);background:#fff}.btn--ghost{background:transparent;border-color:var(--line);color:var(--ink-2)}.btn--ghost:hover:not(:disabled){background:var(--surface)}.btn--ghost-light{background:#ffffff0f;border-color:#ffffff2e;color:#fff}.btn--ghost-light:hover:not(:disabled){background:#ffffff1f}.btn--danger{background:var(--danger);color:#fff}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink-2);transition:background .18s ease,transform .18s ease}.icon-btn:hover{background:var(--paper-deep);transform:rotate(4deg)}.link-btn,.text-btn{display:inline-flex;align-items:center;gap:5px;padding:0;color:var(--ink-2);font-size:12.5px;font-weight:650;text-decoration:none}.link-btn:hover,.text-btn:hover{color:var(--green)}.text-btn{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}.icon-tile{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--green)}.icon-tile--lg{width:58px;height:58px;flex-basis:58px;border-radius:17px}.icon-tile--lime{background:var(--lime);border-color:transparent;color:var(--ink)}.tag{display:inline-flex;align-items:center;height:27px;padding:0 10px;border:1px solid var(--line);border-radius:99px;background:var(--surface);color:var(--ink-2);font-size:11.5px;font-weight:550;line-height:1}.tag--lime{background:var(--lime);border-color:transparent;color:var(--ink);font-weight:700}.match-chip{display:inline-flex;align-items:center;gap:4px;height:25px;padding:0 9px;border-radius:7px;background:var(--green-soft);color:var(--green);font-size:11px;font-weight:750;font-variant-numeric:tabular-nums}.source-badge{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:99px;background:var(--surface);color:var(--muted);font-size:11.5px;font-weight:600}.live-dot,.pulse-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px #d9f47721}.pulse-dot{animation:pulse 1.8s infinite}.progress-track{position:relative;height:5px;overflow:hidden;border-radius:99px;background:#14211d1a}.progress-track>i{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .7s cubic-bezier(.22,1,.36,1)}.progress-track--light{background:#ffffff24}.progress-track--light>i{background:var(--lime)}.bar-track{height:6px;overflow:hidden;border-radius:99px;background:var(--paper-deep)}.bar-track>i{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .8s cubic-bezier(.22,1,.36,1)}.bar-track--fine{height:4px;background:var(--green-soft)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 0 4px #d9f47721}50%{opacity:.65;box-shadow:0 0 0 8px #d9f4770a}}@keyframes pageIn{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(40px);opacity:.4}to{transform:translate(0);opacity:1}}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink)}.brand__mark{display:inline-flex;align-items:center;justify-content:center;color:var(--green)}.brand__text{display:flex;flex-direction:column;line-height:1;gap:5px}.brand__text strong{font-size:21px;font-weight:800;letter-spacing:.08em}.brand__text small{color:var(--muted);font-size:7.5px;font-weight:700;letter-spacing:.21em}.brand--light{color:#fff}.brand--light .brand__mark{color:var(--lime)}.brand--light .brand__text small{color:#ffffff73}.brand--compact .brand__text strong{font-size:19px}.onboarding{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(540px,.92fr);min-height:100vh;background:var(--paper)}.onboarding__hero{position:relative;display:flex;flex-direction:column;min-height:100vh;padding:34px clamp(32px,4.2vw,66px) 30px;overflow:hidden;background:radial-gradient(circle at 78% 74%,rgba(217,244,119,.14),transparent 30%),radial-gradient(circle at 8% 18%,rgba(255,255,255,.06),transparent 24%),linear-gradient(148deg,#17483c,#0d342b 56%,#092820);color:#fff;isolation:isolate}.onboarding__hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(120deg,rgba(0,0,0,.75),transparent 70%);mask-image:linear-gradient(120deg,rgba(0,0,0,.75),transparent 70%)}.onboarding__hero:after{content:"";position:absolute;right:-120px;bottom:-160px;z-index:-1;width:520px;height:520px;border:1px solid rgba(217,244,119,.15);border-radius:50%;box-shadow:0 0 0 70px #d9f47705,0 0 0 150px #d9f47703}.onboarding__hero-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.edition-pill{padding:7px 12px;border:1px solid rgba(255,255,255,.18);border-radius:99px;color:#ffffff8f;font-size:9px;font-weight:700;letter-spacing:.13em}.onboarding__hero-body{position:relative;z-index:2;max-width:580px;margin-top:clamp(56px,8vh,100px)}.onboarding__hero-body h1{margin-top:20px;font-size:clamp(42px,4.6vw,68px);font-weight:760;letter-spacing:-.055em;line-height:1.08}.onboarding__hero-body h1 em{color:var(--lime);font-family:var(--font-serif);font-weight:500;font-style:italic;letter-spacing:-.03em}.onboarding__lead{max-width:470px;margin-top:26px;color:#ffffffa1;font-size:14.5px;line-height:1.9}.onboarding__features{display:flex;flex-direction:column;gap:18px;margin-top:38px}.onboarding__feature{display:flex;align-items:flex-start;gap:13px;max-width:430px}.onboarding__feature .icon-tile{width:38px;height:38px;flex-basis:38px;border-radius:11px}.onboarding__feature strong{display:block;margin-bottom:2px;font-size:13px;font-weight:650}.onboarding__feature span:not(.icon-tile){color:#ffffff73;font-size:12px;line-height:1.6}.onboarding__hero-foot{position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;margin-top:auto;padding-top:40px;color:#ffffff59;font-size:9px;font-weight:700;letter-spacing:.16em}.hero-orbit{position:absolute;right:-80px;bottom:26px;width:460px;height:460px;pointer-events:none;opacity:.92}.hero-orbit__ring{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(217,244,119,.13);border-radius:50%}.hero-orbit__ring--one{top:62px;right:62px;bottom:62px;left:62px;border-color:#ffffff1a}.hero-orbit__ring--two{top:128px;right:128px;bottom:128px;left:128px;border-style:dashed;border-color:#ffffff21;animation:spin 40s linear infinite}.hero-orbit__core{position:absolute;left:50%;top:50%;display:flex;align-items:center;justify-content:center;width:112px;height:112px;border:1px solid rgba(217,244,119,.3);border-radius:50%;background:#092820b3;color:var(--lime);transform:translate(-50%,-50%);box-shadow:0 0 80px #d9f4771f}.float-card{position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:#10382ed1;box-shadow:0 20px 50px #00000040;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.float-card--match{left:2px;top:82px;width:146px;padding:14px 16px;transform:rotate(-4deg)}.float-card--match>span{color:#ffffff75;font-size:10px}.float-card--match strong{display:block;margin:2px 0 10px;color:var(--lime);font-size:31px;font-weight:650;letter-spacing:-.04em}.float-card--match small{font-size:13px}.mini-bars{display:flex;flex-direction:column;gap:4px}.mini-bars i{display:block;height:3px;border-radius:9px;background:#d9f4778c}.mini-bars i:nth-child(2){background:#ffffff4d}.mini-bars i:nth-child(3){background:#ffffff24}.float-card--grade{right:112px;top:246px;display:flex;align-items:center;gap:10px;padding:12px 16px;transform:rotate(3deg)}.float-card__dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px #d9f4771a}.float-card--grade small{display:block;color:#ffffff6b;font-size:9px}.float-card--grade strong{font-size:12px;font-weight:650}.onboarding__form-side{display:flex;flex-direction:column;min-height:100vh;padding:38px clamp(32px,5vw,84px) 24px;background:radial-gradient(circle at 100% 0%,rgba(23,92,76,.055),transparent 34%),var(--paper)}.onboarding__form-wrap{width:100%;max-width:560px;margin:auto;padding:24px 0}.onboarding__step{display:flex;align-items:center;gap:10px;margin-bottom:28px}.step-index{color:var(--green);font-size:11px;font-weight:800;letter-spacing:.06em}.step-line{width:36px;height:1px;background:var(--line-strong)}.step-label{color:var(--muted);font-size:11px;letter-spacing:.08em}.onboarding__form-head h2{font-size:36px;font-weight:760;letter-spacing:-.045em;line-height:1.15}.onboarding__form-head p{margin-top:8px;color:var(--muted);font-size:13px}.onboarding__form-wrap .profile-form{margin-top:32px}.onboarding__hint{display:flex;align-items:flex-start;gap:9px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.65}.onboarding__hint svg{flex:0 0 auto;margin-top:2px}.onboarding__footer{display:flex;justify-content:space-between;gap:20px;width:100%;max-width:560px;margin:20px auto 0;color:var(--muted-2);font-size:10px}.onboarding__footer a{display:inline-flex;align-items:center;gap:3px;text-decoration:none}.profile-form{display:flex;flex-direction:column;gap:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field--full{grid-column:1 / -1}.field>label{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font-size:11.5px;font-weight:650}.field>label svg{color:var(--muted)}.field input,.field select,.field textarea{width:100%;height:48px;padding:0 13px;border:1px solid var(--line);border-radius:12px;outline:none;background:var(--surface);color:var(--ink);font-size:13px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.field textarea{height:auto;min-height:94px;padding:11px 13px;resize:vertical;font-size:11.5px;line-height:1.7}.field textarea::placeholder{color:var(--muted-2)}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 13px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.field input::placeholder{color:var(--muted-2)}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--line-strong)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);background-color:#fff;box-shadow:0 0 0 3px #175c4c1a}.field input.is-error,.field select.is-error,.field textarea.is-error{border-color:var(--danger);box-shadow:0 0 0 3px #b8442e14}.field input.is-readonly{background:var(--surface-2);color:var(--muted);cursor:default}.field__optional{margin-left:2px;padding:1px 5px;border-radius:4px;background:var(--paper-deep);color:var(--muted-2);font-size:8px;font-weight:600;letter-spacing:.02em}.field__counter{align-self:flex-end;margin-top:-2px;color:var(--muted-2);font-size:8px;font-variant-numeric:tabular-nums}.field__hint{color:var(--muted-2);font-size:10px;line-height:1.4}.field__error{color:var(--danger);font-size:10.5px;line-height:1.4}.segmented{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;height:48px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.segmented--two{grid-template-columns:repeat(2,1fr)}.segmented button{border-radius:8px;color:var(--muted);font-size:11.5px;font-weight:550;transition:background .16s ease,color .16s ease}.segmented button:hover{color:var(--ink)}.segmented button.is-active{background:var(--ink);color:#fff;font-weight:650;box-shadow:var(--shadow-sm)}.form-error{padding:11px 13px;border:1px solid #ecc8bd;border-radius:10px;background:var(--coral-soft);color:#8d3422;font-size:11.5px;line-height:1.55}.form-actions{display:flex;align-items:center;gap:10px;padding-top:2px}.form-actions .btn--primary{flex:1}.form-actions--end{justify-content:flex-end}.form-actions--end .btn--primary{flex:0 0 auto}.form-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted-2);font-size:10px}.profile-form--compact{gap:18px}.auth-page{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(480px,.95fr);min-height:100vh;background:var(--paper)}.auth-hero{position:relative;display:flex;flex-direction:column;min-height:100vh;padding:34px clamp(32px,4.5vw,68px) 30px;overflow:hidden;color:#fff;background:radial-gradient(circle at 82% 80%,rgba(217,244,119,.14),transparent 30%),linear-gradient(148deg,#17483c,#0d342b 58%,#092820);isolation:isolate}.auth-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.15;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(120deg,#000,transparent 72%);mask-image:linear-gradient(120deg,#000,transparent 72%)}.auth-hero__top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px}.auth-hero__body{position:relative;z-index:2;max-width:570px;margin-top:clamp(55px,8vh,100px)}.auth-hero__body h1{margin-top:18px;font-size:clamp(40px,4.4vw,64px);font-weight:750;letter-spacing:-.055em;line-height:1.08}.auth-hero__body h1 em{color:var(--lime);font-family:var(--font-serif);font-style:italic;font-weight:500}.auth-hero__body>p{max-width:450px;margin-top:22px;color:#fff9;font-size:13px;line-height:1.85}.auth-points{display:flex;flex-direction:column;gap:17px;margin-top:34px}.auth-points>div{display:flex;align-items:flex-start;gap:11px}.auth-points>div>span{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;flex:0 0 35px;border:1px solid rgba(217,244,119,.18);border-radius:10px;background:#d9f47714;color:var(--lime)}.auth-points strong{display:block;font-size:12px;font-weight:650}.auth-points small{display:block;margin-top:1px;color:#fff6;font-size:10px;line-height:1.55}.auth-hero__foot{position:relative;z-index:2;display:flex;justify-content:space-between;gap:16px;margin-top:auto;padding-top:35px;color:#ffffff4d;font-size:8px;font-weight:700;letter-spacing:.14em}.auth-orbit{position:absolute;right:-90px;bottom:30px;width:390px;height:390px;opacity:.7;pointer-events:none}.auth-orbit__ring{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(217,244,119,.13);border-radius:50%}.auth-orbit__ring--inner{top:78px;right:78px;bottom:78px;left:78px;border-style:dashed;border-color:#ffffff1a;animation:spin 45s linear infinite}.auth-orbit__core{position:absolute;left:50%;top:50%;display:flex;align-items:center;justify-content:center;width:96px;height:96px;border:1px solid rgba(217,244,119,.22);border-radius:50%;background:#092820cc;color:var(--lime);transform:translate(-50%,-50%)}.auth-orbit__card{position:absolute;left:28px;top:80px;display:flex;flex-direction:column;gap:2px;width:128px;padding:12px 14px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:#10382ed1;box-shadow:0 20px 50px #0003;transform:rotate(-4deg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.auth-orbit__card span,.auth-orbit__card small{color:#ffffff61;font-size:8px}.auth-orbit__card strong{color:var(--lime);font-size:19px;font-weight:650}.auth-main{display:flex;align-items:center;justify-content:center;padding:32px clamp(22px,5vw,70px);background:radial-gradient(circle at 100% 0%,rgba(23,92,76,.055),transparent 35%),var(--paper)}.auth-card{width:100%;max-width:470px;padding:28px 30px 24px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.auth-card__head h2{margin-top:7px;font-size:28px;font-weight:750;letter-spacing:-.045em;line-height:1.2}.auth-card__head p{margin-top:6px;color:var(--muted);font-size:11px;line-height:1.6}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:21px;padding:4px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.auth-tabs button{height:35px;border-radius:8px;color:var(--muted);font-size:11px;font-weight:600}.auth-tabs button.is-active{background:var(--ink);color:#fff;box-shadow:var(--shadow-sm)}.auth-form{display:flex;flex-direction:column;gap:7px;margin-top:18px}.auth-form>label{display:flex;align-items:center;gap:5px;margin-top:4px;color:var(--ink-2);font-size:10.5px;font-weight:650}.auth-form>label svg{color:var(--muted)}.auth-form>input,.auth-code-row input{width:100%;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;outline:none;background:#fff;font-size:12px;transition:border-color .18s ease,box-shadow .18s ease}.auth-form>input:focus,.auth-code-row input:focus{border-color:var(--green);box-shadow:0 0 0 3px #175c4c1a}.auth-form>input::placeholder,.auth-code-row input::placeholder{color:var(--muted-2)}.auth-code-row{display:flex;gap:7px}.auth-code-row input{flex:1}.auth-code-btn{width:105px;height:44px;flex:0 0 105px;font-size:10px}.auth-debug-code{align-self:flex-start;padding:6px 8px;border:1px dashed #d6dca8;border-radius:6px;background:#f5f7dc;color:#66713b;font-size:9px;text-align:left}.auth-debug-code strong{color:var(--green);letter-spacing:.1em}.auth-submit{width:100%;margin-top:11px}.auth-card__foot{display:flex;flex-direction:column;gap:5px;margin-top:17px;padding-top:13px;border-top:1px solid var(--line);color:var(--muted-2);font-size:8px;line-height:1.5}.auth-card__foot span:first-child{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.auth-card__foot a{color:var(--green);text-decoration:none}.auth-splash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:100vh;background:var(--paper);color:var(--muted);font-size:11px}.auth-splash .brand{margin-bottom:10px}.mobile-logout{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted)}.app-shell{display:flex;min-height:100vh;background:var(--paper)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;display:flex;flex-direction:column;width:var(--sidebar-w);padding:26px 16px 16px;border-right:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 32%),#eeece4}.sidebar__logo{padding:0 9px 24px}.student-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;padding:13px;border:1px solid var(--line);border-radius:var(--radius);background:#fffdf8b8;text-align:left;transition:border-color .18s ease,background .18s ease,transform .18s ease}.student-card:hover{border-color:var(--line-strong);background:var(--surface);transform:translateY(-1px)}.student-card__text{display:flex;flex-direction:column;min-width:0;gap:2px}.student-card__text strong{overflow:hidden;font-size:12.5px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.student-card__text small{overflow:hidden;color:var(--muted);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.student-card__edit{color:var(--muted-2)}.student-card__meta{grid-column:1 / -1;display:flex;align-items:center;gap:7px;margin-top:8px;padding-top:9px;border-top:1px dashed var(--line);color:var(--green);font-size:9.5px;font-weight:650}.student-card__meta i{width:3px;height:3px;border-radius:50%;background:var(--line-strong)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;background:var(--green);color:var(--lime);font-weight:750;letter-spacing:-.02em}.avatar--md{width:38px;height:38px;font-size:13px}.avatar--sm{width:32px;height:32px;font-size:11px}.avatar--green{background:var(--green)}.side-nav{display:flex;flex-direction:column;gap:3px;margin-top:26px}.side-nav__label{padding:0 12px 8px;color:var(--muted-2);font-size:8.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.side-nav__item{position:relative;display:flex;align-items:center;gap:12px;height:43px;padding:0 12px;border-radius:11px;color:#5c6863;font-size:12.5px;font-weight:550;text-align:left;transition:background .18s ease,color .18s ease,transform .18s ease}.side-nav__item:hover{background:#fffdf8b8;color:var(--ink)}.side-nav__item.is-active{background:var(--surface);color:var(--ink);font-weight:700;box-shadow:0 2px 10px #14211d0b}.side-nav__item.is-active:before{content:"";position:absolute;left:0;top:15px;bottom:15px;width:3px;border-radius:0 3px 3px 0;background:var(--green)}.side-nav__item small{margin-left:auto;padding:2px 6px;border-radius:5px;background:var(--paper-deep);color:var(--muted);font-size:9px;font-weight:650}.side-nav__item.is-active small{background:var(--green-soft);color:var(--green)}.sidebar__bottom{display:flex;flex-direction:column;gap:13px;margin-top:auto}.ai-status{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fffdf88c}.ai-status.is-live{border-color:#1f5648;background:var(--ink);color:#fff}.ai-status__icon{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex:0 0 27px;border-radius:8px;background:var(--paper-deep);color:var(--green)}.ai-status.is-live .ai-status__icon{background:#d9f47724;color:var(--lime)}.ai-status strong{display:block;font-size:10.5px;font-weight:700;line-height:1.4}.ai-status small{display:block;margin-top:1px;color:var(--muted);font-size:8.5px;line-height:1.45}.ai-status.is-live small{color:#ffffff6b}.sidebar__actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.side-action{display:inline-flex;align-items:center;gap:5px;padding:4px 5px;color:var(--ink-2);font-size:9.5px;font-weight:550}.side-action:hover{color:var(--green)}.side-action--muted{color:var(--muted)}.sidebar__source{display:flex;justify-content:space-between;gap:10px;padding:9px 4px 0;border-top:1px solid var(--line);color:var(--muted-2);font-size:8px}.sidebar__source strong{color:var(--muted);font-weight:600}.app-main{flex:1;min-width:0;height:100vh;margin-left:var(--sidebar-w);overflow-y:auto;overflow-x:hidden}.app-content{width:100%;max-width:1320px;min-height:100vh;margin:0 auto;padding:34px 44px 54px;animation:pageIn .42s cubic-bezier(.22,1,.36,1)}.page{width:100%;min-width:0}.page-fallback{display:flex;min-height:50vh;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:11px}.mobile-topbar,.mobile-nav{display:none}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:28px}.page-head h1{margin-top:8px;font-size:clamp(28px,2.6vw,40px);font-weight:760;letter-spacing:-.045em;line-height:1.18}.page-head p{margin-top:8px;color:var(--muted);font-size:12.5px;line-height:1.7}.page-head p strong{color:var(--ink-2);font-weight:650}.page-head__meta{display:flex;align-items:center;gap:13px;flex:0 0 auto;padding-top:5px;color:var(--muted);font-size:10.5px;white-space:nowrap}.page-source{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:42px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted-2);font-size:9.5px;line-height:1.6}.page-source span{max-width:680px}.page-source .text-btn{margin-left:auto;color:var(--green);font-size:10px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.section-heading h2{margin-top:4px;font-size:25px;font-weight:750;letter-spacing:-.035em;line-height:1.25}.section-heading__sub{margin-top:5px;color:var(--muted);font-size:11.5px}.dash-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:34px;padding:34px 36px 0;overflow:hidden;border-radius:var(--radius-xl);background:radial-gradient(circle at 90% 12%,rgba(217,244,119,.12),transparent 25%),radial-gradient(circle at 8% 110%,rgba(255,255,255,.08),transparent 36%),linear-gradient(135deg,#17493d,#0e352c 58%,#0a2a22);color:#fff;isolation:isolate}.classification-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0 14px;padding:9px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);font-size:9.5px}.classification-strip__label{color:var(--muted-2);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.classification-strip strong{color:var(--ink);font-size:11px}.classification-strip__meta{color:var(--muted)}.classification-strip__badge{margin-left:auto;padding:3px 7px;border-radius:99px;background:var(--green-soft);color:var(--green);font-size:8px;font-weight:650}.classification-strip--rules .classification-strip__badge{background:#f7f0d8;color:#80651f}.classification-strip--fallback .classification-strip__badge{background:#f8e5df;color:#a63d27}.classification-strip--research .classification-strip__badge{background:#e7eef8;color:#315d91}@media (max-width: 720px){.classification-strip__badge{margin-left:0}}.dash-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(110deg,#000,transparent 70%);mask-image:linear-gradient(110deg,#000,transparent 70%)}.dash-hero__main{display:flex;flex-direction:column;align-items:flex-start;padding-bottom:28px}.dash-hero__kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border:1px solid rgba(255,255,255,.13);border-radius:99px;color:#ffffffa6;font-size:9.5px;font-weight:600;letter-spacing:.04em}.dash-hero h2{margin-top:20px;font-size:clamp(34px,3.6vw,52px);font-weight:730;letter-spacing:-.055em;line-height:1.1}.dash-hero h2 em{color:var(--lime);font-family:var(--font-serif);font-style:italic;font-weight:500;letter-spacing:-.03em}.dash-hero__main>p{display:-webkit-box;max-width:590px;margin-top:18px;overflow:hidden;color:#fff9;font-size:12.5px;line-height:1.8;-webkit-line-clamp:4;-webkit-box-orient:vertical}.dash-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.dash-hero__mode{display:flex;align-items:center;gap:6px;margin-top:20px;color:#ffffff5c;font-size:9px}.dash-hero__side{display:flex;flex-direction:column;gap:11px;padding-top:2px}.countdown-card,.hero-skill-card{border:1px solid rgba(255,255,255,.11);border-radius:18px;background:#ffffff0e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.countdown-card{padding:16px 17px 13px}.countdown-card__head{display:flex;align-items:center;justify-content:space-between;color:#ffffff7a;font-size:9.5px}.countdown-card__head span:first-child{display:inline-flex;align-items:center;gap:5px}.countdown-card__year{padding:2px 6px;border:1px solid rgba(255,255,255,.12);border-radius:5px;font-size:8px;letter-spacing:.08em}.countdown-card__value{display:flex;align-items:baseline;gap:4px;margin-top:6px}.countdown-card__value strong{color:var(--lime);font-size:35px;font-weight:600;letter-spacing:-.05em;line-height:1.2;font-variant-numeric:tabular-nums}.countdown-card__value span{margin-right:3px;color:#ffffff70;font-size:10px}.countdown-card__value .countdown-card__done{font-size:24px}.countdown-card .progress-track{margin-top:9px;background:#ffffff1f}.countdown-card .progress-track>i{background:var(--lime)}.countdown-card__foot{display:flex;justify-content:space-between;margin-top:7px;color:#ffffff52;font-size:8px}.hero-skill-card{padding:14px 16px}.hero-skill-card__head{display:flex;align-items:center;justify-content:space-between;color:#ffffff7a;font-size:9.5px}.hero-skill-card__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.hero-skill-card__tags span{padding:3px 6px;border-radius:5px;background:#ffffff12;color:#fff9;font-size:8px}.hero-skill-card__top{display:flex;align-items:center;gap:8px;margin-top:11px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.hero-skill-card__top>span{color:#ffffff5c;font-size:8.5px;white-space:nowrap}.hero-skill-card__top>strong{flex:1;overflow:hidden;font-size:10.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.score-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%}.score-ring__inner{display:flex;align-items:baseline;justify-content:center;border-radius:50%;background:var(--surface);color:var(--ink)}.score-ring__inner strong{font-size:13px;font-weight:750;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.score-ring__inner small{font-size:7px;font-weight:600}.hero-skill-card .score-ring__inner{background:#12362d;color:var(--lime)}.hero-skill-card .score-ring__inner strong{font-size:12px}.dash-hero__stats{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr);margin:0 -36px;border-top:1px solid rgba(255,255,255,.1)}.dash-hero__stats>div{display:flex;flex-direction:column;gap:4px;padding:16px 26px 18px;border-right:1px solid rgba(255,255,255,.08)}.dash-hero__stats>div:last-child{border-right:0}.dash-hero__stats span{color:#ffffff59;font-size:8.5px;letter-spacing:.04em}.dash-hero__stats strong{color:#ffffffe6;font-size:22px;font-weight:600;letter-spacing:-.03em;line-height:1.25}.dash-hero__stats small{color:#fff6;font-size:9px;font-weight:500}.dash-hero__stats .stat-text{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.dash-section{margin-top:52px}.dashboard-notice{margin-top:14px;border:1px solid #ecc8bd;background:var(--coral-soft);color:#8d3422}.school-note{display:flex;align-items:flex-start;gap:11px;margin-top:14px;padding:13px 16px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.school-note__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:var(--green-soft);color:var(--green)}.school-note__body{flex:1;min-width:0}.school-note__body p{margin-top:2px;color:var(--ink-2);font-size:10.5px;line-height:1.65}.school-note__tag{flex:0 0 auto;padding:3px 7px;border:1px solid var(--line);border-radius:4px;color:var(--muted-2);font-size:7.5px;letter-spacing:.05em}.intro-basis{display:flex;align-items:flex-start;gap:11px;width:100%;margin-top:10px;padding:13px 16px;border:1px solid #d7dfae;border-radius:13px;background:#f4f6e4;text-align:left}.intro-basis__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:var(--lime);color:var(--ink)}.intro-basis__body{display:flex;flex:1;flex-direction:column;min-width:0;gap:3px}.intro-basis__head{display:flex;align-items:center;gap:8px}.intro-basis__badge{padding:2px 5px;border-radius:4px;background:#175c4c1a;color:var(--green);font-size:7px;font-weight:650}.intro-basis__body p{color:#5e663d;font-size:10px;line-height:1.6}.intro-basis__keywords{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.intro-basis__keywords span{padding:2px 6px;border:1px solid #d6ddb0;border-radius:4px;background:#fffdf8a6;color:#69733d;font-size:8px}.intro-basis__source{align-self:flex-start;margin-top:3px;color:#69733d;font-size:8px;text-decoration:underline;text-underline-offset:2px}.major-feedback{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:5px;color:#69733d;font-size:8.5px}.major-feedback__question{color:#69733d}.major-feedback__actions,.major-feedback__choices{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.major-feedback button{padding:3px 7px;border:1px solid #ccd5a1;border-radius:4px;background:#fffdf8b3;color:#56602f;font-size:8px}.major-feedback button:hover{background:#fffdf8}.major-feedback--done{color:var(--green)}.major-feedback__error{color:var(--danger);font-size:8px}.intro-basis--empty{cursor:pointer;border-style:dashed;background:var(--surface-2);border-color:var(--line);transition:border-color .18s ease,background .18s ease,transform .18s ease}.intro-basis--empty:hover{border-color:var(--green);background:#fff;transform:translateY(-1px)}.intro-basis--empty .intro-basis__icon{background:var(--green-soft);color:var(--green)}.intro-basis--empty strong{color:var(--ink);font-size:11px;font-weight:650}.intro-basis--empty small{color:var(--muted);font-size:9px;line-height:1.55}.intro-basis__action{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;margin-top:2px;color:var(--green);font-size:9px;font-weight:650}@media (max-width: 720px){.school-note{padding:12px 13px}.school-note__tag{display:none}.school-note__body p{font-size:10px}}.direction-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.direction-card{position:relative;display:flex;flex-direction:column;min-height:210px;padding:20px 21px 0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--surface);text-align:left;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.direction-card:after{content:"";position:absolute;right:-28px;top:-28px;width:100px;height:100px;border:1px solid var(--green-soft);border-radius:50%;transition:transform .3s ease}.direction-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow)}.direction-card:hover:after{transform:scale(1.15)}.direction-card__top{display:flex;align-items:flex-start;justify-content:space-between}.match-pill{position:relative;z-index:1;padding:4px 8px;border-radius:6px;background:var(--paper-deep);color:var(--muted);font-size:9px;font-weight:700;font-variant-numeric:tabular-nums}.match-pill.is-strong{background:var(--green-soft);color:var(--green)}.direction-card__body{position:relative;z-index:1;flex:1;padding-top:16px}.direction-card h3{font-size:19px;font-weight:720;letter-spacing:-.03em}.direction-card__body>p{margin-top:5px;color:var(--muted);font-size:11px}.direction-card__roles{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px}.direction-card__roles span{padding:4px 7px;border:1px solid var(--line);border-radius:5px;color:var(--ink-2);font-size:9px}.direction-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px -21px 0;padding:11px 21px;border-top:1px solid var(--line);color:var(--muted);font-size:9px}.direction-card__foot span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.direction-card__foot svg{flex:0 0 auto;color:var(--green)}.dash-focus-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:16px}.focus-card{padding:28px 30px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.focus-card__head h2{margin-top:5px;font-size:26px;font-weight:740;letter-spacing:-.04em}.focus-card__head p{max-width:560px;margin-top:7px;color:var(--muted);font-size:11.5px;line-height:1.7}.focus-list{display:flex;flex-direction:column;margin-top:17px}.focus-list li{display:flex;gap:13px;padding:13px 0;border-top:1px solid var(--line)}.focus-list__index{flex:0 0 auto;padding-top:1px;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.06em}.focus-list p{color:var(--ink-2);font-size:11.5px;line-height:1.65}.focus-card__foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:8px;padding-top:16px;border-top:1px solid var(--line)}.focus-card__foot>div{display:flex;flex-direction:column;gap:3px}.focus-card__foot span{color:var(--muted-2);font-size:8.5px;letter-spacing:.05em}.focus-card__foot strong{color:var(--ink-2);font-size:11px;font-weight:600}.week-card{display:flex;flex-direction:column;padding:25px 24px;border:1px solid var(--line);border-radius:22px;background:var(--green-soft)}.week-card__head{display:flex;align-items:center;gap:11px}.week-card__head .icon-tile{background:#fffdf8c7}.week-card__head h3{margin-top:2px;font-size:16px;font-weight:720;letter-spacing:-.025em}.week-card ul{display:flex;flex-direction:column;gap:10px;margin-top:20px}.week-card li{display:flex;align-items:flex-start;gap:9px;color:var(--ink-2);font-size:10.5px;line-height:1.55}.week-card li>span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;margin-top:1px;border-radius:50%;background:#175c4c1a;color:var(--green)}.week-card__note{display:flex;align-items:flex-start;gap:9px;margin-top:auto;padding-top:18px;color:var(--green)}.week-card__note p{color:var(--green);font-family:var(--font-serif);font-size:12px;font-style:italic;line-height:1.55}.mini-jobs{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.mini-job{display:flex;align-items:center;gap:13px;width:100%;padding:14px 18px;border-bottom:1px solid var(--line);text-align:left;transition:background .18s ease}.mini-job:last-child{border-bottom:0}.mini-job:hover{background:var(--surface-2)}.company-mark,.company-logo{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:11px;background:var(--ink);color:var(--lime);font-family:var(--font-serif);font-size:16px;font-weight:600}.company-mark{width:36px;height:36px;flex-basis:36px;border-radius:9px;font-size:14px}.company-logo--lg{width:46px;height:46px;flex-basis:46px;font-size:18px}.mini-job__main{display:flex;flex-direction:column;min-width:0;gap:2px}.mini-job__main strong{overflow:hidden;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.mini-job__main small{color:var(--muted);font-size:9.5px}.mini-job__side{display:flex;align-items:center;gap:11px;margin-left:auto}.mini-job__side em{color:var(--green);font-size:10px;font-style:normal;font-weight:650;white-space:nowrap}.mini-job:hover .mini-job__main strong{color:var(--green)}.dash-cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.course-cta,.ai-cta{display:flex;align-items:center;gap:16px;min-height:122px;padding:22px 23px;border-radius:20px;text-align:left;transition:transform .2s ease,box-shadow .2s ease}.course-cta:hover,.ai-cta:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.course-cta{border:1px solid var(--line);background:var(--surface)}.course-cta__icon{display:inline-flex;align-items:center;justify-content:center;width:47px;height:47px;flex:0 0 47px;border-radius:13px;background:var(--green-soft);color:var(--green)}.course-cta__body,.ai-cta__body{display:flex;flex-direction:column;gap:3px;min-width:0}.course-cta__body strong,.ai-cta__body strong{font-size:15px;font-weight:700;letter-spacing:-.025em}.course-cta__body small,.ai-cta__body small{color:var(--muted);font-size:9.5px;line-height:1.55}.ai-cta{background:radial-gradient(circle at 90% 0%,rgba(217,244,119,.12),transparent 36%),var(--ink);color:#fff}.ai-cta__spark{display:inline-flex;align-items:center;justify-content:center;width:47px;height:47px;flex:0 0 47px;border-radius:13px;background:#d9f4771f;color:var(--lime)}.ai-cta__body small{color:#ffffff75}.circle-arrow{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;margin-left:auto;border:1px solid var(--line);border-radius:50%;color:var(--green)}.circle-arrow--light{border-color:#ffffff29;color:var(--lime)}.family-strip{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:22px;padding:14px 17px;border:1px solid var(--line);border-radius:15px;background:var(--green-soft)}.family-strip__label{color:var(--muted);font-size:9px;font-weight:650;letter-spacing:.08em}.family-strip strong{color:var(--green);font-size:12px;font-weight:700}.family-strip__divider{width:1px;height:17px;background:#175c4c29}.family-strip__note{flex:1;min-width:180px;color:var(--muted);font-size:10px}.family-strip .btn{flex:0 0 auto}.directions-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}.direction-list{position:sticky;top:24px;display:flex;flex-direction:column;gap:5px;padding:15px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.direction-list__head{display:flex;align-items:center;justify-content:space-between;padding:3px 5px 11px}.direction-list__head>span:last-child{color:var(--muted);font-size:9px}.direction-tab{position:relative;display:flex;align-items:center;gap:9px;width:100%;padding:12px 9px;overflow:hidden;border-radius:10px;text-align:left;transition:background .18s ease,color .18s ease}.direction-tab:hover{background:var(--surface-2)}.direction-tab__index{color:var(--muted-2);font-size:8px;font-weight:700}.direction-tab__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border-radius:9px;background:var(--green-soft);color:var(--green)}.direction-tab__body{display:flex;flex-direction:column;min-width:0;gap:1px}.direction-tab__body strong{overflow:hidden;font-size:11px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.direction-tab__body small{color:var(--muted);font-size:8.5px}.direction-tab__match{margin-left:auto;color:var(--muted);font-size:9px;font-weight:700;font-variant-numeric:tabular-nums}.direction-tab__bar{position:absolute;left:0;bottom:0;height:2px;background:var(--lime)}.direction-tab.is-active{background:var(--ink);color:#fff}.direction-tab.is-active .direction-tab__icon{background:#d9f4771c;color:var(--lime)}.direction-tab.is-active .direction-tab__index,.direction-tab.is-active .direction-tab__body small,.direction-tab.is-active .direction-tab__match{color:#ffffff6e}.direction-tab.is-active .direction-tab__match{color:var(--lime)}.direction-list__foot{display:flex;gap:8px;margin-top:7px;padding:12px 6px 2px;border-top:1px solid var(--line);color:var(--muted)}.direction-list__foot svg{flex:0 0 auto;margin-top:2px}.direction-list__foot p{font-size:8.5px;line-height:1.55}.direction-detail{padding:28px 30px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}.direction-detail__head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.direction-detail__title{display:flex;align-items:flex-start;gap:15px}.direction-detail__title h2{margin-top:3px;font-size:27px;font-weight:750;letter-spacing:-.04em}.direction-detail__title p{margin-top:2px;color:var(--muted);font-size:11px}.direction-detail__score{display:flex;align-items:center;gap:9px;flex:0 0 auto}.direction-detail__score>span{max-width:55px;color:var(--green);font-size:9px;font-weight:650;line-height:1.35}.detail-summary{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.detail-summary>p{color:var(--ink-2);font-size:12px;line-height:1.85}.why-fit{display:flex;gap:11px;margin-top:16px;padding:14px 16px;border-left:2px solid var(--lime-deep);border-radius:0 9px 9px 0;background:var(--green-soft)}.why-fit svg{flex:0 0 auto;color:var(--green)}.why-fit span{color:var(--green);font-size:9px;font-weight:700;letter-spacing:.04em}.why-fit p{margin-top:3px;color:var(--ink-2);font-size:10.5px;line-height:1.7}.detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.detail-section{margin-top:28px}.detail-section__head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.detail-section__head h3{font-size:15px;font-weight:720;letter-spacing:-.02em}.detail-section__head>span{color:var(--muted-2);font-size:9px}.detail-section__head>svg{color:var(--muted)}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.role-card{display:flex;flex-direction:column;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.role-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.role-card__top strong{font-size:11.5px;font-weight:650;line-height:1.4}.role-card__top span{flex:0 0 auto;padding:2px 5px;border-radius:4px;background:var(--green-soft);color:var(--green);font-size:7.5px;font-weight:650}.role-card p{margin-top:6px;color:var(--muted);font-size:9px;line-height:1.6}.role-card__salary{margin-top:auto;padding-top:10px;color:var(--green);font-size:10px;font-weight:700}.skill-bars{display:grid;grid-template-columns:1fr 1fr;gap:13px 24px}.skill-bar__meta{display:flex;align-items:center;gap:6px;margin-bottom:5px}.skill-bar__meta>span:first-child{font-size:10.5px;font-weight:600}.skill-level{padding:1px 5px;border-radius:4px;background:var(--green-soft);color:var(--green);font-size:7.5px;font-weight:650}.skill-level.is-extended{background:var(--paper-deep);color:var(--muted)}.skill-bar__meta strong{margin-left:auto;color:var(--muted);font-size:9px;font-weight:650;font-variant-numeric:tabular-nums}.growth-path{display:flex;gap:0}.growth-step{position:relative;display:flex;flex:1;align-items:center;gap:8px;min-width:0}.growth-step>span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--green);font-size:8px;font-weight:700}.growth-step strong{font-size:9.5px;font-weight:600;line-height:1.35}.growth-step i{display:block;flex:1;height:1px;margin:0 9px;background:var(--line)}.first-step{display:flex;gap:12px;margin-top:27px;padding:16px;border:1px solid #e2e8a7;border-radius:12px;background:#f4f7d9}.first-step__icon{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;flex:0 0 29px;border-radius:50%;background:var(--lime);color:var(--ink)}.first-step span:not(.first-step__icon){color:#657134;font-size:8.5px;font-weight:700;letter-spacing:.06em}.first-step p{margin-top:3px;color:var(--ink-2);font-size:11px;line-height:1.7}.detail-actions{display:flex;align-items:center;gap:14px;margin-top:24px}.detail-actions>span{display:inline-flex;align-items:center;gap:5px;color:var(--muted-2);font-size:8.5px}.jobs-notice{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px;padding:15px 17px;border:1px solid #d9dfb0;border-radius:15px;background:#f3f5dd}.jobs-notice__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:#d9f47773;color:#5f6e25}.jobs-notice>div{flex:1}.jobs-notice strong{display:block;font-size:11px;font-weight:700}.jobs-notice p{margin-top:2px;color:#6f754d;font-size:9.5px;line-height:1.6}.jobs-notice .btn{flex:0 0 auto;background:#fffdf8b3;border-color:#d5d9ae}.job-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}.filter-chips{display:flex;gap:5px;overflow-x:auto;padding:1px;scrollbar-width:none}.filter-chips::-webkit-scrollbar{display:none}.filter-chips button{display:inline-flex;align-items:center;gap:5px;height:33px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:10px;white-space:nowrap;transition:background .16s ease,color .16s ease,border-color .16s ease}.filter-chips button:hover{border-color:var(--line-strong);color:var(--ink)}.filter-chips button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.filter-chips small{color:var(--muted-2);font-size:8px}.filter-chips button.is-active small{color:#ffffff80}.search-field{display:flex;align-items:center;gap:7px;width:240px;height:36px;flex:0 0 240px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted)}.search-field:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #175c4c14}.search-field input{width:100%;border:0;outline:0;background:transparent;font-size:10.5px}.search-field input::placeholder{color:var(--muted-2)}.search-field button{display:inline-flex;color:var(--muted)}.filter-context{display:flex;align-items:center;gap:11px;margin-bottom:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--green-soft)}.filter-context .icon-tile{width:37px;height:37px;flex-basis:37px;border:0;background:#fffdf8b3}.filter-context>div{flex:1}.filter-context strong{font-size:10.5px;font-weight:700}.filter-context p{margin-top:1px;color:var(--muted);font-size:9px;line-height:1.5}.job-results-head{display:flex;justify-content:space-between;margin-bottom:11px;color:var(--muted-2);font-size:9px}.jobs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.job-card{display:flex;flex-direction:column;padding:18px 19px 0;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--surface);text-align:left;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.job-card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow)}.job-card__head{display:flex;align-items:center;gap:9px}.job-card__company{display:flex;flex-direction:column;min-width:0;gap:1px}.job-card__company strong{font-size:10px;font-weight:650}.job-card__company small{color:var(--muted-2);font-size:8px}.sample-badge{margin-left:auto;padding:3px 6px;border:1px solid var(--line);border-radius:4px;color:var(--muted-2);font-size:7.5px;white-space:nowrap}.job-card__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:14px}.job-card__title-row h3{font-size:17px;font-weight:720;letter-spacing:-.03em;line-height:1.3}.match-badge{flex:0 0 auto;padding:3px 6px;border-radius:5px;background:var(--paper-deep);color:var(--muted);font-size:8.5px;font-weight:700;font-variant-numeric:tabular-nums}.match-badge.is-strong{background:var(--green-soft);color:var(--green)}.job-card__meta{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:8px;color:var(--muted);font-size:8.5px}.job-card__meta span{display:inline-flex;align-items:center;gap:4px}.job-card__salary{margin-top:12px;color:var(--green);font-size:14px;font-weight:700;letter-spacing:-.02em}.job-card__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:12px}.job-card__tags span{padding:3px 6px;border-radius:4px;background:var(--surface-2);color:var(--muted);font-size:8px}.job-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px -19px 0;padding:10px 19px;border-top:1px solid var(--line);color:var(--muted);font-size:8.5px}.job-card__foot>span:last-child{display:inline-flex;align-items:center;gap:2px;color:var(--green);font-weight:600}.empty-state{display:flex;flex-direction:column;align-items:center;padding:55px 20px;border:1px dashed var(--line-strong);border-radius:18px;text-align:center}.empty-state__icon{display:inline-flex;align-items:center;justify-content:center;width:55px;height:55px;border-radius:50%;background:var(--paper-deep);color:var(--muted)}.empty-state h3{margin-top:13px;font-size:16px;font-weight:700}.empty-state p{margin-top:4px;color:var(--muted);font-size:10.5px}.empty-state .btn{margin-top:15px}.drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:flex-end;background:#0818136b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .22s ease}.job-drawer{display:flex;flex-direction:column;width:min(660px,100%);height:100%;background:var(--paper);box-shadow:-30px 0 80px #0818132e;animation:slideIn .32s cubic-bezier(.22,1,.36,1)}.job-drawer__top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 26px;border-bottom:1px solid var(--line);background:var(--paper)}.job-drawer__company{display:flex;align-items:center;gap:10px}.job-drawer__company>div{display:flex;flex-direction:column;gap:1px}.job-drawer__company strong{font-size:11px;font-weight:650}.job-drawer__company strong small{color:var(--muted-2);font-size:8px;font-weight:500}.job-drawer__scroll{flex:1;overflow-y:auto;padding:26px 28px 32px}.job-drawer__title{display:flex;align-items:center;justify-content:space-between;gap:20px}.job-drawer__title h2{font-size:31px;font-weight:760;letter-spacing:-.045em;line-height:1.2}.job-drawer__match{display:flex;align-items:center;gap:8px;flex:0 0 auto}.job-drawer__match>span{color:var(--green);font-size:9px;font-weight:650}.job-drawer__meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;color:var(--muted);font-size:9.5px}.job-drawer__meta span{display:inline-flex;align-items:center;gap:4px}.job-salary-panel{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:1px;margin-top:20px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--line)}.job-salary-panel>div{display:flex;flex-direction:column;gap:3px;padding:13px 15px;background:var(--surface)}.job-salary-panel span{color:var(--muted-2);font-size:8px}.job-salary-panel strong{font-size:11px;font-weight:650}.job-salary-panel>div:first-child strong{color:var(--green);font-size:14px}.sample-note{display:flex;gap:9px;margin-top:15px;padding:11px 13px;border:1px solid #d9dfb0;border-radius:9px;background:#f3f5dd;color:#656d42}.sample-note svg{flex:0 0 auto;margin-top:1px}.sample-note p{font-size:8.5px;line-height:1.6}.drawer-section{margin-top:27px}.drawer-section h3{font-size:14px;font-weight:720;letter-spacing:-.02em}.drawer-section__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.drawer-section__head span{color:var(--muted-2);font-size:8px}.drawer-paragraph{margin-top:7px;color:var(--ink-2);font-size:10.5px;line-height:1.75}.duty-list{display:flex;flex-direction:column;gap:9px;margin-top:10px}.duty-list li{display:flex;align-items:flex-start;gap:8px}.duty-list li>span{width:4px;height:4px;flex:0 0 4px;margin-top:7px;border-radius:50%;background:var(--green)}.duty-list p{color:var(--ink-2);font-size:10px;line-height:1.65}.requirement-block{margin-top:11px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.requirement-label{display:inline-flex;padding:2px 6px;border-radius:4px;font-size:8px;font-weight:700;letter-spacing:.04em}.requirement-label--must{background:var(--green-soft);color:var(--green)}.requirement-label--bonus{background:#f4f0d5;color:#7b702b}.requirement-label--soft{background:var(--paper-deep);color:var(--muted)}.requirement-block ul{display:flex;flex-direction:column;gap:6px;margin-top:8px}.requirement-block li{display:flex;align-items:flex-start;gap:6px;color:var(--ink-2);font-size:9.5px;line-height:1.6}.requirement-block li svg,.requirement-block li .plus{flex:0 0 auto;margin-top:2px;color:var(--green)}.requirement-block li .plus{font-weight:800}.requirement-block li .dot{width:4px;height:4px;flex:0 0 4px;margin-top:6px;border-radius:50%;background:var(--muted-2)}.gap-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}.gap-item{display:flex;gap:10px;padding:10px 12px;border-left:2px solid var(--lime-deep);border-radius:0 8px 8px 0;background:var(--surface-2)}.gap-item span{color:var(--green);font-size:8px;font-weight:800}.gap-item p{color:var(--ink-2);font-size:9.5px;line-height:1.6}.drawer-ai-cta{display:flex;align-items:center;gap:12px;margin-top:28px;padding:15px;border-radius:13px;background:var(--ink);color:#fff}.drawer-ai-cta>div{flex:1}.drawer-ai-cta strong{font-size:10.5px}.drawer-ai-cta p{margin-top:2px;color:#ffffff75;font-size:8.5px;line-height:1.5}.job-drawer__foot{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 26px;border-top:1px solid var(--line);background:var(--surface)}.job-drawer__foot span{display:inline-flex;align-items:center;gap:5px;overflow:hidden;color:var(--muted);font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.job-drawer__foot-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.job-drawer__foot-actions a{text-decoration:none}.roadmap-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.5fr);gap:24px;padding:30px 32px;overflow:hidden;border-radius:24px;background:radial-gradient(circle at 95% 10%,rgba(217,244,119,.13),transparent 30%),linear-gradient(135deg,#17493d,#0a2a22);color:#fff}.roadmap-hero__kicker{display:inline-flex;align-items:center;gap:7px;color:#ffffff80;font-size:9px}.roadmap-hero h2{margin-top:12px;font-size:clamp(26px,2.6vw,36px);font-weight:720;letter-spacing:-.04em}.roadmap-hero__main>p{max-width:600px;margin-top:8px;color:#ffffff8f;font-size:11px;line-height:1.75}.roadmap-progress{max-width:470px;margin-top:22px}.roadmap-progress__head{display:flex;justify-content:space-between;margin-bottom:6px;color:#ffffff73;font-size:8.5px}.roadmap-progress__head strong{color:var(--lime);font-size:9px;font-weight:650}.roadmap-progress__note{display:block;margin-top:7px;color:#ffffff57;font-size:8px}.roadmap-hero__side{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:17px;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:#ffffff0d}.roadmap-focus-direction{display:flex;align-items:center;gap:9px}.roadmap-focus-direction .icon-tile{width:37px;height:37px;flex-basis:37px}.roadmap-focus-direction>div{display:flex;flex-direction:column;gap:1px}.roadmap-focus-direction strong{font-size:11px;font-weight:650}.roadmap-focus-direction small{color:#fff6;font-size:8px}.roadmap-tone{color:#fff9;font-family:var(--font-serif);font-size:11px;font-style:italic;line-height:1.6}.roadmap-hero__side .btn{margin-top:3px}.roadmap-milestones{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.milestone{display:flex;gap:10px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.milestone__index{color:var(--green);font-size:8px;font-weight:800}.milestone>div{display:flex;flex-direction:column;gap:1px}.milestone span:not(.milestone__index){color:var(--muted);font-size:8px}.milestone strong{font-size:11px;font-weight:650}.milestone small{color:var(--muted-2);font-size:8px}.roadmap-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start;margin-top:34px}.timeline__head{margin-bottom:18px}.timeline__head h2{margin-top:4px;font-size:24px;font-weight:740;letter-spacing:-.035em}.timeline__head p{margin-top:5px;color:var(--muted);font-size:10.5px}.timeline-card{display:flex;gap:13px}.timeline-card__rail{display:flex;flex-direction:column;align-items:center;width:28px;flex:0 0 28px}.timeline-dot{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex:0 0 27px;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--green);font-size:9px;font-weight:700}.timeline-card__rail>i{width:1px;flex:1;min-height:25px;background:var(--line)}.timeline-card__body{flex:1;min-width:0;margin-bottom:14px;padding:20px 22px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.timeline-card__body header{display:flex;align-items:flex-start;justify-content:space-between;gap:13px}.timeline-card__time{display:inline-flex;align-items:center;gap:4px;color:var(--muted-2);font-size:8px;font-variant-numeric:tabular-nums}.timeline-card__body h3{margin-top:4px;font-size:17px;font-weight:720;letter-spacing:-.025em}.term-goals{margin-top:15px}.term-goals>span,.term-actions>span{color:var(--muted-2);font-size:8px;font-weight:700;letter-spacing:.08em}.term-goals ul{display:flex;flex-direction:column;gap:5px;margin-top:7px}.term-goals li{display:flex;align-items:flex-start;gap:6px;color:var(--ink-2);font-size:9.5px;line-height:1.55}.term-goals li svg{flex:0 0 auto;margin-top:2px;color:var(--green)}.term-actions{display:flex;flex-direction:column;gap:6px;margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}.term-actions>span{margin-bottom:1px}.task-check{display:flex;align-items:flex-start;gap:8px;padding:7px 8px;border-radius:7px;color:var(--ink-2);font-size:9.5px;line-height:1.55;text-align:left;transition:background .16s ease,color .16s ease}.task-check:hover{background:var(--surface-2)}.task-check__box{display:inline-flex;flex:0 0 auto;margin-top:1px;color:var(--muted-2)}.task-check.is-done{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line-strong)}.task-check.is-done .task-check__box{color:var(--green)}.timeline-card__body footer{display:flex;align-items:center;gap:6px;margin-top:12px;padding-top:11px;border-top:1px dashed var(--line);color:var(--muted);font-size:8px}.timeline-card__body footer svg{color:var(--green)}.timeline-card__body footer strong{color:var(--ink-2);font-size:8.5px;font-weight:600}.roadmap-aside{position:sticky;top:24px;display:flex;flex-direction:column;gap:12px}.aside-card{padding:19px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.aside-card--soft{background:var(--green-soft)}.aside-card__head{display:flex;align-items:center;gap:9px}.aside-card__head .icon-tile{width:37px;height:37px;flex-basis:37px}.aside-card__head h3{margin-top:1px;font-size:13px;font-weight:700}.habit-list{display:flex;flex-direction:column;gap:0;margin-top:13px}.habit-list li{display:flex;gap:9px;padding:8px 0;border-top:1px solid var(--line);color:var(--ink-2);font-size:9px;line-height:1.5}.habit-list li>span{color:var(--muted-2);font-size:7.5px;font-weight:700}.checkpoint-list{display:flex;flex-direction:column;gap:9px;margin-top:14px}.checkpoint-list li{position:relative;padding-left:15px;color:var(--ink-2);font-size:9px;line-height:1.5}.checkpoint-list li:before{content:"?";position:absolute;left:0;top:0;color:var(--green);font-size:9px;font-weight:800}.aside-cta{padding:20px;border-radius:17px;background:radial-gradient(circle at 100% 0%,rgba(217,244,119,.13),transparent 35%),var(--ink);color:#fff}.aside-cta>svg{color:var(--lime)}.aside-cta h3{margin-top:9px;font-size:14px;font-weight:700}.aside-cta p{margin-top:4px;color:#ffffff75;font-size:9px;line-height:1.6}.aside-cta .btn{margin-top:13px;width:100%}.course-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:22px;align-items:start}.course-input-panel{position:sticky;top:24px;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.course-input-panel__head{display:flex;align-items:flex-start;gap:11px;margin-bottom:17px}.course-input-panel__num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 30px;border-radius:8px;background:var(--green-soft);color:var(--green);font-size:9px;font-weight:800}.course-input-panel__head h2{margin-top:1px;font-size:19px;font-weight:740;letter-spacing:-.03em}.course-textarea{position:relative;display:block}.course-textarea textarea{width:100%;min-height:152px;padding:13px 13px 27px;resize:vertical;border:1px solid var(--line);border-radius:12px;outline:none;background:var(--surface-2);color:var(--ink);font-size:11px;line-height:1.7;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.course-textarea textarea:focus{border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #175c4c14}.course-textarea textarea::placeholder{color:var(--muted-2)}.course-textarea__count{position:absolute;right:10px;bottom:8px;color:var(--muted-2);font-size:7.5px;font-variant-numeric:tabular-nums}.course-submit{width:100%;margin-top:10px}.course-examples,.course-history{margin-top:19px}.course-examples>span,.course-history>span{display:flex;align-items:center;gap:4px;color:var(--muted-2);font-size:8px;font-weight:700;letter-spacing:.06em}.course-examples>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.course-examples button{padding:5px 8px;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-size:8.5px;transition:border-color .16s ease,color .16s ease}.course-examples button:hover{border-color:var(--green);color:var(--green)}.course-history>div{display:flex;flex-direction:column;margin-top:5px}.course-history button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 2px;border-bottom:1px solid var(--line);color:var(--ink-2);font-size:9px;text-align:left}.course-history button:hover{color:var(--green)}.course-input-panel__foot{display:flex;gap:8px;margin-top:18px;padding-top:13px;border-top:1px solid var(--line);color:var(--muted)}.course-input-panel__foot svg{flex:0 0 auto;margin-top:1px}.course-input-panel__foot p{font-size:8.5px;line-height:1.55}.course-output{min-width:0}.course-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:555px;padding:34px;border:1px solid var(--line);border-radius:24px;background:radial-gradient(circle at 50% 12%,rgba(23,92,76,.045),transparent 40%),var(--surface);text-align:center}.course-empty__visual{position:relative;width:180px;height:150px;margin-bottom:24px}.course-empty__circle{position:absolute;border:1px solid var(--line);border-radius:50%}.course-empty__circle--one{top:4px;right:16px;bottom:4px;left:16px;background:var(--green-soft);border:0}.course-empty__circle--two{top:20px;right:32px;bottom:20px;left:32px;border-style:dashed;border-color:var(--green-soft-2)}.course-empty__letter{position:absolute;left:50%;top:50%;color:var(--green);font-family:var(--font-serif);font-size:52px;font-style:italic;line-height:1;transform:translate(-50%,-54%)}.course-empty__tag{position:absolute;left:4px;top:33px;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--green);font-size:8px;font-weight:650;transform:rotate(-5deg);box-shadow:var(--shadow-sm)}.course-empty__tag--two{left:auto;right:2px;top:auto;bottom:22px;color:var(--ink-2);transform:rotate(4deg)}.course-empty__book{position:absolute;right:16px;top:20px;color:var(--green);opacity:.25}.course-empty h2{margin-top:10px;font-size:26px;font-weight:740;letter-spacing:-.04em}.course-empty>p{max-width:480px;margin-top:8px;color:var(--muted);font-size:10.5px;line-height:1.75}.course-empty__points{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:17px}.course-empty__points span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid var(--line);border-radius:6px;color:var(--ink-2);font-size:8.5px}.course-empty__points svg{color:var(--green)}.course-empty>.text-btn{margin-top:20px;color:var(--green)}.course-result{padding:27px 29px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}.course-result--loading{min-height:555px}.course-result__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.course-result__meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:8.5px}.course-result__meta .tag{height:23px;font-size:8.5px}.dot-sep{width:3px;height:3px;border-radius:50%;background:var(--line-strong)}.course-result h2{margin-top:11px;font-size:33px;font-weight:760;letter-spacing:-.045em;line-height:1.2}.course-result__summary{max-width:740px;margin-top:9px;color:var(--ink-2);font-size:11px;line-height:1.8}.course-stamp{display:flex;align-items:center;gap:7px;flex:0 0 auto;padding:8px 10px;border:1px dashed var(--line-strong);border-radius:7px;color:var(--muted-2);font-size:7px;font-weight:700;letter-spacing:.12em;line-height:1.35;transform:rotate(3deg)}.course-tip{display:flex;gap:9px;margin-top:20px;padding:12px 14px;border:1px solid #e3e6ae;border-radius:10px;background:#f5f7dc;color:#5f682d}.course-tip svg{flex:0 0 auto;margin-top:1px}.course-tip p{font-size:9.5px;line-height:1.65}.course-section{margin-top:27px}.course-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:12px}.course-section__head h3{margin-top:2px;font-size:16px;font-weight:720;letter-spacing:-.025em}.course-section__hint{color:var(--muted-2);font-size:8.5px}.course-skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.course-skill{padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.course-skill__top{display:flex;align-items:center;gap:7px}.course-skill__index{color:var(--muted-2);font-size:7px;font-weight:700}.course-skill__top strong{font-size:10.5px;font-weight:650}.course-skill__value{margin-left:auto;color:var(--green);font-size:9px;font-weight:700;font-variant-numeric:tabular-nums}.course-skill p{margin:6px 0 9px;color:var(--muted);font-size:8.5px;line-height:1.6}.extended-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.extended-card{display:flex;gap:8px;padding:12px;border:1px dashed var(--line-strong);border-radius:10px}.extended-card__plus{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;border-radius:50%;background:var(--green-soft);color:var(--green)}.extended-card strong{font-size:9.5px;font-weight:650}.extended-card p{margin-top:2px;color:var(--muted);font-size:8px;line-height:1.55}.course-two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.course-section--boxed{margin-top:0;padding:16px;border:1px solid var(--line);border-radius:13px}.course-section--boxed .course-section__head{margin-bottom:10px}.application-list{display:flex;flex-direction:column;gap:9px}.application-item{display:flex;gap:8px}.application-item>span{color:var(--green);font-size:7.5px;font-weight:800}.application-item strong{font-size:9px;font-weight:650}.application-item p{margin-top:1px;color:var(--muted);font-size:8.5px;line-height:1.55}.check-list{display:flex;flex-direction:column;gap:8px}.check-list li{display:flex;align-items:flex-start;gap:6px;color:var(--ink-2);font-size:8.5px;line-height:1.55}.check-list svg{flex:0 0 auto;margin-top:1px;color:var(--green)}.project-card{margin-top:18px;padding:22px 23px;border-radius:17px;background:radial-gradient(circle at 92% 8%,rgba(217,244,119,.14),transparent 28%),var(--ink);color:#fff}.project-card__head{display:flex;align-items:center;justify-content:space-between}.project-badge{display:inline-flex;align-items:center;gap:6px;color:var(--lime);font-size:8px;font-weight:700;letter-spacing:.1em}.project-card__time{display:inline-flex;align-items:center;gap:4px;color:#ffffff59;font-size:8px}.project-card h3{margin-top:10px;font-size:20px;font-weight:700;letter-spacing:-.03em}.project-card>p{max-width:660px;margin-top:5px;color:#ffffff80;font-size:9.5px;line-height:1.65}.project-steps{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.project-step{display:flex;gap:7px;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0a}.project-step>span{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex:0 0 17px;border-radius:50%;background:#d9f47721;color:var(--lime);font-size:7px;font-weight:700}.project-step p{color:#ffffffad;font-size:8.5px;line-height:1.55}.project-outcome{display:flex;align-items:flex-start;gap:9px;margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.project-outcome span{flex:0 0 auto;padding:3px 6px;border-radius:4px;background:#d9f4771f;color:var(--lime);font-size:7px;font-weight:650}.project-outcome strong{color:#ffffffbf;font-size:8.5px;font-weight:500;line-height:1.55}.role-cloud{display:flex;flex-wrap:wrap;gap:5px}.role-cloud span{display:inline-flex;align-items:center;gap:3px;padding:5px 7px;border:1px solid var(--line);border-radius:5px;color:var(--ink-2);font-size:8.5px}.role-cloud svg{color:var(--green)}.resource-list{display:flex;flex-direction:column;gap:8px}.resource-item{display:flex;gap:8px}.resource-item>span{flex:0 0 auto;height:18px;padding:0 5px;border-radius:3px;background:var(--green-soft);color:var(--green);font-size:7px;font-weight:650;line-height:18px}.resource-item strong{font-size:8.5px;font-weight:650}.resource-item p{margin-top:1px;color:var(--muted);font-size:8px;line-height:1.5}.course-cta{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px;padding:15px 17px;border-radius:13px;background:var(--green-soft)}.course-cta>div{display:flex;align-items:center;gap:8px}.course-cta>div svg{color:var(--green)}.course-cta p{color:var(--ink-2);font-size:9.5px}.course-cta .btn{flex:0 0 auto}.inline-notice{display:flex;align-items:center;gap:7px;margin-top:16px;padding:10px 12px;border-radius:8px;background:var(--paper-deep);color:var(--muted);font-size:8.5px}.course-loading-note{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:30px;color:var(--muted);font-size:10px}.skeleton{border-radius:8px;background:linear-gradient(90deg,var(--paper-deep) 25%,#f6f4ec 50%,var(--paper-deep) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}.skeleton--eyebrow{width:90px;height:12px}.skeleton--title{width:45%;height:38px;margin-top:14px}.skeleton--text{width:100%;height:12px;margin-top:12px}.skeleton--short{width:72%}.skeleton-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.skeleton--card{height:90px}.course-result--loading .course-loading-note{margin-top:30px}.chat-page{display:flex;flex-direction:column;height:calc(100vh - 88px);min-height:620px}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.chat-head__title{display:flex;align-items:center;gap:11px}.chat-head__icon{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--green)}.chat-head__title h1{margin-top:1px;font-size:24px;font-weight:750;letter-spacing:-.035em;line-height:1.2}.chat-head__actions{display:flex;align-items:center;gap:9px}.chat-mode{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 9px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:8.5px}.chat-mode i{width:5px;height:5px;border-radius:50%;background:var(--muted-2)}.chat-mode.is-live{border-color:#c7dbc8;background:var(--green-soft);color:var(--green)}.chat-mode.is-live i{background:var(--green)}.chat-context{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:10px;padding:0 2px;color:var(--muted);font-size:8.5px}.chat-context>span:first-child{display:inline-flex;align-items:center;gap:4px}.chat-context strong{color:var(--ink-2);font-weight:650}.chat-context i{width:3px;height:3px;border-radius:50%;background:var(--line-strong)}.chat-context__right{margin-left:auto;color:var(--muted-2)}.chat-shell{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:24px 28px;scroll-behavior:smooth}.chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:640px;min-height:100%;margin:0 auto;padding:24px 10px;text-align:center}.chat-welcome__mark{display:flex;align-items:center;justify-content:center;width:84px;height:84px;margin-bottom:17px;border:1px solid var(--green-soft-2);border-radius:50%;background:var(--green-soft);color:var(--green)}.chat-welcome h2{margin-top:8px;font-size:30px;font-weight:750;letter-spacing:-.04em}.chat-welcome>p{max-width:460px;margin-top:8px;color:var(--muted);font-size:10.5px;line-height:1.75}.chat-starters{display:grid;grid-template-columns:1fr 1fr;gap:7px;width:100%;margin-top:22px}.chat-starters button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--ink-2);font-size:9.5px;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease}.chat-starters button:hover{border-color:var(--green);background:#fff;transform:translateY(-1px)}.chat-starters button svg{flex:0 0 auto;color:var(--green);transform:rotate(45deg)}.chat-thread{display:flex;flex-direction:column;gap:23px;max-width:830px;margin:0 auto}.chat-message{display:flex;align-items:flex-start;gap:10px;animation:fadeIn .25s ease}.chat-message--user{justify-content:flex-end}.chat-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%}.chat-avatar--ai{background:var(--green);color:var(--lime)}.chat-avatar--user{background:var(--paper-deep);color:var(--ink-2);font-size:9px;font-weight:650}.chat-message__body{max-width:calc(100% - 42px)}.chat-message__name{display:flex;align-items:center;gap:6px;margin-bottom:5px}.chat-message__name strong{font-size:9.5px;font-weight:700}.chat-message__name span{color:var(--muted-2);font-size:7.5px}.chat-message__bubble{padding:10px 14px;border-radius:13px 13px 3px;background:var(--ink);color:#fff;font-size:11.5px;line-height:1.7;white-space:pre-wrap}.chat-message__bubble--ai{padding:0;border-radius:0;background:transparent;color:var(--ink);white-space:normal}.chat-message__bubble--ai .markdown{color:var(--ink-2);font-size:11.5px;line-height:1.85}.chat-message--user .chat-message__bubble{max-width:560px;border-radius:14px 14px 3px;background:var(--green)}.copy-btn{display:inline-flex;align-items:center;gap:4px;margin-top:5px;padding:3px 0;color:var(--muted-2);font-size:8px}.copy-btn:hover{color:var(--green)}.typing{display:inline-flex;gap:4px;padding:9px 0}.typing i{width:5px;height:5px;border-radius:50%;background:var(--muted-2);animation:typing 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-4px);opacity:1}}.stream-cursor{display:inline-block;width:2px;height:14px;margin-left:3px;background:var(--green);vertical-align:-2px;animation:blink .8s infinite}@keyframes blink{50%{opacity:0}}.markdown>*:first-child{margin-top:0}.markdown>*:last-child{margin-bottom:0}.markdown p{margin:0 0 10px}.markdown strong{color:var(--ink);font-weight:700}.markdown h1,.markdown h2,.markdown h3{margin:18px 0 7px;color:var(--ink);font-weight:720;letter-spacing:-.025em}.markdown h1{font-size:17px}.markdown h2{font-size:15px}.markdown h3{font-size:13px}.markdown ul,.markdown ol{margin:0 0 10px;padding-left:18px}.markdown ul{list-style:disc}.markdown ol{list-style:decimal}.markdown li{margin:4px 0}.markdown li::marker{color:var(--green)}.markdown blockquote{margin:10px 0;padding:7px 12px;border-left:2px solid var(--lime-deep);background:var(--green-soft);color:var(--ink-2)}.markdown code{padding:1px 4px;border-radius:4px;background:var(--paper-deep);color:var(--green);font-family:SFMono-Regular,Consolas,monospace;font-size:.91em}.markdown pre{margin:10px 0;padding:12px;overflow-x:auto;border-radius:8px;background:var(--ink);color:#e7eee9}.markdown pre code{padding:0;background:transparent;color:inherit}.markdown table{width:100%;margin:10px 0;border-collapse:collapse;font-size:.93em}.markdown th,.markdown td{padding:6px 8px;border:1px solid var(--line);text-align:left}.markdown th{background:var(--surface-2);font-weight:650}.markdown a{color:var(--green);text-decoration:underline;text-underline-offset:2px}.md-table{overflow-x:auto}.chat-composer-wrap{flex:0 0 auto;padding:10px 24px 12px;border-top:1px solid var(--line);background:var(--surface)}.chat-mode-note{display:flex;align-items:center;gap:5px;margin-bottom:7px;color:var(--muted-2);font-size:7.5px}.chat-mode-note svg{color:var(--green)}.chat-mode-note code{padding:1px 3px;border-radius:3px;background:var(--paper-deep);font-size:7px}.chat-composer{padding:9px 11px 7px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);transition:border-color .18s ease,box-shadow .18s ease}.chat-composer:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #175c4c14}.chat-composer textarea{display:block;width:100%;min-height:25px;max-height:160px;padding:0;resize:none;border:0;outline:0;background:transparent;font-size:11.5px;line-height:1.65}.chat-composer textarea::placeholder{color:var(--muted-2)}.chat-composer__bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:5px}.chat-composer__bottom>span{color:var(--muted-2);font-size:7.5px}.chat-composer__bottom>div{display:flex;align-items:center;gap:7px}.char-count{color:var(--muted-2);font-size:7.5px}.send-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:var(--ink);color:#fff;transition:background .16s ease,transform .16s ease}.send-btn:hover:not(:disabled){background:var(--green);transform:translateY(-1px)}.send-btn--stop{background:var(--paper-deep);color:var(--ink)}.chat-disclaimer{margin-top:5px;color:var(--muted-2);font-size:7px;text-align:center}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:22px;overflow-y:auto;background:#08181373;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal{width:100%;max-height:calc(100vh - 44px);overflow-y:auto;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:var(--shadow-lg);animation:pageIn .3s cubic-bezier(.22,1,.36,1)}.modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 26px 0}.modal__head h2{margin-top:4px;font-size:27px;font-weight:750;letter-spacing:-.04em}.modal__body{padding:16px 26px 26px}.modal__intro{margin-bottom:18px;color:var(--muted);font-size:10.5px;line-height:1.65}.modal .form-actions{margin-top:20px}.loading-screen{display:flex;flex-direction:column;min-height:100vh;padding:30px 38px;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(217,244,119,.12),transparent 25%),linear-gradient(145deg,#17493d,#0c3028 60%,#08251e);color:#fff}.loading-screen:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000,transparent 65%);mask-image:radial-gradient(circle at 50% 45%,#000,transparent 65%)}.loading-screen__top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px}.loading-screen .brand{color:#fff}.loading-screen .brand__mark{color:var(--lime)}.loading-screen .brand__text small{color:#ffffff6b}.mode-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid rgba(255,255,255,.14);border-radius:99px;color:#ffffff8c;font-size:8.5px}.loading-screen__center{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;padding:30px 0 50px;text-align:center}.loading-compass{position:relative;width:168px;height:168px;margin-bottom:28px}.loading-compass__ring{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(217,244,119,.18);border-radius:50%;animation:compassRing 3.2s ease-in-out infinite}.loading-compass__ring--delay{top:22px;right:22px;bottom:22px;left:22px;border-style:dashed;border-color:#ffffff24;animation-delay:.5s}@keyframes compassRing{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.06);opacity:1}}.loading-compass__core{position:absolute;top:46px;right:46px;bottom:46px;left:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#092820c7;color:var(--lime);box-shadow:0 0 70px #d9f47729}.loading-screen h1{margin-top:10px;font-size:clamp(38px,4.5vw,58px);font-weight:730;letter-spacing:-.055em;line-height:1.1}.loading-screen h1 em{color:var(--lime);font-family:var(--font-serif);font-style:italic;font-weight:500}.loading-screen__center>p{margin-top:10px;color:#fff6;font-size:10.5px}.loading-steps{display:flex;flex-direction:column;gap:8px;width:100%;max-width:310px;margin-top:27px;text-align:left}.loading-step{display:flex;align-items:center;gap:8px;color:#ffffff4d;font-size:9.5px;transition:color .3s ease}.loading-step__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;border:1px solid rgba(255,255,255,.13);border-radius:50%}.loading-step.is-running{color:#ffffffb8}.loading-step.is-running .loading-step__icon{border-color:var(--lime);color:var(--lime)}.loading-step.is-done{color:#ffffff85}.loading-step.is-done .loading-step__icon{border-color:transparent;background:#d9f47729;color:var(--lime)}.loading-screen__foot{position:relative;z-index:1;display:flex;justify-content:space-between;color:#ffffff47;font-size:8px;letter-spacing:.08em}.global-toast{position:fixed;right:24px;bottom:24px;z-index:130;max-width:380px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);color:var(--ink-2);font-size:10.5px;animation:pageIn .25s ease}.global-toast--error{border-color:#ecc8bd;background:var(--coral-soft);color:#8d3422}@media (max-width: 1280px){:root{--sidebar-w: 240px}.app-content{padding:30px 32px 48px}.dash-hero{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);padding-left:30px;padding-right:30px}.dash-hero__stats{margin-left:-30px;margin-right:-30px}.directions-layout{grid-template-columns:270px minmax(0,1fr)}.roadmap-layout{grid-template-columns:minmax(0,1fr) 285px}.course-layout{grid-template-columns:320px minmax(0,1fr)}.onboarding{grid-template-columns:minmax(0,1fr) minmax(500px,.9fr)}.onboarding__hero{padding-left:42px;padding-right:42px}.hero-orbit{right:-120px;opacity:.65}}@media (max-width: 1100px){.onboarding{display:block}.onboarding__hero{min-height:auto;padding:30px 34px 40px}.onboarding__hero-body{max-width:600px;margin-top:46px}.onboarding__hero-body h1{font-size:50px}.hero-orbit{right:-100px;bottom:-80px;opacity:.38}.onboarding__form-side{min-height:auto;padding:40px 34px 24px}.onboarding__form-wrap{margin:0 auto}.directions-layout{grid-template-columns:1fr}.direction-list{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.direction-list__head,.direction-list__foot{grid-column:1 / -1}.direction-tab.is-active:before{display:none}}@media (max-width: 1024px){.sidebar{display:none}.app-main{height:auto;min-height:100vh;margin-left:0;padding-top:58px;overflow:visible}.app-content{max-width:920px;min-height:auto;padding:22px 20px 96px}.mobile-topbar{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;height:58px;padding:0 18px;border-bottom:1px solid var(--line);background:#f3f1eae6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-topbar__right{display:flex;align-items:center;gap:9px}.mini-match{padding:4px 7px;border-radius:5px;background:var(--green-soft);color:var(--green);font-size:8px;font-weight:700}.avatar-button{display:inline-flex;padding:0;border-radius:50%}.mobile-nav{position:fixed;inset:auto 0 0 0;z-index:60;display:flex;align-items:stretch;justify-content:space-around;height:calc(60px + env(safe-area-inset-bottom));padding:5px 5px env(safe-area-inset-bottom);border-top:1px solid var(--line);background:#fffdf8f0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-nav button{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:10px;color:var(--muted);font-size:8px;font-weight:550}.mobile-nav button.is-active{color:var(--green);background:var(--green-soft)}.page-head{margin-bottom:22px}.page-head h1{font-size:31px}.page-head__meta{display:none}.dash-hero{grid-template-columns:1fr;gap:20px;padding:27px 26px 0}.dash-hero__side{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dash-hero__stats{margin:0 -26px}.dash-hero__stats>div{padding:14px 18px}.dash-focus-grid{grid-template-columns:1fr}.week-card__note{margin-top:14px}.dash-cta-grid,.roadmap-hero{grid-template-columns:1fr}.roadmap-hero__side{max-width:430px}.roadmap-layout{grid-template-columns:1fr}.roadmap-aside{position:static;display:grid;grid-template-columns:1fr 1fr}.aside-cta{grid-column:1 / -1}.course-layout{grid-template-columns:1fr}.course-input-panel{position:static}.course-empty{min-height:460px}.chat-page{height:calc(100vh - 150px);min-height:560px}}@media (max-width: 1100px){.auth-page{grid-template-columns:1fr}.auth-hero{min-height:auto;padding:28px 34px 34px}.auth-hero__body{max-width:620px;margin-top:38px}.auth-hero__body h1{font-size:46px}.auth-points{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.auth-orbit{right:-110px;bottom:-120px;opacity:.32}.auth-main{padding:34px 24px 44px}.auth-card{max-width:560px}}@media (max-width: 720px){.onboarding__hero{padding:24px 20px 30px}.onboarding__hero-body{margin-top:38px}.onboarding__hero-body h1{font-size:38px}.onboarding__lead{font-size:12.5px}.onboarding__features{gap:13px;margin-top:28px}.onboarding__feature:nth-child(3){display:none}.onboarding__hero-foot{padding-top:30px;font-size:7px}.hero-orbit,.edition-pill{display:none}.onboarding__form-side{padding:30px 20px 20px}.onboarding__form-head h2{font-size:30px}.form-grid{grid-template-columns:1fr}.field--full{grid-column:auto}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions .btn{width:100%}.form-foot{align-items:flex-start;flex-direction:column;gap:6px}.page-head h1{font-size:27px}.page-head p{font-size:11px}.app-content{padding:18px 15px 92px}.dash-hero{padding:24px 20px 0;border-radius:22px}.dash-hero h2{font-size:34px}.dash-hero__side{grid-template-columns:1fr}.dash-hero__main>p{-webkit-line-clamp:5}.dash-hero__stats{grid-template-columns:1fr 1fr;margin:0 -20px}.dash-hero__stats>div:nth-child(2){border-right:0}.dash-hero__stats>div:nth-child(1),.dash-hero__stats>div:nth-child(2){border-bottom:1px solid rgba(255,255,255,.08)}.dash-hero__actions .btn{width:100%}.section-heading{align-items:flex-start;flex-direction:column;gap:9px}.section-heading h2{font-size:22px}.direction-grid{grid-template-columns:1fr}.direction-card{min-height:190px}.mini-job__side em{display:none}.course-cta,.ai-cta{min-height:108px;padding:18px}.course-cta__body small,.ai-cta__body small{display:none}.family-strip{align-items:flex-start}.family-strip__divider,.family-strip__note{display:none}.family-strip .btn{width:100%;margin-top:3px}.direction-list{grid-template-columns:1fr}.direction-detail{padding:22px 18px}.direction-detail__head{flex-direction:column;gap:15px}.direction-detail__score{align-self:flex-start}.role-grid,.skill-bars{grid-template-columns:1fr}.growth-path{flex-direction:column;gap:8px}.growth-step i{display:none}.detail-actions{align-items:flex-start;flex-direction:column}.detail-actions .btn{width:100%}.jobs-notice{flex-wrap:wrap}.jobs-notice .btn{width:100%}.job-toolbar{align-items:stretch;flex-direction:column;gap:10px}.search-field{width:100%;flex-basis:36px}.jobs-grid{grid-template-columns:1fr}.job-drawer__scroll{padding:22px 18px 26px}.job-drawer__title{align-items:flex-start}.job-drawer__title h2{font-size:26px}.job-salary-panel{grid-template-columns:1fr 1fr}.job-salary-panel>div:last-child{grid-column:1 / -1}.drawer-ai-cta{align-items:flex-start;flex-wrap:wrap}.drawer-ai-cta .btn{width:100%}.roadmap-hero{padding:24px 20px}.roadmap-milestones{grid-template-columns:1fr 1fr}.timeline-card__rail{width:22px;flex-basis:22px}.timeline-dot{width:23px;height:23px;flex-basis:23px;font-size:8px}.timeline-card__body{padding:17px 15px}.roadmap-aside{grid-template-columns:1fr}.course-result{padding:22px 17px}.course-result h2{font-size:27px}.course-result__head{flex-direction:column}.course-stamp{align-self:flex-start}.course-skill-grid,.course-two-col,.project-steps,.extended-grid{grid-template-columns:1fr}.course-section--boxed{padding:14px}.course-cta{align-items:flex-start;flex-direction:column}.course-cta .btn{width:100%}.course-empty{min-height:420px;padding:24px 18px}.course-empty h2{font-size:22px}.chat-head__actions .chat-mode,.chat-context__right{display:none}.chat-messages{padding:18px 14px}.chat-starters{grid-template-columns:1fr}.chat-welcome h2{font-size:26px}.chat-message__bubble,.chat-message__bubble--ai .markdown{font-size:11px}.chat-composer-wrap{padding:8px 12px 10px}.chat-mode-note{font-size:7px}.chat-page{height:calc(100vh - 148px);min-height:500px}.modal-layer{padding:10px}.modal{max-height:calc(100vh - 20px);border-radius:18px}.modal__head{padding:20px 18px 0}.modal__body{padding:14px 18px 20px}.loading-screen{padding:24px 20px}.loading-screen h1{font-size:38px}.loading-compass{width:140px;height:140px}.loading-compass__core{top:38px;right:38px;bottom:38px;left:38px}.loading-screen__foot{font-size:7px}.global-toast{right:14px;bottom:84px;left:14px;max-width:none}}@media (max-width: 720px){.auth-hero{padding:22px 20px 28px}.auth-hero__body{margin-top:30px}.auth-hero__body h1{font-size:36px}.auth-hero__body>p{font-size:12px;margin-top:15px}.auth-points,.auth-orbit{display:none}.auth-hero__foot{padding-top:24px}.auth-main{align-items:flex-start;padding:22px 14px 40px}.auth-card{padding:23px 18px 20px;border-radius:18px}.auth-card__head h2{font-size:24px}.auth-code-btn{width:96px;flex-basis:96px}}@media (max-width: 420px){.onboarding__hero-body h1{font-size:33px}.dash-hero h2{font-size:29px}.direction-card__roles span:nth-child(2){display:none}.mobile-nav button{font-size:7px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
