:root{color-scheme:dark;--bg: #101514;--panel: #1a211f;--panel-2: #222b28;--ink: #f3f1e8;--muted: #9da8a1;--line: #37443f;--accent: #5ec5d4;--good: #60d489}*{box-sizing:border-box}html{height:100%;overflow-x:hidden}body{margin:0;min-height:100%;width:100%;overflow-x:hidden;background:var(--bg);color:var(--ink);font-family:Courier New,Lucida Console,monospace}button{min-height:44px;border:1px solid var(--line);border-radius:8px;background:#27322e;color:var(--ink);cursor:pointer;font:inherit;font-weight:850}button:hover{border-color:var(--accent)}#app{display:grid;grid-template-columns:minmax(90px,160px) 1fr minmax(90px,160px);gap:18px;align-items:center;min-height:100vh;padding:18px}.game-frame{grid-column:2;display:grid;grid-template-rows:auto auto auto auto auto;gap:14px;justify-self:center;width:min(1040px,100%);min-width:0}.ad{display:grid;min-height:72px;place-items:center;border:1px dashed #4b5a55;border-radius:8px;background:#151b19;color:#738079;font-size:.78rem;font-weight:900;letter-spacing:.12em}.ad-left,.ad-right{min-height:calc(100vh - 36px)}.hud{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.play-controls{display:flex;justify-content:flex-end;gap:8px}.play-controls button{min-height:38px;min-width:92px;padding:0 14px;font-size:.78rem}.hud div{display:grid;align-content:center;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:9px 12px}.hud span{color:var(--muted);font-size:.85rem;font-weight:900}.hud strong{overflow:hidden;margin-top:2px;font-size:clamp(1rem,2.1vw,1.45rem);text-overflow:ellipsis;white-space:nowrap}.hud b{font:inherit}#gameCanvas{display:block;width:100%;max-height:calc(100vh - 242px);aspect-ratio:16 / 9;border:1px solid var(--line);border-radius:8px;background:#101514;touch-action:manipulation}.touch-panel{display:grid;gap:10px;width:100%}.touch-panel button{min-width:0;padding:0;font-size:clamp(.8rem,2vw,1.1rem)}.spot-button{position:relative}.key-grid{display:grid;grid-template-columns:repeat(var(--key-count),minmax(0,1fr));gap:8px;width:100%}.nav-row{display:grid;grid-template-columns:1fr 2fr 1fr;gap:8px;width:100%}.item-guide{display:flex;flex-direction:row;gap:18px;align-items:flex-start}.guide-group{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.guide-label{margin:0;color:var(--muted);font-size:.88rem;font-weight:900;letter-spacing:.1em}.guide-items{display:grid;gap:8px}.guide-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-items-list{grid-template-columns:repeat(4,minmax(0,1fr))}.guide-items span{display:grid;min-height:40px;align-content:center;color:var(--muted);padding:6px 8px;text-align:center;font-size:.82rem;font-weight:900;border-top:1px solid var(--line)}.guide-items b{color:var(--ink);font-size:.9rem}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:22px;background:#080b0ad1}#pauseModal{background:#080b0a}.hidden{display:none}.modal-card{width:min(560px,100%);border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:24px;text-align:center;box-shadow:0 26px 80px #0000006b}.modal-card h1,.modal-card h2{margin:0;font-size:clamp(2rem,7vw,4rem);line-height:.95;letter-spacing:0}.subtitle,#resultStats{color:var(--muted);font-weight:800}.mode-grid,.result-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:22px}.result-card{width:min(680px,100%)}.pause-card{width:min(440px,100%)}#endingCanvas{display:block;width:100%;margin-bottom:14px;border-radius:8px;background:#101514}.ad-result{margin:0 0 18px;min-height:96px}.result-grade{margin:6px 0 2px;font-size:clamp(3rem,11vw,5rem);font-weight:900;line-height:1;letter-spacing:-.02em}.result-grade[data-grade=S]{color:#f0b800;text-shadow:0 0 24px rgba(240,184,0,.5)}.result-grade[data-grade=A]{color:#60d489}.result-grade[data-grade=B]{color:#5ec5d4}.result-grade[data-grade=C]{color:#9da8a1}.result-grade[data-grade=F]{color:#f02828}.modal:not(.hidden)~#mobileControls{display:none!important}.mobile-controls{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.mobile-btn{position:absolute;pointer-events:auto;width:88px;height:88px;border-radius:50%;background:#0a1410cc;border:3px solid var(--line);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:border-color .08s,background .08s}.mobile-btn:active{background:#1e3a2df2;border-color:var(--accent);color:var(--accent)}.mobile-item-btn{left:16px;bottom:calc(124px + env(safe-area-inset-bottom,0px));font-family:Courier New,monospace;font-weight:900;font-size:.68rem;letter-spacing:.06em;flex-direction:column;gap:2px}.mobile-left-btn{left:16px;bottom:calc(20px + env(safe-area-inset-bottom,0px))}.mobile-right-btn{right:16px;bottom:calc(20px + env(safe-area-inset-bottom,0px))}.mobile-confirm-btn{right:16px;bottom:calc(124px + env(safe-area-inset-bottom,0px))}.menu-footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.menu-footer-nav a{color:var(--muted);text-decoration:none;font-size:.72rem;font-weight:900;letter-spacing:.1em;transition:color .12s}.menu-footer-nav a:hover{color:var(--accent)}@media(pointer:coarse){.mobile-controls{display:block}.touch-panel,.item-guide{display:none}#app{align-items:start;padding-top:max(52px,env(safe-area-inset-top,52px));padding-bottom:calc(224px + env(safe-area-inset-bottom,0px))}}#site-footer{position:fixed;bottom:0;left:0;right:0;z-index:4;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 14px;padding:5px 16px;background:#101514ed;border-top:1px solid var(--line)}#site-footer a{color:var(--muted);text-decoration:none;font-size:.68rem;font-weight:900;letter-spacing:.1em;transition:color .12s}#site-footer a:hover{color:var(--accent)}@media(pointer:coarse){#site-footer{display:none}}@media(max-width:920px){#app{grid-template-columns:1fr;padding:12px}.ad-left,.ad-right,.ad-top,.ad-bottom{display:none}.game-frame{grid-template-rows:auto auto auto auto auto}.hud{grid-template-columns:repeat(5,minmax(0,1fr))}.hud div{padding:7px}.hud span{font-size:.72rem}.hud strong{font-size:.85rem}#gameCanvas{max-height:none}.key-grid{grid-template-columns:repeat(var(--key-count),minmax(36px,1fr))}.spot-button{min-height:54px;font-size:1rem}.key-grid{display:none}.guide-items-list{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-grid,.result-actions{grid-template-columns:1fr}}
