@font-face{font-family:geist;src:url(../media/Geist-s.p.12e_ny3np-tt-.ttf)format("truetype");font-display:swap;font-weight:100 900}@font-face{font-family:geist Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geist_9b47cab-module__QRze_W__className{font-family:geist,geist Fallback}.geist_9b47cab-module__QRze_W__variable{--font-geist:"geist", "geist Fallback"}
:root{--ink:#1d2529;--muted:#58656b;--paper:#e1e5e7;--surface:#f4f6f7;--surface-raised:#fafbfb;--input-surface:#ebeff1;--line:#c8d0d4;--green:#237a55;--green-dark:#185f41;--green-soft:#dfeee4;--blue:#246da9;--blue-soft:#dfeaf7;--gray-soft:#d5dce0;--danger:#ad353e;--danger-surface:#fff0f1;--danger-line:#edc5ca;--warning-surface:#fff6df;--warning-line:#ddcb94;--shadow-sm:0 2px 5px #14271f05, 0 0 0 1px #14271f03;--shadow-md:0 8px 28px #182c2110, 0 2px 6px #182c2105;--shadow-lg:0 24px 80px #0f1e2524, 0 4px 12px #0f1e2510;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--motion-micro:.15s;--motion-hover:.22s;--motion-component:.3s;--motion-map:1.6s;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:110%}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist), Arial, Helvetica, sans-serif;margin:0}a{color:inherit;text-decoration:none}button{font:inherit}.button-danger{color:#9b3930;cursor:pointer;background:#fff7f6;border:1px solid #d9aaa5}.button-danger:disabled{opacity:.55;cursor:wait}.danger-zone{background:snow;border:1px solid #ead1ce;border-radius:16px;margin-top:42px;padding:22px}.danger-zone h2{margin:0 0 8px;font-size:1rem}.danger-zone p{color:var(--muted);margin:0 0 16px;font-size:.88rem}.undo-feedback{background:var(--green-soft);color:var(--green-dark);border:1px solid #c8dfcc;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px 16px;display:flex}.site-shell{min-height:100vh;overflow:hidden}.site-header{align-items:center;gap:28px;width:min(1180px,100% - 32px);min-height:76px;margin:0 auto;display:flex}.brand{letter-spacing:-.03em;align-items:center;font-size:1.2rem;font-weight:800;display:inline-flex}.brand-mark{color:var(--green);font-size:1.45rem}.desktop-nav{color:var(--muted);gap:24px;margin-right:auto;font-size:.92rem;display:flex}.desktop-nav a,.personal-nav a,.admin-nav a{border-radius:999px;align-items:center;margin:-7px -10px;padding:7px 10px;transition:color .18s,background .18s,box-shadow .18s;display:inline-flex}.desktop-nav a:hover,.personal-nav a:hover,.admin-nav a:hover,.personal-nav-active,.admin-nav-active{color:var(--green-dark);background:var(--green-soft);box-shadow:inset 0 0 0 1px #28764e2e}.text-link:hover{color:var(--green-dark)}.auth-actions{align-items:center;gap:12px;display:flex}.auth-status,.user-label{color:var(--muted);font-size:.82rem}.button{border-radius:var(--radius-sm);cursor:pointer;min-height:44px;transition:transform var(--motion-micro) var(--ease), background var(--motion-hover), box-shadow var(--motion-hover);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 17px;font-size:.86rem;font-weight:600;line-height:1.3;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:var(--green-dark)}.button-quiet,.button-ghost{color:var(--muted);background:0 0;padding-inline:12px}.hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:56px;width:min(1180px,100% - 32px);margin:54px auto 86px;display:grid}.eyebrow{color:var(--green);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:800}h1{letter-spacing:-.065em;max-width:620px;margin:16px 0;font-size:clamp(2.7rem,5vw,5.3rem);line-height:.98}h1 span,.hero h1 .hero-accent-trayecto{color:var(--green)}.hero h1 .hero-accent-future{color:#287c9d}.hero-description{max-width:510px;color:var(--muted);font-size:1.08rem;line-height:1.6}.hero-actions{align-items:center;gap:20px;margin-top:28px;display:flex}.text-link{color:var(--green);font-size:.92rem;font-weight:700}.hero-preview{--hero-preview-rotation:1.5deg;border:1px solid var(--line);background:var(--surface);min-height:390px;transform:translateY(-10px) rotate(var(--hero-preview-rotation));border-radius:24px;padding:16px;animation:4.8s ease-in-out infinite hero-preview-float;position:relative;box-shadow:0 20px 55px #264e351a}.preview-toolbar{height:28px;color:var(--muted);align-items:center;gap:6px;font-size:.7rem;display:flex}.preview-toolbar-label{margin-left:0}.preview-map{grid-template-columns:repeat(3,1fr);gap:18px;min-height:285px;padding:20px 8px 0;display:grid;position:relative}.preview-year{z-index:1;flex-direction:column;gap:14px;display:flex;position:relative}.preview-year>span{color:var(--muted);font-size:.68rem;font-weight:700}.preview-card{border:1px solid #0000;border-radius:10px;min-height:72px;padding:12px 9px;font-size:.72rem;line-height:1.25;box-shadow:0 3px 10px #182f200d}.preview-card.done{background:var(--green-soft);border-color:color-mix(in srgb, var(--green) 42%, var(--line))}.preview-card.available{background:var(--blue-soft);border-color:color-mix(in srgb, var(--blue) 72%, var(--line))}.preview-card.blocked{background:var(--gray-soft);border-color:var(--line)}@keyframes hero-preview-float{0%,to{transform:translateY(-10px) rotate(var(--hero-preview-rotation))}50%{transform:translateY(10px) rotate(var(--hero-preview-rotation))}}.preview-lines{z-index:0;pointer-events:none;width:100%;height:250px;position:absolute;inset:0}.preview-lines path{fill:none;stroke:#91b99b;stroke-width:2px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.preview-legend{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:13px;padding:8px;font-size:.68rem;display:flex}.preview-legend span{align-items:center;gap:5px;display:inline-flex}.preview-legend i{border-radius:50%;width:8px;height:8px}.legend-green{background:#4eab70}.legend-blue{background:#6aa9c1}.legend-gray{background:#a8b5ad}.feature-strip{grid-template-columns:repeat(3,1fr);gap:16px;width:min(1180px,100% - 32px);margin:0 auto 70px;display:grid}.feature-strip article{border:1px solid var(--line);background:var(--surface);border-radius:18px;min-height:184px;padding:24px;box-shadow:0 8px 20px #264e350a}.feature-icon{background:var(--green-soft);width:36px;height:36px;color:var(--green);border-radius:11px;place-items:center;font-size:1.2rem;font-weight:800;display:grid}.feature-strip h2{letter-spacing:-.02em;margin:18px 0 8px;font-size:1.02rem}.feature-strip p{max-width:250px;color:var(--muted);margin:0;font-size:.88rem;line-height:1.5}.personal-shell{background:radial-gradient(ellipse at 85% 0%, color-mix(in srgb, var(--green) 3%, transparent), transparent 45%), var(--paper);min-height:100vh}.personal-header{border-bottom:1px solid var(--line);align-items:center;gap:28px;width:min(1180px,100% - 32px);min-height:76px;margin:0 auto;display:flex}.plan-selector{align-items:center;gap:8px;width:fit-content;min-width:0;max-width:100%;margin-top:22px;display:flex;position:relative}.plan-selector label{color:var(--muted);white-space:nowrap;font-size:.72rem}.plan-selector select{border:1px solid var(--line);background:var(--surface);max-width:190px;min-height:40px;color:var(--ink);font:inherit;border-radius:9px;padding:8px 28px 8px 10px;font-size:.84rem}.plan-selector .form-error{margin:0;font-size:.72rem;position:absolute;top:calc(100% + 6px);right:16px}.map-search{margin-left:auto}.map-search input{border:1px solid var(--line);background:var(--surface);width:220px;min-height:38px;color:var(--ink);border-radius:9px;padding:8px 10px}.map-search-results{border-bottom:1px solid var(--line);background:var(--surface);flex-direction:column;gap:4px;padding:8px 14px;display:flex}.map-search-results button{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 10px}.map-search-results button:hover{background:var(--paper)}.map-viewport{cursor:grab;touch-action:none}.map-viewport.is-dragging{cursor:grabbing}.map-card{cursor:pointer;outline:none}.map-card:focus rect,.map-card-selected rect{stroke:var(--green-dark);stroke-width:4px}.map-detail{border:1px solid var(--line);background:var(--paper);border-radius:14px;margin:16px;padding:20px;position:relative}.map-detail h2{margin:8px 0}.map-detail p{color:var(--muted)}.map-detail-close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:1.4rem;position:absolute;top:10px;right:10px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.personal-nav{color:var(--muted);white-space:nowrap;gap:24px;margin-right:auto;font-size:.92rem;display:flex}.personal-nav-active{font-weight:700}.plans-content{width:min(1040px,100% - 32px);margin:0 auto;padding:58px 0 64px}.plans-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.plans-heading h1{margin:12px 0 8px;font-size:clamp(2rem,4vw,3.3rem)}.section-description{color:var(--muted);margin:0;line-height:1.5}.admin-plan-actions{flex-wrap:wrap;gap:10px;display:flex}.import-career-panel{border:1px solid var(--line);background:var(--surface);border-radius:20px;max-width:760px;margin:0 auto;padding:30px}.import-career-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.import-career-header h1{margin:10px 0 8px}.import-career-instructions{background:var(--green-soft);color:var(--green-dark);border:1px solid #b8d8c0;border-radius:12px;margin:24px 0;padding:16px 18px}.import-career-instructions h2{margin:0 0 9px;font-size:.95rem}.import-career-instructions ol{gap:6px;margin:0;padding-left:21px;font-size:.84rem;line-height:1.45;display:grid}.import-career-instructions code{background:#ffffff8c;border-radius:4px;padding:1px 4px;font-size:.8rem}.import-file-picker{color:var(--ink);gap:8px;margin-top:30px;font-size:.85rem;font-weight:700;display:grid}.import-file-picker input{border:1px dashed var(--line);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:10px;padding:12px}.import-errors{margin-top:20px}.import-errors ul{margin:8px 0 0;padding-left:20px}.import-preview{border:1px solid var(--green);background:var(--green-soft);border-radius:14px;margin-top:24px;padding:20px}.import-preview h2{margin:5px 0}.import-preview p{color:var(--muted)}.import-preview dl{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.import-preview dl div{background:var(--surface);border-radius:9px;min-width:120px;padding:10px}.import-preview dt{color:var(--muted);font-size:.72rem}.import-preview dd{margin:4px 0 0;font-weight:700}.suggestion-list-title{white-space:nowrap}.empty-state{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:22px;flex-direction:column;align-items:center;margin-top:42px;padding:70px 24px;display:flex}.empty-state h2{margin:20px 0 8px;font-size:1.5rem}.empty-state p{max-width:390px;color:var(--muted);margin:0 0 24px;line-height:1.55}.empty-illustration{width:142px;height:80px;position:relative}.empty-node{background:var(--green-soft);border:2px solid #b8ddc1;border-radius:7px;width:22px;height:22px;display:block;position:absolute}.empty-node-main{width:34px;height:34px;color:var(--green);border-radius:10px;place-items:center;font-size:.9rem;display:grid;top:28px;left:60px}.empty-node-left{background:var(--blue-soft);border-color:#bddce8;top:4px;left:4px}.empty-node-right{background:var(--gray-soft);border-color:#d6e0da;top:4px;right:4px}.empty-line{transform-origin:0;background:#bfd4c4;width:47px;height:1px;position:absolute;top:41px}.empty-line-left{left:24px;transform:rotate(31deg)}.empty-line-right{left:92px;transform:rotate(-31deg)}.implementation-note{color:var(--muted);text-align:center;margin:22px 0 0;font-size:.78rem}@media (max-width:760px){.site-header{gap:12px;min-height:68px}.home-header>.auth-actions{margin-left:auto}.desktop-nav{display:none}.site-header>.auth-actions .button{padding:9px 12px;font-size:.75rem}.user-label{display:none}.hero{grid-template-columns:1fr;gap:34px;margin-top:34px;margin-bottom:58px}.hero-copy{max-width:600px}.hero-preview{--hero-preview-rotation:0deg;min-height:330px}.preview-map{gap:12px;min-height:235px;padding-inline:2px}.preview-card{min-height:62px;padding:9px 6px;font-size:.62rem}.preview-lines{height:210px}.feature-strip{grid-template-columns:1fr;gap:12px;margin-bottom:34px}.feature-strip article{min-height:0;padding:20px}.feature-strip h2{margin-top:14px}}@media (prefers-reduced-motion:reduce){.hero-preview{transform:rotate(var(--hero-preview-rotation));animation:none}}@media (max-width:420px){.site-header>.auth-actions .button{text-overflow:ellipsis;white-space:nowrap;max-width:142px;overflow:hidden}.hero-actions{flex-direction:column;align-items:flex-start;gap:16px}h1{font-size:3.05rem}.hero-preview{border-radius:18px;padding:10px}.preview-legend{gap:7px;font-size:.59rem}}@media (max-width:760px){.personal-header{flex-wrap:wrap;gap:12px;min-height:68px;padding:10px 0 0}.personal-nav{scrollbar-width:thin;order:3;gap:18px;width:100%;margin-right:0;padding:4px 0 12px;font-size:.84rem;display:flex;overflow-x:auto}.personal-header>.auth-actions .button{padding:9px 12px;font-size:.75rem}.plans-content{padding-top:38px}.plans-heading{flex-direction:column;align-items:flex-start}.plans-heading .button{text-align:center;width:100%}.empty-state{margin-top:30px;padding:54px 18px}.admin-plan-actions,.admin-plan-actions .button{width:100%}.import-career-panel{padding:20px}.import-career-header{flex-direction:column}.import-career-header .button{text-align:center;width:100%}}.form-page{width:min(760px,100% - 32px);margin:0 auto;padding:58px 0 72px}.form-page h1{margin:12px 0 8px;font-size:clamp(2.5rem,5vw,4.1rem)}.plan-form{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin-top:38px;padding:28px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;display:grid}.plan-form label{color:var(--ink);flex-direction:column;gap:7px;font-size:.85rem;font-weight:700;display:flex}.plan-form input,.plan-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--input-surface);font:inherit;outline-color:var(--green);border-radius:9px;padding:12px;font-weight:400}.plan-form textarea{resize:vertical}.form-wide{grid-column:1/-1}.optional{color:var(--muted);font-size:.72rem;font-weight:400}.plan-form small{color:#b03e3e;font-weight:400}.form-error{color:#8f3030;background:#fff0ee;border-radius:8px;margin:22px 0 0;padding:11px 13px;font-size:.85rem}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;display:flex}.button:disabled{cursor:wait;opacity:.65}.suggestions-title{white-space:nowrap!important;font-size:clamp(1.2rem,4.8vw,2.85rem)!important}.form-page .suggestions-description{max-width:none}@media (max-width:600px){.form-page{padding-top:38px}.plan-form{padding:20px 16px}.form-grid{grid-template-columns:1fr;gap:18px}.form-wide{grid-column:auto}.form-actions{justify-content:stretch}.form-actions .button{flex:1}}.back-link{color:var(--green);margin-bottom:30px;font-size:.88rem;font-weight:700;display:inline-block}.plan-overview-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.plan-overview-heading h1{max-width:none;margin:12px 0 8px;font-size:clamp(2.5rem,5vw,4.2rem)}.plan-empty{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin-top:42px;padding:38px 28px}.plan-empty h2{margin:12px 0 8px}.plan-empty p{color:var(--muted);line-height:1.5}.plan-empty .button{margin-top:10px}@media (max-width:600px){.plan-overview-heading{flex-direction:column;align-items:flex-start}.plan-overview-heading .button{text-align:center;width:100%}.plan-empty{margin-top:30px;padding:28px 20px}}.subject-layout{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:28px;margin-top:38px;display:grid}.subject-form{align-self:start;margin-top:0}.subject-form-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.subject-form h2,.subjects-list h2{margin:10px 0 18px;font-size:1.35rem}.subject-form select{border:1px solid var(--line);background:var(--input-surface);width:100%;color:var(--ink);font:inherit;border-radius:9px;padding:12px}.form-help{color:var(--muted);font-size:.8rem;line-height:1.4}.prerequisite-fieldset{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:9px;margin:20px 0 0;padding:14px;display:flex}.prerequisite-fieldset legend{padding:0 5px;font-size:.85rem;font-weight:700}.checkbox-label{align-items:center;gap:8px;flex-direction:row!important;font-size:.8rem!important;font-weight:400!important;display:flex!important}.checkbox-label input{width:16px;height:16px}.subjects-list{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:28px}.subjects-list-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.subject-count{color:var(--muted);padding-bottom:18px;font-size:.8rem}.year-group{margin-top:24px}.year-group h3{color:var(--green-dark);margin:0 0 9px;font-size:.95rem}.subject-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.subject-row strong,.subject-row span{display:block}.subject-row span{color:var(--muted);margin-top:4px;font-size:.75rem}.subject-row-actions{flex-shrink:0;gap:10px;display:flex}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;padding:0;font-size:.78rem;font-weight:700}.text-button-danger{color:#a23e3e}.mini-empty{color:var(--muted);background:var(--paper);text-align:center;border-radius:10px;margin-top:20px;padding:28px;font-size:.88rem}@media (max-width:800px){.subject-layout{grid-template-columns:1fr;gap:22px}}.plans-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:42px;display:grid}.plan-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;min-height:190px;padding:22px;transition:transform .15s,box-shadow .15s;display:flex}.plan-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #264e3514}.plan-card h2{margin:12px 0 8px;font-size:1.2rem}.plan-card p{color:var(--ink);margin:0 0 8px}.plan-card>span:not(.eyebrow){color:var(--muted);font-size:.78rem}.plan-card strong{color:var(--green);margin-top:auto;padding-top:22px;font-size:.82rem}.map-page-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.map-page-heading h1{margin:12px 0 8px;font-size:clamp(2.2rem,5vw,4rem)}.map-shell{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin-top:38px;overflow:hidden}.map-controls{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:14px;display:flex}.map-control,.map-center{border:1px solid var(--line);background:var(--paper);min-width:38px;height:38px;color:var(--green-dark);cursor:pointer;border-radius:9px;font-size:1.2rem}.map-center{width:auto;padding:0 13px;font-size:.78rem;font-weight:700}.map-viewport{background:var(--input-surface);min-height:440px;padding:16px;overflow:auto}.academic-map{transform-origin:50%;min-width:820px;transition:transform .2s;display:block}.map-year-label{fill:var(--muted);font-size:16px;font-weight:700}.map-connection{stroke:#b9d4c0;stroke-width:3px;stroke-dasharray:7 6}.map-card rect{stroke-width:2px}.map-card-state,.map-card-name{font-family:var(--font-geist), Arial, Helvetica, sans-serif;font-size:12px;font-weight:700}.map-card-approved rect{fill:var(--green-soft);stroke:#9ecdad}.map-card-approved .map-card-state{fill:var(--green-dark)}.map-card-available rect{fill:var(--blue-soft);stroke:#a9d1df}.map-card-available .map-card-state{fill:#286b85}.map-card-blocked rect{fill:var(--gray-soft);stroke:#c9d6cc}.map-card-blocked .map-card-state{fill:#637168}.map-legend{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:16px;padding:14px 16px;font-size:.75rem;display:flex}.map-legend span{align-items:center;gap:6px;display:inline-flex}.map-legend i{border-radius:50%;width:9px;height:9px}@media (max-width:600px){.map-page-heading{flex-direction:column;align-items:flex-start}.map-page-heading .button{text-align:center;width:100%}.map-shell{border-radius:16px;margin-top:28px}.map-viewport{min-height:360px;padding:8px}.map-controls{padding:10px}.map-legend{gap:10px;font-size:.68rem}}.plan-actions{align-items:center;gap:10px;display:flex}.plan-map-link{margin-left:auto}.progress-page>h1{margin:12px 0 8px;font-size:clamp(2rem,4vw,2.75rem);line-height:1.1}.progress-content{gap:18px;margin-top:28px;display:grid}.progress-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.progress-stat,.progress-panel{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-width:0;box-shadow:0 4px 14px #264e350a}.progress-stat{flex-direction:column;align-items:flex-start;gap:10px;padding:20px;display:flex}.progress-icon{background:var(--green-soft);width:36px;height:36px;color:var(--green-dark);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.progress-icon svg{width:21px;height:21px}.progress-icon-available{background:var(--blue-soft);color:#286b85}.progress-icon-blocked{background:var(--gray-soft);color:var(--muted)}.progress-icon-average{background:var(--paper);color:var(--green-dark)}.progress-stat h2{color:var(--muted);margin:4px 0 0;font-size:.8rem;font-weight:400;line-height:1.4}.progress-stat>strong{font-variant-numeric:tabular-nums;font-size:1.65rem}.progress-stat p{color:var(--muted);margin:auto 0 0;font-size:.72rem;line-height:1.5}.progress-bar{appearance:none;background:var(--green-soft);width:100%;min-width:0;height:7px;color:var(--green);border:0;border-radius:999px;display:block;overflow:hidden}.progress-bar::-webkit-progress-bar{background:var(--green-soft);border-radius:999px}.progress-bar::-webkit-progress-value{background:var(--green);border-radius:999px}.progress-bar::-moz-progress-bar{background:var(--green);border-radius:999px}.progress-panel{padding:22px}.progress-panel-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.progress-panel-heading h2{margin:0 0 6px;font-size:1.1rem;font-weight:600}.progress-panel-heading p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.5}.progress-panel-heading .button{text-align:center;border-radius:9px;flex-shrink:0;font-size:.8rem}.progress-years{gap:24px;margin-top:24px;display:grid}.progress-year{grid-template-columns:minmax(110px,.9fr) minmax(0,4fr) 42px;align-items:center;gap:18px;display:grid}.progress-year h3,.progress-next-card h3{margin:0;font-size:.85rem;line-height:1.4}.progress-year p,.progress-next-card p{color:var(--muted);margin:4px 0 0;font-size:.73rem;line-height:1.5}.progress-year>strong{text-align:right;font-variant-numeric:tabular-nums;font-size:.82rem}.progress-next-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.progress-next-card{border:1px solid var(--line);background:var(--blue-soft);overflow-wrap:anywhere;border-radius:9px;align-items:center;gap:12px;min-width:0;padding:14px;display:flex}.progress-next-card .progress-icon{background:var(--surface);width:30px;height:30px}.progress-next-card .progress-icon svg{width:18px;height:18px}html[data-theme=dark] .progress-icon-available{color:#a9dff1}@media (max-width:900px){.progress-summary,.progress-next-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.plan-actions{flex-direction:row;align-items:stretch;width:100%}.plan-actions .button{text-align:center;flex:1;width:auto}.plan-map-link{margin-left:0}.progress-summary{gap:10px}.progress-stat{padding:16px}.progress-panel{padding:18px}.progress-panel-heading{flex-direction:column;align-items:flex-start}.progress-next-grid{grid-template-columns:1fr}.progress-year{grid-template-columns:minmax(0,1fr) 42px;gap:10px}.progress-year .progress-bar{grid-area:2/1/auto/-1}.progress-year>strong{grid-area:1/2}}@media (max-width:380px){.progress-summary{grid-template-columns:1fr}}.map-export-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-left:8px;display:flex}.map-export-desktop{gap:6px;display:flex}.map-export-compact{display:none;position:relative}.map-export-button{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--green-dark);cursor:pointer;border-radius:9px;padding:8px 10px;font-size:.76rem;font-weight:700}.map-export-button:disabled{opacity:.55;cursor:wait}.map-export-toggle{place-items:center;width:38px;padding:0;list-style:none;display:grid}.map-export-toggle::-webkit-details-marker{display:none}.map-export-toggle svg{fill:currentColor;width:18px;height:18px}.map-export-menu{z-index:10;border:1px solid var(--line);background:var(--surface);border-radius:10px;min-width:150px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 24px #14231a29}.map-export-menu button{color:var(--ink);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:7px;padding:9px 10px;font-size:.8rem}.map-export-menu button:hover{background:var(--paper)}@media (max-width:600px){.map-export-desktop{display:none}.map-export-compact{display:block}}.notes-list{gap:10px;margin-top:28px;display:grid}.note-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.note-row strong,.note-row span{display:block}.note-row span{color:var(--muted);margin-top:5px;font-size:.8rem}.note-value,.note-editor{align-items:center;gap:10px;display:flex}.note-value b{min-width:58px;color:var(--green-dark);text-align:right}.note-editor input{border:1px solid var(--line);border-radius:8px;width:90px;min-height:36px;padding:7px}.notes-empty{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:16px;margin-top:28px;padding:32px 20px}.notes-empty h2{margin-top:0}.notes-empty p{color:var(--muted);margin-bottom:0}.map-card-note{fill:var(--muted);font-size:11px;font-family:var(--font-geist), Arial, Helvetica, sans-serif}.hero-helper{max-width:510px;color:var(--muted);margin:14px 0 0;font-size:.78rem;line-height:1.45}.home-community{border-top:1px solid var(--line);width:min(1180px,100% - 32px);margin:0 auto 76px;padding:42px 0}.home-community-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.home-community-heading h2{letter-spacing:-.045em;max-width:560px;margin:10px 0 8px;font-size:clamp(1.8rem,4vw,3rem)}.home-community-heading p{max-width:590px;color:var(--muted);margin:0;line-height:1.5}.home-catalog-grid{margin-top:30px}.home-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px;display:grid}.home-plan-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;min-height:242px;padding:22px;display:flex}.home-plan-card h3{margin:12px 0 7px;font-size:1.2rem}.home-plan-card p{margin:0 0 8px;line-height:1.4}.home-plan-meta{color:var(--muted);font-size:.78rem}.home-plan-actions{align-items:center;gap:15px;margin-top:auto;padding-top:22px;display:flex}.home-plan-actions .button{text-align:center}.home-community-empty{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-top:30px;padding:32px}.home-community-empty h3{margin:0 0 8px}.home-community-empty p{max-width:570px;color:var(--muted);margin:0 0 16px;line-height:1.5}@media (max-width:760px){.home-community{margin-bottom:48px;padding-top:30px}.home-community-heading{flex-direction:column;align-items:flex-start;gap:14px}.home-plan-grid{grid-template-columns:1fr;margin-top:22px}.home-plan-card{min-height:0}.home-plan-actions{flex-direction:column;align-items:flex-start}.home-plan-actions .button,.hero-actions{width:100%}.hero-actions .button{text-align:center}.hero-actions .auth-actions,.hero-actions .auth-actions .button{width:100%}}.auth-google-button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.auth-google-button svg{background:#fff;border-radius:50%;width:18px;height:18px;padding:2px}.catalog-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:42px 0 76px}.catalog-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.catalog-heading>div{flex:1;min-width:0}.catalog-heading h1{margin:12px 0 10px;font-size:clamp(2.5rem,5vw,4.5rem)}.published-careers-title{white-space:nowrap}.catalog-heading p{color:var(--muted);margin:0;line-height:1.55}.catalog-count{background:var(--green-soft);color:var(--green-dark);border-radius:999px;flex-shrink:0;padding:10px 13px;font-size:.8rem;font-weight:800}.catalog-filters{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:minmax(0,1.3fr) minmax(220px,.8fr) auto;align-items:flex-end;gap:14px;margin-top:38px;padding:18px;display:grid}.catalog-filters label{color:var(--muted);flex-direction:column;gap:7px;font-size:.78rem;font-weight:700;display:flex}.catalog-filters input,.catalog-filters select{border:1px solid var(--line);background:var(--input-surface);width:100%;min-height:43px;color:var(--ink);font:inherit;border-radius:9px;padding:10px 12px}.catalog-filters .button{min-height:43px}.catalog-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;margin-top:30px;display:grid}.catalog-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;min-height:258px;padding:24px;display:flex;box-shadow:0 7px 20px #264e350a}.catalog-card h2{letter-spacing:-.03em;margin:12px 0 8px;font-size:1.3rem}.catalog-card p{margin:0 0 10px;line-height:1.45}.catalog-meta{color:var(--muted);font-size:.8rem}.catalog-card .button{width:fit-content;margin-top:auto;padding-top:11px}@media (max-width:760px){.catalog-shell{padding:30px 0 52px}.catalog-heading{flex-direction:column;align-items:flex-start;gap:14px}.catalog-count{order:-1}.catalog-filters{grid-template-columns:1fr;margin-top:28px;padding:14px}.catalog-filters .button{width:100%}.catalog-grid{grid-template-columns:1fr;margin-top:22px}.catalog-card .button{text-align:center;width:100%}}html[data-theme=dark]{--ink:#edf1f3;--muted:#a3adb4;--paper:#14181d;--surface:#1b2128;--surface-raised:#242b33;--input-surface:#171d24;--line:#343d46;--green:#73d5a5;--green-dark:#95e4bb;--green-soft:#1b362c;--blue:#89bffa;--blue-soft:#1b3047;--gray-soft:#262d35;--danger:#ffadb4;--danger-surface:#38252c;--danger-line:#71414b;--warning-surface:#332e23;--warning-line:#7f704a;--shadow-sm:0 2px 6px #0002;--shadow-md:0 10px 32px #0003;--shadow-lg:0 24px 80px #0006}.theme-toggle{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:1.12rem;line-height:1;transition:transform .15s,background .15s,border-color .15s;display:inline-grid}.theme-toggle:hover{border-color:var(--green);transform:translateY(-1px)}.theme-toggle:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--green);outline-offset:2px}html[data-theme=dark] .button-primary{color:#102418}html[data-theme=dark] .button-danger{border-color:var(--danger-line);background:var(--danger-surface);color:#ffd8d5}html[data-theme=dark] .danger-zone{border-color:var(--line);background:0 0}html[data-theme=dark] .undo-feedback{border-color:#39714a}html[data-theme=dark] .hero-preview{box-shadow:0 20px 55px #00000052}html[data-theme=dark] .hero h1 .hero-accent-future{color:#91d4eb}html[data-theme=dark] .preview-card{box-shadow:0 3px 10px #00000038}html[data-theme=dark] .empty-node{border-color:#4e9564}html[data-theme=dark] .empty-node-left{border-color:#4f8ca4}html[data-theme=dark] .empty-node-right{border-color:#53645a}html[data-theme=dark] .preview-lines path,html[data-theme=dark] .empty-line{stroke:#4d755a;background-color:#4d755a}html[data-theme=dark] .plan-form input,html[data-theme=dark] .plan-form textarea,html[data-theme=dark] .subject-form select,html[data-theme=dark] .catalog-filters input,html[data-theme=dark] .catalog-filters select,html[data-theme=dark] .map-search input,html[data-theme=dark] .progress-actions input,html[data-theme=dark] .note-editor input{border-color:var(--line);background:var(--input-surface);color:var(--ink)}html[data-theme=dark] .form-error{background:var(--danger-surface);color:#ffd8d5}html[data-theme=dark] .catalog-card{box-shadow:var(--shadow-sm)}@media (max-width:760px){.theme-toggle{width:36px;height:36px}}.brand{color:var(--ink)}.brand-logo{border-radius:10px;place-items:center;width:34px;height:34px;display:inline-grid;overflow:hidden}.brand-logo img{object-fit:contain;width:100%;height:100%;display:block}.brand-accent{color:var(--green)}.suggestion-form select,.suggestion-filter select,.suggestion-status-panel select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:43px;color:var(--ink);font:inherit;border-radius:9px;padding:10px 12px}.suggestion-success{background:var(--green-soft);color:var(--green-dark);border:1px solid #78b98d;border-radius:8px;margin:18px 0 0;padding:11px 13px;font-size:.85rem}.suggestion-filter{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:flex-end;gap:12px;margin-top:30px;padding:16px;display:flex}.suggestion-filter label,.suggestion-status-panel label{color:var(--muted);flex-direction:column;flex:1;gap:7px;font-size:.78rem;font-weight:700;display:flex}.suggestion-list{gap:10px;margin-top:24px;display:grid}.suggestion-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:18px;display:flex}.suggestion-row span,.suggestion-row p{color:var(--muted);margin:0;font-size:.78rem;display:block}.suggestion-row strong{margin:7px 0 4px;font-size:1rem;display:block}.suggestion-row>div:last-child{flex-shrink:0;justify-content:center;align-items:center;gap:12px;display:flex}.suggestion-row button.text-link{white-space:nowrap;cursor:pointer;background:0 0;border:0;min-height:32px;padding:0;font-family:inherit}.suggestion-status{background:var(--gray-soft);width:fit-content;color:var(--muted);border-radius:999px;padding:5px 8px;font-size:.72rem;display:inline-flex}.suggestion-status-in_review{background:var(--blue-soft);color:var(--blue)}.suggestion-status-addressed{background:var(--green-soft);color:var(--green-dark)}.suggestion-status-dismissed{color:#8f3c35;background:#f4e4e2}.suggestion-status-control{background:var(--gray-soft);width:fit-content;color:var(--muted);border-radius:999px;font-size:.78rem;display:inline-flex}.suggestion-status-control select{border-radius:inherit;min-height:32px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:5px 8px;font-weight:700}.suggestion-status-control select:disabled{cursor:wait;opacity:.65}.suggestion-status-control-modal{border:1px solid var(--line);width:100%}.suggestion-status-control-modal select{width:100%;min-height:42px}.suggestion-detail-modal{width:min(620px,100%)}.suggestion-modal-data{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0;display:grid}.suggestion-modal-data dt{color:var(--muted);font-size:.75rem}.suggestion-modal-data dd{margin:5px 0 0;line-height:1.45}.suggestion-modal-status{gap:8px;margin:22px 0;display:grid}.suggestion-modal-status h3,.suggestion-detail-modal .suggestion-description h3{margin:0;font-size:.9rem}.suggestion-detail{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:24px;margin-top:30px;padding:24px;display:grid}.suggestion-detail dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;display:grid}.suggestion-detail dt{color:var(--muted);font-size:.75rem}.suggestion-detail dd{margin:5px 0 0;line-height:1.45}.suggestion-description{border-top:1px solid var(--line);padding-top:18px}.suggestion-description h2,.suggestion-status-panel h2{margin:0 0 10px;font-size:1.1rem}.suggestion-description p{white-space:pre-wrap;margin:0;line-height:1.6}.suggestion-status-panel{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:14px;margin-top:22px;padding:22px;display:grid}.suggestion-status-panel .button{width:fit-content}html[data-theme=dark] .suggestion-status-dismissed{background:var(--danger-surface);color:#ffd8d5}@media (max-width:600px){.suggestion-filter,.suggestion-row{flex-direction:column;align-items:stretch}.suggestion-filter .button,.suggestion-status-panel .button{width:100%}.suggestion-detail{padding:18px}.suggestion-detail dl,.suggestion-modal-data{grid-template-columns:1fr}}.interactive-map-viewport{touch-action:none;overscroll-behavior:contain;position:relative;overflow:hidden}.interactive-map-viewport .academic-map{transform-origin:0 0;min-width:0;transition:transform .15s}.map-card-action,.map-card-info{cursor:pointer;outline:none}.map-card-action:focus-visible rect,.map-card-info:focus-visible circle{stroke:var(--green-dark);stroke-width:4px}.map-card-muted{opacity:.28}.map-connection{transition:opacity .15s,stroke-width .15s}.map-connection-active{stroke:var(--green);stroke-width:5px;opacity:1}.map-connection-muted{opacity:.16}.map-card-info circle{fill:var(--surface);stroke:currentColor;stroke-width:1.5px}.map-card-info text{fill:currentColor;font-family:var(--font-geist), Arial, Helvetica, sans-serif;font-size:12px;font-weight:700}.map-card-info{color:var(--green-dark)}.map-detail-data{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.map-detail-data div{background:var(--surface);border-radius:9px;padding:10px}.map-detail-data dt{color:var(--muted);font-size:.72rem}.map-detail-data dd{margin:4px 0 0;font-weight:700}.map-prerequisites h3{margin-bottom:8px;font-size:1rem}.map-prerequisites ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.map-prerequisites li{background:var(--green-soft);border-radius:9px;justify-content:space-between;gap:12px;padding:10px;display:flex}.map-prerequisites li span{color:var(--green-dark);white-space:nowrap;font-size:.78rem;font-weight:700}.map-prerequisites li.is-pending{background:var(--gray-soft)}.map-prerequisites li.is-pending span{color:var(--muted)}@media (max-width:600px){.map-detail-data{grid-template-columns:1fr 1fr}}.create-own-plan{border:1px solid var(--border);border-radius:16px;margin-block:2rem;padding:1.25rem}.map-viewport,.academic-map{touch-action:none;overscroll-behavior:contain}.community-career-content{padding-top:34px}.community-career-content .back-link{margin-bottom:16px}.community-career-content .map-shell{margin-top:24px}.interactive-map-viewport,.interactive-map-viewport .academic-map{cursor:grab}.interactive-map-viewport.is-dragging,.interactive-map-viewport.is-dragging .academic-map{cursor:grabbing}.map-viewport{min-height:clamp(440px,65vh,760px)}@media (max-width:600px){.map-viewport{min-height:0}}.brand-logo{width:150px;height:52px;display:block;position:relative;overflow:visible}.brand-logo img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.brand-logo-dark,html[data-theme=dark] .brand-logo-light{display:none!important}html[data-theme=dark] .brand-logo-dark{display:block!important}.map-viewport,.map-viewport .academic-map{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%2317211b' stroke='%23fff' stroke-width='1.5' d='M11 4c-1 0-2 .8-2 2v8L7.8 12.8a2 2 0 0 0-2.8 2.8l5.5 7A5 5 0 0 0 14.4 25H20a5 5 0 0 0 5-5v-7a2 2 0 0 0-4 0v-2a2 2 0 0 0-4 0V8a2 2 0 0 0-4 0V6c0-1.2-.8-2-2-2Z'/%3E%3C/svg%3E") 12 12,grab}html[data-theme=dark] .map-viewport,html[data-theme=dark] .map-viewport .academic-map{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23f7faf5' stroke='%23090e0a' stroke-width='1.5' d='M11 4c-1 0-2 .8-2 2v8L7.8 12.8a2 2 0 0 0-2.8 2.8l5.5 7A5 5 0 0 0 14.4 25H20a5 5 0 0 0 5-5v-7a2 2 0 0 0-4 0v-2a2 2 0 0 0-4 0V8a2 2 0 0 0-4 0V6c0-1.2-.8-2-2-2Z'/%3E%3C/svg%3E") 12 12,grab}@media (max-width:760px){.brand-logo{width:126px;height:44px}}.personal-map-actions{margin-top:18px}.empty-state-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.plan-card>.button{width:fit-content;margin-top:auto;padding-top:11px}@media (max-width:600px){.plan-selector{flex-direction:column;align-items:stretch;width:100%}.plan-selector select{width:100%;max-width:none}.empty-state-actions{flex-direction:column;align-items:stretch;width:100%}.empty-state-actions .button{text-align:center;width:100%}.plan-selector-page{flex-direction:column;display:flex}.plan-selector-page>.plan-selector{order:-1;margin-top:0;margin-bottom:24px}}.catalog-edit-note{font-size:.9rem;font-weight:700;color:var(--green-dark)!important;margin-top:12px!important}.catalog-card{border-top:4px solid var(--green);min-height:0;padding:0 22px 22px;overflow:hidden;box-shadow:0 7px 20px #264e350d}.catalog-card-header{align-items:center;min-height:46px;display:flex}.catalog-card-status{color:var(--green-dark);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.catalog-card h2{margin:2px 0 7px;font-size:1.32rem}.catalog-card .catalog-meta{color:var(--muted);margin:0;font-size:.86rem}.catalog-card-divider{background:var(--line);height:1px;margin:20px 0}.catalog-card-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.catalog-card-metrics>div{min-width:0;padding:0 12px}.catalog-card-metrics>div:first-child{padding-left:0}.catalog-card-metrics>div+div{border-left:1px solid var(--line)}.catalog-card-metrics dt{color:var(--muted);font-size:.7rem;font-weight:700}.catalog-card-metrics dd{color:var(--ink);margin:5px 0 0;font-size:.92rem;font-weight:800;line-height:1.2}.catalog-card>.button{border:1px solid var(--green);width:100%;color:var(--green-dark);text-align:center;background:0 0;border-radius:10px;margin:0;padding:10px 14px}.catalog-card>.button:hover{background:var(--green-soft)}.catalog-pagination{color:var(--muted);justify-content:center;align-items:center;gap:14px;margin-top:30px;font-size:.84rem;display:flex}.catalog-pagination .button[aria-disabled=true]{pointer-events:none;opacity:.45}.create-own-career{border:1px dashed var(--line);background:var(--surface);border-radius:18px;justify-content:space-between;align-items:center;gap:20px;margin-top:34px;padding:24px;display:flex}.create-own-career h2{margin:0 0 6px;font-size:1.12rem}.create-own-career p{color:var(--muted);margin:0}.create-own-career .button{border:1px solid var(--green);border-radius:10px;flex-shrink:0;padding:10px 14px}html[data-theme=dark] .catalog-card>.button{color:#a8dfb8;border-color:#5eb47c}html[data-theme=dark] .catalog-card>.button:hover{background:#1f3c2b}@media (max-width:760px){.catalog-card{padding:0 18px 18px}.catalog-card-metrics>div{padding:0 9px}.catalog-card-metrics dd{font-size:.84rem}.catalog-pagination{gap:10px}.create-own-career{flex-direction:column;align-items:stretch;gap:16px}.create-own-career .button{text-align:center;width:100%}}.catalog-card h2:first-child{margin-top:22px}.catalog-card h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3.05em;display:-webkit-box;overflow:hidden}.catalog-card .catalog-meta{min-height:1.25em}.catalog-card-metrics dd{white-space:nowrap;min-height:1.2em}.empty-illustration{width:160px;height:88px;display:block}.empty-connection{fill:none;stroke:#bfd4c4;stroke-width:1.5px;stroke-linecap:round}.empty-svg-node{stroke-width:2px}.empty-svg-node-left{fill:var(--blue-soft);stroke:#6aa9c1}.empty-svg-node-right{fill:var(--gray-soft);stroke:#a8b5ad}.empty-svg-node-main{fill:var(--green-soft);stroke:#4eab70}.empty-svg-star{fill:var(--green);font-size:17px;font-weight:700}html[data-theme=dark] .empty-connection{stroke:#4d755a}html[data-theme=dark] .empty-svg-node-left{stroke:#4f8ca4}html[data-theme=dark] .empty-svg-node-right{stroke:#53645a}html[data-theme=dark] .empty-svg-node-main{stroke:#4e9564}.personal-nav{flex:1;justify-content:space-between}.personal-nav-group{gap:24px;display:flex}.personal-nav-group-secondary{justify-content:flex-end}@media (max-width:760px){.personal-nav{justify-content:flex-start}.personal-nav-group{gap:18px}.personal-nav-group-secondary{margin-left:18px}}.personal-header{border-bottom:0;position:relative}.personal-header:after{background:var(--line);content:"";width:100vw;height:1px;position:absolute;bottom:0;right:50%;transform:translate(50%)}.required-mark{color:#b03e3e}.field-label{align-items:baseline;gap:3px;display:inline-flex}.community-career-name.career-map-title{color:var(--ink);letter-spacing:-.03em;text-transform:none;margin:2px 0 7px;font-size:1.32rem;font-weight:700;line-height:1.25}.community-career-name{max-width:none;color:var(--ink);letter-spacing:-.03em;text-transform:none;margin:2px 0 7px;font-size:1.32rem;font-weight:700;line-height:1.25}.plan-selector select{min-width:380px;max-width:380px}@media (max-width:600px){.plan-selector select{min-width:0;max-width:none}}@media (min-width:1024px) and (min-height:800px){.map-page-shell{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.map-page-shell>.personal-header,.map-page-shell>.site-header{flex:none}.map-page-content{flex-direction:column;flex:auto;min-height:0;padding-top:24px;padding-bottom:16px;display:flex;overflow:auto}.map-page-content .map-shell{flex-direction:column;flex:auto;min-height:320px;margin-top:18px;display:flex}.map-page-content .map-viewport{flex:auto;min-height:0}}.personal-nav .admin-nav-button{width:44px;height:44px;box-shadow:none;color:var(--muted);background:0 0;border:0;border-radius:0;flex-shrink:0;place-items:center;margin:-5px 0;padding:0;display:inline-grid}.admin-nav-button .ui-icon{fill:none;stroke-width:1.8px;transform-origin:50%;width:24px;height:24px;animation:10s linear infinite admin-gear-spin}.admin-nav-badge{z-index:2;border:2px solid var(--paper);color:#fff;font-variant-numeric:tabular-nums;background:#cf3f4b;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:9px;font-weight:800;line-height:1;display:grid;position:absolute;top:0;right:-2px;box-shadow:0 2px 6px #23070b38}@keyframes admin-gear-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.admin-nav-button svg{animation:none}}.personal-nav .admin-nav-button:hover,.personal-nav .admin-nav-button-active{color:var(--green-dark);box-shadow:none;background:0 0}html[data-theme=dark] .admin-nav-button{color:var(--green)}.admin-nav{width:min(1180px,100% - 32px);margin:0 auto;position:relative}.admin-nav:after{background:var(--line);content:"";width:100vw;height:1px;position:absolute;bottom:0;right:50%;transform:translate(50%)}.admin-nav>div{align-items:center;gap:24px;min-height:48px;display:flex}.admin-nav a{min-height:34px;color:var(--muted);white-space:nowrap;margin:0;padding:6px 10px;font-size:.88rem}.admin-nav a.admin-nav-active{color:var(--green-dark);background:var(--green-soft);font-weight:700;box-shadow:inset 0 0 0 1px #28764e2e}@media (max-width:760px){.admin-nav{scrollbar-width:thin;overflow-x:auto}.admin-nav>div{gap:20px;width:max-content}.personal-nav .admin-nav-button{width:44px;height:44px;margin:-6px 0}}.admin-catalog-filters{grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(180px,.72fr)) auto}.admin-catalog-filters+.admin-catalog-grid{margin-top:30px}@media (max-width:760px){.admin-catalog-filters{grid-template-columns:1fr}}.admin-catalog-grid{margin-top:42px}.admin-catalog-card{border-top-color:var(--green)}.catalog-card .template-title{overflow-wrap:normal;word-break:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;max-height:2.6em;display:-webkit-box;overflow:hidden}.template-title-measure{visibility:hidden;-webkit-box-orient:initial;-webkit-line-clamp:unset;white-space:normal;height:auto;min-height:0;max-height:none;display:block;position:absolute;overflow:visible}.admin-template-status{letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.admin-template-status-draft{color:#98701d}.admin-template-status-published{color:var(--green-dark)}.admin-template-status-unpublished{color:var(--danger)}.admin-card-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-card-action{border:1px solid var(--line);background:var(--paper);width:38px;height:38px;color:var(--green-dark);cursor:pointer;border-radius:9px;place-items:center;padding:0;display:inline-grid}.admin-card-action:hover{border-color:var(--green);background:var(--green-soft)}.admin-card-action:disabled{cursor:wait;opacity:.65}.admin-card-action svg{fill:currentColor;width:17px;height:17px}.admin-card-action-danger{color:#a23e3e}.admin-card-action-danger:hover{background:#fff0ee;border-color:#d5aaa7}.admin-action-backdrop{z-index:30;background:#1a1d2261;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-action-dialog{background:var(--surface);border-radius:18px;width:min(480px,100%);max-height:min(560px,100vh - 40px);padding:24px;position:relative;overflow:auto;box-shadow:0 18px 50px #14231a47}.admin-action-dialog h2{margin:8px 0}.admin-action-dialog>p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.5}.admin-action-close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:1.4rem;position:absolute;top:10px;right:10px}@media (max-width:760px){.admin-catalog-grid{margin-top:22px}.admin-action-backdrop{padding:0}.admin-action-dialog{border-radius:20px 20px 0 0;align-self:end;width:100%;max-height:78vh}.admin-action-dialog .form-actions{flex-direction:column}.admin-action-dialog .form-actions .button{width:100%}}.career-editor-shell{overflow-x:hidden}.career-editor{width:min(1180px,100% - 32px);margin:0 auto;padding:38px 0 72px}.career-editor-header>.back-link{cursor:pointer;background:0 0;border:0;margin-bottom:20px;display:inline-block}.career-editor-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.career-editor-heading h1{letter-spacing:-.04em;white-space:nowrap;margin:8px 0;font-size:clamp(1rem,4.5vw,3.7rem);line-height:1.05}.career-editor-heading p:last-child{color:var(--muted);margin:0}.career-status{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:999px;flex:none;padding:7px 11px;font-size:.74rem;font-weight:800}.career-status.status-published{color:var(--green-dark);background:var(--green-soft);border-color:#9ecdad}.career-editor-notice{color:#745d13;background:#fff9e7;border:1px solid #d8c78f;border-radius:10px;margin:18px 0 0;padding:11px 14px;font-size:.82rem}.career-stepper{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:30px 0;padding:0;list-style:none;display:grid}.career-stepper button{width:100%;min-height:52px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:9px;padding:0 12px 13px;font-size:.82rem;font-weight:750;display:flex}.career-stepper button>span{border:1px solid var(--line);background:var(--surface);border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:.72rem;display:grid}.career-stepper button.is-active{border-bottom-color:var(--green);color:var(--green-dark)}.career-stepper button.is-active>span{border-color:var(--green);color:#fff;background:var(--green)}.career-stepper button:disabled{cursor:not-allowed;opacity:.45}.career-editor-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;box-shadow:0 7px 24px #14231a0d}.career-section-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.career-section-heading h2{margin:0 0 7px;font-size:1.4rem}.career-section-heading p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.5}.career-pending{color:#745d13;white-space:nowrap;background:#fff4cf;border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:800}.career-data-form{width:100%;padding:28px}.career-data-form .form-grid{margin-top:27px}.career-data-form label{color:var(--ink);flex-direction:column;gap:7px;font-size:.84rem;font-weight:700;display:flex}.career-field-label{align-items:baseline;gap:6px;min-height:18px;display:flex}.career-data-form input,.career-data-form textarea,.career-subject-toolbar input,.career-subject-toolbar select,.career-subject-row input,.career-subject-row select{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--input-surface);font:inherit;outline-color:var(--green);border-radius:9px;padding:11px 12px;font-weight:400}.career-data-form small{color:#a23e3e}.career-data-form textarea{resize:vertical}.career-step-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;display:flex}.career-subject-toolbar{grid-template-columns:minmax(260px,1fr) 190px auto;align-items:center;gap:12px;margin-bottom:18px;display:grid}.career-subject-toolbar>span{color:var(--muted);white-space:nowrap;font-size:.76rem}.career-year-table{margin-bottom:18px;padding:0 22px 10px;overflow:hidden}.career-year-table>header{justify-content:space-between;align-items:center;gap:18px;padding:17px 0;display:flex}.career-year-toggle{min-width:0;color:var(--green-dark);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:5px 0;display:flex}.career-year-toggle>span:first-child{width:14px;height:14px;color:var(--muted);flex:0 0 14px;place-items:center;font-size:0;display:grid}.career-year-toggle>span:first-child:before{content:"";border-bottom:2px solid;border-right:2px solid;width:6px;height:6px;margin-top:-3px;transform:rotate(45deg)}.career-year-table.is-collapsed .career-year-toggle>span:first-child:before{margin:0 0 0 -3px;transform:rotate(-45deg)}.career-year-title{font-size:1rem;font-weight:800}.career-year-toggle small{color:var(--muted);white-space:nowrap;font-size:.7rem;font-weight:600}.career-year-table.is-collapsed{padding-bottom:0}.career-table-head,.career-subject-row{grid-template-columns:minmax(160px,1.2fr) 110px 110px minmax(220px,1.6fr) 78px;align-items:start;gap:10px;display:grid}.career-table-head{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;padding:8px 0;font-size:.64rem;font-weight:750}.career-subject-row{border-top:1px solid var(--line);padding:11px 0 17px;position:relative}.career-subject-row>label>span{display:none}.career-subject-row.is-dirty{box-shadow:inset 3px 0 #d0ad3d}.career-subject-row.is-error{box-shadow:inset 3px 0 #a23e3e}.career-subject-row.is-saving{opacity:.65}.career-subject-row>label:first-child input{font-size:.9rem}.career-row-actions{grid-template-columns:repeat(2,34px);justify-content:end;gap:6px;display:grid}.career-row-actions button{border:1px solid var(--line);min-height:38px;color:var(--green-dark);background:var(--paper);cursor:pointer;border-radius:8px;place-items:center;font-weight:850;display:grid}.career-row-actions svg{fill:currentColor;width:15px;height:15px}.career-row-actions button.is-danger{color:#a23e3e}.career-row-actions button:disabled{cursor:not-allowed;opacity:.45}.career-row-error{color:#a23e3e;grid-column:1/-1;margin:-2px 0 0;font-size:.75rem}.career-relations-board{min-width:0}.career-relations-intro{padding:24px}.career-relations-intro .career-section-heading>span{color:var(--muted);white-space:nowrap;font-size:.76rem}.career-relations-guidance{border-left:4px solid var(--green);background:var(--green-soft);border-radius:0 9px 9px 0;max-width:680px;padding:11px 13px;font-weight:800;color:var(--green-dark)!important;margin-top:12px!important;font-size:.92rem!important;line-height:1.45!important}.career-relation-editing{background:var(--green-soft);border:1px solid #b8d8c0;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin:16px 0;padding:15px 18px;display:flex}.career-relation-editing p{margin:0 0 3px}.career-relation-editing strong{display:block}.career-relation-editing span{color:var(--muted);margin-top:3px;font-size:.75rem;display:block}.career-relation-editing>div:last-child{flex-wrap:wrap;gap:8px;display:flex}.career-relations-columns{grid-template-columns:repeat(var(--career-year-count), minmax(220px, 1fr));scroll-snap-type:x proximity;gap:16px;margin-top:24px;padding:2px 2px 10px;display:grid;overflow-x:auto}.career-relation-column{border:1px solid var(--line);background:var(--surface);scroll-snap-align:start;border-radius:14px;min-width:220px;padding:16px}.career-relation-column>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;padding-bottom:11px;display:flex}.career-relation-column h3{color:var(--green-dark);margin:0;font-size:.95rem}.career-relation-column header span{color:var(--muted);white-space:nowrap;font-size:.7rem}.career-relation-column>div{gap:9px;display:grid}.career-relation-card{border:1px solid var(--line);background:var(--paper);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.career-relation-card strong{font-size:.79rem;line-height:1.3;display:block}.career-relation-count{color:var(--muted);background:var(--surface);border-radius:999px;margin-top:7px;padding:3px 7px;font-size:.64rem;font-weight:800;display:inline-flex}.career-relation-card.is-active{border-color:var(--green-dark);color:#fff;background:var(--green);box-shadow:0 7px 16px #264e353d}.career-relation-card.is-active .career-relation-count{color:#fff;background:#ffffff2e}.career-relation-card.is-prerequisite{background:#d8eef7;border-color:#458aa6;box-shadow:inset 3px 0 #458aa6}.career-relation-card.is-prerequisite .career-relation-count{color:#1e566d;background:#458aa624}.career-relation-card.is-disabled{opacity:.52}.career-relation-edit,.career-relation-select{border:1px solid var(--line);color:var(--green-dark);background:var(--surface);cursor:pointer;font:inherit;white-space:nowrap;border-radius:7px;padding:7px 8px;font-size:.69rem;font-weight:800}.career-relation-select:disabled{cursor:not-allowed;color:var(--muted)}.career-relation-current{color:#fff;font-size:.68rem;font-weight:800}.career-relation-empty{color:var(--muted);text-align:center;margin:0;padding:13px 4px;font-size:.75rem}.career-review-grid{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:22px;display:grid}.career-review-summary{padding:24px}.career-review-summary h2{margin:7px 0 18px}.career-review-summary dl{gap:11px;margin:0 0 22px;display:grid}.career-review-summary dl>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding-bottom:9px;display:flex}.career-review-summary dt{color:var(--muted);font-size:.75rem}.career-review-summary dd{text-align:right;margin:0;font-size:.78rem;font-weight:700}.career-review-summary ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.career-review-summary li{grid-template-columns:23px 1fr;align-items:center;gap:8px;display:grid}.career-review-summary li>span{border-radius:50%;place-items:center;width:22px;height:22px;font-size:.72rem;font-weight:900;display:grid}.career-review-summary li.is-valid>span{color:var(--green-dark);background:var(--green-soft)}.career-review-summary li.is-invalid>span{color:#8f3030;background:#fff0ee}.career-review-summary li button{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:.76rem}.career-review-summary .plan-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:18px;display:flex}.career-finish{width:100%;margin-top:22px}.career-review-map{min-width:0}.career-review-map .map-shell{margin-top:16px}html[data-theme=dark] .career-data-form input,html[data-theme=dark] .career-data-form textarea,html[data-theme=dark] .career-subject-toolbar input,html[data-theme=dark] .career-subject-toolbar select,html[data-theme=dark] .career-subject-row input,html[data-theme=dark] .career-subject-row select{border-color:var(--line);color:var(--ink);background:var(--input-surface)}html[data-theme=dark] .career-editor-notice{color:#ead88f;background:#282613;border-color:#6d6034}html[data-theme=dark] .career-relations-guidance{background:#183b27;border-color:#65c884;color:#cdf5d8!important}html[data-theme=dark] .career-relation-editing{background:#183b27;border-color:#39714a}html[data-theme=dark] .career-relation-column{background:#111913;border-color:#33463a}html[data-theme=dark] .career-relation-card{color:var(--ink);background:#101712;border-color:#354a3c}html[data-theme=dark] .career-relation-count{color:#c0d5c5;background:#1d2b21}html[data-theme=dark] .career-relation-card.is-active{color:#f5fff7;background:#286540;border-color:#83d9a0;box-shadow:0 7px 16px #00000047}html[data-theme=dark] .career-relation-card.is-active .career-relation-count{color:#e2fae8;background:#1b4d30}html[data-theme=dark] .career-relation-card.is-prerequisite{background:#183f52;border-color:#74b9d2;box-shadow:inset 3px 0 #74b9d2}html[data-theme=dark] .career-relation-card.is-prerequisite .career-relation-count{color:#c8edfa;background:#245d75}html[data-theme=dark] .career-relation-edit,html[data-theme=dark] .career-relation-select{color:#cef3d8;background:#18251c;border-color:#4c7258}@media (max-width:900px){.career-table-head{display:none}.career-subject-row{grid-template-columns:1fr 1fr;padding:16px 10px}.career-subject-row>label>span{color:var(--muted);text-transform:uppercase;margin-bottom:6px;font-size:.65rem;display:block}.career-row-actions{grid-column:1/-1}.career-review-grid{grid-template-columns:1fr}.career-review-summary{max-width:none}}@media (max-width:600px){.career-editor{padding:28px 0 52px}.career-editor-heading{flex-direction:column;gap:14px}.career-stepper{display:flex;overflow-x:auto}.career-stepper li{flex:none}.career-stepper button{min-width:150px}.career-data-form,.career-relations-intro,.career-review-summary{padding:20px 16px}.career-section-heading{flex-direction:column}.career-subject-toolbar{grid-template-columns:1fr 132px}.career-subject-toolbar>span{grid-column:1/-1}.career-year-table{padding:0 12px 8px}.career-year-table>header{flex-direction:column;align-items:flex-start}.career-year-table>header .button{width:100%}.career-subject-row{grid-template-columns:1fr}.career-row-actions{grid-column:auto}.career-step-actions{flex-direction:column-reverse}.career-step-actions .button{width:100%}.career-relation-editing{flex-direction:column;align-items:flex-start}.career-relation-editing>div:last-child{width:100%}.career-relation-editing .button{flex:1}.career-relations-columns{grid-template-columns:repeat(var(--career-year-count), minmax(82vw, 1fr));scroll-snap-type:x mandatory;gap:12px}.career-relation-column{min-width:82vw}.career-review-summary .plan-actions{flex-direction:column}.career-review-summary .plan-actions .button,.career-review-summary .plan-actions>.text-button{width:100%;min-height:40px}}.community-auth-backdrop{z-index:30;background:#1a1d2261;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.community-auth-dialog{background:var(--surface);border:1px solid #fff3;border-radius:18px;width:min(470px,100%);padding:28px;position:relative;box-shadow:0 24px 70px #08120c80,0 4px 14px #08120c38}.community-auth-dialog h2{margin:8px 0}.community-auth-dialog>p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.5}.community-auth-close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:1.4rem;position:absolute;top:10px;right:10px}.community-auth-actions{flex-direction:column;gap:12px;margin-top:24px;display:flex}.community-auth-actions .button{width:100%}.community-auth-actions .text-button{align-self:center}@media (max-width:760px){.community-auth-backdrop{padding:0}.community-auth-dialog{border-radius:20px 20px 0 0;align-self:end;width:100%}}.career-prerequisites,.career-subject-row>label{min-width:0}.career-prerequisites-label{display:none}.career-prerequisite-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.career-prerequisite-chip{border:1px solid var(--line);background:var(--green-soft);max-width:100%;color:var(--green-dark);border-radius:12px;align-items:flex-start;gap:5px;padding:5px 8px;font-size:.75rem;display:inline-flex}.career-prerequisite-chip>span{overflow-wrap:anywhere;min-width:0}.career-prerequisite-chip button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;flex-shrink:0;padding:0 3px}.career-prerequisite-search{border:1px solid var(--line);background:var(--surface);border-radius:9px;margin-top:8px;padding:10px}.career-prerequisite-search ul{max-height:240px;margin:8px 0;padding:0;list-style:none;overflow-y:auto}.career-prerequisite-search li button{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;color:var(--ink);cursor:pointer;font:inherit;overflow-wrap:anywhere;background:0 0;gap:4px;padding:9px 6px;font-size:.8rem;display:grid}.career-prerequisite-search small,.career-prerequisite-empty{color:var(--muted);font-size:.7rem}.career-prerequisites button:disabled{opacity:.55;cursor:not-allowed}.career-prerequisites button:focus-visible{outline:2px solid var(--green);outline-offset:2px}@media (max-width:900px){.career-prerequisites{grid-column:1/-1}.career-prerequisites-label{color:var(--muted);text-transform:uppercase;margin-bottom:6px;font-size:.65rem;display:block}}
body{-webkit-font-smoothing:antialiased;line-height:1.5}::selection{background:var(--green-soft);color:var(--green-dark)}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}h1,h2,h3{text-wrap:normal;overflow-wrap:anywhere}h1{letter-spacing:-.045em;font-weight:600}h2,h3{letter-spacing:-.025em;font-weight:600}input,select,textarea,button{font-family:inherit}input,select,textarea{accent-color:var(--green);transition:border-color var(--motion-micro), box-shadow var(--motion-micro)}input:not([type=checkbox]):not([type=radio]),select{min-height:44px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}:is(input,select,textarea):focus-visible{outline:2px solid var(--green);outline-offset:2px;box-shadow:0 0 0 5px color-mix(in srgb, var(--green) 9%, transparent)}:is(a,button,summary,[role=button]):focus-visible{outline:2px solid var(--green);outline-offset:4px}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.55;transform:none}.button-primary{box-shadow:inset 0 1px #ffffff20,0 2px 3px #14271f12}.button-primary:hover{box-shadow:inset 0 1px 0 #ffffff30, 0 4px 12px color-mix(in srgb, var(--green) 18%, transparent)}.button-secondary{color:var(--ink);background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)}.button-secondary:hover,.button-quiet:hover,.button-ghost:hover{color:var(--ink);background:var(--gray-soft)}.button-danger,html[data-theme=dark] .button-danger{color:var(--danger);background:var(--danger-surface);border-color:var(--danger-line)}.button-icon{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:44px;height:44px;color:var(--ink);cursor:pointer;place-items:center;padding:0;display:inline-grid}.ui-icon{width:18px;height:18px;transition:transform var(--motion-hover) var(--ease);flex-shrink:0}.tooltip-anchor{display:inline-flex}.trayecta-tooltip{z-index:150;border:1px solid var(--line);background:var(--surface-raised);width:max-content;max-width:210px;color:var(--ink);box-shadow:var(--shadow-md);pointer-events:none;animation:trayecta-fade var(--motion-micro);border-radius:8px;padding:7px 10px;font-size:.73rem;position:fixed;transform:translate(-50%)}.page-transition{animation:trayecta-fade var(--motion-component) ease}.button:hover .ui-icon,a:hover>.ui-icon{transform:translateY(-1px)}.personal-header,.site-header{gap:28px;width:calc(100% - 64px);max-width:1600px;min-height:80px}.personal-header{z-index:10;position:relative}.personal-header .brand{flex-shrink:0}.personal-header .brand-logo{width:136px}.personal-nav{flex:1;min-width:0;margin:0;padding:0;font-size:.9rem;position:relative;overflow:visible}.nav-links{align-items:center;gap:4px;width:100%;display:flex;position:relative}.personal-nav a{z-index:1;box-shadow:none;background:0 0;border-radius:9px;gap:7px;margin:0;padding:11px 9px;display:flex;position:relative}.personal-nav a:hover{background:var(--gray-soft);color:var(--ink);box-shadow:none}.personal-nav a[aria-current=page]{color:var(--green-dark);box-shadow:none;background:0 0}.nav-indicator{border:1px solid color-mix(in srgb, var(--green) 16%, transparent);background:var(--green-soft);height:100%;transition:transform var(--motion-component) var(--ease), width var(--motion-component) var(--ease);border-radius:9px;position:absolute;top:0;left:0}.personal-nav .nav-discovery{margin-left:auto}.nav-admin-label,.nav-mobile-toggle{display:none}.auth-actions{flex-shrink:0;gap:10px}.theme-toggle{border:1px solid var(--line);background:var(--surface);min-width:76px;height:40px;color:var(--ink);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:8px;padding:0 9px 0 8px;display:inline-flex}.theme-toggle:hover{background:var(--surface-raised);border-color:color-mix(in srgb, var(--green) 42%, var(--line))}.theme-toggle-icon{background:var(--gray-soft);width:24px;height:24px;color:var(--ink);border-radius:50%;place-items:center;display:grid}.theme-toggle-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:14px;height:14px}.theme-toggle-label{text-align:left;min-width:36px;font-size:.74rem;font-weight:650}.theme-toggle-track{border:1px solid var(--line);background:var(--gray-soft);width:26px;height:16px;transition:background var(--motion-micro), border-color var(--motion-micro);border-radius:999px;flex:0 0 26px;margin-left:auto;position:relative}.theme-toggle-track span{background:var(--muted);width:10px;height:10px;transition:transform var(--motion-micro) var(--ease), background var(--motion-micro);border-radius:50%;position:absolute;top:2px;left:2px}.theme-toggle[aria-pressed=true] .theme-toggle-track{border-color:color-mix(in srgb, var(--blue) 55%, var(--line));background:var(--blue-soft)}.theme-toggle[aria-pressed=true] .theme-toggle-track span{background:var(--blue);transform:translate(10px)}.theme-toggle[aria-pressed=true] .theme-toggle-icon{color:var(--blue);background:var(--blue-soft)}.theme-toggle[aria-pressed=false] .theme-toggle-icon{color:#d79935;background:color-mix(in srgb, #d79935 15%, var(--surface))}.user-menu{position:relative}.user-menu summary{cursor:pointer;border:1px solid var(--line);background:var(--surface);min-height:44px;box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:9px;padding-left:12px;list-style:none;display:inline-flex}.user-menu summary::-webkit-details-marker{display:none}.user-name{max-width:180px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:650;overflow:hidden}.user-avatar{border-left:1px solid var(--line);background:var(--surface-raised);border-radius:50%;place-items:center;width:42px;height:42px;font-size:.75rem;font-weight:600;display:grid}.map-control{min-width:44px;min-height:44px}.map-center,.map-export-button{min-height:44px}.user-menu-panel{z-index:30;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);width:min(280px,100vw - 32px);box-shadow:var(--shadow-lg);overflow-wrap:anywhere;gap:10px;padding:20px;display:grid;position:absolute;top:calc(100% + 12px);right:0}.user-menu-panel>span{color:var(--muted);font-size:.8rem}.plans-content,.catalog-shell{max-width:1160px}.section-description{max-width:680px}.plans-content>h1,.catalog-heading h1,.form-page h1,.career-editor-heading h1{white-space:normal;font-size:clamp(2rem,3.7vw,3.3rem);line-height:1.12}.published-careers-title,.suggestion-list-title{white-space:normal}.catalog-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:22px}.catalog-card,.plan-card,.career-editor-card,.plan-form,.progress-panel,.import-career-panel,.suggestion-detail{border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.catalog-card{transition:transform var(--motion-hover) var(--ease), box-shadow var(--motion-hover), border-color var(--motion-hover);padding:26px}.catalog-card h2{-webkit-line-clamp:unset;min-height:0;font-size:1.35rem;line-height:1.3;display:block;overflow:visible}.catalog-card-divider{opacity:.7}.catalog-filters{background:0 0;border-width:0 0 1px;border-radius:0;padding:0 0 24px}.catalog-count{background:var(--surface);border:1px solid var(--line);color:var(--muted)}.career-card{min-height:350px}.career-card .eyebrow{color:var(--muted);letter-spacing:.09em;font-size:.65rem}.career-card-progress{justify-content:space-between;align-items:baseline;gap:12px;margin:22px 0 6px;display:flex}.career-card-progress strong{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:550}.career-card-progress span,.career-card-meta{color:var(--muted);font-size:.76rem}.career-card-meta{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.career-card-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:22px;display:flex}.career-card-actions .button{margin:0}.journey-track{margin:20px 0 8px;padding:4px 0;list-style:none;display:flex;overflow-x:auto}.journey-track li{min-width:58px;color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;flex:1;align-items:center;gap:5px;font-size:.68rem;display:flex;position:relative}.journey-track li:before{content:"";background:var(--line);width:100%;height:1px;position:absolute;top:10px;left:-50%}.journey-track li:first-child:before{display:none}.journey-station{z-index:1;border:1px solid var(--line);background:var(--surface);border-radius:50%;place-items:center;width:21px;height:21px;font-size:.7rem;display:grid;position:relative}.journey-station i{background:var(--line);border-radius:50%;width:5px;height:5px}.is-complete .journey-station{background:var(--green);color:var(--paper);border-color:var(--green)}.is-started .journey-station{border-color:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.is-started .journey-station i{background:var(--green)}.journey-track strong{color:var(--ink);margin-top:4px;font-weight:500}.journey-empty{color:var(--muted);font-size:.85rem}.empty-journey{width:150px;height:72px;color:var(--line);margin:0 auto 16px;display:block}.career-overview{border-block:1px solid var(--line);grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:40px;margin-top:24px;padding:36px 0;display:grid}.career-overview-number{letter-spacing:-.07em;font-variant-numeric:tabular-nums;font-size:clamp(3rem,6vw,5rem);font-weight:500;line-height:1.1;display:block}.career-overview p{color:var(--muted)}.career-overview-metrics{grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;display:grid}.career-overview-metrics dt{color:var(--muted);font-size:.75rem}.career-overview-metrics dd{font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:1.65rem}.career-overview-aside{border-left:1px solid var(--line);flex-direction:column;justify-content:center;align-items:flex-start;padding-left:32px;display:flex}.career-overview-aside>.button+.button{margin-top:8px}.danger-zone{border-color:color-mix(in srgb, var(--danger) 48%, transparent);background:linear-gradient(135deg,#a75d68,#8a4a55);box-shadow:0 14px 32px #4e17231a}html[data-theme=dark] .danger-zone{background:linear-gradient(135deg,#4b2c33,#39252b);border-color:#79505a}.danger-zone h2,.danger-zone p{color:#fff5f5}.danger-zone p{opacity:.86}.danger-zone .button-danger{color:#8f2733;background:#fff4f4;border-color:#fff4f4;box-shadow:0 2px 8px #270b111f}.danger-zone .button-danger:hover{color:#711e29;background:#fff;box-shadow:0 4px 12px #270b1138}.plan-empty{padding:24px}.progress-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);grid-template-columns:1.5fr repeat(3,1fr);gap:0;display:grid;overflow:hidden}.progress-stat{box-shadow:none;background:0 0;border:0;border-radius:0;padding:28px}.progress-stat+.progress-stat{border-left:1px solid var(--line)}.progress-stat>strong{letter-spacing:-.05em;font-size:2.4rem;font-weight:500}.progress-icon{border-radius:10px}.progress-panel{padding:28px}.progress-year{padding-block:8px}.progress-next-card{background:var(--blue-soft);border-color:color-mix(in srgb, var(--blue) 72%, var(--line))}.progress-bar{background:var(--gray-soft);height:6px}.progress-bar::-webkit-progress-bar{background:var(--gray-soft)}.progress-bar::-webkit-progress-value{transform-origin:0;animation:progress-reveal var(--motion-map) var(--ease)}.progress-bar::-moz-progress-bar{transform-origin:0;animation:progress-reveal var(--motion-map) var(--ease)}.notes-empty .button{margin-top:24px}.career-data-form .form-help{font-weight:400}.admin-nav a{border-radius:8px}@keyframes progress-reveal{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.term-breakdown{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:24px;display:grid}.term-breakdown article{border-left:2px solid var(--line);padding:4px 16px}.term-breakdown h3{margin:0 0 6px;font-size:.8rem}.term-breakdown p{color:var(--muted);font-size:.75rem}.note-row{border-radius:var(--radius-sm);padding:20px 24px}.note-value b{font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:500}.note-editor input{background:var(--input-surface);color:var(--ink)}.career-stepper button{transition:color var(--motion-hover), border-color var(--motion-hover)}.career-stepper button.is-active>span{box-shadow:0 0 0 4px var(--green-soft)}.career-subject-row:focus-within{background:color-mix(in srgb, var(--green-soft) 40%, transparent)}@media (min-width:761px){.career-editor-heading h1{white-space:nowrap;max-width:none}}.import-career-instructions{background:var(--gray-soft);color:var(--ink);border-color:var(--line)}.import-file-picker input{background:var(--input-surface);padding:24px}.import-file-picker input::file-selector-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;margin-right:16px;padding:10px 14px}.form-error{color:var(--danger);background:var(--danger-surface)}.plan-form small,.career-data-form small,.career-row-error,.text-button-danger,.admin-card-action-danger{color:var(--danger)}.career-data-form [id$=-errors]:empty{display:none}.career-pending{color:var(--ink);background:var(--warning-surface);border:1px solid var(--warning-line)}[aria-invalid=true]{border-color:var(--danger)!important}.form-actions{align-items:center}:is(.admin-action-dialog,.community-auth-dialog,.map-confirmation){border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-lg);animation:trayecta-dialog var(--motion-component) var(--ease)}:is(.admin-action-dialog,.community-auth-dialog,.map-confirmation) h2{color:var(--ink);padding-right:24px}:is(.admin-action-dialog,.community-auth-dialog,.map-confirmation)>.eyebrow{color:var(--green-dark)}:is(.admin-action-dialog,.community-auth-dialog,.map-confirmation)>p:not(.eyebrow){color:var(--muted)}:is(.admin-action-dialog,.community-auth-dialog,.map-confirmation) :is(label,strong,li,dd){color:var(--ink)}:is(.admin-action-dialog,.community-auth-dialog,.map-confirmation) :is(input,select,textarea){border-color:var(--line);background:var(--input-surface);color:var(--ink)}:is(.admin-action-close,.community-auth-close,.map-detail-close){width:40px;height:40px;color:var(--muted);border-radius:10px}:is(.admin-action-close,.community-auth-close,.map-detail-close):hover{background:var(--gray-soft)}:is(.admin-action-backdrop,.community-auth-backdrop,.map-dialog-backdrop){animation:trayecta-fade var(--motion-micro) ease}.toast-region{z-index:100;pointer-events:none;gap:10px;width:min(380px,100vw - 32px);display:grid;position:fixed;bottom:24px;right:24px}.trayecta-toast{pointer-events:auto;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow-lg);animation:trayecta-enter var(--motion-component) var(--ease);align-items:center;gap:12px;padding:16px;font-size:.85rem;display:flex}.toast-mark{color:var(--green)}.toast-error .toast-mark{color:var(--danger)}.trayecta-toast button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-shrink:0;margin-left:auto;font-size:1.2rem}.loading-shell{max-width:1160px;margin:auto;padding:24px}.skeleton{background:var(--line);border-radius:10px;animation:1.8s ease-in-out infinite alternate skeleton-breathe}.skeleton-nav{width:100%;height:48px;margin-bottom:64px}.skeleton-heading{width:min(400px,80%);height:44px;margin-bottom:16px}.skeleton-description{width:min(500px,95%);height:20px;margin-bottom:40px}.loading-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.skeleton-card{border-radius:16px;height:340px}.loading-column{gap:24px;display:grid}.skeleton-node{height:100px}.map-loading{min-height:80dvh;padding:32px}.auth-skeleton{border-radius:50%;width:40px;height:40px}@keyframes trayecta-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes trayecta-fade{0%{opacity:0}to{opacity:1}}@keyframes trayecta-dialog{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@keyframes skeleton-breathe{0%{opacity:.45}to{opacity:.8}}@media (hover:hover){.catalog-card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--green) 32%, var(--line));transform:translateY(-3px)}}@media (max-width:1400px){.personal-header{gap:18px}.personal-nav{font-size:.79rem}.personal-nav a{gap:5px;padding-inline:7px}.personal-nav .nav-discovery{margin-left:auto}}@media (max-width:1250px){.personal-header{flex-wrap:nowrap;gap:16px;min-height:72px;padding:0}.personal-nav{order:initial;width:auto}.nav-mobile-toggle{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.8rem;display:flex}.nav-links{border:1px solid var(--line);background:var(--surface-raised);width:min(300px,100vw - 32px);box-shadow:var(--shadow-lg);z-index:20;border-radius:14px;padding:8px;display:none;position:absolute;top:calc(100% + 12px);left:0}.nav-links.is-open{display:grid}.nav-indicator{display:none}.personal-nav a{gap:12px;min-height:44px;padding:12px;font-size:.85rem}.personal-nav a[aria-current=page]{background:var(--green-soft)}.personal-nav .nav-discovery{border-top:1px solid var(--line);margin:6px 0 0}.personal-nav .admin-nav-button{border-radius:9px;justify-content:flex-start;width:auto;height:auto;margin:0;padding:12px;display:flex}.nav-admin-label{display:inline}}@media (max-width:760px){.admin-nav>div{gap:8px;width:100%}.admin-nav a{white-space:normal;flex:1;min-height:44px;font-size:.76rem}.career-card-actions{flex-wrap:wrap}.career-card-actions .text-link{white-space:nowrap}.personal-header,.site-header{width:calc(100% - 32px)}.personal-header .brand-logo{width:106px}.personal-header{gap:10px}.personal-header .personal-nav{flex:0 0 44px;order:-1;width:44px}.personal-header>.auth-actions{margin-left:auto}.user-menu summary{min-height:44px;box-shadow:none;background:0 0;border:0;border-radius:50%;padding-left:0}.user-name{display:none}.user-avatar{border:1px solid var(--line);background:var(--surface);width:44px;height:44px}.nav-mobile-toggle{border:0;border-radius:50%;justify-content:center;width:44px;min-width:44px;height:44px;padding:0}.nav-mobile-label{display:none}.nav-links{width:auto;max-height:calc(100dvh - 88px);position:fixed;top:72px;left:16px;right:16px;overflow-y:auto}.auth-actions{gap:2px}.personal-header .theme-toggle,.site-header .theme-toggle{width:76px;min-width:76px;padding:0 9px 0 8px}.personal-header .theme-toggle-label,.site-header .theme-toggle-label{display:none}.progress-summary{grid-template-columns:1fr 1fr}.progress-stat{padding:20px}.progress-stat:nth-child(3){border-left:0}.progress-stat:nth-child(n+3){border-top:1px solid var(--line)}.progress-stat>strong{font-size:2rem}.progress-panel{padding:20px}.career-overview{grid-template-columns:1fr;gap:24px;padding-block:24px}.career-overview-aside{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.catalog-card{padding:22px}.toast-region{right:16px;bottom:max(16px, env(safe-area-inset-bottom))}.loading-grid{grid-template-columns:1fr}.map-loading .loading-grid{grid-template-columns:repeat(3,1fr);gap:12px}.note-row{flex-wrap:wrap;padding:18px}.note-editor,.form-actions{flex-wrap:wrap}}@media (max-width:420px){.theme-toggle{justify-content:flex-start;width:76px;min-width:76px;padding:0 9px 0 8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
