:root{color-scheme:dark;--bg:#081322;--panel:#13273c;--edge:#385b73;--mint:#78e1d5;--text:#f0f7ff;--dim:#a6c2d5;--violet:#d6a4ff;--gold:#f8ce75}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;background:var(--bg);color:var(--text)}button,select,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #fce3a2;outline-offset:2px}[hidden]{display:none!important}.screen{min-height:100dvh}.shell{max-width:930px;margin:auto;padding:27px 26px 36px}.landing{background:radial-gradient(ellipse at 70% 25%,#24445e 0%,#0a1b2e 50%,#081321 96%)}.topline{display:flex;justify-content:space-between;align-items:center;color:#8fc4d5;font-size:11px;letter-spacing:.16em;font-weight:800}.lang{display:flex;align-items:center;gap:9px;letter-spacing:0;color:#b1d4e3}.lang select,.filter select{padding:7px;background:#162d43;border:1px solid #486d7d;color:#fff;border-radius:8px}.hero{position:relative;padding:91px 0 43px;overflow:hidden}.halo{position:absolute;right:8%;top:34px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#7bdfd344,#2e718725 55%,#0a173100 70%);border:1px solid #73dbdb30;box-shadow:0 0 90px #68dfe11a;pointer-events:none}.kicker,.eyebrow{font-size:10px;letter-spacing:.16em;color:#85cfca;font-weight:850}.hero h1{position:relative;margin:12px 0 23px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,7.1vw,76px);line-height:1.05;letter-spacing:-.048em;overflow-wrap:anywhere}.questionMark{color:var(--mint)}.lead{max-width:680px;font-size:clamp(15px,2.1vw,18px);font-weight:750;line-height:1.9;margin:0 0 16px}.detail{max-width:730px;color:#c1d6e4;font-size:13px;line-height:1.95}.setup{max-width:735px;border:1px solid #4c7185;background:linear-gradient(135deg,#1b344aee,#12253ae8);border-radius:19px;padding:23px;box-shadow:0 20px 50px #010c1d33}.setupTitle{color:#bdd9e4;font-weight:850;font-size:13px;margin-bottom:12px}.levelGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.level{position:relative;cursor:pointer}.level input{position:absolute;opacity:0}.levelBody{border:1px solid #4b667a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:74px;background:#102439;border-radius:13px;padding:15px 12px}.levelBody strong{font-size:16px;color:#f4fcff}.levelBody small{font-size:11px;color:#9dbdd0}.levelBody small:empty{display:none}.level input:checked+.levelBody{background:#1a4a54;border-color:#78e1d5;box-shadow:inset 0 0 0 1px #78e1d5aa}.level input:focus-visible+.levelBody{outline:3px solid #ffd890}.setupFoot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;color:#a5c8d8;font-size:12px}.primary{min-height:45px;padding:10px 23px;border:0;border-radius:12px;background:var(--mint);color:#062630;font-weight:900}.primary:hover{background:#a9fae8}.homeLinks{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;max-width:735px;margin-top:14px}.homeLinks button,.secondary,.back{padding:15px 11px;border:1px solid #48677f;border-radius:12px;background:#172a41;font-weight:750;font-size:12px}.homeLinks button:hover,.secondary:hover,.back:hover{background:#23415b}.smallPill{padding:3px 8px;background:#255462;border-radius:12px;font-size:11px}footer{text-align:center;color:#749db4;font-size:11px;margin-top:28px}.subpage{background:radial-gradient(ellipse at 80% 10%,#18364a 0%,#0a1727 70%)}.subpage h2{font-size:26px;margin:22px 0}.back{padding:10px 15px}.prose{max-width:790px}.prose h3{color:#99e6df;margin-top:27px;font-size:18px}.prose p{font-size:14px;color:#c7deed;line-height:1.95}.mathBox{background:#122940;border:1px solid #43637b;border-radius:13px;padding:20px;text-align:center;font-family:Georgia,serif;line-height:2.1}.legend{height:15px;border-radius:99px;background:linear-gradient(90deg,#fa435a,#f7fbff,#2777fd);margin-top:18px}.legendLabels{display:flex;justify-content:space-between;color:#aec1d6;font-size:11px;margin-top:6px}.quiet{font-size:12px;color:#a9c5d5;line-height:1.7}.filter{display:flex;align-items:center;gap:13px;font-size:12px;color:#b5d5e2;margin:19px 0}.galleryGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:11px}.galleryCard{background:#152a40;border:1px solid #4c667d;padding:15px;border-radius:13px;display:flex;flex-direction:column;gap:9px;text-align:left;min-height:112px}.galleryCard .formula{font-size:15px}.galleryCard small{color:#c0d0df}.galleryCard.locked{opacity:.45;cursor:default}.saveActions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.importLabel{border:1px solid #48677f;padding:11px 15px;border-radius:12px;background:#172a41;cursor:pointer;font-size:12px;font-weight:750}.importLabel input{display:none}
.game{height:100dvh;overflow:hidden}.game #gameLayout{height:100%;display:flex}.workspace{flex:1;min-width:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 47% 35%,#243f5c 0%,#0c1c32 68%,#071223 100%);position:relative;padding:77px 14px 9px}.gameHeader{position:absolute;top:15px;left:19px;right:98px;pointer-events:none}.gameHeader h1{font-family:Georgia,serif;font-size:clamp(21px,3.0vw,32px);margin:4px 0;letter-spacing:-.05em}.gameHeader h1 span{color:var(--mint)}.viewButtons{position:absolute;right:-77px;top:0;display:flex;gap:7px;pointer-events:all}.viewButtons button{width:34px;height:34px;background:#182b41;border:1px solid #56758c;border-radius:10px;font-size:21px}.modeRow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:49px;margin-bottom:9px}.modePill{display:flex;align-items:center;gap:3px;background:#0d2135;border-radius:11px;padding:3px;border:1px solid #45657b}.modePill button{border:0;padding:8px 13px;background:transparent;color:#abc7d7;border-radius:8px;font-size:12px;font-weight:800}.modePill button[aria-pressed=true]{background:#51c0bd;color:#052b38}.modeDescription{color:#c2dfe7;font-size:11px}.dual{display:grid;grid-template-columns:1fr 1fr;flex:1;min-height:0;gap:10px}.plane{min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid #42647a;background:linear-gradient(155deg,#152e47,#0b1a2e);border-radius:17px;overflow:hidden;position:relative}.plane.isParam{border-color:#76cdbd}.plane.isGraph{border-color:#6691ca}.planeTop{display:flex;justify-content:space-between;gap:7px;align-items:center;padding:10px 12px 6px;white-space:nowrap}.planeTop strong{font-size:14px}.role{margin-left:9px;font-size:10px;color:#8cf0d8;font-weight:750}.plane.isGraph .role{color:#a5c1ff}.coord{font-size:10px;color:#c0d5e3;overflow:hidden;text-overflow:ellipsis}.plane canvas{display:block;width:100%;flex:1;min-height:0;touch-action:none;cursor:grab}.plane.isParam canvas{cursor:crosshair}.planeFoot{height:27px;padding:4px 11px;font-size:10px;color:#a9c8d8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewFooter{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:9px 3px 3px}.viewFooter>div{display:flex;gap:8px}.smallBtn,.zoomControls button{padding:7px 10px;border:1px solid #476a83;background:#182d44;border-radius:8px;font-size:11px;color:#e2eff8;font-weight:700}.smallBtn[aria-pressed=true]{background:#27505b;border-color:var(--mint)}.zoomControls{display:flex;align-items:center;gap:7px;font-size:11px;color:#c5dae8}.zoomControls button{min-width:29px;font-size:16px;padding:4px 6px}.workHint{margin:2px 3px 3px;color:#99b8cd;font-size:10px;line-height:1.3}#panel{width:356px;max-width:44vw;flex-shrink:0;overflow-y:auto;border-left:1px solid #3c5774;background:linear-gradient(160deg,#152940,#0f1d33);padding:22px 18px 15px;display:flex;flex-direction:column;gap:14px;overscroll-behavior:contain}.scoreRow{display:flex;justify-content:space-between;font-size:11px;color:#b7cfdf;font-variant-numeric:tabular-nums}.scoreRow #questionIndex{letter-spacing:.06em;font-weight:850;color:var(--mint)}.quizTitle h2{font-family:Georgia,serif;font-size:22px;margin:1px 0 8px;letter-spacing:-.02em}.quizTitle p{color:#b7cad9;font-size:12px;line-height:1.75;margin:0}.guessButtons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.guessButtons button{font-weight:850;font-size:17px;background:linear-gradient(160deg,#23506a,#18374e);border:1px solid #67acb5;border-radius:13px;min-height:54px}.guessButtons button:hover{background:#2b6076}.hintToggle{border:1px solid #9475a4;background:#283051;min-height:43px;border-radius:12px;font-size:12px;font-weight:800;color:#ecdef8}.hintToggle[aria-expanded=true]{background:#46305b}.hintTools{background:#172d44;border:1px solid #4b6b85;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:11px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tabs button{border:1px solid #617187;background:#17243d;border-radius:9px;padding:9px 3px;font-size:11px;font-weight:700}.tabs button.active{background:#44375f;border-color:var(--violet)}.hintDesc{font-size:11px;line-height:1.7;color:#bdd3e1;margin:6px 0 11px}.circleControls{display:grid;grid-template-columns:45% 1fr;gap:12px}.circleControls canvas{width:100%;aspect-ratio:1;display:block;touch-action:none;cursor:crosshair;border:1px solid #4b7188;background:#0e2035;border-radius:11px}.sliderBox{min-width:0}.sliderBox label,.sliderLine{display:flex;flex-direction:column;gap:6px;color:#bcd3e2;font-size:11px}.sliderBox label{flex-direction:row;justify-content:space-between;gap:4px}.sliderBox input,.sliderLine input{width:100%;accent-color:#c8a0ff}.hintMeasure{border-left:3px solid #f5c576;background:#293446;padding:7px 9px;color:#fae6ad;font-size:11px;line-height:1.6;margin:9px 0 0}.sliderLine{margin:10px 0}.sliderLine>span{display:flex;justify-content:space-between}.anglePresets{display:flex;gap:8px}.anglePresets button{flex:1;background:#253d57;border:1px solid #4c6b85;border-radius:8px;font-size:11px;padding:8px 4px}.diagHeader{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#bcd2e0;margin:10px 0 6px}.diagHeader span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#diagCanvas{display:block;width:100%;height:205px;background:radial-gradient(ellipse at 50% 40%,#1a3654,#102138 75%);border:1px solid #4b6580;border-radius:12px;touch-action:none;cursor:grab}#answerBanner{display:flex;flex-direction:column;gap:5px;border-top:1px solid #3c6079;padding-top:9px}#answerStatus{font-size:19px}#answerStatus.correct{color:#80eac7}#answerStatus.incorrect{color:#ffa8ad}#answerVerdict{font-size:13px;color:#dfebf6}.revealCard{border:1px solid #415d76;border-radius:13px;background:#0c1b2e;padding:14px;display:flex;flex-direction:column;gap:9px}.formula{font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1.5;overflow-wrap:anywhere}.revealCard p{font-size:12px;line-height:1.8;color:#d0e1ed;margin:0}.revealCard .colorKey{font-size:10px;color:#9dc4d8}.revealCard button{margin-top:3px}.next{width:100%}.panelEnd{border-top:1px solid #3a5670;padding-top:10px;display:flex;flex-direction:column;gap:4px;color:#7ba0bb;font-size:10px;margin-top:auto}
@media(max-width:850px){#panel{width:320px;padding:16px 12px}.workspace{padding:77px 10px 8px}.planeTop{padding:8px 7px 5px}.planeTop strong{font-size:12px}.planeTop .role{font-size:9px;margin-left:5px}}
@media(max-width:740px){.game{height:100dvh}.game #gameLayout{flex-direction:column}.workspace{min-height:0;flex:1;padding:58px 7px 4px}.gameHeader{top:8px;left:11px;right:76px}.gameHeader .eyebrow{font-size:8px}.gameHeader h1{font-size:22px}.viewButtons{right:-66px}.viewButtons button{width:29px;height:29px;font-size:17px}.modeRow{margin-bottom:4px;gap:5px;min-height:35px}.modePill button{font-size:10px;padding:6px 9px}.modeDescription{font-size:10px}.dual{gap:5px}.plane{border-radius:11px}.planeTop{align-items:flex-start;flex-direction:column;gap:2px;padding:5px 6px 1px}.planeTop strong{font-size:11px}.planeTop .role{font-size:9px}.coord{font-size:9px}.planeFoot{font-size:9px;height:20px;padding:2px 6px}.viewFooter{padding:5px 1px 1px}.smallBtn{font-size:10px;padding:5px}.zoomControls{font-size:10px;gap:4px}.zoomControls button{min-width:24px;padding:2px 5px}.workHint{display:none}#panel{width:100%;max-width:none;max-height:49dvh;flex-shrink:0;border-top:1px solid #3c5774;border-left:0;padding:11px 13px max(13px,env(safe-area-inset-bottom));gap:10px}.quizTitle h2{font-size:18px;margin:0 0 4px}.quizTitle p{font-size:11px}.guessButtons button{min-height:45px}.hintTools{padding:9px}.setup{padding:16px}.shell{padding:21px 16px}.hero{padding:60px 0 25px}.hero h1{font-size:clamp(34px,7.7vw,55px)}.levelBody{padding:11px 7px;min-height:70px}.levelBody strong{font-size:13px}.levelBody small{font-size:10px}.homeLinks{grid-template-columns:1fr 1fr}.homeLinks button:last-child{grid-column:1/-1}}
@media(max-width:400px){.hero h1{font-size:32px}.modeDescription{max-width:155px}.planeTop .role{margin-left:2px}.planeTop strong{font-size:10px}.coord{font-size:8px}}@media(max-height:470px) and (orientation:landscape){.game #gameLayout{flex-direction:row}#panel{width:310px;max-width:44vw;max-height:none;border-top:0;border-left:1px solid #3c5774}.workspace{padding-top:47px}.modeDescription{display:none}}

/* v0.2: negative-answer discovery and the two coordinate projections of a true witness disc */
.discovery{display:flex;flex-direction:column;gap:9px;border-top:1px solid #3c5975;padding-top:11px;margin-top:3px}
.discovery .eyebrow{color:#f5c887}.witnessAction{border-color:#b28c58!important;background:#39354b!important;color:#ffe2a8!important}
.witnessDetails{border:1px solid #526b8c;background:#13273b;border-radius:11px;padding:11px;display:flex;flex-direction:column;gap:8px}
.witnessDetails strong{font-size:12px;color:#ffc8c4}.witnessDetails p{font-size:11px;line-height:1.8}
.witnessMaps{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.witnessMaps>div{min-width:0}.witnessMaps canvas{width:100%;aspect-ratio:1;display:block;border:1px solid #406078;border-radius:9px;background:#0b2034}
.witnessPlaneLabel{font-weight:750;font-size:11px;color:#b2d5e4;margin-bottom:4px}
