*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#0e1118;color:#e8edf6;font-family:Meiryo,sans-serif}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid #f6ce75;outline-offset:2px}#screen{height:100vh;height:100dvh;max-width:640px;margin:auto;display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) 12px env(safe-area-inset-bottom,0px)}header{display:flex;align-items:center;justify-content:space-between;padding:12px 4px 10px;gap:8px}.eyebrow{font-size:10px;letter-spacing:.12em;color:#a4b5cc}h1{font-size:23px;margin:3px 0 0;line-height:1.3}h1 small{font-size:12px;font-weight:normal;color:#bbd7c9;margin-left:8px}#reset{background:transparent;border:1px solid #56677c;border-radius:8px;padding:9px;font-size:12px;white-space:nowrap}.switch{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#192330;border:1px solid #36475b;border-radius:12px;gap:4px}.switch button{border:0;background:transparent;padding:10px 0;border-radius:8px;font-size:14px;font-weight:bold;color:#aab9cb}.switch button[aria-pressed=true]{color:#1a2330;background:#e3c783}.intro{font-size:11px;line-height:1.6;color:#aebed0;margin:8px 4px}#stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}canvas{max-width:100%;max-height:100%;image-rendering:pixelated;display:block;border-radius:6px}#loading{position:absolute;background:#162030;padding:12px;border-radius:8px}#controls{height:176px;flex-shrink:0;position:relative;touch-action:none;user-select:none;-webkit-user-select:none}#pad,#round{position:absolute;left:6px;bottom:12px;width:150px;height:150px;touch-action:none}#pad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,48px);gap:3px}#pad button{background:rgba(58,71,96,.78);border:1px solid #566;border-radius:9px;color:#fff;font-size:20px;touch-action:none;padding:0}#pad .pressed{background:rgba(120,140,180,.9)}[hidden]{display:none!important}#round svg{width:100%;height:100%;pointer-events:none}#round circle{fill:#273a50;stroke:#748ba4;stroke-width:2}#round path[data-d]{fill:#344960;stroke:none}#round path.pressed{fill:#b79a58}#round .lines{fill:none;stroke:#748ba4;stroke-width:1.5}#round .neutral{fill:#132231;stroke:#8a9dad;stroke-width:1}#round .arrows{fill:#fff;text-anchor:middle;font-size:20px}.guide{margin-left:174px;padding-top:14px;font-size:11px;line-height:1.6}.guide strong{font-size:17px;color:#f3d595}.guide p{margin:6px 0}.guide span{display:block;color:#94a9be;font-size:10px}footer{font-size:10px;line-height:1.4;text-align:center;color:#8ca0b8;padding:0 2px 9px}@media(max-height:500px) and (orientation:landscape){#screen{max-width:100%;display:grid;grid-template-columns:230px 1fr;grid-template-rows:58px 1fr 24px;gap:0 12px;padding:0 12px}header{grid-column:1/3;padding:5px}.eyebrow{display:none}h1{font-size:19px}.switch{position:absolute;right:16px;top:9px;width:310px;height:40px}.switch button{font-size:12px;padding:5px}#reset{margin-right:330px}.intro{display:none}#stage{grid-column:2;grid-row:2}#controls{grid-column:1;grid-row:2;height:auto;align-self:stretch}#pad,#round{left:5px;bottom:8px}.guide{margin:0;width:220px;font-size:10px;padding:4px 6px}.guide strong{font-size:14px}.guide p{font-size:10px}.guide span{display:block;font-size:9px}footer{grid-column:1/3;grid-row:3;padding:3px;font-size:9px}}

/* Game controls must not open native long-press selection/callout UI. */
#screen,#screen *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
#stage{touch-action:none}

#screen,#screen *{touch-action:none}
