:root{color-scheme:light;--paper:#f3f1e9;--ink:#173e35;--muted:#7b8277;--orange:#f5794c;--line:#d6d8cc;--dark:#112b27}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}.header{max-width:1320px;margin:auto;padding:26px 48px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:900;letter-spacing:-1px}.brand-en{font-size:10px;letter-spacing:2px;margin-left:6px;font-weight:600}.brand-mark{display:grid;grid-template-columns:repeat(2,10px);gap:3px;transform:rotate(-7deg)}.brand-mark i{width:10px;height:10px;border-radius:2px;background:var(--ink)}.brand-mark i:nth-child(2){background:var(--orange)}.edition{font-size:11px;letter-spacing:1px;display:flex;align-items:center;gap:8px}.edition>span{width:6px;height:6px;border-radius:50%;background:var(--orange)}.edition b{margin-left:8px;border:1px solid var(--line);padding:4px 8px;border-radius:5px;font:11px monospace}.layout{max-width:1260px;margin:0 auto;display:grid;grid-template-columns:310px minmax(0,1fr);gap:65px;padding:44px 48px 30px}.eyebrow{font-size:9px;letter-spacing:1.2px;margin:0 0 25px;font-weight:700}.sidebar h1{font-size:35px;line-height:1.7;letter-spacing:-1.5px;margin:0 0 18px;font-weight:800}.sidebar h1>span{color:var(--orange)}.intro{font-size:12px;line-height:2.1;color:#6a766b;margin:0}.rule-line{height:1px;background:var(--line);margin:28px 0 22px}.small-title{font-size:12px;display:flex;gap:16px;align-items:center;margin:0 0 19px}.small-title span{font-size:8px;letter-spacing:1px;color:var(--muted);font-weight:500}.control{display:flex;gap:13px;margin:17px 0;align-items:center}.control-icon{display:flex;align-items:center;justify-content:center;flex:0 0 33px;height:33px;border:1px solid #c9cec2;border-radius:9px;font:22px Georgia,serif}.control b{font-size:11px}.control p{font-size:10px;color:#777f73;margin:5px 0 0}.tip{font-size:10px;line-height:2;background:#e8e9de;border-radius:9px;padding:13px 14px;margin:22px 0 18px;color:#67766a}.tip>span{font-size:9px;background:var(--ink);color:var(--paper);padding:2px 5px;border-radius:3px;margin-right:5px}.settings{border-top:1px solid var(--line);padding-top:15px;font-size:11px}.settings summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;padding:0 3px 10px;font-weight:600}.settings summary::-webkit-details-marker{display:none}.settings[open] summary>span{transform:rotate(45deg)}.setting-row{display:flex;justify-content:space-between;align-items:center;margin:12px 0}.settings p{color:var(--muted);font-size:9px}.settings input{accent-color:var(--ink)}.settings select{background:var(--paper);border:1px solid var(--line);padding:3px 7px;border-radius:4px;font-size:10px;color:var(--ink)}.original-credit{font-size:9px;line-height:1.9;color:#92988b;margin-top:21px}.arcade{min-width:0;max-width:660px}.game-toolbar{display:flex;align-items:center;justify-content:space-between;height:37px;margin-bottom:12px}.stage-label{display:flex;align-items:center;gap:9px}.live-dot{width:6px;height:6px;background:var(--ink);border-radius:50%}.stage-label>span:nth-child(2){font:9px monospace;letter-spacing:1px;color:var(--muted)}.stage-label b{font:700 16px monospace;letter-spacing:1px}.toolbar-actions{display:flex;align-items:center;gap:7px}.toolbar-actions button{background:transparent;color:#6c786e;padding:8px 10px;font-size:10px;border:1px solid var(--line);border-radius:6px}.toolbar-actions button:hover{background:#e6e8db}.toolbar-actions button span{margin-left:5px}.screen{position:relative;padding:0 15px;border-radius:15px;background:var(--dark);box-shadow:0 14px 35px #163e351a;overflow:hidden;border:1px solid #24493f}.hud{height:65px;display:flex;align-items:center;justify-content:space-between;color:#eef2db;padding:0 8px}.hud span{display:block;font:8px monospace;letter-spacing:1.4px;color:#8da89a;margin-bottom:6px}.hud b{font:20px monospace;letter-spacing:2px}.hud-right{display:flex;gap:27px;text-align:right}.hud-right b{font-size:17px}canvas{display:block;width:100%;height:auto;aspect-ratio:448/400;background:#153932;border:1px solid #2c5044;border-radius:6px;outline:none;touch-action:none;cursor:none}.screen-bottom{display:flex;justify-content:space-between;align-items:center;height:34px;padding:0 8px;font-size:8px;color:#8aa395}.screen-bottom>span:first-child{font:8px monospace;letter-spacing:1.3px}.under-board{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 3px 0;color:#75816e;font-size:10px}.under-board p{margin:0;display:flex;gap:8px;align-items:center}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;flex-shrink:0}.orange{background:var(--orange)}.pause-hint{font:9px monospace;border:1px solid var(--line);padding:4px 6px;border-radius:4px;white-space:nowrap}.overlay{position:absolute;inset:65px 15px 34px;display:flex;align-items:center;justify-content:center;background:#102b27b8;backdrop-filter:blur(3px);border-radius:6px}.overlay[hidden]{display:none}.overlay-card{color:#f1f0e4;text-align:center;width:min(85%,350px);padding:30px 20px}.overlay-card>span{font-size:10px;letter-spacing:2px;color:#b0c2ae}.overlay-card h2{font-size:29px;letter-spacing:-1px;margin:21px 0 17px;white-space:nowrap}.overlay-card h2 span{color:#f88b61}.overlay-card>p{color:#aabcb0;font-size:11px;line-height:2.1}.primary{display:flex;align-items:center;justify-content:space-between;margin:26px auto 0;background:var(--orange);color:#173c31;padding:15px 22px;border-radius:7px;width:210px;font-weight:800;font-size:12px;box-shadow:0 3px 0 #bf5836;transition:background .15s,transform .15s}.primary:hover{background:#ff9167;transform:translateY(-1px)}.primary>span{font-size:20px;line-height:12px}.overlay-card .overlay-hint{font-size:8px;margin:14px 0 0;color:#839d8d}.touch-controls{display:none}footer{max-width:1224px;margin:auto;padding:20px 48px 25px;display:flex;justify-content:space-between;font-size:9px;color:#909789;border-top:1px solid var(--line)}footer>span:last-child{font:8px monospace;letter-spacing:1px}footer i{margin:0 10px;font-style:normal}
@media(min-width:1450px){.layout{gap:90px;grid-template-columns:330px minmax(0,1fr)}}
@media(max-width:1000px){.layout{grid-template-columns:245px minmax(0,1fr);gap:28px;padding:30px 30px}.header{padding:23px 30px}.sidebar h1{font-size:29px}.brand-en{display:none}.overlay-card h2{font-size:24px}.hud{height:55px}.overlay{top:55px}.toolbar-actions{gap:3px}.toolbar-actions button{padding:7px;font-size:9px}.restart-text{display:none}footer{padding:20px 30px}}
@media(max-width:720px){.header{padding:18px 20px}.brand{font-size:21px}.edition{font-size:9px}.layout{display:flex;flex-direction:column;gap:20px;padding:20px 16px}.sidebar{display:contents}.eyebrow,.sidebar h1,.intro,.rule-line,.small-title,.control,.tip,.original-credit{display:none}.arcade{order:0}.settings{order:1;padding:15px 10px 0}.settings summary{font-size:12px}.screen{padding:0 9px}.overlay{left:9px;right:9px}.overlay-card h2{font-size:25px}.hud{padding:0 6px}.hud b{font-size:18px}.touch-controls{display:flex;gap:8px;margin-top:18px}.touch-controls button{flex:1;background:var(--ink);color:var(--paper);border-radius:8px;padding:13px 8px;font-size:11px;touch-action:none;user-select:none}.touch-controls button:nth-last-child(1){background:var(--orange);color:var(--ink)}footer{padding:18px 20px;font-size:8px}footer>span:last-child{font-size:6px;letter-spacing:0}.toolbar-actions button{font-size:9px}.game-toolbar{margin-bottom:7px}.under-board{font-size:9px}.overlay-card{padding:18px 10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

@media(max-width:720px){.sidebar .tip{display:block;order:1;margin:0;font-size:10px}.settings{order:2}}

#stage-select{width:65%;min-width:0;max-width:65%}.under-board p{min-width:0;overflow-wrap:anywhere}.pause-hint{flex-shrink:0}.block-guide{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.block-guide dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:9px 8px;line-height:1.6}.block-guide dt{font-weight:600}.block-guide dd{margin:0;color:var(--muted)}
