:root{color-scheme:light;--desktop:teal;--silver:silver;--silver-light:#dfdfdf;--white:#fff;--shadow:gray;--dark-shadow:#404040;--black:#000;--navy:navy;--counter-red:#ff2424;--green:green;--yellow:#ff0;--red:#c00000;--font-ui:Tahoma, "MS UI Gothic", "Noto Sans JP", sans-serif;--font-mono:"Courier New", Consolas, monospace}*{box-sizing:border-box}html{background:var(--desktop);min-width:320px}body{min-height:100vh;color:var(--black);font-family:var(--font-ui);background:var(--desktop);margin:0;overflow-x:hidden}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px dotted var(--black);outline-offset:-4px}kbd{font-family:var(--font-mono)}.ambient{display:none}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.topbar{z-index:30;border:2px solid;border-color:var(--white) var(--dark-shadow) var(--dark-shadow) var(--white);background:var(--silver);grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;min-height:62px;padding:5px;display:grid;position:sticky;top:0}.brand-block{min-width:270px;color:var(--white);background:var(--navy);align-items:center;gap:8px;padding:5px 10px 6px 7px;display:flex}.brand-icon{border:1px solid var(--white);width:34px;height:34px;color:var(--black);background:var(--silver);flex:none;place-items:center;font-size:22px;display:grid}.eyebrow{letter-spacing:.08em;margin:0 0 2px;font-size:9px;font-weight:700}.brand-block h1{letter-spacing:-.02em;margin:0;font-size:21px;line-height:1}.brand-block h1 em{color:var(--yellow);margin-left:5px;font-size:.58em;font-style:normal}.mission-controls{justify-content:flex-end;justify-self:end;align-items:end;gap:6px;min-width:0;display:flex}.header-tools{grid-template-columns:repeat(2,38px) 2px repeat(2,38px);justify-self:center;align-items:stretch;gap:4px;display:grid}.header-tools-divider{border-right:1px solid var(--white);border-left:1px solid var(--shadow);align-self:stretch;margin:3px 0}.header-icon-button{border:2px solid;border-color:var(--white) var(--dark-shadow) var(--dark-shadow) var(--white);cursor:pointer;background:var(--silver);width:38px;min-height:38px;box-shadow:1px 1px 0 var(--black);border-radius:0;place-items:center;padding:0;display:grid}.header-icon-button>span{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:21px;line-height:1}.field{gap:2px;display:grid}.field>span,.counter-label{font-size:9px;font-weight:700}.field input,.field select,.autoplay-speed select{border:2px solid;border-color:var(--dark-shadow) var(--white) var(--white) var(--dark-shadow);height:34px;color:var(--black);background:var(--white);border-radius:0}.field input{width:126px;font-family:var(--font-mono);padding:0 7px}.field select{min-width:122px;padding:0 24px 0 6px}.button,.icon-button,.face-button{border:2px solid;border-color:var(--white) var(--dark-shadow) var(--dark-shadow) var(--white);min-height:34px;color:var(--black);cursor:pointer;background:var(--silver);box-shadow:1px 1px 0 var(--black);border-radius:0;font-size:11px;font-weight:700}.button{justify-content:center;align-items:center;gap:5px;padding:0 11px;display:inline-flex}.icon-button{place-items:center;width:34px;padding:0;display:grid}.button:active:not(:disabled),.icon-button:active:not(:disabled),.header-icon-button:active:not(:disabled),.face-button:active:not(:disabled){border-color:var(--dark-shadow) var(--white) var(--white) var(--dark-shadow);box-shadow:none;padding-top:2px}.button-primary{font-weight:800}.button:disabled,.icon-button:disabled,.header-icon-button:disabled,select:disabled,input:disabled{color:var(--shadow);cursor:not-allowed;text-shadow:1px 1px var(--white)}main{width:100%;margin:0 auto;padding:6px}.game-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;gap:6px;display:grid}.panel{border:2px solid;border-color:var(--white) var(--dark-shadow) var(--dark-shadow) var(--white);background:var(--silver);border-radius:0;min-width:0}.board-panel{flex-direction:column;min-height:calc(100dvh - 74px);display:flex}.board-toolbar{z-index:3;border-bottom:2px solid var(--dark-shadow);background:var(--silver);grid-template-columns:minmax(0,200px) minmax(300px,1fr) minmax(0,200px);align-items:stretch;gap:6px;min-height:78px;padding:6px;display:grid}.counter-box{border:2px solid;border-color:var(--shadow) var(--white) var(--white) var(--shadow);background:var(--silver-light);align-content:center;min-width:0;padding:4px 6px;display:grid}.counter-box strong{min-width:72px;color:var(--counter-red);font-family:var(--font-mono);letter-spacing:.08em;text-align:right;text-shadow:0 0 3px #ff0000b3;white-space:nowrap;background:var(--black);margin:2px 0;padding:1px 5px 0;font-size:24px;line-height:1.05;display:block;overflow:hidden}.counter-box small,.face-button small{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.face-button{place-items:center;min-width:0;padding:2px 5px;display:grid}.assistant-header-status{grid-template-columns:minmax(86px,104px) minmax(0,1fr);gap:10px;min-width:0;display:grid}.autoplay-speech-bubble{overflow-wrap:anywhere;border:2px solid;border-color:var(--shadow) var(--white) var(--white) var(--shadow);background:var(--white);align-items:center;min-width:0;min-height:58px;margin:0;padding:7px 9px;font-size:11px;line-height:1.45;display:flex;position:relative}.autoplay-speech-bubble:before,.autoplay-speech-bubble:after{content:"";width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.autoplay-speech-bubble:before{border-top:8px solid #0000;border-right:10px solid var(--shadow);border-bottom:8px solid #0000;left:-10px}.autoplay-speech-bubble:after{border-top:6px solid #0000;border-right:8px solid var(--white);border-bottom:6px solid #0000;left:-7px}.status-face{place-items:center;width:32px;height:30px;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:28px;font-weight:400;line-height:1;display:grid}.face-button strong{font-size:10px}.mode-button{color:var(--black)}.mode-button.active{border-color:var(--dark-shadow) var(--white) var(--white) var(--dark-shadow);color:var(--white);background:var(--navy);box-shadow:none}.autoplay-actions{align-items:center;gap:5px;display:flex}.voxel-stage{border:3px solid;border-color:var(--dark-shadow) var(--white) var(--white) var(--dark-shadow);background-color:#707070;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:32px 32px;flex:1;min-height:680px;position:relative;overflow:hidden}#voxelCanvas{cursor:grab;touch-action:none;width:100%;height:100%;min-height:680px;display:block}#voxelCanvas:active{cursor:grabbing}.webgl-fallback{color:var(--red);text-align:center;background:var(--silver);place-content:center;gap:8px;padding:24px;display:grid;position:absolute;inset:0}.webgl-fallback[hidden]{display:none}.canvas-legend{z-index:4;border:2px solid;border-color:var(--white) var(--dark-shadow) var(--dark-shadow) var(--white);background:var(--silver);pointer-events:none;gap:10px;padding:4px 6px;font-size:10px;font-weight:700;display:flex;position:absolute;top:8px;left:8px}.canvas-legend span{align-items:center;gap:4px;display:inline-flex}.legend-square{border:2px solid;border-color:var(--white) var(--dark-shadow) var(--dark-shadow) var(--white);background:var(--silver);width:10px;height:10px}.legend-number{color:#00f;font-style:normal}.legend-flag{color:red;font-style:normal}.cell-tooltip{z-index:8;border:1px solid var(--black);max-width:220px;color:var(--black);pointer-events:none;background:#ffffe1;padding:5px 7px;font-size:11px;position:absolute;box-shadow:2px 2px #00000073}.control-column{grid-template-rows:auto auto auto;align-content:start;gap:6px;min-height:0;display:grid}.panel-header,.dialog-heading{min-height:34px;color:var(--white);background:var(--navy);justify-content:space-between;align-items:center;gap:8px;padding:4px 6px;display:flex}.panel-header h2,.dialog-heading h2{margin:0;font-size:12px}.panel-header>strong{color:var(--yellow);font-family:var(--font-mono);font-size:11px}.progress-card{padding:7px}.progress-card progress{appearance:none;border:2px solid;border-color:var(--shadow) var(--white) var(--white) var(--shadow);background:var(--white);border-radius:0;width:100%;height:20px;display:block}.progress-card progress::-webkit-progress-bar{background:var(--white)}.progress-card progress::-webkit-progress-value{background:var(--navy)}.progress-card progress::-moz-progress-bar{background:var(--navy)}.progress-card small{text-align:right;margin-top:5px;font-size:10px;display:block}.autoplay-panel,.feed-panel{padding-bottom:7px}.autoplay-status{border:1px solid var(--white);color:var(--black);background:var(--silver);padding:2px 5px;font-size:9px}.autoplay-actions{padding:7px 7px 0}.autoplay-actions .button-primary{flex:1}.autoplay-speed{align-items:center;gap:3px;font-size:9px;display:flex}.autoplay-speed select{width:58px;height:34px;padding:0 3px}.game-log{overflow-anchor:none;border:2px solid;border-color:var(--shadow) var(--white) var(--white) var(--shadow);background:var(--white);min-height:80px;max-height:240px;margin:7px;padding:4px;font-size:11px;line-height:1.5;list-style:none;overflow-y:auto}.game-log-entry{border-bottom:1px dotted var(--shadow);padding:5px 6px}.game-log-entry:last-child{border-bottom:0}.game-log-entry[data-tone=success]{color:var(--green)}.game-log-entry[data-tone=warning]{color:#805000}.game-log-entry[data-tone=danger]{color:var(--red)}.app-dialog{border:2px solid;border-color:var(--white) var(--dark-shadow) var(--dark-shadow) var(--white);width:min(620px,100vw - 24px);max-height:min(760px,100vh - 24px);color:var(--black);background:var(--silver);border-radius:0;padding:3px;overflow:auto;box-shadow:4px 4px #0000008c}.app-dialog:not([open]){display:none}.app-dialog::backdrop{background:#0000007a}.dialog-heading{z-index:2;position:sticky;top:0}.how-to-content{padding:10px}.how-to-content section+section,.how-to-content section+.how-to-actions,.how-to-actions+.ai-guide-note{margin-top:12px}.how-to-content h3,.ai-guide-note h3{color:var(--navy);margin:0 0 4px;font-size:12px}.how-to-content p,.how-to-actions dd,.ai-guide-note p{margin:0;font-size:11px;line-height:1.6}.how-to-actions{gap:4px;margin-bottom:0;display:grid}.how-to-actions>div{border:1px solid var(--shadow);background:var(--silver-light);grid-template-columns:170px 1fr;gap:8px;padding:6px;display:grid}.how-to-actions dt{font-size:10px;font-weight:700}.ai-guide-note{border:2px solid;border-color:var(--shadow) var(--white) var(--white) var(--shadow);background:var(--white);padding:8px}.result-overlay{width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;background:0 0;border:0;margin:0;padding:12px;position:fixed;inset:0;overflow:hidden}.result-overlay[open]{place-items:center;display:grid}.victory-celebration{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.victory-celebration[data-celebration=idle]{visibility:hidden}.result-dialog{z-index:1;border:3px solid;border-color:var(--white) var(--dark-shadow) var(--dark-shadow) var(--white);width:min(500px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--black);text-align:center;background:var(--silver);padding:22px;position:relative;overflow:auto;box-shadow:4px 4px #000000a6}.panel-kicker{margin:0 0 5px;font-size:10px;font-weight:700}.result-dialog h2{color:var(--navy);margin:0;font-size:clamp(28px,5vw,42px)}.result-dialog>p:not(.panel-kicker){line-height:1.6}.result-stats{grid-template-columns:repeat(4,1fr);gap:4px;margin:16px 0;display:grid}.result-stats span{border:2px solid;border-color:var(--shadow) var(--white) var(--white) var(--shadow);background:var(--silver-light);min-width:0;padding:8px 4px}.result-stats small,.result-stats strong{text-overflow:ellipsis;display:block;overflow:hidden}.result-stats small{font-size:9px}.result-stats strong{font-family:var(--font-mono);margin-top:4px;font-size:12px}.result-actions{justify-content:center;gap:6px;display:flex}@media (width>=1121px){html{height:100%}body{grid-template-rows:auto minmax(0,1fr);height:100dvh;min-height:0;display:grid;overflow:hidden}main,.game-layout,.board-panel,.voxel-stage,#voxelCanvas{min-height:0}.game-layout,.board-panel{height:100%}.board-panel{overflow:hidden}.control-column{overscroll-behavior:contain;overflow-y:auto}}@media (width<=1120px){.game-layout{grid-template-columns:1fr}.control-column{grid-template-rows:auto;grid-template-columns:repeat(3,1fr);align-items:start}}@media (width<=900px){.topbar{grid-template-columns:1fr auto;grid-template-areas:"brand tools""mission mission";align-items:center;position:relative}.brand-block{grid-area:brand}.header-tools{grid-area:tools}.mission-controls{flex-wrap:wrap;grid-area:mission;justify-self:stretch}}@media (width<=700px){.topbar{grid-template-columns:1fr;grid-template-areas:"brand""tools""mission";gap:5px}.brand-block{width:100%}.header-tools{grid-template-columns:repeat(2,minmax(0,1fr)) 2px repeat(2,minmax(0,1fr));justify-self:stretch}.header-icon-button{width:100%}.mission-controls{grid-template-columns:1fr 1fr;width:100%;display:grid}.field input,.field select{width:100%}main{padding:4px}.board-panel{min-height:auto}.board-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"mines time""assistant assistant"}.mines-counter{grid-area:mines}.time-counter{grid-area:time}.assistant-header-status{grid-area:assistant}.voxel-stage,#voxelCanvas{min-height:max(460px,62svh)}.control-column{grid-template-columns:1fr}.canvas-legend{flex-wrap:wrap;max-width:calc(100% - 16px)}}@media (width<=440px){.brand-block{min-width:0}.brand-block h1{font-size:18px}.autoplay-actions{flex-wrap:wrap}.how-to-actions>div{grid-template-columns:1fr}.result-stats{grid-template-columns:repeat(2,1fr)}}@media (pointer:coarse){.button,.icon-button,.header-icon-button{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}button:disabled,select:disabled,input:disabled{cursor:not-allowed}.button:disabled:hover,.icon-button:disabled:hover{transform:none}.autoplay-toggle[aria-pressed=true],#autoplayToggleButton[aria-pressed=true]{border-color:var(--dark-shadow) var(--white) var(--white) var(--dark-shadow);color:var(--white);background:var(--navy);box-shadow:none}
