
:root{color-scheme:dark;--gold:#e8c77f;--ink:#193237;--paper:#f4e6c8;font-family:'Yu Gothic','Meiryo',sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#1d343b;color:var(--paper)}button,input{font:inherit}button{cursor:pointer;border:1px solid #b69b65;color:var(--paper);background:#243d3f;transition:transform .15s,filter .15s,box-shadow .15s}button:hover{filter:brightness(1.12)}button:focus-visible{outline:3px solid #fff2b4;outline-offset:5px}button:disabled{cursor:default;filter:saturate(.5);opacity:.72}button[hidden],[hidden]{display:none!important}#world,.vignette,#title,#hud,#end{position:fixed;inset:0}#world canvas{display:block}.vignette{pointer-events:none;background:linear-gradient(180deg,#10282b66,transparent 36%,transparent 65%,#10272bcc),radial-gradient(ellipse,transparent 45%,#18312c44)}#title{text-align:center;background:linear-gradient(90deg,#14343780,transparent,#14343750);padding-top:8vh}.title-kicker{font-size:13px;letter-spacing:.3em;color:#fff5d9;text-shadow:0 2px 5px #173333}.title-logo{margin:22px auto 0;font-family:Georgia,serif;font-weight:900;color:#fff1c5;text-shadow:0 3px 0 #695535,0 5px 15px #172e37;line-height:.96;display:flex;flex-direction:column;align-items:center}.title-logo>span{font-size:clamp(38px,5vw,76px);letter-spacing:.24em;margin-left:.24em}.title-logo>strong{font-size:clamp(42px,6.7vw,100px);letter-spacing:-.035em}.title-logo small{font-family:'Yu Mincho',serif;font-size:clamp(13px,1.4vw,21px);letter-spacing:.12em;margin-top:20px}.title-divider{margin:18px auto;color:var(--gold);width:180px;display:flex;align-items:center;gap:18px}.title-divider:before,.title-divider:after{content:'';height:1px;background:var(--gold);flex:1}.title-copy{font-size:13px;letter-spacing:.14em;text-shadow:0 2px 4px #142b29}.title-buttons{position:absolute;bottom:9vh;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:1fr 1fr;gap:12px;width:300px}.title-buttons button{height:44px;border-radius:4px;box-shadow:0 4px 18px #10252350}.title-buttons #start{grid-column:1/3;height:60px;background:linear-gradient(#f4d892,#cca451);color:#293733;font:700 22px Georgia,serif;letter-spacing:.15em;border:2px solid #ffedb9;position:relative}#start span{position:absolute;right:22px}.title-footer{position:absolute;bottom:3vh;width:100%;font:10px Georgia,serif;letter-spacing:.25em;color:#efeed0aa}.life-box{position:absolute;top:30px;left:34px;display:flex;gap:14px;align-items:center}.life-box small{font:12px Georgia;letter-spacing:.18em}.life-box>span{color:#f6958c;font-size:27px;letter-spacing:5px;text-shadow:0 2px 6px #18312e}.quiz{position:absolute;top:23px;left:50%;transform:translateX(-50%);width:min(65vw,930px);text-align:center}#q-number{display:inline-block;border:1px solid #d1b36d;background:#1c333eed;border-radius:4px;padding:8px 30px;box-shadow:0 3px 10px #16303255;font:bold 16px Georgia;color:#ffe5a4}#question{margin:11px 0 22px;min-height:68px;display:flex;align-items:center;justify-content:center;padding:14px 30px;background:linear-gradient(100deg,#ddc69c,#faefd7 22%,#faefd7 78%,#dfc89e);border:3px double #a17d43;border-radius:5px;color:#393c35;font-size:clamp(17px,1.65vw,25px);box-shadow:0 5px 15px #203c3940;font-family:'Yu Mincho','Yu Gothic',serif}.answers{display:grid;grid-template-columns:1fr 124px 1fr;gap:25px;align-items:center}.answer{min-height:68px;padding:10px 18px;border:2px solid #e2c194;border-radius:5px;box-shadow:0 5px 0 #392d28aa,0 7px 15px #1a332f44;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:clamp(16px,1.5vw,23px);font-weight:bold;text-shadow:0 2px 1px #34232266;background:repeating-linear-gradient(3deg,transparent 0 11px,#ffffff08 12px 13px),#a84c4f}.answer.right{background-color:#346a88}.answer.selected{outline:3px solid #ffe2a0;outline-offset:4px;transform:scale(1.025);box-shadow:0 0 30px #ffe6a77a}.arrow{color:#ffeed3;font-size:18px}.distance-sign{background:linear-gradient(#745443,#513e34);border:2px solid #b29362;border-radius:4px;padding:5px;color:#fff0cc;box-shadow:0 4px 7px #18392d55}.distance-sign small{display:block;font-size:12px}.distance-sign b{font:700 29px Georgia}.distance-sign em{font:14px Georgia;margin-left:4px}.progress{position:absolute;right:28px;top:38px;width:145px;text-align:center}.mini-logo{font:bold 19px/.95 Georgia;color:#ffe6aa;text-shadow:0 2px 4px #304438}.mini-logo b{font-size:16px}#map{position:relative;margin:30px auto 18px;width:115px;display:flex;flex-direction:column;align-items:center;gap:19px}#map:before{content:'';position:absolute;top:37px;bottom:10px;width:2px;left:12px;background:#efd7a88c}.goal{color:#fff0c2;font:15px Georgia;align-self:start}.map-stop{position:relative;display:flex;align-items:center;gap:14px;width:100%;font:11px Georgia;letter-spacing:.08em;color:#edf1d4a0}.map-stop i{display:block;flex:none;width:13px;height:13px;border-radius:50%;margin-left:7px;border:2px solid #dbd8b5;background:#537f72}.map-stop.current{color:#fff1b7}.map-stop.current i{background:#ffe4a0;box-shadow:0 0 15px #ffe4a0}.map-stop.done i{background:#9fcba3}.stage-plaque{border-top:1px solid #e4d9a280;padding-top:15px;display:grid;gap:6px;text-shadow:0 2px 5px #20322d}.stage-plaque strong{font:18px Georgia;color:#ffdda1}.stage-plaque span{font-size:11px}.controls{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:65px;text-align:center}.go-wrap{display:flex;flex-direction:column;align-items:center;gap:12px}#go{width:100px;height:100px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#ffeaa3,#e7bc59 65%,#b88532);border:4px double #fff1b7;color:#57452b;font:italic bold 32px Georgia;box-shadow:0 6px 0 #816436,0 10px 25px #102c3055}#go:active:not(:disabled){transform:translateY(3px)}.go-wrap small{font-size:10px;letter-spacing:.09em;color:#f7eac4}.key-hint{font-size:12px;white-space:nowrap}kbd{border:1px solid #dfdcbf80;background:#1c373f99;padding:6px 10px;border-radius:4px}.key-hint span{display:block;margin-top:14px;font-size:10px;letter-spacing:.15em}.speed-panel{position:absolute;bottom:44px;right:36px;width:145px}.speed-panel small{display:block;letter-spacing:.25em;font:11px Georgia}.speed-panel b{font:38px Georgia;margin-right:7px}.speed-panel>span{font-size:11px}.speed-bar{height:4px;background:#e5e4c330;margin-top:6px}.speed-bar i{display:block;height:100%;background:#f0d392}#toast{position:absolute;top:39%;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;opacity:0;width:80%;text-shadow:0 3px 3px #294034,0 0 25px #243e36}#toast.visible{opacity:1}#toast strong{display:block;font:900 clamp(32px,4vw,62px) 'Yu Mincho',serif;color:#ffe6a0}#toast span{display:inline-block;margin-top:10px;font-size:14px;background:#1d3038bb;padding:7px 20px;border-radius:20px}.bad strong{color:#ffe3e0!important}#end{display:grid;place-items:center;background:#101c2a9c}.end-card{text-align:center;width:min(90%,650px);padding:40px 30px;background:#183137e8;border:1px solid #bca36b;box-shadow:0 20px 80px #0b202777;border-radius:8px}.end-card small{letter-spacing:.2em;color:var(--gold)}.end-card h1{font:36px Georgia;color:#ffe7ac}.end-card p{font-size:14px;line-height:2}.end-card button{padding:12px 24px;margin:10px;border-radius:4px}dialog{width:min(90vw,480px);border:1px solid #d6b875;border-radius:8px;padding:30px;background:#1c353c;color:var(--paper);box-shadow:0 20px 100px #0008}dialog::backdrop{background:#0c242bbd;backdrop-filter:blur(6px)}dialog h2{margin-top:0;font-family:'Yu Mincho',serif;color:var(--gold)}dialog p{font-size:14px;line-height:2}dialog button{padding:10px 20px;border-radius:4px;margin:10px 4px 0 0}dialog label{display:flex;align-items:center;justify-content:space-between;margin:20px 0;font-size:13px}input[type=range]{accent-color:#e6c175;width:65%}.mobile-help,#mobile-stage{display:none}#error{position:fixed;z-index:99;background:#582d38;padding:25px;inset:30% 10% auto}#debug{position:fixed;bottom:0;left:0;background:#0009;padding:5px;font-size:10px}
@media(min-width:760px) and (max-width:1200px){.progress{right:12px;width:108px}.quiz{width:65vw}.answers{gap:16px;grid-template-columns:1fr 100px 1fr}.life-box{left:18px;gap:6px}.life-box>span{font-size:22px}.mini-logo b{font-size:12px}}
@media(max-width:759px){.title-kicker{font-size:10px;letter-spacing:.16em}.title-logo{margin-top:24px}.title-logo>span{font-size:39px}.title-logo>strong{font-size:clamp(36px,10.8vw,67px)}.title-logo small{font-size:12px;letter-spacing:.04em}.title-copy{font-size:11px}.title-buttons{width:260px;bottom:9vh}.title-footer{font-size:8px;letter-spacing:.12em}#title{padding-top:9vh}.progress,.desktop-help,.key-hint{display:none!important}.mobile-help{display:block}.life-box{top:max(16px,env(safe-area-inset-top));left:18px;gap:10px}.life-box small{font-size:10px}.life-box>span{font-size:21px;letter-spacing:3px}#mobile-stage{display:block;position:absolute;right:15px;top:22px;font-size:9px;max-width:52%;text-align:right;color:#fff4ce}.quiz{width:calc(100% - 28px);top:64px}#q-number{padding:6px 23px;font-size:14px}#question{font-size:17px;min-height:70px;margin:10px 0 14px;padding:12px 14px;line-height:1.6}.answers{grid-template-columns:1fr 76px 1fr;gap:9px}.answer{min-height:65px;font-size:14px;padding:8px 7px;gap:4px;line-height:1.45}.arrow{font-size:11px}.distance-sign{padding:5px 0}.distance-sign small{font-size:10px}.distance-sign b{font-size:25px}.distance-sign em{font-size:11px}.controls{bottom:max(30px,env(safe-area-inset-bottom));gap:0}#go{width:90px;height:90px;font-size:30px}.speed-panel{right:20px;bottom:53px;width:77px}.speed-panel small{font-size:9px}.speed-panel b{font-size:28px}.speed-panel>span{font-size:9px}.go-wrap{gap:12px}#toast{top:38%;width:95%}#toast strong{font-size:36px}#toast span{font-size:11px;padding:7px 12px;max-width:95%}.end-card{padding:30px 18px}.end-card h1{font-size:29px}.end-card p{font-size:13px}}
@media(max-height:600px) and (min-width:760px){.title-logo>strong{font-size:56px}.title-logo>span{font-size:36px}.title-logo small{font-size:14px}.title-divider,.title-copy{display:none}.title-buttons{bottom:5vh}.title-footer{display:none}.quiz{top:12px}#question{margin:7px 0 12px;min-height:50px}.answer{min-height:50px}.controls{bottom:12px}#go{width:75px;height:75px}.progress{top:20px}#map{gap:12px;margin:17px auto}.stage-plaque{padding-top:8px}}

.answer>span:not(.arrow){flex:1;text-align:center}
