@font-face{font-family:Pixelify;src:url('../assets/common/pixelify-sans-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:DM;src:url('../assets/common/dm-sans-latin.woff2') format('woff2');font-weight:100 1000;font-display:swap}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#0e1330;color:#f5f7ff;font-family:DM,Arial,sans-serif}body{min-height:100svh}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit}button:disabled{cursor:default;opacity:.5}[hidden]{display:none!important}:focus-visible{outline:2px solid #3fe0c5;outline-offset:3px}
#climb-scene{position:fixed;inset:0;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}#home-header{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:12px 26px}.brand{font-size:23px;font-weight:900;text-decoration:none}.nav-button{background:#0e1330db;border:1px solid #3d4a8c80;text-decoration:none;padding:10px 16px;font-family:Pixelify;font-weight:700;border-radius:8px;transition:background .15s}.nav-button:hover{background:#0e1330}.panel{background:#0e1330e8;border:1px solid #3d4a8c80;box-shadow:0 8px 32px #0004,0 2px 0 #0003;border-radius:10px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}#common-home{position:relative;z-index:2;display:flex;align-items:center;flex-direction:column;padding:0 16px 30px}.wordmark{font-family:Pixelify;font-size:86px;line-height:1.1;letter-spacing:-4px;color:#ffc83d;margin:8px 0 30px;text-shadow:4px 0 #10172d,-4px 0 #10172d,0 -4px #10172d,0 5px #10172d,5px 8px #9c6e12}.setup{width:460px;max-width:100%;padding:22px 24px 24px}.eyebrow{color:#ffd45e;font-size:11px;letter-spacing:.1em;font-weight:700;margin:0 0 6px;opacity:.85}.setup h2{font-family:Pixelify;font-size:30px;line-height:1.15;margin:0 0 4px}.subline{margin:0 0 18px;color:#a9b2d6;font-size:15px}.play-row{display:flex;gap:10px;align-items:stretch;margin-bottom:16px}.segments{display:flex;border:1px solid #3d4a8c80;border-radius:8px;padding:3px;background:#0e1330;gap:2px}.segments button{border:0;background:transparent;min-width:46px;height:40px;font-family:Pixelify;font-size:18px;font-weight:700;border-radius:6px;transition:background .15s,color .15s}.segments button[aria-pressed=true]{background:#ffc83d;color:#14183a}.segments button:not([aria-pressed=true]):hover{background:#ffffff12}.topics button[aria-pressed=true]{background:#ffc83d;color:#14183a;border-color:#ffc83d}.gold{background:#ffc83d;color:#14183a;border:0;box-shadow:0 2px 8px #ffc83d40;padding:10px 22px;border-radius:8px;font-family:Pixelify;font-size:18px;font-weight:700;transition:background .15s,box-shadow .15s}.gold:hover{background:#ffda6b;box-shadow:0 4px 16px #ffc83d50}.gold:active{transform:translateY(1px)}.square{width:44px;height:44px;font-size:20px;padding:0;border-radius:8px;background:#ffffff0a;border:1px solid #3d4a8c80;display:grid;place-items:center}.square:hover{background:#ffffff15}.topics{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.topics button{background:#ffffff08;border:1px solid #3d4a8c60;color:#b0b8d8;padding:7px 12px;font-family:Pixelify;font-weight:700;font-size:13px;border-radius:6px;transition:background .15s,color .15s,border-color .15s}.topics button:hover{background:#ffffff14;color:#e0e4f5;border-color:#3d4a8c}.back-link{display:block;color:#ffd45e;font-size:13px;font-weight:600;margin-top:20px;text-underline-offset:4px;opacity:.75;transition:opacity .15s}.back-link:hover{opacity:1}#rules{font-size:13px;color:#a9b2d6;line-height:1.5;border-top:1px solid #3d4a8c40;margin-top:16px;padding-top:14px}
.climber{position:fixed;z-index:1;top:calc(46% - 42px);left:50%;transform:translateX(-50%);width:74px;pointer-events:none}.climber svg{width:66px;height:55px;display:block;margin:auto}.climber img{width:64px;image-rendering:pixelated;display:block;margin:-8px auto 0}.climber.rising{animation:float .7s ease-in-out infinite alternate}@keyframes float{to{transform:translate(-50%,-8px) rotate(-5deg)}}
#common-play{position:fixed;inset:0;z-index:3;height:100dvh}.hud-score{position:absolute;left:12px;top:12px;padding:5px 10px}.hud-score strong{display:block;font-size:28px;line-height:1.1}.hud-score span{font-size:14px;color:#cdd2ee}.hud-progress{position:absolute;left:50%;transform:translateX(-50%);top:12px;padding:7px 10px;text-align:center;font-family:Pixelify;font-size:14px}#squares{display:grid;grid-template-columns:repeat(10,10px);gap:3px;margin-bottom:4px}#squares i{height:10px;background:#1a2250;border:1px solid #3d4a8c}#squares i.current{outline:2px solid #f5f7ff;outline-offset:1px}#squares i.done{background:#ffc83d}.hud-actions{position:absolute;right:12px;top:12px;display:flex;padding:2px}.hud-actions button{width:44px;height:44px;background:none;border:0;font-size:28px;font-family:Pixelify}.hud-actions button[aria-pressed=false]{opacity:.5}.lower{position:absolute;top:53.2%;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:10px;padding:0 12px 10px}.question{width:min(640px,calc(100% - 100px));padding:12px 14px 14px;overflow:auto;max-height:calc(100% - 80px)}.question h2{font-size:28px;font-weight:650;line-height:1.2;margin:4px 0}.question #hint{font-size:16px;color:#cdd2ee;margin:0}.reveal{width:min(480px,calc(100% - 90px));padding:8px 14px 12px;overflow:auto;min-height:0;max-height:calc(100% - 66px);position:relative}.reveal h2{font-family:Pixelify;color:var(--band,#ffc83d);font-size:38px;line-height:1.1;margin:0 0 8px}.band-row{display:flex;align-items:center;gap:12px;margin:8px 0}.band-row strong{font-size:24px;color:var(--band)}#bands{display:flex;flex:1;align-items:end;gap:4px;height:14px}#bands i{height:6px;flex:1;background:var(--c);opacity:.35}#bands i.selected{height:12px;opacity:1}.answer-summary{display:flex;justify-content:space-between;gap:8px;font-size:16px}.answer-summary span{color:#cdd2ee}.alternatives-label{font-size:11px;margin-top:10px}#alternatives{padding-left:20px;margin:4px 0 12px;font-size:14px;color:#cdd2ee}#next{float:right;min-width:110px}.reveal:after{content:'';display:block;clear:both}#common-form{width:min(560px,100%);flex-shrink:0}.dock{display:flex;align-items:center;gap:8px}#pass{height:48px;padding:0 12px;background:#0e1330db;border:1px solid #3d4a8c80;border-radius:8px;font-family:Pixelify;font-weight:700;color:#a9b2d6;transition:background .15s}#pass:hover{background:#0e1330;color:#cdd2ee}#clock{width:48px;height:48px;flex-shrink:0;border:4px solid #f5f7ff;outline:3px solid #0e1330;border-radius:50%;display:grid;place-items:center;background:#0e1330ed;font-size:20px;font-weight:800}#clock.hot{color:#ff7a59;border-color:#ff7a59}.field{flex:1;min-width:0;height:48px;display:flex;background:#f5f7ff;border:1px solid #3d4a8c80;border-radius:8px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.field:focus-within{border-color:#ffc83d;box-shadow:0 0 0 3px #ffc83d25}.field input{min-width:0;width:100%;background:none;border:0;outline:0;padding:0 10px;font-size:20px;color:#14183a}.field input::placeholder{color:#7d86a8}#send{height:48px;width:48px;padding:0;flex-shrink:0;font-family:DM;font-size:25px;border-radius:8px}#feedback{text-align:center;background:#0e1330ed;border:1px solid #ffc83d80;border-radius:8px;font-size:14px;margin:0 0 8px;padding:8px}form[aria-busy=true] #send{font-size:0}form[aria-busy=true] #send:after{content:'';display:inline-block;width:18px;height:18px;border:3px solid #14183a55;border-top-color:#14183a;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#ruler{position:absolute;right:0;top:20%;bottom:20%;display:flex;flex-direction:column;justify-content:space-between;align-items:end;font-size:12px;pointer-events:none}#ruler span{background:#0e1330c9;border-right:8px solid #cdd2ee;padding:2px 5px}.end-card{position:relative;z-index:4;width:min(500px,calc(100% - 32px));margin:12vh auto 30px;padding:24px;max-height:80dvh;overflow:auto}.end-card h1{font-family:Pixelify;font-size:60px;color:#ffc83d;line-height:1;margin:12px 0}.end-card>.gold{margin-top:18px}.quiet{border:0;background:none;padding:12px;font-family:Pixelify;font-size:17px}#round-results{margin-top:20px;display:grid;gap:8px}.result-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #3d4a8c;padding-bottom:8px;font-size:14px}.result-line small{display:block;color:#a9afd2}.result-line strong{color:#ffd45e;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:519px){#home-header{padding:12px}.brand{font-size:20px}.nav-button{padding:8px;font-size:14px}.wordmark{font-size:66px;margin:16px 0 28px}.setup{padding:16px 18px 18px}.setup h2{font-size:30px}.topics button{font-size:13px;padding:6px 8px}.play-row{gap:8px}.segments button{min-width:42px}.hud-progress{top:98px}.hud-score strong{font-size:24px}.lower{top:53%;padding:0 10px max(12px,env(safe-area-inset-bottom))}.question{width:calc(100% - 42px);margin-right:42px;padding:10px 12px}.question h2{font-size:21px}.question #hint{font-size:13px}.reveal{width:calc(100% - 42px);margin-right:42px}.reveal h2{font-size:30px}.answer-summary{font-size:13px}.dock{gap:6px}#pass{padding:0 7px;font-size:14px}#clock{width:36px;height:36px;font-size:16px;border-width:3px}.field input{font-size:16px;padding:0 8px}#send{width:42px}.end-card{margin-top:14vh}.climber{width:62px}.climber img{width:56px}}
@media(max-height:550px){.wordmark{font-size:50px;margin:0 0 10px}#common-home{padding-bottom:20px}.setup{padding:12px}.topics{gap:4px}.lower{top:33%}.climber{top:calc(28% - 40px)}.question h2{font-size:20px}.hud-progress{top:12px}.reveal h2{font-size:26px}.alternatives-label,#alternatives{display:none}}
.reveal{display:flex;flex-direction:column}.reveal h2{font-size:32px;flex-shrink:0}.reveal .band-row,.reveal .answer-summary,.reveal .alternatives-label{flex-shrink:0}#alternatives{overflow:auto;min-height:28px;flex:1}#next{align-self:flex-end;float:none;flex-shrink:0}.reveal:after{display:none}#common-form:has(input:disabled):not([aria-busy=true]){opacity:.45}#round-results{max-height:32dvh;overflow:auto;padding-right:8px;scrollbar-color:#6972a7 #131a3f}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
