.campus-game{--bg:#101213;--panel:#1b1e20;--line:#303537;--text:#f1f3f0;--muted:#929b9a;--green:#b9ec75;background:var(--bg);min-height:100dvh;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:0 24px 20px;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.campus-game *{box-sizing:border-box}.campus-shell{width:100%;max-width:740px;margin:auto}.campus-game button,.campus-game input{font:inherit}.campus-game button{cursor:pointer}.campus-game button:disabled{cursor:default;opacity:.38}.campus-game button:focus-visible,.campus-game a:focus-visible,.campus-game input:focus-visible{outline:2px solid var(--green);outline-offset:4px}.campus-nav{border-bottom:1px solid var(--line);height:58px;color:var(--muted);letter-spacing:2px;justify-content:space-between;align-items:center;font-size:9px;display:flex}.campus-nav>a{color:var(--text);letter-spacing:0;font-size:22px;text-decoration:none}.campus-mark{letter-spacing:1px;font-size:10px;font-weight:700}.campus-title{text-align:center;padding:22px 0 20px}.campus-title h1{letter-spacing:-2px;margin:0;font-size:clamp(34px,6vw,48px);font-weight:750;line-height:1.1}.campus-title h1>span{color:var(--green)}.campus-title p{color:var(--muted);margin:9px 0 0;font-size:12px}.campus-stats{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;height:32px;font-size:11px;display:flex}.campus-stats strong{color:var(--text);font-size:17px;font-weight:650}.campus-stats .clock{text-align:right;min-width:62px}.campus-stats .urgent,.campus-stats .urgent strong{color:#ffab8d}.campus-clock-track{background:var(--line);height:2px;margin:4px 0 18px;overflow:hidden}.campus-clock-track>div{background:var(--green);height:100%;transition:width .1s linear}.campus-photo{aspect-ratio:16/9;border:1px solid var(--line);isolation:isolate;background:#151819;border-radius:9px;width:100%;position:relative;overflow:hidden}.campus-photo canvas{touch-action:auto;object-fit:contain;width:100%;height:100%;display:block}.photo-round{color:#fff;letter-spacing:1.2px;pointer-events:none;background:#101213b3;border-radius:4px;padding:6px 9px;font-size:8px;position:absolute;top:12px;left:12px}.photo-message{background:var(--panel);color:var(--muted);place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.photo-result{color:var(--green);background:#101213e8;border:1px solid #526d3b;border-radius:5px;align-items:center;gap:10px;padding:12px;animation:.15s ease-out result-in;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.photo-result.skip{color:#ccd3d1;border-color:var(--line)}.photo-result strong{font-size:18px}.photo-result small{color:#d0d8d0;font-size:11px}.reveal-header{letter-spacing:1.3px;height:40px;color:var(--muted);justify-content:space-between;align-items:center;font-size:9px;display:flex}.reveal-header strong{color:var(--text);font-variant-numeric:tabular-nums;margin-left:7px;font-size:10px}.reveal-header .potential{color:var(--green);letter-spacing:0;font-variant-numeric:tabular-nums;font-size:15px;font-weight:650}.potential small{color:var(--muted);font-size:10px;font-weight:400}.reveal-meter{gap:5px;height:12px;display:flex}.reveal-meter>span{background:#2b3032;border-radius:2px;flex:1}.reveal-meter .revealed{background:#9bd660}.reveal-labels{color:var(--muted);justify-content:space-between;padding:7px 0 12px;font-size:9px;display:flex}.reveal-action{color:#d3f5ad;background:#222d1c;border:1px solid #60784a;border-radius:6px;justify-content:space-between;align-items:center;gap:22px;width:fit-content;max-width:100%;min-height:44px;margin:0 auto 14px;padding:10px 18px;font-size:13px;font-weight:650;display:flex}.reveal-action:hover:not(:disabled){border-color:var(--green);background:#304324}.reveal-action>span>span{vertical-align:-1px;margin-right:6px;font-size:18px}.reveal-action small{color:#b7c9a9;font-size:10px;font-weight:400}.reveal-action:disabled{opacity:.5}.guess-form{align-items:stretch;gap:8px;display:flex}.search-wrap{flex:1;min-width:0;position:relative}.search-icon{color:var(--muted);pointer-events:none;font-size:24px;position:absolute;top:9px;left:13px}.guess-form input{background:var(--panel);width:100%;height:46px;color:var(--text);border:1px solid var(--line);border-radius:6px;outline:none;padding:0 35px 0 39px;font-size:12px}.guess-form input:focus{border-color:#748760}.guess-form input::placeholder{color:#828b8b}.clear-search{color:var(--muted);background:0 0;border:none;font-size:20px;position:absolute;top:9px;right:8px}.guess-button{background:var(--green);color:#20301b;border:1px solid var(--green);white-space:nowrap;border-radius:6px;height:46px;padding:0 23px;font-size:12px;font-weight:700}.guess-button:hover:not(:disabled){background:#cefa96}.guess-secondary{justify-content:space-between;align-items:center;gap:10px;padding:12px 0 8px;display:flex}.guess-secondary button{color:var(--muted);background:0 0;border:0;padding:3px 0;font-size:11px}.guess-secondary button:hover{color:var(--text)}.building-options{overscroll-behavior:contain;scrollbar-width:thin;background:var(--panel);border:1px solid var(--line);border-radius:6px;max-height:224px;margin:2px 0 10px;overflow:auto}.building-options>button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-bottom:1px solid #2b3031;align-items:center;gap:12px;min-height:64px;padding:10px 12px;display:flex}.building-options>button:last-child{border:0}.building-options>button:hover,.building-options .highlighted{background:#272d28}.option-photo{object-fit:contain;background:#111516;border-radius:3px;flex-shrink:0;width:62px;height:42px}.building-options button>span:nth-child(2){flex:1;min-width:0}.building-options strong{font-size:12px;display:block}.building-options small{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.4;display:block}.option-plan{object-fit:contain;background:#fff;border-radius:3px;flex-shrink:0;width:60px;height:42px}.option-arrow{color:var(--muted);font-size:13px}.building-options>p{color:var(--muted);padding:15px;font-size:12px}.campus-feedback{color:var(--muted);min-height:39px;padding:8px 0;font-size:11px;line-height:1.5}.campus-feedback.correct{color:var(--green)}.campus-feedback.wrong{color:#ffb199}.campus-footer{border-top:1px solid var(--line);color:#687373;background:0 0;justify-content:space-between;gap:15px;margin-top:10px;padding:15px 0;font-size:9px;display:flex}.campus-footer a{color:inherit;text-decoration:none}.campus-finish{text-align:center;min-height:390px;padding:65px 20px}.finish-icon{color:var(--green);font-size:40px}.campus-finish h2{letter-spacing:-1px;margin:20px 0 12px;font-size:32px}.campus-finish p{color:var(--muted);font-size:13px}.campus-finish>a{color:var(--muted);margin-top:20px;font-size:11px;display:block}@keyframes result-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=520px){.campus-game{padding:0 14px 12px}.campus-title{padding:20px 0 15px}.campus-nav{height:48px}.photo-result{padding:8px;bottom:8px;left:8px;right:8px}.photo-result small{font-size:9px}.guess-button{padding:0 15px}.guess-form input{font-size:11px}.option-plan{width:43px}.building-options small{font-size:9px}.campus-footer{font-size:8px}.photo-round{font-size:7px;top:8px;left:8px}}@media (height<=800px) and (width>=700px){.campus-shell{max-width:640px}.campus-title{padding:14px 0}.campus-title h1{font-size:38px}.campus-nav{height:44px}.campus-clock-track{margin-bottom:12px}}@media (prefers-reduced-motion:reduce){.photo-result{animation:none}.campus-clock-track>div{transition:none}}@media (width>=700px) and (height<=850px){.campus-photo{max-height:max(180px,100dvh - 450px)}.campus-title{padding:10px 0}.campus-title h1{font-size:34px}.campus-title p{margin-top:6px}.campus-nav{height:38px}.campus-clock-track{margin-bottom:10px}.reveal-header{height:34px}.campus-feedback{min-height:30px}.campus-footer{margin-top:5px;padding:11px 0}}.guess-secondary .skip-button{color:#e2e8e5;white-space:nowrap;background:#252b2d;border:1px solid #566062;border-radius:6px;justify-content:center;align-items:center;min-height:40px;padding:9px 14px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.guess-secondary .skip-button:hover:not(:disabled){color:#fff;background:#343e40;border-color:#8b9899}.guess-secondary .skip-button:active:not(:disabled){background:#1b2224}@media (prefers-reduced-motion:reduce){.guess-secondary .skip-button{transition:none}}.campus-tutorial{padding:20px 0 12px}.tutorial-eyebrow{letter-spacing:1.8px;color:var(--green);font-size:9px}.campus-tutorial h2{letter-spacing:-.8px;margin:10px 0;font-size:28px}.tutorial-intro{color:var(--muted);max-width:560px;margin:0 0 22px;font-size:14px;line-height:1.6}.tutorial-rules{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.tutorial-rules li{border-bottom:1px solid var(--line);gap:18px;padding:16px 0;display:flex}.tutorial-rules li>span{width:32px;height:32px;color:var(--green);background:#222d1c;border:1px solid #425337;border-radius:8px;flex-shrink:0;place-items:center;font-size:11px;font-weight:650;display:grid}.tutorial-rules h3{margin:0 0 5px;font-size:14px;font-weight:650}.tutorial-rules p{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.tutorial-rules strong{color:#dce4dc;font-weight:600}.tutorial-start{text-align:center;padding:20px 0 6px}.tutorial-start p{color:var(--muted);margin:0 0 13px;font-size:11px;line-height:1.5}.tutorial-start .guess-button{min-height:48px;padding:0 26px;font-size:14px}@media (width<=520px){.campus-tutorial{padding-top:10px}.tutorial-rules li{gap:12px;padding:14px 0}.tutorial-intro{font-size:13px}.campus-tutorial h2{font-size:25px}}.campus-demo{padding:8px 0}.demo-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.demo-heading h2{letter-spacing:-.6px;margin:7px 0 12px;font-size:23px}.demo-skip{color:#e2e8e5;background:0 0;border:1px solid #566062;border-radius:6px;padding:9px 12px;font-size:12px}.demo-skip:hover{background:#343e40}.demo-variants{gap:6px;margin:0 0 14px;display:flex}.demo-variants button{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:5px;padding:7px 12px;font-size:11px}.demo-variants button[aria-pressed=true]{color:var(--green);background:#222d1c;border-color:#60784a}.demo-variants span{opacity:.7;margin-left:5px}.demo-stage{border:1px solid var(--line);background:#171a1b;border-radius:10px;padding:12px}.demo-status{letter-spacing:.7px;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:8px;display:flex}.demo-status strong{color:var(--green);letter-spacing:0;font-size:11px}.demo-target{position:relative}.demo-search{background:var(--panel);border:1px solid var(--line);color:#bdc6c3;border-radius:6px;flex:1;align-items:center;min-width:0;padding:0 12px;font-size:12px;display:flex}.demo-browse{color:#c4ceca;background:0 0;border:0;padding:12px 0;font-size:11px}.demo-option{text-align:left;background:var(--panel);border:1px solid var(--line);width:100%;color:var(--text);border-radius:6px;align-items:center;gap:12px;padding:8px 12px;display:flex}.demo-option.chosen{background:#222d1c;border-color:#60784a}.demo-option>img{object-fit:contain;border-radius:3px;width:54px;height:35px}.demo-option>img:nth-of-type(2){background:#fff}.demo-option>span:first-of-type{flex:1}.demo-option strong{font-size:12px;display:block}.demo-option small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.demo-cursor{z-index:3;pointer-events:none;animation:.3s ease-out demo-cursor-in,.8s ease-in-out infinite demo-click;position:absolute;top:65%;right:18%}.demo-cursor>span{border:2px solid var(--green);border-radius:50%;width:25px;height:25px;animation:.8s ease-out infinite demo-ring;position:absolute;top:-9px;left:-9px}.demo-caption{align-items:center;gap:12px;min-height:60px;display:flex}.demo-caption>span{color:var(--green);white-space:nowrap;font-size:10px}.demo-caption p{color:#dce4dc;margin:12px 0;font-size:12px;line-height:1.5}.demo-bottom{justify-content:space-between;align-items:center;gap:12px;display:flex}.demo-replay{color:var(--muted);background:0 0;border:0;padding:10px 0;font-size:11px}.demo-replay:hover{color:var(--text)}.demo-note{color:var(--muted);margin:14px 0 0;font-size:10px;line-height:1.6}@keyframes demo-cursor-in{0%{opacity:0;transform:translate(25px,16px)}to{opacity:1;transform:translate(0)}}@keyframes demo-click{50%{scale:.9}}@keyframes demo-ring{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.5)}}@media (width<=520px){.demo-photo{height:auto}.demo-stage{padding:10px}.demo-status{font-size:7px}.demo-status strong{font-size:10px}.demo-heading h2{font-size:21px}.demo-search{font-size:10px}.demo-option{gap:8px}.demo-option>img{width:45px}}@media (prefers-reduced-motion:reduce){.demo-cursor,.demo-cursor>span{animation:none}}.demo-option.pending{visibility:hidden}.campus-demo{max-width:560px;margin:0 auto}.demo-heading .tutorial-eyebrow{letter-spacing:1.2px;background:#222d1c;border:1px solid #425337;border-radius:4px;padding:6px 9px;font-size:10px;font-weight:650;display:inline-block}.demo-heading h2{margin:10px 0 0;font-size:27px}.demo-intro{color:var(--muted);margin:12px 0 16px;font-size:12px;line-height:1.6}.demo-caption{background:#222d1c;border:1px solid #60784a;border-radius:9px;gap:18px;min-height:96px;margin:16px 0;padding:16px}.demo-step{border-right:1px solid #50613e;flex-shrink:0;min-width:66px;padding-right:18px}.demo-step>span{color:#c2d7b0;letter-spacing:1.5px;margin-bottom:5px;font-size:9px;font-weight:650;display:block}.demo-step>strong{color:var(--green);font-size:30px;font-weight:700;line-height:1;display:block}.demo-step small{color:#b5c4aa;font-size:15px;font-weight:500}.demo-caption p{color:#f1f6ec;margin:0;font-size:16px;font-weight:550;line-height:1.45}.demo-bottom{margin-top:4px}@media (width<=520px){.demo-heading h2{font-size:24px}.demo-heading .tutorial-eyebrow{font-size:8px}.demo-caption{gap:14px;padding:14px}.demo-step{min-width:60px;padding-right:14px}.demo-caption p{font-size:14px}.demo-skip{padding:9px;font-size:11px}.demo-status>span{letter-spacing:.4px}}.campus-demo{max-width:none}.demo-stage{background:0 0;border:0;border-radius:0;padding:0;display:block}.demo-photo{aspect-ratio:16/9;width:100%;height:auto}.demo-controls .reveal-meter{height:12px;margin-bottom:12px}.demo-controls .reveal-action{min-height:44px;margin-bottom:14px;font-size:13px}.demo-search{height:46px;padding:0 13px;font-size:12px}.demo-controls .guess-button{padding:0 23px}.demo-browse{padding:12px 0;font-size:11px}.demo-option{gap:12px;min-height:64px;padding:10px 12px}.demo-option>img{width:62px;height:42px}.demo-option>img:nth-of-type(2){width:60px}.demo-status{margin-bottom:12px;font-size:9px}.demo-bottom{flex-direction:column-reverse;justify-content:center;align-items:center;gap:10px;margin-top:20px;display:flex}.exam-start-button{color:#182747;background:#aec4ff;border:1px solid #b3c7ff;border-radius:7px;min-height:50px;padding:0 30px;font-size:15px;font-weight:750;box-shadow:0 4px 18px #6f94ff20}.exam-start-button:hover{background:#c4d4ff;border-color:#d3dfff}.exam-start-button:active{background:#96b2f7}.demo-replay{padding:8px 12px}.demo-note{text-align:center}@media (width<=520px){.demo-stage{padding:0}.demo-search{font-size:11px}.demo-controls .guess-button{padding:0 15px}.demo-option>img{width:50px}.demo-option>img:nth-of-type(2){width:43px}}.demo-controls{padding-top:0}.demo-controls .reveal-meter{margin-bottom:0}.tutorial-mode .campus-shell{max-width:600px}.tutorial-mode .campus-nav{height:34px}.tutorial-mode .campus-title h1{font-size:32px}.tutorial-mode .campus-title p{margin-top:5px;font-size:11px}.tutorial-mode .campus-demo{padding:4px 0}.tutorial-mode .demo-heading h2{margin-top:5px;font-size:21px}.tutorial-mode .demo-heading .tutorial-eyebrow{padding:4px 7px;font-size:8px}.tutorial-mode .demo-intro{margin:7px 0 10px;font-size:11px}.tutorial-mode .demo-status{display:none}.tutorial-mode .demo-photo{aspect-ratio:auto;height:clamp(100px,100dvh - 530px,230px)}.tutorial-mode .demo-controls .reveal-header{height:30px}.tutorial-mode .demo-controls .reveal-meter{height:8px}.tutorial-mode .reveal-labels{padding:5px 0 8px}.tutorial-mode .demo-controls .reveal-action{min-height:36px;margin-bottom:10px;padding:7px 15px;font-size:12px}.tutorial-mode .demo-search,.tutorial-mode .demo-controls .guess-button{height:38px}.tutorial-mode .demo-browse{padding:9px 0}.tutorial-mode .demo-option{min-height:48px;padding:6px 10px}.tutorial-mode .demo-option>img{width:48px;height:32px}.tutorial-mode .demo-caption{gap:14px;min-height:68px;margin:10px 0;padding:12px}.tutorial-mode .demo-caption p{font-size:14px}.tutorial-mode .demo-step>strong{font-size:26px}.tutorial-mode .demo-step>span{font-size:8px}.tutorial-mode .demo-bottom{gap:3px;margin-top:10px}.tutorial-mode .exam-start-button{min-height:42px;padding:0 26px;font-size:14px}.tutorial-mode .demo-replay{padding:6px 10px;font-size:10px}.tutorial-mode .demo-note{margin:8px 0 0;font-size:9px}.tutorial-mode .campus-footer{margin-top:8px;padding:10px 0}.tutorial-mode{padding-bottom:10px}@media (width<=520px){.tutorial-mode .campus-title h1{font-size:30px}.tutorial-mode .demo-photo{height:clamp(110px,100dvh - 550px,210px)}.tutorial-mode .demo-caption p{font-size:13px}.tutorial-mode .demo-intro{line-height:1.4}.tutorial-mode .demo-note{font-size:9px}}.tutorial-mode .campus-footer{display:none}.tutorial-mode .demo-bottom{flex-direction:row;min-height:46px;margin-top:6px;position:relative}.tutorial-mode .demo-replay{max-width:100px;position:absolute;left:0}.tutorial-mode .demo-note{margin-top:4px}.tutorial-mode .demo-photo{height:clamp(80px,100dvh - 580px,210px)}.tutorial-mode .campus-title{padding:6px 0}.tutorial-mode .demo-caption{min-height:60px;margin:8px 0;padding:10px}.tutorial-mode .demo-intro{margin:5px 0 8px}.tutorial-mode .demo-heading h2{font-size:19px}.tutorial-mode .demo-controls .reveal-action{margin-bottom:8px}.tutorial-mode .demo-note{font-size:9px}@media (height<=600px){.tutorial-mode .demo-bottom{background:var(--bg);z-index:5;padding:6px 0;position:sticky;bottom:0}.tutorial-mode .campus-nav{height:28px}.tutorial-mode .campus-title p,.tutorial-mode .demo-heading h2{display:none}.tutorial-mode .demo-intro{font-size:10px}.tutorial-mode .demo-caption p{font-size:12px}.tutorial-mode .demo-caption{min-height:52px}.tutorial-mode .demo-step>strong{font-size:22px}.tutorial-mode .demo-note{display:none}.tutorial-mode .campus-title{padding:3px 0}.tutorial-mode .campus-title h1{font-size:22px}.tutorial-mode .demo-photo{height:65px}.tutorial-mode .demo-intro{margin:3px 0 5px}.tutorial-mode .demo-controls .reveal-header{height:24px}.tutorial-mode .reveal-labels{padding:3px 0 5px}.tutorial-mode .demo-controls .reveal-action{min-height:30px;margin-bottom:6px;padding:4px 12px}.tutorial-mode .demo-search,.tutorial-mode .demo-controls .guess-button{height:32px}.tutorial-mode .demo-browse{padding:6px 0}.tutorial-mode .demo-option{min-height:36px;padding:3px 8px}.tutorial-mode .demo-option>img{height:26px}.tutorial-mode .demo-caption{margin:6px 0;padding:8px}.tutorial-mode .demo-bottom{min-height:42px;padding:2px 0}.tutorial-mode .exam-start-button{min-height:38px}}@media (width>=900px){.tutorial-mode .campus-shell{max-width:1040px}.tutorial-mode .demo-stage{border:1px solid var(--line);background:#171a1b;border-radius:10px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:24px;padding:16px;display:grid}.tutorial-mode .demo-photo{aspect-ratio:16/9;align-self:center;height:auto}.tutorial-mode .demo-controls{min-width:0}.tutorial-mode .demo-controls .reveal-header{height:26px}.tutorial-mode .demo-caption{min-height:64px;margin:12px 0}.tutorial-mode .demo-heading{margin-bottom:4px}.tutorial-mode .demo-intro{margin-bottom:12px}.tutorial-mode .demo-bottom{margin-top:8px}.tutorial-mode .demo-replay{left:16px}.tutorial-mode .demo-note{margin-top:6px}.tutorial-mode .campus-title h1{font-size:clamp(26px,3.4dvh,36px)}}@media (width>=900px) and (height<=600px){.tutorial-mode .campus-shell{max-width:960px}.tutorial-mode .demo-stage{gap:18px;padding:10px}.tutorial-mode .demo-photo{aspect-ratio:16/9;height:auto}.tutorial-mode .demo-caption{min-height:52px;margin:8px 0}.tutorial-mode .demo-bottom{position:relative}.tutorial-mode .demo-intro{margin-bottom:8px}}.campus-round-controls{min-width:0}@media (width>=900px){.campus-shell{max-width:1040px}.campus-round{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.campus-round .campus-photo{aspect-ratio:16/9;height:auto}.campus-round-controls .reveal-header{height:30px}.campus-round-controls .building-options{max-height:180px}.campus-title{padding:14px 0}.campus-title h1{font-size:clamp(30px,5dvh,44px)}}.building-options-slot{height:clamp(100px,22dvh,180px);margin:2px 0 10px}.campus-round-controls .building-options-slot .building-options{height:100%;max-height:100%;margin:0}.building-options-slot:empty{border:1px dashed #303537;border-radius:6px;position:relative}.building-options-slot:empty:after{content:"Building photos and ground plans appear here";color:#778382;text-align:center;place-items:center;padding:12px;font-size:11px;display:grid;position:absolute;inset:0}.campus-visual,.demo-visual{min-width:0}.building-options-slot{height:clamp(224px,100dvh - 350px,360px)}.building-options>button{min-height:56px;padding:6px 10px}.tutorial-mode .demo-reveals .reveal-header{height:30px}.tutorial-mode .demo-reveals .reveal-meter{height:8px;margin:0}.tutorial-mode .demo-reveals .reveal-action{min-height:36px;margin:0 auto;padding:7px 15px;font-size:12px}.tutorial-mode .demo-stage{align-items:start}.tutorial-mode .demo-controls{padding-top:0}@media (width>=900px){.campus-round{align-items:start}.tutorial-mode .demo-photo{aspect-ratio:16/9;height:auto}.tutorial-mode .demo-controls{align-self:stretch;padding-top:8px}.tutorial-mode .demo-reveals .reveal-action{margin-bottom:0}.tutorial-mode .demo-stage{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}@media (height<=600px){.tutorial-mode .demo-reveals .reveal-header{height:24px}.tutorial-mode .demo-reveals .reveal-action{min-height:30px;padding:4px 12px}}@media (width>=900px){.tutorial-mode .demo-photo{aspect-ratio:16/9;width:100%;max-width:clamp(160px,177.78dvh - 871.122px,100%);height:auto;margin:0 auto}.tutorial-mode .demo-reveals{padding-top:0}}.campus-game{height:100dvh;min-height:0;padding:0 16px 10px;overflow:hidden}.campus-shell{flex-direction:column;height:100%;min-height:0;display:flex}.campus-nav,.campus-title,.campus-stats,.campus-clock-track{flex-shrink:0}.campus-nav{height:38px}.campus-title{padding:10px 0}.campus-title h1{font-size:clamp(25px,4.8dvh,40px)}.campus-title p{margin-top:5px;font-size:11px}.campus-clock-track{margin:4px 0 10px}.campus-round{flex:1;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:stretch;gap:20px;min-height:0;display:grid}.campus-visual{flex-direction:column;min-height:0;display:flex}.campus-round .campus-photo{aspect-ratio:auto;flex:1;height:auto;min-height:0;max-height:none}.campus-visual .reveal-header,.campus-visual .reveal-meter,.campus-visual .reveal-labels,.campus-visual .reveal-action{flex-shrink:0}.campus-round-controls{flex-direction:column;min-height:0;display:flex}.campus-round-controls .guess-form,.campus-round-controls .guess-secondary,.campus-round-controls .campus-feedback{flex-shrink:0}.building-options-slot{flex:1;height:auto;min-height:0;margin:2px 0 6px}.campus-round-controls .building-options-slot .building-options{height:100%;max-height:100%}.campus-feedback{min-height:0}.campus-game .campus-finish{min-height:0;padding:25px 10px;overflow:auto}.campus-demo{flex-direction:column;flex:1;min-height:0;display:flex}.demo-heading,.demo-intro,.demo-caption,.demo-bottom,.demo-note{flex-shrink:0}.tutorial-mode .demo-stage{flex:1;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:stretch;gap:18px;min-height:0;display:grid}.demo-visual{flex-direction:column;min-height:0;display:flex}.tutorial-mode .demo-photo{aspect-ratio:auto;flex:1;width:100%;max-width:none;height:auto;min-height:0}.demo-reveals{flex-shrink:0}.tutorial-mode .demo-controls{min-height:0;overflow:hidden}.tutorial-mode .demo-option{min-height:36px}.tutorial-mode .demo-caption{min-height:54px}.tutorial-mode .demo-bottom{position:relative}.tutorial-mode .demo-note{margin-bottom:0}@media (width<=700px){.campus-round,.tutorial-mode .demo-stage{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:1fr;gap:8px}.campus-title{padding:6px 0}.campus-title h1{font-size:27px}.campus-nav{height:30px}.campus-visual .reveal-header{height:24px}.campus-visual .reveal-meter{height:7px}.campus-visual .reveal-labels{padding:3px 0 6px}.campus-visual .reveal-action{min-height:32px;margin-bottom:0;padding:5px 12px;font-size:12px}.guess-form input,.guess-button{height:36px}.guess-secondary{align-items:center;padding:6px 0}.guess-secondary .skip-button{min-height:32px;padding:5px 10px;font-size:11px}.campus-feedback{padding:4px 0;font-size:10px}.building-options>button{min-height:48px;padding:4px 8px}.option-photo,.option-plan{height:32px}.tutorial-mode .demo-stage{border:0;grid-template-rows:minmax(0,1fr) auto;padding:0}.tutorial-mode .demo-controls{grid-template-columns:1fr;gap:0;display:grid}.tutorial-mode .demo-controls .demo-browse{padding:5px 0}.tutorial-mode .demo-controls .demo-option{min-height:36px;padding:3px 8px}.tutorial-mode .demo-caption{min-height:50px;margin:6px 0;padding:8px}.tutorial-mode .demo-heading h2{font-size:18px}.tutorial-mode .demo-intro{font-size:10px}.tutorial-mode .demo-note{display:none}}@media (height<=560px) and (width>=701px){.campus-title{padding:4px 0}.campus-title p{display:none}.campus-nav{height:28px}.campus-title h1{font-size:25px}.tutorial-mode .demo-intro{display:none}.tutorial-mode .demo-heading{margin-bottom:6px}.tutorial-mode .demo-note{display:none}.tutorial-mode .demo-caption{min-height:46px;margin:6px 0;padding:6px 10px}}.building-options-slot{flex:0 282px;max-height:282px}.campus-round-controls .building-options-slot .building-options{max-height:282px}@media (width<=700px){.building-options-slot{flex-basis:242px;max-height:242px}.campus-round-controls .building-options-slot .building-options{max-height:242px}}@media (width>=701px){.campus-round{flex:0 auto;align-items:stretch;min-height:0;max-height:100%}.campus-visual{height:100%;max-height:100%;overflow:hidden}.campus-round .campus-photo{flex:1 1 0;height:0;min-height:0}.campus-round-controls{max-height:calc(100dvh - 170px)}.building-options-slot{flex:282px}.tutorial-mode .demo-stage{flex:0 auto;height:clamp(180px,100dvh - 310px,330px)}.tutorial-mode .demo-visual,.tutorial-mode .demo-controls{height:100%}}.campus-round-controls .building-options{scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#92ad75 #252c2d;overflow-y:scroll}.building-options::-webkit-scrollbar{width:12px;display:block}.building-options::-webkit-scrollbar-track{background:#252c2d;border-left:1px solid #404b47}.building-options::-webkit-scrollbar-thumb{background:#92ad75;border:3px solid #252c2d;border-radius:8px;min-height:32px}.building-options::-webkit-scrollbar-thumb:hover{background:#b9ec75}.potential{position:relative}.point-loss{color:#f77;letter-spacing:0;white-space:nowrap;pointer-events:none;z-index:4;background:#341b20;border:1px solid #99434d;border-radius:5px;padding:5px 9px;font-size:17px;font-weight:750;animation:1.7s ease-out forwards point-loss-float;position:absolute;bottom:100%;right:0}@keyframes point-loss-float{0%{opacity:0;transform:translateY(8px)scale(.85)}15%,65%{opacity:1;transform:translateY(-2px)scale(1)}to{opacity:0;transform:translateY(-18px)scale(1)}}@media (prefers-reduced-motion:reduce){.point-loss{animation:2s linear forwards point-loss-fade}@keyframes point-loss-fade{0%,80%{opacity:1}to{opacity:0}}}.campus-round-controls .building-options{scrollbar-color:auto;scrollbar-width:auto}.building-options::-webkit-scrollbar{background:#252c2d;width:12px}.building-options::-webkit-scrollbar-thumb{background:#92ad75;border:3px solid #252c2d;border-radius:8px}.campus-clock-track{margin-bottom:22px}@media (height<=560px){.campus-clock-track{margin-bottom:16px}}.campus-game .campus-nav{align-items:center}.campus-game .campus-help{border:1px solid var(--line);width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;font-size:22px;font-weight:700}.campus-game .campus-help:focus-visible{outline:2px solid var(--green);outline-offset:3px}.campus-game .reveal-header{justify-content:center}.campus-help-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080c12cc;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.campus-help-panel{background:var(--bg,#101213);border:1px solid var(--line);width:min(900px,100%);max-height:100%;padding:24px;overflow:auto}@media (width<=700px){.campus-help-overlay{padding:8px}.campus-help-panel{padding:14px}}@font-face{font-family:Computer Modern Serif;src:url(/fonts/computer-modern/cmunrm.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Computer Modern Serif;src:url(/fonts/computer-modern/cmunbx.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Computer Modern Serif;src:url(/fonts/computer-modern/cmunti.woff)format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Computer Modern Sans;src:url(/fonts/computer-modern/cmunss.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Computer Modern Sans;src:url(/fonts/computer-modern/cmunsx.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}.campus-game.exam-paper{--bg:#fff;--panel:#f7f7f5;--line:#b9b9b3;--text:#171714;--muted:#66665e;--green:#29473d;--exam-serif:"Computer Modern Serif", "Times New Roman", serif;--exam-sans:"Computer Modern Sans", Arial, sans-serif;height:100dvh;min-height:0;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--exam-serif);background:#f1f1ee;flex-direction:column;padding:12px;line-height:1.25;display:flex;overflow:auto}.exam-sheet{background:#fff;flex-direction:column;flex-shrink:0;width:100%;min-height:calc(100dvh - 24px);margin:auto;padding:24px 32px;display:flex}.exam-letterhead{font:clamp(19px, 1.9vw, 33px)/1.25 var(--exam-sans);border-top:1px solid #555;border-bottom:1px solid #555;justify-content:space-between;align-items:center;gap:24px;margin-inline:10%;padding:14px 0;display:flex}.exam-institution{align-items:center;gap:28px;display:flex}.exam-institution img{filter:brightness(0);width:clamp(220px,21.2vw,342px);height:auto}.exam-translations{text-align:left}.exam-timer{text-align:center;font:60px/1.2 var(--exam-sans);font-variant-numeric:tabular-nums;margin-bottom:24px}.exam-spread{flex:1;grid-template-columns:minmax(440px,.9fr) minmax(0,1.1fr);gap:40px;margin:0;display:grid}.exam-cover{flex-direction:column;justify-content:center;min-width:0;padding-inline-start:clamp(24px,3vw,64px);display:flex}.exam-cover-title{text-align:center;padding:8px 0}.exam-section-label{font-size:22px;display:block}.exam-cover-title h1{letter-spacing:0;margin:6px 0 8px;font-size:clamp(40px,4vw,64px);font-weight:700;line-height:1.05}.exam-date{margin:0;font-size:20px}.exam-seal{margin:10px 0 0;font-size:32px;font-weight:700}.exam-answer-form{text-align:center;margin-top:8px}.exam-answer-form>label{margin-bottom:20px;font-size:56px;font-weight:700;display:block}.exam-answer-entry{width:fit-content;max-width:100%;margin-inline:auto;padding:5px 0;position:relative}.exam-answer-slots{gap:24px;display:flex}.exam-answer-slot{width:clamp(104px,9.5vw,172px);height:clamp(144px,12vw,216px);font:clamp(76px, 7.2vw, 124px)/1 var(--exam-serif);background:#fafaf8;border-bottom:1px solid #777;place-items:center;display:grid;position:relative}.exam-answer-entry:focus-within .exam-answer-slot.current{background:#eef2ed;border-bottom:2px solid #29473d}.exam-answer-entry:focus-within .exam-answer-slot.current:after{content:"";background:#29473d;width:1px;height:55%;animation:1s step-end infinite exam-caret;position:absolute;top:22.5%;right:12%}.exam-answer-entry input{color:#0000;caret-color:#0000;opacity:.01;cursor:text;background:0 0;border:0;width:100%;height:100%;padding:0;font-size:32px;position:absolute;inset:0}.exam-answer-entry input:focus-visible{outline:none}.exam-answer-entry:focus-within{outline-offset:5px;outline:1px solid #a5b4a8}.exam-answer-form>p{font:28px/1.4 var(--exam-sans);color:#64645b;margin:16px 0}.exam-answer-form>p kbd{font-size:22px}.exam-paper kbd{font:11px var(--exam-sans);color:#333;background:#fafaf7;border:1px solid #c8c8bf;border-radius:2px;padding:2px 5px}.exam-answer-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.exam-paper .paper-button{color:#24241e;min-height:44px;font:15px/1.3 var(--exam-sans);background:#fff;border:1px solid #aaa99f;border-radius:2px;justify-content:center;align-items:center;gap:10px;padding:12px 16px;text-decoration:none;display:inline-flex}.exam-answer-actions .paper-button{gap:15px;min-height:66px;padding:18px 24px;font-size:22.5px}.exam-answer-actions .paper-button kbd{padding:3px 7.5px;font-size:16.5px}.exam-paper .paper-button:hover:not(:disabled){background:#f2f3ed;border-color:#63695e}.exam-paper .paper-button.primary{color:#fff;background:#242c25;border-color:#242c25}.exam-paper .paper-button.primary:hover:not(:disabled){background:#3a473d}.exam-paper .paper-button.quiet{color:#66665e;border-color:#0000}.exam-paper .paper-button small{color:#717169;font-size:10px}.exam-feedback{min-height:18px;font:14px/1.4 var(--exam-sans);color:#66665e;text-align:center;margin-top:8px}.exam-feedback.wrong{color:#9a322b}.exam-feedback.correct{color:#29473d}.exam-question{flex-direction:column;justify-content:center;justify-self:center;width:100%;min-width:0;max-width:952px;display:flex}.exam-building-photo{aspect-ratio:4/3;background:#f5f5f2;border:1px solid #c8c8bf;max-height:clamp(374px,54.4dvh,646px);position:relative;overflow:hidden}.exam-building-photo canvas{object-fit:contain;touch-action:auto;width:100%;height:100%}.exam-photo-message{text-align:center;color:#6b6b62;font:13px var(--exam-sans);background:#f6f6f1;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.exam-photo-result{color:#29473d;background:#fffffff5;border:1px solid #c8d2c1;flex-wrap:wrap;align-items:baseline;gap:10px;padding:12px 14px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.exam-photo-result strong{font-size:24px}.exam-photo-result span{font-size:15px}.exam-photo-result small{font:11px var(--exam-sans);margin-left:auto}.exam-points-summary{justify-content:center;align-items:center;margin-top:40px;display:flex}.exam-available-points{font:36px var(--exam-sans);text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:9px;transition:color .2s;display:flex;position:relative}.exam-available-points strong{color:inherit;font-size:60px}.exam-point-loss{color:#a43a2f;font:bold 17px var(--exam-sans);animation:1.7s ease-out forwards exam-point-loss;position:absolute;bottom:calc(100% + 6px);right:0}.exam-time{font-weight:700!important}.exam-time.urgent{color:#a43a2f}.exam-finish{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(20px,3vw,40px);padding:clamp(32px,5dvh,80px) 0;display:flex}.exam-finish .exam-section-label{font-size:clamp(40px,5vw,55px)}.exam-finish h1{max-width:100%;margin:0;font-size:clamp(56px,9vw,105px);line-height:1.1}.exam-finish p{max-width:1000px;margin:0;font-size:clamp(28px,4vw,50px);line-height:1.35}.exam-finish-actions{flex-wrap:wrap;justify-content:center;gap:24px;max-width:100%;margin-top:8px;display:flex}.exam-finish-actions .paper-button{max-width:100%;min-height:88px;padding:24px clamp(20px,3vw,40px);font-size:clamp(24px,3vw,37.5px)}@keyframes exam-caret{50%{opacity:0}}@keyframes exam-point-loss{0%{opacity:0;transform:translateY(5px)}15%,65%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}@media (width<=1000px){.exam-cover{padding-inline-start:0}.exam-sheet{padding:20px}.exam-spread{gap:28px}.exam-letterhead{flex-direction:column;align-items:flex-start;gap:16px;font-size:23px}.exam-institution img{width:236px}}@media (width<=700px){.campus-game.exam-paper{min-height:100dvh;padding:0}.exam-sheet{min-height:100dvh;padding:16px}.exam-letterhead{gap:16px;font-size:19px}.exam-institution{flex-wrap:wrap;gap:16px}.exam-institution img{width:170px}.exam-translations{max-width:100%}.exam-spread{flex-direction:column;gap:18px;margin-top:16px;display:flex}.exam-cover-title{padding-bottom:12px}.exam-cover-title h1{font-size:34px}.exam-section-label{font-size:23px}.exam-seal{margin-top:10px;font-size:26px}.exam-answer-form{margin-top:12px}.exam-answer-slots{gap:12px}.exam-answer-slot{width:clamp(80px,24vw,96px);height:144px;font-size:76px}.exam-question{order:-1}.exam-building-photo{max-height:442px}}@media (height<=850px) and (width>=701px){.exam-sheet{padding:12px 24px}.exam-letterhead{padding:12px 0}.exam-spread{margin:0}.exam-cover-title{padding:0 0 12px}.exam-cover-title h1{margin:6px 0 8px;font-size:clamp(36px,4vw,52px)}.exam-section-label{font-size:22px}.exam-seal{margin-top:10px}.exam-answer-form>label{margin-bottom:12px}.exam-answer-form>p{margin:8px 0 10px}.exam-feedback{min-height:18px;margin-top:12px}}@media (prefers-reduced-motion:reduce){.exam-available-points{transition:none}.exam-answer-entry:focus-within .exam-answer-slot.current:after,.exam-point-loss{animation:none}}@media (width>=701px){.campus-game.exam-paper{--exam-scale:min(1, calc(100vw / 1920px), calc(100dvh / 1200px));zoom:var(--exam-scale);height:calc(100dvh / var(--exam-scale))}.exam-sheet{min-height:calc(100dvh / var(--exam-scale) - 24px)}}:root{color:#25313e;font-synthesis:none;background:#e8edf1;font-family:system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}main{flex-direction:column;height:100dvh;min-height:360px;display:flex}header{background:#fff;border-bottom:1px solid #ccd4dc;padding:16px 22px}h1{margin:0;font-size:19px;font-weight:600}header p{color:#657484;margin:5px 0 0;font-size:12px}.map-viewer{flex:1;min-height:0;position:relative}canvas{touch-action:none;width:100%;height:100%;display:block}.map-status,.map-controls{pointer-events:none;background:#ffffffed;border:1px solid #ccd4dc;border-radius:4px;padding:8px 12px;font-size:12px;position:absolute}.map-status{top:14px;left:14px}.map-status.error{color:#ab2222}.map-controls{bottom:14px;left:14px}footer{color:#657484;background:#fff;border-top:1px solid #ccd4dc;padding:10px 22px;font-size:11px}a{color:#315e90}.game-hud{white-space:pre;pointer-events:none;background:#ffffffed;border:1px solid #ccd4dc;border-radius:4px;padding:8px 12px;font:12px monospace;position:absolute;top:54px;left:14px}.mode-toggle{color:#25313e;cursor:pointer;background:#fff;border:1px solid #ccd4dc;border-radius:4px;padding:8px 12px;position:absolute;top:14px;right:14px}.map-controls{max-width:calc(100% - 28px)}canvas:focus{outline:none}
