@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Inter Variable,Inter,Arial,sans-serif;color:#111a30;background:#f9fbff;font-synthesis:none;font-weight:400;--blue:#1677ff;--navy:#10182c;--muted:#66738c;--pale:#eef5ff}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select,summary{cursor:pointer}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #0045b3;outline-offset:4px}button{border:0}a{color:var(--blue)}svg{flex-shrink:0}button,input,select{min-height:34px}input,select{color:var(--navy)}.page{position:relative;min-height:100svh;padding:30px 36px 20px;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 22%,#fff 12%,#f8faff 80%)}.ambient{position:absolute;z-index:-1;background:#e2efff;pointer-events:none}.ambient-one{width:310px;height:170px;bottom:-70px;left:-95px;border-radius:45% 65% 0 0;transform:rotate(22deg)}.ambient-two{width:245px;height:270px;right:-150px;top:-110px;border-radius:50%;transform:rotate(-35deg)}.hero{text-align:center;position:relative;z-index:1}.eyebrow{font-size:9px;font-weight:650;letter-spacing:2.3px;color:#657895;display:flex;align-items:center;justify-content:center;gap:9px;margin:0 0 20px}.eyebrow span{height:5px;width:5px;border-radius:50%;background:var(--blue)}h1{display:flex;flex-direction:column;align-items:center;margin:0;font-weight:950;letter-spacing:-.072em;line-height:.89}h1 span:first-child{font-size:clamp(65px,7.9vw,126px)}h1 span:last-child{font-size:clamp(83px,10.3vw,165px);color:var(--blue);letter-spacing:-.065em;margin-top:4px}.hero-caption{font-size:12px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:7px;margin:19px 0 0}.hero-caption svg{color:var(--blue)}.dashboard{max-width:1680px;margin:44px auto 0;display:grid;grid-template-columns:minmax(370px,.95fr) minmax(170px,.52fr) minmax(545px,1.33fr);gap:16px;align-items:start;position:relative}.card{background:#fff;border:1px solid #f1f4fa;border-radius:23px;box-shadow:0 10px 50px #26476d06;position:relative;z-index:2}.progress-panel{padding:23px 21px 15px;margin-top:13px}.panel-title{display:flex;align-items:center;gap:10px}.panel-title h2{font-size:20px;font-weight:760;letter-spacing:-.8px;margin:0;line-height:1.25}.title-icon{color:var(--blue)}.state-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:19px 0 16px}.state-row>span{font-size:8px;font-weight:650;color:#7a879c;letter-spacing:1.4px}.select-wrap{display:flex;align-items:center;position:relative}.select-wrap select{appearance:none;border:1px solid #e6eefb;background:#f7faff;border-radius:20px;padding:0 26px 0 11px;font-size:10px;font-weight:550;min-height:30px}.select-wrap svg{pointer-events:none;position:absolute;right:9px;color:#7694c3}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.stat{padding:15px 13px 13px;background:#eef5ff;border-radius:17px;display:flex;flex-direction:column;min-height:183px}.stat-icon{color:var(--blue);margin-bottom:10px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e0edff}.stat h3{font-size:12px;font-weight:650;letter-spacing:-.3px;margin:0 0 6px;white-space:nowrap}.stat-value{font-size:41px;line-height:1.1;font-weight:750;letter-spacing:-1.5px}.stat-caption{font-size:10px;color:#66799a;margin:6px 0 12px;white-space:nowrap}.stat-footnote{color:#7b8ead;font-size:9px;margin-top:auto}.stat-total{background:var(--blue);color:#fff}.stat-total .stat-icon{color:#fff;background:transparent;justify-content:start}.stat-total .stat-caption{color:#e8f1ff}.progress-track{height:7px;background:#d9e8ff;border-radius:20px;overflow:hidden;width:100%}.progress-track>span{height:100%;display:block;background:var(--blue);border-radius:20px;transition:width .55s cubic-bezier(.2,.7,.3,1)}.stat .progress-track{margin-top:auto}.stat-total .progress-track{background:#ffffff4d}.stat-total .progress-track>span{background:#fff}.subject-progress{margin:16px 0;display:flex;align-items:center;gap:10px;padding:0 3px;color:var(--blue)}.subject-progress>div{display:flex;flex-direction:column;gap:4px}.subject-progress strong{font-size:11px;font-weight:650;color:#263850}.subject-progress div span{font-size:10px;color:var(--muted)}.requirement-badge{font-size:8px;color:#687f9e;background:#f1f6fc;border-radius:20px;padding:6px 8px;margin-left:auto;white-space:nowrap;display:flex;gap:3px;align-items:center}.requirement-badge.met{color:#085bc2;background:#e6f0ff}.overall{background:#eff5ff;border-radius:17px;padding:19px 17px 11px}.overall-top{display:flex;gap:11px;align-items:center}.target-icon{color:var(--blue)}.overall h3{font-size:14px;letter-spacing:-.35px;margin:0 0 7px}.overall p{font-size:10px;color:#647a9c;margin:0}.overall-bar{display:flex;align-items:center;gap:14px;margin-top:18px}.overall-bar .progress-track{height:11px}.overall-bar strong{font-size:13px;min-width:32px}.handwritten{display:block;text-align:right;margin-top:9px;color:#3673c3;font-family:Segoe Print,Bradley Hand,cursive;font-style:italic;font-size:15px;transform:rotate(-4deg)}.save-note{display:flex;gap:5px;align-items:center;justify-content:center;font-size:9px;color:#78889e;margin:14px 0 0;line-height:1.5}.save-note svg{color:#8ba9cc}.portrait{position:relative;align-self:stretch;min-height:520px;z-index:1;pointer-events:none}.portrait img{position:absolute;width:400px;max-width:none;height:auto;top:-78px;left:50%;transform:translate(-50%);mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(to bottom,black 90%,transparent 100%);mask-image:linear-gradient(to bottom,black 90%,transparent 100%)}.portrait-blob{position:absolute;width:215px;height:430px;background:#eaf3ff;top:5px;left:50%;transform:translate(-50%) rotate(16deg);border-radius:52% 48% 54% 46%/48% 52%}.doodle-rays{position:absolute;width:45px;left:-9px;top:2px;color:var(--blue);transform:rotate(-5deg)}.doodle-heart{position:absolute;width:35px;height:38px;right:-3px;top:41px;stroke-width:2.2;color:var(--blue);transform:rotate(20deg)}.portrait-note{position:absolute;bottom:6px;left:50%;width:200px;text-align:center;transform:translate(-50%) rotate(-6deg);font-family:Segoe Print,Bradley Hand,cursive;font-style:italic;color:#4384dc;font-size:22px}.portrait-note span{font-size:26px}.courses-panel{padding:21px 16px 0;overflow:hidden}.course-heading{display:flex;justify-content:space-between;align-items:center;padding:0 4px 16px}.course-heading h2{font-size:19px}.count-badge{font-size:9px;letter-spacing:.1px;color:#6582a5;border-radius:20px;background:#f2f7ff;padding:7px 10px}.toolbar{padding:0 2px 13px}.search{height:37px;background:#f8faff;border:1px solid #e8effa;border-radius:10px;display:flex;align-items:center;padding:0 11px;gap:8px;color:#8c9db4}.search input{width:100%;background:transparent;border:0;outline:0;font-size:11px}.search input::placeholder{color:#8594a9}.search:focus-within{outline:2px solid var(--blue);outline-offset:2px}.search button{padding:0;background:transparent;display:grid;place-items:center;color:#6984a8}.filter-row{display:flex;align-items:center;gap:9px;margin-top:10px}.type-tabs{display:flex;border-radius:8px;background:#f3f6fb;padding:3px;gap:1px;flex-shrink:0}.type-tabs button{background:transparent;min-height:26px;font-size:10px;padding:0 10px;border-radius:6px;color:#758197;transition:background .15s,color .15s}.type-tabs button[aria-pressed=true]{color:#126ae0;background:#fff;box-shadow:0 1px 4px #172d5710;font-weight:650}.filter-row select{min-width:0;width:125px;max-width:180px;flex:1;background:#fff;border:1px solid #e8eef7;border-radius:8px;font-size:9px;color:#5c6f8a;padding:0 5px;min-height:30px}.filter-row .status-filter{max-width:103px}.table-scroll{height:367px;overflow:auto;scrollbar-width:thin;scrollbar-color:#d9e3f2 transparent;padding-right:2px}.table-scroll::-webkit-scrollbar{width:5px;height:5px}.table-scroll::-webkit-scrollbar-thumb{background:#d9e3f2;border-radius:5px}table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0 3px;font-size:10px}.check-col{width:30px}.course-col{width:35%}.provider-col{width:16%}.hours-col{width:9%}.type-col{width:16%}.cost-col{width:11%}.link-col{width:33px}thead{position:sticky;top:0;z-index:3}th{background:#f5f7fb;color:#667187;font-size:9px;text-align:left;font-weight:600;height:33px;padding:0 5px;box-shadow:0 -3px #fff}th button{background:transparent;display:flex;align-items:center;gap:3px;padding:0;font-size:inherit;font-weight:inherit;min-height:33px}th .sort-idle{opacity:.4}th:first-child{border-radius:7px 0 0 7px;text-align:center}th:last-child{border-radius:0 7px 7px 0}td{padding:10px 5px;vertical-align:middle;line-height:1.55;border-top:1px solid transparent;border-bottom:1px solid #f2f5fa;transition:background .18s}td:first-child{border-radius:7px 0 0 7px;padding-left:7px}td:last-child{border-radius:0 7px 7px 0}tbody tr:hover td{background:#f5f9ff}tr.completed-row td{background:#edf5ff;border-color:#edf5ff}.course-name{font-weight:550;color:#334258;overflow-wrap:anywhere}.course-name small{display:block;font-size:8px;color:#1766c6;margin-top:5px}.provider-name{color:#77869c;overflow-wrap:anywhere;font-size:9px}.hours-cell{font-variant-numeric:tabular-nums;color:#4d5e76;font-size:10px}.cost-cell{font-size:9px;color:#4b647e;overflow-wrap:anywhere}.type-pill{display:inline-block;border-radius:5px;font-size:8px;padding:3px 5px;line-height:1.45;background:#f0f4f9;color:#63738d;overflow-wrap:anywhere;max-width:100%}.type-pill.clinical{color:#0765d4;background:#e7f1ff}.type-pill.ethics{background:#e7edf8;color:#324b77}.checkbox-wrap{display:block;width:18px;height:20px;position:relative;cursor:pointer}.checkbox-wrap input{position:absolute;inset:-5px;opacity:0;cursor:pointer;width:28px;height:30px;min-height:0;margin:0;z-index:1}.checkbox-wrap>span{display:grid;place-items:center;width:15px;height:15px;border:1.5px solid #ccd7e6;border-radius:4px;transition:background .15s,border-color .15s}.checkbox-wrap svg{opacity:0;transform:scale(.5);transition:transform .15s,opacity .15s}.checkbox-wrap input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff}.checkbox-wrap input:checked+span svg{opacity:1;transform:scale(1)}.checkbox-wrap input:focus-visible+span{outline:3px solid #0045b3;outline-offset:4px}.course-link{display:grid;place-items:center;width:27px;height:30px;border-radius:6px;transition:background .15s,transform .15s}.course-link:hover{background:#dbeaff;transform:translateY(-1px)}.table-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:#7d8aa0;padding:15px 3px 17px;border-top:1px solid #eff3f9;line-height:1.5}.table-summary strong{color:#406187;font-weight:600}.summary-dot{margin:0 5px;color:#a4b4c9}.filtered-count{font-size:9px;color:#61738e;margin:0 4px 12px}.empty-state{text-align:center;padding:56px 15px;color:#7590b3}.empty-state h3{color:#263f63;font-size:16px;margin:14px 0 6px}.empty-state p{font-size:12px}.empty-state button{background:#eaf3ff;color:#1168d9;padding:8px 14px;border-radius:8px;font-size:11px}footer{max-width:1650px;margin:33px auto 0;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#95a2b6;position:relative;z-index:3;gap:12px}footer>span:first-child{display:flex;align-items:center;gap:5px}footer svg{color:#5b94df}footer details{position:relative}footer summary{list-style:none;color:#6c829f}footer summary:after{content:" ↗"}footer details[open]{max-width:370px}footer details p{font-size:11px;line-height:1.65;color:#60748f}footer details a{display:inline-flex;align-items:center;gap:3px;margin-right:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.confirm-dialog{border:1px solid #e6effd;border-radius:23px;padding:29px;max-width:430px;width:calc(100% - 32px);color:var(--navy);box-shadow:0 25px 90px #10234220}.confirm-dialog::backdrop{background:#13243e66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.confirm-dialog form{display:flex;flex-direction:column;gap:14px}.confirm-dialog h2{font-size:25px;letter-spacing:-1px;margin:0}.confirm-dialog p{font-size:12px;line-height:1.65;color:#65748c;margin:0}.confirm-dialog .dialog-course{font-weight:600;color:#2d435f}.dialog-icon{background:#edf5ff;color:var(--blue);border-radius:12px;width:42px;height:42px;display:grid;place-items:center}.close-button{position:absolute;right:15px;top:13px;background:transparent;border-radius:8px;color:#73849d}.confirm-dialog label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}.confirm-dialog input,.confirm-dialog select{padding:10px;border:1px solid #dce6f5;border-radius:9px;background:#fafcff;font-size:13px}.confirm-dialog input:read-only,.confirm-dialog select:disabled{color:#64748b}.primary-button{background:var(--blue);color:#fff;border-radius:10px;padding:12px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:600}@media(min-width:1600px){.dashboard{margin-top:52px;gap:23px;grid-template-columns:minmax(430px,1fr) minmax(230px,.65fr) minmax(620px,1.4fr)}.progress-panel{padding:25px}.portrait img{width:445px;top:-97px}.portrait{min-height:550px}.doodle-rays{left:4px}.doodle-heart{right:5px}.table-scroll{height:382px}.stat{min-height:193px}.stat h3{font-size:13px}.stat-caption{font-size:11px}.panel-title h2{font-size:22px}table{font-size:11px}.provider-name,.cost-cell{font-size:10px}.type-pill{font-size:9px}.overall h3{font-size:16px}.overall p{font-size:11px}}@media(max-width:1250px)and (min-width:901px){.page{padding:25px 22px 20px}.dashboard{grid-template-columns:minmax(320px,.95fr) minmax(80px,.25fr) minmax(470px,1.4fr);gap:10px}.progress-panel{padding:20px 14px 14px}.panel-title h2{font-size:18px}.stat{padding:12px 9px}.stat h3{font-size:10px}.stat-caption{font-size:9px}.stat-value{font-size:36px}.state-row>span{font-size:7px;letter-spacing:.8px}.portrait img{width:290px;top:4px}.portrait-blob{width:120px;height:340px;top:50px}.portrait-note{font-size:17px;bottom:20px;width:170px}.doodle-rays{left:-30px;top:39px;width:33px}.doodle-heart{right:-28px;top:29px;width:27px}.courses-panel{padding:20px 12px 0}.filter-row{gap:5px}.type-tabs button{padding:0 7px}.table-summary{font-size:8px}.overall-top{gap:7px}.target-icon{width:34px}.overall h3{font-size:12px}.overall p{font-size:9px}}@media(max-width:1000px)and (min-width:901px){.dashboard{grid-template-columns:340px 1fr;gap:19px;padding-top:100px}.portrait{position:absolute;width:150px;height:170px;min-height:0;top:-30px;left:85px;overflow:hidden;z-index:1}.portrait img{width:160px;top:0}.portrait-blob,.portrait-note,.doodle-rays,.doodle-heart{display:none}.progress-panel{margin-top:0}.courses-panel{min-width:0}.filter-row .status-filter{display:none}.hero-caption{margin-top:15px}}@media(max-width:900px){.page{padding:25px 22px 22px}.hero .eyebrow{font-size:8px;margin-bottom:18px;letter-spacing:1.7px}h1 span:first-child{font-size:clamp(58px,11vw,98px)}h1 span:last-child{font-size:clamp(64px,12.6vw,112px)}.hero-caption{font-size:11px;margin-top:17px}.dashboard{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:20px}.portrait{grid-column:1/-1;grid-row:1;min-height:260px;width:100%;max-width:310px;justify-self:center;overflow:hidden}.portrait img{width:245px;top:-7px}.portrait-blob{height:240px;width:180px;top:25px}.portrait-note{bottom:8px;background:#f9fbffdd;padding:5px;z-index:1;font-size:19px}.doodle-rays{left:20px;top:54px;width:31px}.doodle-heart{right:25px;top:60px;width:28px}.progress-panel{grid-column:1/-1;grid-row:2;margin-top:0;max-width:650px;width:100%;justify-self:center;padding:23px}.courses-panel{grid-column:1/-1;grid-row:3;width:100%}.stats{gap:13px}.stat{padding:19px;min-height:175px}.stat h3{font-size:14px}.stat-caption{font-size:11px}.stat-value{font-size:44px}.subject-progress{margin:18px 0}.subject-progress strong{font-size:12px}.subject-progress div span{font-size:11px}.requirement-badge{font-size:9px}.state-row>span{font-size:9px}.select-wrap select{font-size:11px;min-height:33px}.overall h3{font-size:16px}.overall p{font-size:11px}.overall-bar{margin-top:15px}.save-note{font-size:10px}.table-scroll{height:420px}table{min-width:590px;font-size:11px}.provider-name,.cost-cell{font-size:10px}.type-pill{font-size:9px}.toolbar{padding-bottom:15px}.search input{font-size:12px}.filter-row select{font-size:10px;max-width:none}.type-tabs button{font-size:11px}.table-summary,.filtered-count{font-size:10px}.portrait img{-webkit-mask-image:linear-gradient(to bottom,black 63%,transparent 83%);mask-image:linear-gradient(to bottom,black 63%,transparent 83%)}footer{margin-top:26px}footer>span:nth-child(2){display:none}}@media(max-width:480px){.page{padding:24px 14px 20px}h1 span:first-child{font-size:17vw}h1 span:last-child{font-size:16.4vw;letter-spacing:-.065em;margin-top:8px}.hero .eyebrow{font-size:6px;letter-spacing:1.5px;margin-bottom:20px}.hero-caption{font-size:9px;gap:4px}.hero-caption svg{width:12px}.dashboard{gap:20px;margin-top:13px}.portrait{min-height:225px;max-width:270px}.portrait img{width:228px;top:-10px}.portrait-blob{width:160px;height:190px}.portrait-note{bottom:1px;font-size:17px}.doodle-rays{left:11px;top:45px}.doodle-heart{right:12px;top:57px}.card{border-radius:20px}.progress-panel{padding:20px 15px 15px}.panel-title h2{font-size:20px}.stats{gap:7px}.stat{padding:13px 10px;min-height:173px;border-radius:13px}.stat h3{font-size:10px;letter-spacing:-.3px}.stat-value{font-size:38px}.stat-caption,.stat-footnote{font-size:8px}.stat-icon{margin-bottom:9px}.state-row{margin-top:18px}.state-row>span{font-size:7px;letter-spacing:.9px}.select-wrap select{font-size:10px}.overall{padding:16px 12px 11px}.overall h3{font-size:13px}.overall p{font-size:9px}.overall-top{gap:8px}.overall-top svg{width:36px}.subject-progress{gap:8px}.subject-progress strong{font-size:11px}.subject-progress div span{font-size:10px}.requirement-badge{font-size:8px}.handwritten{font-size:14px}.save-note{font-size:9px}.courses-panel{padding:20px 12px 0}.course-heading h2{font-size:19px}.course-heading{padding-bottom:16px}.count-badge{font-size:8px}.filter-row{gap:5px;flex-wrap:wrap}.type-tabs{flex:0 0 auto}.type-tabs button{font-size:10px;padding:0 9px}.filter-row select{font-size:9px;flex:1;width:100px}.filter-row .status-filter{max-width:100%;flex-basis:100%;width:100%;min-height:30px}.table-scroll{height:405px}.table-summary{font-size:8px;gap:5px}.summary-dot{margin:0 2px}.search input{font-size:11px}footer{font-size:8px;align-items:flex-start}footer details[open]{max-width:210px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}@media(min-width:1251px){h1 span:first-child{font-size:min(7vw,113px)}h1 span:last-child{font-size:min(9.25vw,149px)}.dashboard{margin-top:35px}.stat{min-height:177px}.table-scroll{height:342px}.progress-panel{padding-top:21px;padding-bottom:16px}.overall{padding-top:16px}.portrait img{top:-90px;width:418px}.portrait{min-height:520px}}@media(max-width:900px){.portrait-note{background:transparent}}@media(max-width:480px){h1 span:last-child{font-size:12.65vw;white-space:nowrap}}.portrait{mix-blend-mode:multiply}.portrait img{mix-blend-mode:normal}.hero{z-index:4}@media(min-width:1251px){.portrait img{top:-55px}.portrait{min-height:555px}}@media(max-width:900px){.portrait img{-webkit-mask-image:linear-gradient(to bottom,black 45%,transparent 66%);mask-image:linear-gradient(to bottom,black 45%,transparent 66%)}}@media(min-width:901px)and (max-width:1250px){.dashboard{grid-template-columns:minmax(320px,.9fr) minmax(460px,1.25fr);gap:20px;padding-top:0;margin-top:22px}.portrait{grid-column:1/-1;grid-row:1;position:relative;left:auto;top:auto;width:290px;height:235px;min-height:235px;justify-self:center;overflow:hidden}.portrait img{width:240px;top:-6px;-webkit-mask-image:linear-gradient(to bottom,black 43%,transparent 66%);mask-image:linear-gradient(to bottom,black 43%,transparent 66%)}.portrait-blob{display:block;width:170px;height:210px;top:10px}.portrait-note{display:block;bottom:8px;font-size:18px}.doodle-rays{display:block;left:16px;top:40px;width:32px}.doodle-heart{display:block;right:22px;top:55px;width:26px}.progress-panel{grid-column:1;grid-row:2;margin-top:0}.courses-panel{grid-column:2;grid-row:2}.filter-row .status-filter{display:block}.hero-caption{margin-top:19px}}@media(min-width:901px)and (min-height:580px){.page{height:100svh;min-height:0;padding:clamp(16px,2.2svh,28px) clamp(18px,2.2vw,36px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(18px,3svh,32px)}h1 span:first-child{font-size:min(7vw,10.5svh,113px)}h1 span:last-child{font-size:min(9.25vw,13.5svh,149px)}.dashboard{width:100%;height:100%;max-height:650px;min-height:0;margin:0 auto;padding:0;align-self:center;align-items:stretch;gap:clamp(10px,1.2vw,23px);grid-template-columns:minmax(290px,.95fr) minmax(105px,.5fr) minmax(420px,1.35fr);grid-template-rows:minmax(0,1fr)}.progress-panel{grid-column:1;grid-row:1;height:100%;min-height:0;margin:0;padding:clamp(14px,2svh,23px) clamp(13px,1.4vw,23px);display:flex;flex-direction:column}.panel-title h2{font-size:clamp(17px,1.35vw,22px)}.state-row{margin:clamp(9px,1.7svh,18px) 0;flex-shrink:0}.stats{flex:1;min-height:120px;max-height:240px}.stat{min-height:0;padding:clamp(10px,1.5svh,18px) clamp(9px,1vw,16px)}.stat-icon{margin-bottom:clamp(5px,1svh,10px)}.stat-value{font-size:clamp(32px,4.5svh,46px)}.stat-caption{margin:5px 0 8px}.subject-progress{flex-shrink:0;margin:clamp(10px,1.8svh,18px) 0}.overall{flex-shrink:0;margin-top:auto;padding:clamp(12px,1.7svh,18px) 13px 10px}.overall-bar{margin-top:clamp(10px,1.7svh,18px)}.handwritten{margin-top:7px}.portrait{position:relative;grid-column:2;grid-row:1;width:100%;max-width:none;height:100%;min-height:0;top:auto;left:auto;justify-self:stretch;overflow:visible}.portrait img{top:-20px;width:auto;height:calc(100% + 20px);max-height:680px;-webkit-mask-image:linear-gradient(to bottom,black 90%,transparent 100%);mask-image:linear-gradient(to bottom,black 90%,transparent 100%)}.portrait-note{display:block;bottom:0;width:180px;font-size:clamp(16px,1.4vw,22px)}.doodle-rays{display:block;top:4%;left:-8px;width:clamp(28px,3vw,45px)}.doodle-heart{display:block;top:10%;right:-4px;width:clamp(25px,2.5vw,35px)}.courses-panel{grid-column:3;grid-row:1;height:100%;min-height:0;display:flex;flex-direction:column;padding:clamp(14px,2svh,22px) clamp(12px,1vw,16px) 0}.course-heading,.toolbar,.table-summary,.filtered-count{flex-shrink:0}.course-heading{padding-bottom:clamp(10px,1.8svh,16px)}.table-scroll{height:auto;min-height:0;flex:1;overscroll-behavior:contain}.table-summary{padding:clamp(10px,1.5svh,17px) 3px}.filter-row .status-filter{display:block}}@media(min-width:901px)and (min-height:580px)and (max-height:700px){.stat-icon{width:26px;height:26px}.stat-icon svg{width:22px;height:22px}.stat h3{font-size:11px;margin-bottom:4px}.stat-caption{font-size:9px}.stat-footnote{font-size:8px}.overall h3{font-size:13px}.overall p{font-size:10px}.target-icon{width:33px;height:33px}.handwritten{font-size:14px}}@media(min-width:901px)and (max-width:1250px)and (min-height:580px){.portrait img{width:calc(100% + 20px);height:auto;max-height:100%;top:50%;transform:translate(-50%,-50%);object-fit:contain}.portrait-note{bottom:14%;font-size:16px}.doodle-rays{top:24%;left:0}.doodle-heart{top:28%;right:0}.hours-col{width:42px}th .sort-idle{display:none}}.strength-summary{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 2px 1px;border-top:1px solid #e7eef8;color:#176ddc;flex-shrink:0}.strength-summary>div{min-width:0;flex:1}.strength-summary h3{margin:0 0 4px;font-size:12px;font-weight:700;color:#253b59}.strength-summary h3 span{font-size:8px;font-weight:500;color:#607ca0;margin-left:4px}.strength-summary p{font-size:9px;line-height:1.4;margin:0;color:#708198}.strength-summary>strong{text-align:right;font-size:25px;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.strength-summary>strong small{display:block;font-size:8px;font-weight:550;letter-spacing:.1px;margin-top:5px;color:#667e9e}.type-pill.strength{background:#e7edfa;color:#264f91}.nsca-credit{display:flex;flex-direction:column;gap:1px;color:#1761bb;font-size:8px;line-height:1.4;margin-top:3px}.nsca-credit>span:last-child{font-size:7px;color:#697f9d}.strength-context{font-size:9px;line-height:1.5;color:#617690;margin:0 3px 10px;flex-shrink:0}.strength-context a{display:inline-flex;align-items:center;gap:3px;margin-left:4px}.table-summary>span{min-width:0}@media(min-width:901px)and (min-height:580px){.strength-summary{margin-top:clamp(8px,1.4svh,14px);padding-top:clamp(8px,1.4svh,14px)}.filter-row{flex-wrap:wrap;gap:6px}.filter-row select{flex:1 1 90px}.filter-row .status-filter{flex-basis:88px}}@media(min-width:901px)and (max-height:700px)and (min-height:580px){.strength-summary{gap:7px}.strength-summary p{font-size:8px}.strength-summary h3{font-size:11px}.strength-summary>strong{font-size:22px}.stats{min-height:115px}.subject-progress{margin:9px 0}.state-row{margin:8px 0}.overall{padding:10px 11px 8px}.handwritten{margin-top:4px}}@media(max-width:480px){.filter-row{flex-wrap:wrap}.type-tabs{flex-basis:100%}.type-tabs button{flex:1}.strength-summary{padding-top:13px;padding-bottom:3px}}@media(min-width:901px)and (max-height:620px)and (min-height:580px){.handwritten{display:none}}
