.student-companion{color:#111;border-block:1px solid #aaa;grid-template-columns:minmax(300px,.9fr) minmax(0,1fr);align-items:center;gap:48px;margin:36px 0 48px;padding:28px 0;display:grid}.companion-stage{background:#d8dad8;min-width:0;position:relative}.companion-stage-label{color:#3b4243;z-index:1;justify-content:space-between;align-items:center;gap:12px;font:500 12px/1.5 Roboto Mono,monospace;display:flex;position:absolute;inset:18px 20px auto}.companion-stage-label>span:last-child{font-size:14px}.companion-canvas{width:100%;height:370px}.companion-canvas canvas{width:100%;height:100%;display:block}.companion-controls{flex-wrap:wrap;justify-content:center;gap:8px;padding:0 12px 18px;display:flex}.companion-controls button{color:#111;cursor:pointer;background:0 0;border:1px solid #8a918c;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:10px 12px;font:500 14px/1.4 Roboto Mono,monospace;display:flex}.companion-controls button:hover:not(:disabled){background:#ff711b;border-color:#111}.companion-controls button:disabled{opacity:.45;cursor:not-allowed}.student-companion button:focus-visible{outline-offset:3px;outline:2px solid #111}.companion-story h2{margin:0 0 18px;font:600 clamp(32px,3.8vw,46px)/1.1 Oxanium,sans-serif}.companion-story>p{max-width:58ch;font-size:16px;line-height:1.65}.companion-story .companion-growth{color:#505050;font-size:14px}.companion-story dl{grid-template-columns:1fr 1fr;gap:20px 28px;margin:24px 0;display:grid}.companion-story dt{color:#505050;font-size:14px;line-height:1.5}.companion-story dd{font-variant-numeric:tabular-nums;margin:5px 0 0;font:600 24px/1.3 Oxanium,sans-serif}.companion-story .companion-next{font-size:14px}.companion-loading{text-align:center;font-size:14px;line-height:1.5;position:absolute;inset:45% 20px auto}.companion-fallback{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:50px 24px 20px;display:flex}.companion-fallback>svg{color:#ab4300}.companion-fallback p{max-width:32ch;font-size:14px;line-height:1.6}@media (width<=850px){.student-companion{grid-template-columns:1fr;gap:28px}.companion-canvas{height:330px}.companion-story dl{gap:18px}.companion-stage-label{inset:16px 14px auto}.companion-story h2{font-size:34px}}@media (prefers-reduced-motion:reduce){.companion-controls button{transition:none}}.companion-upgrades{flex-wrap:wrap;gap:12px 22px;margin:24px 0;padding:0;list-style:none;display:flex}.companion-upgrades li{color:#505050;border-left:2px solid #9a9f9b;padding-left:10px;font-size:14px;line-height:1.5}.companion-upgrades li[data-unlocked=true]{color:#111;border-color:#ad4200}.companion-upgrades span{color:#505050;font:500 11px/1.6 Roboto Mono,monospace;display:block}.companion-upgrades li[data-unlocked=true] span{color:#913500}
