@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap');
:root{--ink:#1e1b2e;--muted:#5b526b;--edge-light:#fff;--edge-dark:#211c2b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--retro-bg,#d9c8f1);color:var(--ink);font-family:Verdana,sans-serif;background-image:linear-gradient(#ffffff24 1px,transparent 1px),linear-gradient(90deg,#ffffff24 1px,transparent 1px);background-size:32px 32px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:10px;top:10px;z-index:100;padding:10px;background:#fff;color:#000}.topbar{min-height:58px;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;background:var(--retro-title,#513477);border-bottom:3px solid var(--edge-dark)}.logo{color:var(--retro-title-ink,#fff);font:700 17px 'Space Mono',monospace;text-decoration:none}.logo span{color:var(--retro-accent,#ffbbd9)}.vibe-button,.course-button{border:3px solid;border-color:var(--edge-light) var(--edge-dark) var(--edge-dark) var(--edge-light);border-radius:0;box-shadow:3px 3px #1e1b2e;background:var(--retro-panel,#cbb5ef);color:var(--ink);font:700 10px/1.3 'Space Mono',monospace;cursor:pointer}.vibe-button{min-height:38px;padding:8px 12px}.retro-menu{padding:8px 16px;display:flex;gap:16px;align-items:center;background:var(--retro-tint,#e1cef6);border-bottom:2px solid var(--edge-dark);font:9px 'Space Mono',monospace}.retro-menu a{color:var(--ink)}.retro-menu span{margin-left:auto;color:var(--muted)}.course-desktop{width:min(calc(100% - 30px),980px);margin:36px auto}.course-window{background:var(--retro-paper,#f3e7ff);border:3px solid;border-color:var(--edge-light) var(--edge-dark) var(--edge-dark) var(--edge-light);box-shadow:10px 10px #0004}.window-titlebar{padding:8px 10px;display:flex;justify-content:space-between;background:var(--retro-title,#513477);color:var(--retro-title-ink,#fff);font:700 10px 'Space Mono',monospace}.window-toolbar{padding:7px 11px;display:flex;gap:20px;border-bottom:1px solid var(--edge-dark);font:8px 'Space Mono',monospace}.course-content{padding:clamp(24px,5vw,56px)}.course-heading{display:grid;grid-template-columns:150px 1fr;gap:clamp(22px,5vw,46px);align-items:center}.course-stamp{aspect-ratio:1;padding:14px;display:flex;flex-direction:column;justify-content:center;text-align:center;background:var(--retro-panel,#cbb5ef);border:7px double var(--retro-title,#513477);box-shadow:5px 5px #0003;transform:rotate(-2deg);font:8px/1.4 'Space Mono',monospace}.course-stamp strong{margin:10px 0;font:900 27px/1 Georgia,serif}.course-kicker,.assignment-number{margin:0 0 8px;color:var(--muted);font:700 9px/1.4 'Space Mono',monospace;letter-spacing:.8px}.assignment-number{display:inline-block;padding:5px 7px;background:#102515;color:#a9f197}.course-heading h1{margin:8px 0 12px;font:900 clamp(32px,6vw,56px)/.98 Georgia,serif;letter-spacing:-2px}.course-notes{margin:0;color:var(--muted);font:13px/1.65 Verdana,sans-serif}.course-meta{display:flex;flex-wrap:wrap;gap:6px;margin:30px 0 18px}.course-meta span{padding:6px 8px;background:var(--retro-panel,#cbb5ef);border:1px solid var(--edge-dark);font:700 8px 'Space Mono',monospace}.assignment-terminal{border:3px solid var(--edge-dark);box-shadow:6px 6px #0003}.terminal-title{padding:7px 9px;display:flex;justify-content:space-between;background:#102515;color:#a9f197;font:700 9px 'Space Mono',monospace}.terminal-body{padding:clamp(20px,4vw,36px);background:var(--retro-tint,#e1cef6)}.prompt-line{margin:0 0 18px;font:700 10px/1.5 'Space Mono',monospace}.assignment-steps{margin:0;padding-left:30px}.assignment-steps li{margin:0 0 11px;padding-left:8px;font:400 15px/1.55 'Space Mono',monospace}.assignment-steps li::marker{font-weight:700}.bonus-box,.safety-box{margin-top:20px;padding:15px;border:2px dashed var(--edge-dark)}.bonus-box{background:#fff2ae}.safety-box{background:var(--retro-paper,#f3e7ff)}.bonus-box strong,.safety-box strong{font:700 9px 'Space Mono',monospace;letter-spacing:1px}.bonus-box p,.safety-box p{margin:7px 0 0;font:11px/1.55 Verdana,sans-serif}.course-actions{display:grid;gap:10px;margin-top:25px}.course-button{width:100%;min-height:54px;padding:14px 16px}.course-button.primary{background:var(--retro-accent,#ffbbd9)}.course-button.complete{background:#8ed6a0}.course-button.secondary{background:var(--retro-paper,#f3e7ff)}.course-button:focus-visible,a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.credit-award{margin-top:27px;padding:22px;display:grid;grid-template-columns:70px 1fr;gap:20px;align-items:center;background:#102515;color:#fff;border:7px double #a9f197;box-shadow:6px 6px #0004}.credit-award[hidden]{display:none}.credit-star{display:grid;place-items:center;width:66px;aspect-ratio:1;border-radius:50%;background:#a9f197;color:#102515;font:40px Georgia}.credit-award p{margin:0 0 6px;color:#a9f197;font:9px/1.5 'Space Mono',monospace}.credit-award h2{margin:0 0 8px;font:900 28px/1 Georgia,serif}.credit-award strong{font:700 10px/1.5 'Space Mono',monospace}.honor-note{text-align:center;color:var(--muted);font:8px/1.5 'Space Mono',monospace}.window-status{padding:8px 10px;display:flex;justify-content:space-between;gap:12px;background:var(--retro-panel,#cbb5ef);border-top:1px solid var(--edge-dark);font:7px 'Space Mono',monospace}.course-back{text-align:center;font:10px 'Space Mono',monospace}.course-back a{color:var(--ink)}.course-footer{padding:25px;text-align:center;color:var(--muted);font:9px/1.8 'Space Mono',monospace}.course-footer a{color:inherit}@media(max-width:640px){.retro-menu{overflow-x:auto}.retro-menu span{display:none}.course-desktop{width:calc(100% - 18px);margin:18px auto}.course-window{box-shadow:5px 5px #0004}.window-toolbar{overflow-x:auto}.course-content{padding:24px 14px}.course-heading{grid-template-columns:1fr}.course-stamp{width:125px;justify-self:center}.course-heading h1{font-size:36px}.course-meta span{flex:1 1 calc(50% - 6px)}.terminal-body{padding:22px 15px}.assignment-steps{padding-left:26px}.assignment-steps li{margin-bottom:13px;padding-left:5px;font-size:14px;line-height:1.55}.credit-award{grid-template-columns:1fr;text-align:center}.credit-star{margin:auto}.window-status span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.course-meta span{padding:7px 9px;font-size:10px;line-height:1.35}.bonus-box,.safety-box{padding:18px}.bonus-box strong,.safety-box strong{font-size:11px;line-height:1.4}.bonus-box p,.safety-box p{margin-top:8px;font-size:14px;line-height:1.55}

/* Readable type floors for course UI and field assignments. */
.vibe-button,.course-button{font-size:14px}.retro-menu{font-size:14px}.window-titlebar,.window-toolbar,.course-stamp,.course-kicker,.assignment-number,.course-meta span,.terminal-title,.prompt-line,.bonus-box strong,.safety-box strong,.credit-award p,.credit-award strong,.honor-note,.window-status,.course-back,.course-footer{font-size:12px}.course-notes,.bonus-box p,.safety-box p{font-size:16px}.assignment-steps li{font-size:16px}
@media(max-width:640px){.assignment-steps li{font-size:16px}.window-status{line-height:1.45}}
