@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;font-family:'DM Sans','Noto Sans KR',sans-serif;background:#101a19;color:#f4f2e9}
*{box-sizing:border-box}
body{margin:0;min-width:320px}
button{font:inherit;cursor:pointer}
.page{max-width:1100px;min-height:100vh;margin:auto;padding:0 clamp(20px,5vw,70px);display:flex;flex-direction:column}
.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #35403b}
.brand{font-size:1.55rem;font-weight:800;letter-spacing:-.08em;text-decoration:none;color:#f4f2e9}.brand span,h1 span{color:#d6f16d}
.back-link,footer a{color:#b8c1b7;text-decoration:none}.back-link:hover,footer a:hover{color:#d6f16d}
main{flex:1;padding:42px 0 65px}
.heading{margin-bottom:32px}.eyebrow{color:#d6f16d;font-size:.72rem;font-weight:700;letter-spacing:.22em;margin:0 0 8px}
h1{font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.2;letter-spacing:-.06em;margin:0}.heading>p:last-child{margin:12px 0 0;color:#aeb7b0;font-size:.94rem}
.game-layout{display:grid;grid-template-columns:minmax(0,420px) minmax(240px,1fr);gap:26px;align-items:start}
.board-panel{width:100%}.board-wrap{position:relative;width:min(100%,360px);aspect-ratio:1/2;border:1px solid #405049;background:#0b1212;box-shadow:0 22px 50px #060d0d55}
#board{display:block;width:100%;height:100%}.overlay{position:absolute;inset:0;background:#081110dc;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px}.overlay[hidden]{display:none}.overlay-kicker{color:#d6f16d;font-size:.7rem;letter-spacing:.2em;font-weight:700}.overlay h2{font-size:clamp(1.5rem,5vw,2.2rem);letter-spacing:-.05em;margin:8px 0}.overlay>p:not(.overlay-kicker){color:#bbc5ba;font-size:.86rem;line-height:1.6;margin:0 0 25px}
.primary-button{border:0;border-radius:4px;background:#d6f16d;color:#142018;padding:12px 24px;font-weight:800}.primary-button:hover{background:#edffa7}
.sidebar{display:grid;gap:16px;max-width:350px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat,.next-card,.instructions{border:1px solid #35403b;background:#16221f;border-radius:6px}.stat{padding:16px 18px}.stat span,.next-card>span{display:block;color:#9caaa0;font-size:.78rem}.stat strong{display:block;margin-top:7px;color:#f4f2e9;font-size:1.65rem;line-height:1.2}.next-card{padding:16px 18px}.next-card canvas{display:block;margin:8px auto 0;max-width:100%}.secondary-button{width:100%;border:1px solid #d6f16d;border-radius:4px;background:transparent;color:#d6f16d;padding:11px;font-weight:700}.secondary-button:hover:not(:disabled){background:#d6f16d;color:#101a19}.secondary-button:disabled{opacity:.45;cursor:default}.instructions{padding:16px 18px}.instructions h2{font-size:.92rem;margin:0 0 15px}.instructions p{color:#aeb7b0;font-size:.81rem;margin:10px 0}kbd{display:inline-block;min-width:25px;text-align:center;padding:3px 5px;margin-right:5px;border:1px solid #526158;border-radius:3px;color:#e6e9dc;font:inherit;font-size:.75rem}
.touch-controls{width:min(100%,360px);display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:12px}.touch-controls button{height:53px;border:1px solid #526158;border-radius:6px;background:#1b2b25;color:#d6f16d;font-size:1.5rem;touch-action:manipulation;user-select:none}.touch-controls button:active{background:#39523a}
footer{border-top:1px solid #35403b;padding:22px 0;color:#87938b;font-size:.78rem}
@media(max-width:710px){.game-layout{grid-template-columns:1fr}.board-wrap,.touch-controls{margin-left:auto;margin-right:auto}.sidebar{max-width:360px;width:100%;margin:auto;grid-template-columns:1fr 1fr}.stat-grid{grid-column:1/-1}.next-card{grid-column:1/-1}.secondary-button{grid-column:1/-1}.instructions{grid-column:1/-1}.heading{text-align:center}}
@media(max-width:400px){main{padding-top:30px}.board-wrap{width:min(100%,320px)}.touch-controls{width:min(100%,320px)}}
