:root{--latin-font:Inter;color-scheme:light;--page:#eef2f9;--panel:#ffffff;--ink:#11141c;--muted:#626d7d;--line:#dbe3ef;--blue:#357ff8;--blue-dark:#266ce5;--blue-soft:#edf3ff;--card:#f6f8fc;--danger:#b8464d;--danger-soft:#fff0f0;--shadow:0 28px 80px rgba(17,20,28,.11)}
:root[lang="en"]{--latin-font:"Google Sans",Inter}
:root[data-theme="dark"]{color-scheme:dark;--page:#11141c;--panel:#1b202b;--ink:#fcf9f0;--muted:#afb9c9;--line:#354155;--blue:#357ff8;--blue-dark:#266ce5;--blue-soft:#1c3156;--card:#252d3a;--danger:#f09ba0;--danger-soft:#422c34;--shadow:0 28px 80px rgba(0,0,0,.3)}
*{box-sizing:border-box}html,body{margin:0}body{min-height:100dvh;display:grid;place-items:center;background:var(--page);color:var(--ink);font-family:var(--latin-font),"Noto Serif Bengali",sans-serif;transition:background .25s,color .25s}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}[hidden]{display:none!important}
.page h1[tabindex="-1"]:focus{outline:none}
.secondary-button{width:100%;height:50px;margin-top:10px;border:1.5px solid var(--blue);border-radius:999px;background:transparent;color:var(--blue);font-size:12px;font-weight:700;transition:background .18s,color .18s}.secondary-button:hover{background:var(--blue-soft)}
.zero-page{display:flex;flex-direction:column;justify-content:center;padding-bottom:20px}.zero-page h1{font-size:32px;line-height:1.45}.zero-page h1 span{color:var(--blue)}.zero-page .description{font-size:13px;line-height:1.9;margin-top:17px}.zero-message{margin-top:34px;padding:20px;border-radius:13px;background:var(--blue-soft)}.zero-message strong{display:block;font-size:14px;line-height:1.65}.zero-message p{font-size:12px;line-height:1.9;margin:10px 0 0}.zero-days{display:block;margin-top:25px;color:var(--blue);font-weight:700;font-size:13px;line-height:1.7}.zero-note{font-size:10px;line-height:1.7;color:var(--muted);margin-top:12px}
.app{width:min(430px,calc(100% - 32px));height:min(810px,calc(100dvh - 36px));min-height:560px;background:var(--panel);border:1px solid rgba(255,255,255,.65);border-radius:29px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;position:relative}.app-header{height:83px;flex:none;display:flex;align-items:center;gap:16px;padding:0 27px}.brand{font:800 18px/1 var(--latin-font),sans-serif;letter-spacing:-.9px;white-space:nowrap}.brand span:first-child{font-weight:500}.brand-dot{color:var(--blue)}.icon-button{border:0;background:transparent;color:var(--ink);padding:5px;display:grid;place-items:center;min-width:29px;min-height:32px}.icon-button svg{width:20px;height:20px}.back-button{margin-left:-6px}.theme-button{margin-left:auto}.progress{height:4px;background:var(--line);border-radius:10px;overflow:hidden;flex:1;max-width:180px}.progress span{display:block;height:100%;width:0;background:var(--blue);border-radius:10px;transition:width .3s ease}
.view{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.page{min-height:100%;padding:0 31px;animation:page-in .24s ease-out both}.question-page{display:flex;flex-direction:column}.question-inner{padding-top:clamp(40px,10vh,92px)}.eyebrow{font:700 11px/1.5 var(--latin-font),"Noto Serif Bengali",sans-serif;letter-spacing:normal;text-transform:none;color:var(--blue);margin:0 0 20px}.page h1{font-size:clamp(24px,5.5vw,29px);line-height:1.48;letter-spacing:normal;font-weight:700;margin:0}.description{font-size:12px;line-height:1.9;color:var(--muted);margin:14px 0 0}.options{display:grid;gap:10px;margin-top:32px}.option{width:100%;min-height:61px;display:flex;align-items:center;text-align:left;gap:13px;background:var(--panel);border:1px solid var(--line);border-radius:12px;color:var(--ink);padding:12px 15px;transition:border-color .18s,background .18s,transform .18s}.option.selected{border-color:var(--blue);background:var(--blue-soft)}.option-indicator{height:19px;width:19px;border:1.5px solid #a9b8c4;border-radius:50%;flex:none;display:grid;place-items:center}.option.selected .option-indicator{border:6px solid var(--blue);background:var(--panel)}.option strong{font-size:13px;line-height:1.5;font-weight:600}.option small{display:block;font-size:10px;color:var(--muted);margin-top:3px;line-height:1.6}.option-text{flex:1}.tiny-note{display:flex;gap:9px;align-items:start;background:var(--card);border-radius:9px;color:var(--muted);font-size:11px;line-height:1.7;padding:11px 13px;margin-top:22px}.tiny-note svg{width:15px;height:15px;color:var(--blue);flex:none;margin-top:1px}
.gpa-control{display:flex;align-items:center;gap:12px;border-bottom:2px solid var(--blue);margin-top:42px;padding-bottom:7px}.gpa-control input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--blue);text-align:center;font:700 49px/1.3 var(--latin-font),sans-serif;letter-spacing:-2px}.gpa-control input::placeholder{color:#aabac7}.gpa-control .gpa-suffix{font:500 17px var(--latin-font);color:var(--muted);white-space:nowrap}.input-hint{text-align:center;color:var(--muted);font-size:11px;line-height:1.8;margin:17px 0 0}.short-rule{color:var(--blue);font-weight:600}.text-answer{width:100%;min-height:180px;resize:vertical;margin-top:29px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font-size:13px;line-height:1.8;outline:0}.text-answer:focus,.contact-answer:focus{border-color:var(--blue)}.contact-answer{width:100%;height:61px;margin-top:34px;padding:0 17px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink);font:500 16px var(--latin-font),sans-serif;outline:0}.contact-answer::placeholder,.text-answer::placeholder{color:#9aabb9}
.app-footer{flex:none;padding:14px 31px 24px;background:var(--panel)}.primary-button{width:100%;height:50px;border:0;border-radius:999px;background:var(--blue);color:white;display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;font-weight:700;box-shadow:0 6px 13px rgba(8,121,176,.13);transition:background .18s,transform .18s}.primary-button:hover{background:var(--blue-dark);transform:translateY(-1px)}.primary-button svg{width:17px;height:17px}.footer-caption{display:block;text-align:center;color:var(--muted);font:500 10px var(--latin-font),"Noto Serif Bengali",sans-serif;margin-top:13px}.field-error{color:var(--danger);font-size:11px;line-height:1.6;margin:0 0 11px}
.welcome-page{display:flex;flex-direction:column;justify-content:center;padding-bottom:13px}.welcome-page h1{font-size:34px;line-height:1.37}.welcome-page h1 span{color:var(--blue)}.welcome-page .description{font-size:13px;line-height:1.95;margin-top:19px}.notice-bubble{margin-top:40px;padding:16px 17px;background:var(--card);border-left:3px solid var(--blue);border-radius:7px 12px 12px 7px;font-size:11px;line-height:1.85;color:var(--muted)}.notice-bubble strong{color:var(--ink)}.notice-bubble .notice-date{display:block;color:var(--blue);font-weight:700;margin-top:6px}
.welcome-page h1{font-size:clamp(36px,8vw,43px);line-height:1.38}.intro-dialog{width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;border:1px solid var(--line);border-radius:22px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);padding:29px 27px 27px}.intro-dialog::backdrop{background:rgba(17,29,41,.54);backdrop-filter:blur(5px)}.intro-dialog .eyebrow{margin-bottom:11px}.intro-dialog h2{font-size:24px;line-height:1.5;margin:0}.intro-dialog p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted)}.intro-dialog #introCopy{margin:16px 0 0}.intro-dialog .dialog-date{margin:17px 0 24px;padding:12px 14px;border-radius:10px;background:var(--blue-soft);color:var(--blue)!important;font-weight:700}.intro-dialog .primary-button{font-size:13px}
.intro-dialog:focus{outline:none}
.intro-dialog h2{padding-right:35px}
.intro-dialog #introCopy a{color:var(--blue);font-weight:700;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:3px}
.intro-dialog #introCopy a:hover{color:var(--blue-dark)}
.intro-dialog #introCopy a:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}
.intro-close-button{position:absolute;top:17px;right:17px;width:34px;height:34px;border-radius:50%;color:var(--muted)}
.intro-close-button:hover{background:var(--card);color:var(--ink)}
.ineligible-page{display:flex;flex-direction:column;justify-content:center}.sad-face{width:58px;height:58px;border-radius:50%;background:var(--danger-soft);color:var(--danger);display:grid;place-items:center;margin-bottom:30px}.sad-face svg{width:28px;height:28px}.ineligible-page h1{font-size:29px}.reason-list{margin:24px 0 0;padding:0;list-style:none;display:grid;gap:10px}.reason-list li{padding:12px 14px;background:var(--danger-soft);border-radius:9px;color:var(--danger);font-size:12px;line-height:1.7}.ineligible-page .description{font-size:12px}
.result-page{padding-top:25px;padding-bottom:32px}.result-page h1{font-size:27px}.result-intro{font-size:12px;line-height:1.8;color:var(--muted);margin:9px 0 23px}.deduction-card{padding:20px 22px;background:var(--blue);color:white;border-radius:16px}.deduction-card small{font-size:11px;opacity:.86}.deduction-card .big-number{display:flex;align-items:baseline;gap:9px;margin-top:9px}.deduction-card strong{font:700 55px/1 var(--latin-font)}.deduction-card span{font-size:13px}.deduction-card p{font-size:10px;line-height:1.7;opacity:.85;margin:10px 0 0}.section-label{font-size:13px;font-weight:700;margin:25px 0 9px}.breakdown{border-top:1px solid var(--line)}.breakdown-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding:11px 0;font-size:11px;line-height:1.7}.breakdown-row strong{font:700 13px var(--latin-font);white-space:nowrap}.breakdown-row small{display:block;color:var(--muted);font-size:10px}.breakdown-row.total{font-weight:700;color:var(--blue)}.deduction-note{font-size:10px;color:var(--muted);line-height:1.7;margin:9px 0 0}.target-intro{font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 13px}.target-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.target-box{padding:15px;background:var(--card);border-radius:12px}.target-box small{display:block;color:var(--muted);font-size:10px;line-height:1.5}.target-box strong{display:block;color:var(--blue);font:700 21px var(--latin-font);margin-top:8px}.target-caution{font-size:10px;line-height:1.75;color:var(--muted);margin:12px 0 0}.message-box{background:var(--blue-soft);border-radius:13px;padding:16px;margin-top:21px}.message-box strong{font-size:12px}.message-box p{font-size:11px;line-height:1.85;margin:6px 0 0}.days-left{display:block;margin-top:11px;color:var(--blue);font-size:11px;font-weight:700}.preview-card{background:var(--card);border-radius:12px;padding:16px;margin-top:28px}.preview-card small{display:block;color:var(--muted);font-size:10px;margin-bottom:7px}.preview-card p{font-size:12px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 17px}.preview-card p:last-child{margin-bottom:0}.preview-warning{font-size:11px;line-height:1.8;color:var(--muted);margin-top:20px}
.result-stage{display:flex;flex-direction:column;justify-content:center;padding-top:28px;padding-bottom:36px}.result-stage .description{font-size:13px;line-height:1.85}.result-stage .deduction-card{margin-top:32px;padding:25px 24px}.result-stage .deduction-card strong{font-size:62px}.result-footnote{color:var(--muted);font-size:11px;line-height:1.7;margin:18px 0 0}.zero-check{display:flex;align-items:center;gap:15px;margin-top:37px;padding:23px 25px;background:var(--blue-soft);border-radius:16px;color:var(--blue)}.zero-check strong{font:700 44px/1 var(--latin-font),sans-serif}.zero-check span{font-size:13px;font-weight:700}.result-stage .breakdown{margin-top:29px}.result-stage .breakdown-row{padding:17px 0;font-size:12px}.result-stage .breakdown-row strong{font-size:15px}.result-stage .breakdown-row small{font-size:11px;margin-top:3px}.result-stage .deduction-note{font-size:11px;line-height:1.8;margin-top:16px}.target-stack{display:grid;gap:12px;margin-top:30px}.target-stack .target-box{padding:18px 20px;border:1px solid var(--line)}.target-stack .target-box strong{font-size:30px;margin-top:7px}.target-stack .target-box span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.result-stage .target-caution{font-size:11px;line-height:1.8;margin-top:16px}.motivation-page h1{font-size:27px}.countdown{margin-top:28px;background:var(--blue-soft);border:1px solid var(--line);border-radius:16px;padding:18px 16px 15px}.countdown-label{font-size:11px;font-weight:700;color:var(--blue);margin:0 0 15px}.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.countdown-unit{display:flex;flex-direction:column;align-items:center;gap:5px;background:var(--panel);border-radius:10px;padding:13px 3px 10px;min-width:0}.countdown-unit strong{font:700 clamp(20px,5vw,27px)/1 var(--latin-font),sans-serif;color:var(--ink);font-variant-numeric:tabular-nums}.countdown-unit span{font-size:10px;color:var(--muted)}.countdown-unit.seconds strong{color:var(--blue)}.countdown-date{font-size:10px;line-height:1.6;color:var(--muted);text-align:center;margin:14px 0 0}.countdown-note{font-size:10px;line-height:1.7;color:var(--muted);margin:10px 0 0}
.bn-number,.deduction-card .big-number strong,.breakdown-row strong,.target-stack .target-box strong,.countdown-unit strong{font-family:"Noto Serif Bengali",serif;font-variant-numeric:normal}
.countdown-unit.seconds strong{color:var(--ink)}
.countdown-note{text-align:center}
.app{border-color:var(--line)}
.app-header{display:grid;grid-template-columns:88px minmax(0,1fr) 88px;gap:0}
.back-button{margin-left:0;justify-self:start}
.back-button.is-placeholder{visibility:hidden}
.theme-button{margin-left:0;justify-self:end}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.language-button{min-width:42px;min-height:32px;padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap}
.language-button:hover{border-color:var(--blue);color:var(--blue)}
:root[lang="en"] .bn-number,:root[lang="en"] .deduction-card .big-number strong,:root[lang="en"] .breakdown-row strong,:root[lang="en"] .target-stack .target-box strong,:root[lang="en"] .countdown-unit strong{font-family:var(--latin-font),sans-serif;font-variant-numeric:tabular-nums}
:root[lang="en"] .page h1{line-height:1.35}
.progress{height:4px;max-width:none;flex:none;align-self:stretch;margin:0 27px 8px}
.brand{width:clamp(72px,19vw,86px);height:auto;flex:none;line-height:0;letter-spacing:normal}
.brand{justify-self:center;transform:translateY(4px)}
.brand-logo{display:block;width:100%;height:auto;aspect-ratio:573.16 / 360.38;object-fit:contain}
.brand-logo-dark{display:none}
:root[data-theme="dark"] .brand-logo-light{display:none}
:root[data-theme="dark"] .brand-logo-dark{display:block}
.primary-button{background:var(--blue-dark);box-shadow:0 6px 13px rgba(53,127,248,.18)}
.primary-button:hover{background:var(--blue)}
.secondary-button{color:var(--blue-dark)}
.option-indicator{border-color:var(--muted)}
.gpa-control input::placeholder,.contact-answer::placeholder,.text-answer::placeholder{color:var(--muted);opacity:.8}
.intro-dialog::backdrop{background:rgba(17,20,28,.58)}
@keyframes page-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){body{display:block}.app{width:100%;height:100dvh;min-height:0;border:0;border-radius:0;box-shadow:none}.app-header{padding:0 25px}.page{padding-left:27px;padding-right:27px}.app-footer{padding-left:27px;padding-right:27px;padding-bottom:max(19px,env(safe-area-inset-bottom))}}
@media(max-width:600px){.progress{margin-left:25px;margin-right:25px}}
@media(max-height:690px){.app-header{height:68px}.question-inner{padding-top:35px}.options{margin-top:22px;gap:8px}.option{min-height:54px}.gpa-control{margin-top:29px}.welcome-page h1{font-size:29px}.notice-bubble{margin-top:22px}.app-footer{padding-bottom:15px}}
@media(max-height:690px){.brand{width:70px}}
@media(max-height:600px){.question-inner{padding-top:20px}.question-page .eyebrow{margin-bottom:12px}.question-page h1{font-size:22px;line-height:1.35}.question-page .description{margin-top:9px;line-height:1.6}.options{margin-top:16px;gap:6px}.option{min-height:47px;padding:8px 12px}.tiny-note{margin-top:12px;padding:8px 10px}.app-footer{padding-top:9px;padding-bottom:10px}.footer-caption{margin-top:7px}}
@media(max-height:690px){.result-stage{padding-top:18px;padding-bottom:20px}.result-stage .eyebrow{margin-bottom:12px}.result-stage h1{font-size:24px;line-height:1.35}.result-stage .description{margin-top:9px;font-size:12px;line-height:1.7}.result-stage .deduction-card,.result-stage .breakdown,.target-stack,.countdown{margin-top:20px}.result-stage .breakdown-row{padding:12px 0}.target-stack .target-box{padding:13px 16px}.target-stack .target-box strong{font-size:26px}.countdown{padding:12px}.countdown-label{margin-bottom:9px}.countdown-unit{padding:10px 2px 7px}.countdown-date{margin-top:8px}}
@media(max-height:600px){.result-stage{padding-top:10px;padding-bottom:12px}.result-stage h1{font-size:21px}.result-stage .description{font-size:11px}.result-stage .deduction-card,.result-stage .breakdown,.target-stack,.countdown{margin-top:14px}.result-stage .breakdown-row{padding:9px 0}.countdown-unit strong{font-size:20px}.countdown-note{margin-top:7px}.motivation-page .eyebrow{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Keep supporting copy readable, including on phones with smaller viewports. */
.eyebrow{font-size:12px}
.description,.welcome-page .description,.question-page .description,.zero-page .description,.result-stage .description{font-size:14px}
.option strong{font-size:15px}
.option small,.tiny-note{font-size:12px}
.primary-button,.secondary-button{font-size:14px}
.field-error,.footer-caption{font-size:12px}
.text-answer{font-size:16px;line-height:1.65}
.ineligible-page .description,.reason-list li{font-size:14px}
.result-footnote,.result-stage .target-caution,.preview-warning{font-size:13px}
.result-stage .breakdown-row{font-size:13px}
.result-stage .breakdown-row small,.target-stack .target-box small,.preview-card small{font-size:12px}
.preview-card p{font-size:14px}
.countdown-label,.countdown-note,.countdown-date{font-size:12px}
.countdown-unit span{font-size:11px}
.intro-dialog p:not(.eyebrow){font-size:14px}
.intro-dialog .primary-button{font-size:14px}

/* Home screen artwork */
.ask-fields{display:grid;gap:18px;margin-top:26px}
.ask-field{display:grid;gap:5px}
.ask-fields label{font-size:14px;font-weight:700;color:var(--ink)}
.ask-fields .text-answer{min-height:165px;margin:0}
.ask-fields .contact-answer{margin:0}
@media(max-height:600px){.ask-fields{margin-top:18px}.ask-fields .text-answer{min-height:130px}}
.welcome-footer #continueButton{width:min(220px,75%);margin-inline:auto;background:#11141c;box-shadow:0 8px 18px rgba(17,20,28,.18)}
.welcome-footer #continueButton:hover{background:#272d39}
:root[data-theme="dark"] .welcome-footer #continueButton{background:#fcf9f0;color:#11141c;box-shadow:0 8px 18px rgba(0,0,0,.28)}
:root[data-theme="dark"] .welcome-footer #continueButton:hover{background:#e9e6dd}
.welcome-page{position:relative;display:block;height:100%;min-height:100%;padding:0;overflow:hidden;isolation:isolate}
.welcome-copy{position:relative;z-index:2;width:min(calc(100% - 44px),370px);margin:0 auto;padding-top:clamp(20px,4vh,34px);text-align:center}
.welcome-page .eyebrow{margin:0 0 13px;font-size:11px}
.welcome-page h1{color:var(--ink);font-size:clamp(32px,9vw,42px);line-height:1.3;white-space:nowrap}
.welcome-slider{height:86px;margin-top:17px;overflow:hidden}
.welcome-slider-track{animation:welcome-slide 12s ease-in-out infinite}
.welcome-slide{height:86px;display:flex;align-items:center;justify-content:center;margin:0;font-size:18px;font-weight:600;line-height:1.45;color:var(--muted)}
.welcome-shape{position:absolute;z-index:0;top:42%;left:0;display:block;width:100%;height:auto;pointer-events:none}
.welcome-shape-desktop{display:none}
.welcome-visual{position:absolute;z-index:1;top:36%;left:50%;width:min(74%,320px);aspect-ratio:1334 / 1179;transform:translateX(-50%);pointer-events:none}
.calculator-float{position:relative;width:100%;height:100%;animation:calculator-float 3.5s ease-in-out infinite}
.welcome-calculator{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 19px rgba(17,20,28,.23))}
:root[data-theme="dark"] .welcome-calculator{filter:drop-shadow(0 20px 23px rgba(0,0,0,.42))}
@keyframes welcome-slide{0%,19%{transform:translateY(0)}28%,52%{transform:translateY(-25%)}61%,85%{transform:translateY(-50%)}94%,100%{transform:translateY(-75%)}}
@keyframes calculator-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-height:700px){.welcome-copy{padding-top:20px}.welcome-page h1{font-size:clamp(32px,8.5vw,37px)}.welcome-shape{top:44%}.welcome-visual{top:39%;width:min(70%,290px)}}
@media(max-height:600px){.welcome-copy{padding-top:14px}.welcome-page .eyebrow{margin-bottom:8px}.welcome-page h1{font-size:clamp(30px,8vw,34px)}.welcome-slider{height:74px;margin-top:10px}.welcome-slide{height:74px;font-size:16px}.welcome-shape{top:43%}.welcome-visual{top:37%;width:min(58%,230px)}}
@media(prefers-reduced-motion:reduce){.welcome-slider-track,.calculator-float{animation:none!important}.welcome-slide:not(:first-child){display:none}}

/* Tablet and desktop use the same content in a layout sized for the screen. */
@media (min-width:601px){
  body{padding:24px;background:radial-gradient(circle at 12% 18%,var(--blue-soft),transparent 33%),var(--page)}
  .app{width:min(1180px,100%);height:min(900px,calc(100dvh - 48px));min-height:520px;border-radius:26px}
  .app-header{height:88px;padding:0 clamp(32px,5vw,66px)}
  .brand{width:92px}
  .progress{margin:0 clamp(32px,5vw,66px) 8px}
  .page{padding-left:clamp(42px,7vw,96px);padding-right:clamp(42px,7vw,96px)}
  .app-footer{padding:18px clamp(42px,7vw,96px) 30px}
  .app-footer .primary-button{width:min(280px,100%);margin-left:auto;height:54px}
  .app-footer .field-error{max-width:530px;margin-left:auto;text-align:right}
  .app-footer .footer-caption{max-width:530px;margin-left:auto;text-align:right}
  .question-inner{max-width:720px;margin:0 auto;padding-top:clamp(52px,9vh,94px);padding-bottom:60px}
  .question-page h1{font-size:clamp(29px,3.5vw,38px);line-height:1.4}
  .question-page .description{font-size:18px;line-height:1.7}
  .eyebrow{font-size:17px}
  .welcome-page .eyebrow{font-size:16px}
  .language-button{min-width:52px;min-height:36px;font-size:14px}
  .primary-button,.secondary-button{font-size:16px}
  .field-error,.footer-caption{font-size:14px}
  .question-answer{max-width:530px}
  .options{margin-top:32px;gap:12px}
  .option{min-height:68px;padding:15px 20px}
  .option strong{font-size:16px}
  .option small,.tiny-note{font-size:15px}
  .gpa-control{margin-top:36px}
  .gpa-control input{font-size:60px}
  .gpa-control .gpa-suffix{font-size:20px}
  .result-stage,.ineligible-page{width:min(100%,780px);margin-inline:auto}
  .result-stage h1,.ineligible-page h1{font-size:clamp(30px,3.6vw,42px)}
  .result-stage .description,.ineligible-page .description{font-size:17px}
  .result-footnote,.result-stage .target-caution,.countdown-note,.countdown-date{font-size:16px}
  .result-stage .breakdown-row,.reason-list li{font-size:16px}
  .result-stage .breakdown-row small,.target-stack .target-box small{font-size:15px}
  .result-stage .breakdown-row strong{font-size:18px}
  .target-stack .target-box span{font-size:14px}
  .deduction-card span{font-size:17px}
  .countdown-label{font-size:15px}
  .countdown-unit span{font-size:14px}
  .countdown-unit strong{font-size:32px}
  .result-stage .deduction-card{max-width:540px}
  .result-stage .breakdown{max-width:700px}
  .target-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .countdown{max-width:680px}
  .intro-dialog{width:min(520px,calc(100vw - 48px));padding:36px}
  .intro-dialog h2{font-size:28px}
  .intro-dialog p:not(.eyebrow){font-size:17px}
}

@media (min-width:601px) and (max-width:899px){
  .welcome-copy{width:min(80%,580px);max-width:none}
  .welcome-page h1{font-size:clamp(40px,6vw,52px)}
  .welcome-slider{height:96px}
  .welcome-slide{height:96px;font-size:20px}
  .welcome-visual{top:42%;width:min(53%,390px)}
  .welcome-shape{top:46%}
  .welcome-footer #continueButton{margin-inline:auto}
}

@media (min-width:900px){
  .app-header,.view,.app-footer{position:relative;z-index:1}
  .app.is-welcome .welcome-shape-desktop{position:absolute;z-index:0;top:0;left:62%;display:block;width:auto;height:100%;pointer-events:none}
  .app.is-welcome .app-footer{background:transparent}
  .welcome-page{display:grid;grid-template-columns:52% 48%;align-items:center;padding:0 clamp(42px,7vw,96px)}
  .welcome-copy{width:100%;max-width:530px;margin:0;padding:0;text-align:left;align-self:center;transform:translateY(-20px)}
  .welcome-page .eyebrow{font-size:17px;letter-spacing:.035em;margin-bottom:20px}
  .welcome-page h1{font-size:clamp(46px,5.1vw,68px);line-height:1.2;white-space:normal}
  .welcome-slider{height:112px;margin-top:22px}
  .welcome-slide{height:112px;justify-content:flex-start;text-align:left;font-size:clamp(19px,2vw,25px);line-height:1.5}
  .welcome-shape{display:none}
  .welcome-visual{top:50%;left:76%;width:min(39%,440px);transform:translate(-50%,-50%)}
  .welcome-footer #continueButton{width:240px;margin-left:0;margin-right:auto;height:56px}
  .question-inner{width:100%;max-width:1000px;min-height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);align-items:center;gap:clamp(48px,7vw,110px);padding:42px 0 64px}
  .question-prompt{align-self:center}
  .question-answer{width:100%;max-width:none}
  .question-answer .options,.question-answer .gpa-control{margin-top:0}
  .question-page h1{font-size:clamp(32px,3.2vw,42px)}
  .question-page .description{margin-top:20px}
  .app-footer .primary-button{width:280px}
}

@media (min-width:900px) and (max-height:700px){
  .welcome-copy{transform:none}
  .welcome-page h1{font-size:clamp(42px,4.5vw,58px)}
  .welcome-visual{width:min(34%,350px)}
  .question-inner{padding-block:26px 36px}
  .option{min-height:58px;padding-block:10px}
  .result-stage{padding-top:18px;padding-bottom:20px}
}
