*{box-sizing:border-box}body{margin:0;background:#0b201e;color:#f6eedb;font-family:'Malgun Gothic','Apple SD Gothic Neo',sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button,input,select{outline-offset:4px}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f6d78c}[hidden]{display:none!important}.hero{height:290px;position:relative;overflow:hidden;background:#193e32;border-bottom:1px solid #d6ad6260}.hero-art{position:absolute;inset:0;background-image:linear-gradient(90deg,#0b201ef5 0%,#0b201eb5 28%,#0b201e10 55%,#0b201e50 100%),url('reference.png');background-size:cover;background-position:center 27%;opacity:.88}.hero-content{position:relative;max-width:1320px;margin:auto;padding:30px 32px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#b5d0a6}.hero h1{font-size:32px;line-height:1.18;margin:13px 0;color:#fff8e5;letter-spacing:-1.5px}.hero h1 strong{color:#f9d789;font-size:43px}.hero p{font-size:13px;line-height:1.7;color:#e1e8cd;margin:10px 0}.hero-tags{display:flex;gap:8px;margin-top:15px}.hero-tags span{border:1px solid #e1cb8e50;border-radius:20px;padding:6px 10px;font-size:11px;background:#14362abc}main{max-width:1320px;padding:30px 32px;margin:auto}.intro h2,.guide h2,.match-head h2{font-size:25px;letter-spacing:-1px;margin:10px 0}.intro p,.guide p{color:#a7bbb0;font-size:13px;line-height:1.7}.setup{display:flex;gap:16px;margin:22px 0}.setup label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#c9d6c5}.setup input{width:190px}input,select{border:1px solid #627559;background:#183a30;color:#fff4d8;border-radius:8px;padding:10px 12px;min-height:40px}input::placeholder{color:#9cae9d}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mode{text-align:left;border:1px solid #547353;background:linear-gradient(130deg,#264d3b,#152e27);border-radius:16px;color:#f6eedb;padding:24px;transition:.18s;min-height:205px}.mode:hover{border-color:#f4d18c;transform:translateY(-3px)}.mode:first-child{background:linear-gradient(130deg,#557042,#243f2e);border-color:#9fb77c}.mode span{display:block;font-size:13px;line-height:1.8;color:#b8cab2}.mode .mode-no{font-size:10px;letter-spacing:1px;color:#c2d99b}.mode b{display:block;font-size:23px;margin:15px 0 10px;letter-spacing:-1px}.mode em{display:block;font-style:normal;margin-top:20px;font-size:13px;color:#f9d789}.join-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:24px 0 10px;font-size:13px}.join-row input{width:166px;text-transform:uppercase}.sub{border:1px solid #64745a;background:#1b382e;color:#e9ebd3;border-radius:8px;padding:10px 14px;white-space:nowrap;font-size:12px}.sub:hover{background:#31533a}.primary{border:1px solid #ffdb8d;background:#ecd08e;color:#2c3620;border-radius:9px;padding:13px 22px;font-weight:700}.hint{color:#a8bfae;font-size:12px;line-height:1.8}.guide{border-top:1px solid #b0ba8c26;margin-top:32px;padding:28px 0 5px}.guide h2{font-size:20px}.wood-guide{display:grid;grid-template-columns:repeat(6,1fr);gap:15px;margin:23px 0}.wood-guide>div{display:flex;flex-direction:column;gap:7px}.wood-guide b{font-size:12px}.wood-guide span{font-size:11px;color:#aabdae}.wood{display:block;width:62px;height:28px;border:2px solid #e0b56c;border-radius:8px;background:repeating-linear-gradient(10deg,#ad6b37 0px,#ad6b37 4px,#c58a4a 5px,#ba7a3c 9px);box-shadow:inset 0 2px #ffe0a660}.wood.oak{filter:brightness(.64)}.wood.rotten{background:repeating-linear-gradient(35deg,#4f6c39 0px,#4f6c39 6px,#986b38 8px,#986b38 16px)}.wood.gold{background:repeating-linear-gradient(0deg,#df9b26 0px,#df9b26 6px,#ffd268 7px,#ffd268 10px)}.wood.magic{background:repeating-linear-gradient(35deg,#a07445 0px,#a07445 8px,#a870da 10px,#764793 13px)}.wood.life{background:radial-gradient(ellipse,#d1ea80,#467336);border-color:#d0ed7d}details{font-size:12px;line-height:1.9;color:#bbcbb9}summary{cursor:pointer;color:#e8d49f}footer{text-align:center;color:#7f9c88;font-size:11px;padding:22px}.match-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.match-head h2{font-size:20px}.match-actions{display:flex;gap:9px;align-items:center}.timer{font-variant-numeric:tabular-nums;font-size:28px;color:#f5d68d;margin-right:7px}.timer.urgent{color:#ff9d7f}.boards{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1150px;margin:auto}.boards.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px}.boards.one{grid-template-columns:1fr;max-width:390px}.board{min-width:0;background:#16362e;border:3px solid #876039;border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 2px #d0a264}.board.me{border-color:#e6c27c;box-shadow:0 0 24px #afcf6e18}.board-head{height:66px;background:linear-gradient(0deg,#492f20,#725035);padding:11px 15px;display:flex;justify-content:space-between;align-items:center}.board-name{font-size:13px;font-weight:bold;max-width:140px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.board-kind{font-size:10px;color:#dfcba2;margin-top:4px}.board-score{text-align:right;color:#fce7ad;font-size:22px;font-weight:bold;font-variant-numeric:tabular-nums}.board-score small{font-size:11px;margin-left:3px}.board-score span{display:block;color:#cfb78d;font-size:10px;font-weight:normal;margin-top:4px}.board canvas{display:block;width:100%;height:auto;touch-action:none;background:#112e2b}.board-foot{font-size:11px;min-height:35px;padding:10px 12px;color:#cecea9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#12312a}.controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px auto;max-width:1150px}.bag{display:flex;align-items:center;gap:13px}.bag-label{font-size:12px;min-width:65px}.bag-label small{display:block;font-size:10px;color:#93af9b;margin-top:5px}#inventory{display:flex;gap:8px}.item{border:1px solid #c2b27a;background:#314f35;border-radius:10px;width:100px;height:58px;color:#f8e9b6;font-size:12px;position:relative}.item.attack{background:#4a304c;border-color:#b590bd}.item.empty{background:transparent;color:#6a8b76;border:1px dashed #526b56}.item small{position:absolute;left:7px;top:4px;font-size:9px;opacity:.7}.target-label{display:flex;align-items:center;gap:10px;font-size:12px}.target-label select{max-width:170px}.forest-progress{display:flex;align-items:center;gap:15px;padding:16px 20px;background:#244432;border:1px solid #61774d;border-radius:12px;font-size:12px}.forest-progress strong{color:#e2d389;min-width:68px;text-align:right}.progress-track,.xp-track{height:8px;flex:1;background:#10291f;border-radius:8px;overflow:hidden}.progress-track i,.xp-track i{display:block;height:100%;background:linear-gradient(90deg,#8dbb55,#dfd689);width:0;transition:width .4s}.waiting{text-align:center;padding:35px 0}.waiting h2{font-size:28px}.waiting p{color:#b9c9b3;font-size:14px}.code{display:block;font-size:48px;letter-spacing:9px;color:#f6d799;margin:25px}.overlay{position:fixed;inset:0;background:#071915ed;backdrop-filter:blur(8px);z-index:20;display:grid;place-items:center;padding:20px;overflow:auto}.result-card{max-width:660px;width:100%;padding:35px;background:#183e2f;border:1px solid #bca46c;border-radius:20px;text-align:center;max-height:94vh;overflow:auto}.result-card h2{color:#f7d58b;font-size:28px}.result-card p{font-size:13px;color:#b3c7b4;line-height:1.8}.result-row{display:flex;justify-content:space-between;align-items:center;padding:15px 5px;border-bottom:1px solid #69825c40}.result-row strong{color:#eee2a6}.result-row small{color:#a2b99e;font-size:11px}.result-card button{margin:18px 4px 0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 22px;background:#e9d69a;color:#263522;border-radius:10px;font-size:13px;max-width:90%;z-index:40;display:none}.growth{display:flex;gap:26px;align-items:center;margin-top:28px;border:1px solid #667d4c;background:#1a392d;border-radius:16px;padding:20px}.avatar-wrap{width:125px;flex-shrink:0}.avatar-wrap canvas{width:125px;height:auto}.growth-info{flex:1;min-width:0}.growth-info h2{font-size:21px;margin:10px 0}.growth-info p{font-size:12px;color:#bdcfae}.growth-info .sub{padding:8px;font-size:11px;margin:4px 4px 0 0}.growth-note{border-left:1px solid #7f966040;padding-left:22px;font-size:12px}.growth-note p{color:#acbfa6;line-height:1.8}.growth-note small{display:block;font-size:10px;color:#9ab18e;margin-top:12px}.text-button{background:none;border:0;color:#e6d69b;padding:0;font-size:12px}.looks{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.look{background:#244a36!important;color:#e7e4c1;border:1px solid #718557;border-radius:9px;padding:8px!important;font-size:11px;margin:0!important}.look.selected{border-color:#f6d88e;background:#546541!important}.look canvas{width:80px;height:85px;max-width:100%;display:block;margin:auto}.look small{display:block;font-size:9px;color:#abc598;min-height:14px}.cinema{position:fixed;inset:0;z-index:50;background:#050f12;overflow:hidden;display:grid;place-items:center}.cinema canvas{position:absolute;inset:0;width:100%;height:100%}.cinema-title{position:relative;text-align:center;z-index:1;padding:30px;max-width:90%;text-shadow:0 3px 20px #000}.cinema-title .eyebrow{color:#d8cd9b;letter-spacing:5px}.cinema-title h2{font-size:clamp(36px,7vw,84px);letter-spacing:-3px;margin:20px 0;color:#f6dfa2;font-family:serif}.cinema-title p{color:#ccd9bf;line-height:2;font-size:14px}.cinema-title button{margin-top:20px}.cinema-caption{position:absolute;bottom:13%;text-align:center;padding:20px;left:0;right:0;font-family:serif;font-size:clamp(18px,3vw,28px);color:#f0e4c8;text-shadow:0 3px 12px #000;line-height:1.8;pointer-events:none}.cinema-skip{position:absolute;right:25px;top:25px;z-index:3}.cinema-track{position:absolute;bottom:0;left:0;right:0;height:3px;background:#203323}.cinema-track i{display:block;height:100%;width:0;background:#e5cb88}#replayStory{position:absolute;right:25px;bottom:20px;z-index:2;background:#0a211bc9}
@media(max-width:760px){.hero{height:250px}.hero-content{padding:25px 20px}.hero-art{background-position:42% 20%;background-size:auto 600px;opacity:.6}.hero h1{font-size:28px}.hero h1 strong{font-size:36px}.hero-tags span{font-size:10px;padding:5px 7px}main{padding:25px 16px}.intro h2{font-size:23px}.setup{gap:9px}.setup input{width:125px}.setup select{max-width:96px}.mode-grid{grid-template-columns:1fr}.mode{padding:19px;min-height:0}.mode b{font-size:21px;margin:9px 0}.mode em{margin-top:12px}.mode span br{display:none}.wood-guide{grid-template-columns:repeat(3,1fr);row-gap:20px}.match-head{align-items:flex-start;flex-direction:column}.match-actions{width:100%;justify-content:space-between;gap:5px}.match-actions .sub{padding:9px 10px}.boards,.boards.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.boards .board.me,.boards.two .board.me{grid-column:1/-1;max-width:390px;width:100%;justify-self:center}.boards.two .board:not(.me){grid-column:1/-1;width:52%;justify-self:center}.board-head{height:52px;padding:8px}.board-score{font-size:18px}.board-name{font-size:11px}.board-foot{font-size:10px;padding:8px 5px;min-height:28px}.controls{flex-direction:column;align-items:flex-start}.item{width:65px;font-size:10px}.bag{gap:8px}.bag-label{font-size:11px;min-width:42px}#inventory{gap:5px}.forest-progress{padding:14px 10px;gap:10px;font-size:11px}.guide h2{font-size:18px}.result-card{padding:25px 18px}.growth{gap:12px;flex-wrap:wrap;padding:15px}.growth .avatar-wrap{width:90px}.growth .avatar-wrap canvas{width:90px}.growth-note{border:0;border-top:1px solid #7f966040;padding:14px 0 0;width:100%}.growth-note p br{display:none}.looks{grid-template-columns:repeat(3,1fr)}#replayStory{font-size:10px;right:15px;bottom:10px}.hero-tags{max-width:245px;gap:4px}.cinema-title p{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Reference-faithful arena: original illustrated woodwork, forest and guide. */
#game .boards{position:relative;display:block!important;max-width:none;width:100%;aspect-ratio:1672/941;margin:0;background:url('reference.png') center/100% 100% no-repeat;border-radius:16px;overflow:hidden;box-shadow:0 12px 45px #0007}#game .board{position:absolute;top:28.7%;width:23%;height:59.7%;border:0;background:none;border-radius:0;box-shadow:none;overflow:visible}#game .board[data-slot="0"]{left:1.5%}#game .board[data-slot="1"]{left:25.7%}#game .board[data-slot="2"]{left:49.8%}#game .board-head{height:12.3%;position:relative;background:none;padding:0;border:0;display:block}#game .board-name{position:absolute;left:22%;top:24%;font-size:clamp(7px,1vw,14px);max-width:34%;padding:3px 6px;background:#4b2c1c;border-radius:6px}#game .board-kind{display:none}#game .board-score{position:absolute;left:59%;top:20%;width:34%;height:60%;font-size:clamp(12px,1.6vw,25px);background:#4e3020;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff7d8}#game .board-score span{display:none}#game .board-score small{font-size:clamp(7px,.8vw,11px)}#game .board canvas{width:100%;height:87%;border-radius:9px;background:#183c39}#game .board-foot{position:absolute;bottom:0;left:5%;right:5%;font-size:clamp(7px,.7vw,11px);line-height:1.5;padding:3px 5px;min-height:0;border-radius:6px;white-space:normal;text-align:center;pointer-events:none;background:#183222d6;color:#f8e8b2;opacity:.9}#game .boards.two .board[data-slot="1"]{left:49.8%}#game .boards.two:after{content:'숲을 함께 구해요';position:absolute;left:26%;top:82%;width:22%;padding:8px;color:#f6e7ac;background:#375038cc;text-align:center;font-size:12px;border-radius:10px}#game .boards.one .board[data-slot="0"]{left:25.7%}#game .boards.one:after{content:'나만의 숲 구출 모험';position:absolute;left:2%;top:82%;width:21%;padding:8px;color:#f6e7ac;background:#375038cc;text-align:center;font-size:12px;border-radius:10px}.hero{height:285px}.hero-art{background-image:url('reference.png');background-size:100% auto;background-position:center top;opacity:1}.hero-content{display:none}.hero{max-width:1320px;margin:auto;border-radius:0 0 12px 12px}#replayStory{bottom:18px;right:18px}.cinema{background:#071e19 url('reference.png') center/cover}.cinema canvas{background:transparent}.cinema-title{background:#14291ccc;border:1px solid #d5ba73;border-radius:20px;padding:34px 45px;backdrop-filter:blur(7px)}.cinema-title h2{font-size:clamp(36px,5vw,68px)}.cinema-caption{background:linear-gradient(0deg,#0a211bee,#0a211b00);bottom:0;padding:60px 20px 50px;font-size:clamp(18px,2.2vw,28px)}.cinema:before{content:'';position:absolute;inset:0;background:#05171466}.cinema-loading{position:absolute;bottom:17px;left:0;right:0;text-align:center;font-size:11px;color:#e8d8a8;letter-spacing:2px}.cinema-track{height:5px}
@media(max-width:760px){.hero{height:170px}.hero-art{background-size:auto 310px;background-position:left top}#game .boards{aspect-ratio:auto;height:auto;background:none;display:grid!important;grid-template-columns:1fr 1fr;gap:10px;overflow:visible}#game .board{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;border:7px solid #966633;border-radius:14px;box-shadow:inset 0 0 0 2px #ecc785;background:#432b20;overflow:hidden}#game .board.me{grid-column:1/-1;max-width:380px;justify-self:center}#game .board-head{height:54px;background:#543820}#game .board-name{top:12px;left:5%;font-size:12px;max-width:55%}#game .board-score{top:12px;left:63%;font-size:21px;width:31%;height:32px}#game .board-score small{font-size:10px}#game .board canvas{height:auto!important;width:100%;border-radius:0}#game .board-foot{font-size:9px}.boards:after{display:none}.cinema-title{padding:25px;max-width:90%}.hero #replayStory{bottom:8px;right:8px}.board:not(.me) .board-name{font-size:8px!important;top:8px!important}.board:not(.me) .board-score{font-size:12px!important;top:8px!important}.board:not(.me) .board-head{height:39px!important}}

@media(min-width:761px){#game .boards.two:after,#game .boards.one:after{top:36%;height:46%;display:grid;place-items:center;background:#173c32f0;border:1px solid #ceae6880}#game .boards.one:before{content:"혼자 숲을 구하는 중";position:absolute;left:50%;top:36%;height:46%;width:21%;display:grid;place-items:center;background:#173c32f0;border:1px solid #ceae6880;color:#ecddb0;border-radius:10px}}

.arena-timer{position:absolute;left:7.9%;top:91.1%;width:6.7%;height:4.2%;display:grid;place-items:center;font-size:clamp(9px,1.6vw,24px);font-weight:bold;font-variant-numeric:tabular-nums;background:#58351d;color:#fff1bd;border-radius:4px}@media(max-width:760px){.arena-timer{display:none}}

/* Gameplay notices must never cover the paddle or catch pointer input. */
#game .board-foot{display:none!important;pointer-events:none!important}#toast{top:72px;bottom:auto;left:auto;right:18px;transform:none;pointer-events:none!important;max-width:320px;opacity:.94}#game canvas{position:relative;z-index:2}

/* Feedback stays outside the playing surface. */
#statusStrip{display:block;max-width:100%;min-height:1.5em;line-height:1.5;font-size:13px;color:#eddfa9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;position:relative;z-index:0}.board-score{transition:filter .12s, color .12s}.board-score.score-pop{filter:brightness(1.45) drop-shadow(0 0 7px #ffd87c);color:#fff3b1}#game canvas{touch-action:none;will-change:transform}#toast{pointer-events:none!important}#game .board-foot{display:none!important;pointer-events:none!important}@media(prefers-reduced-motion:reduce){#game canvas{transform:none!important}.board-score{transition:none}}

.music-credit{font-size:10px;line-height:1.7;color:#a7bca8;margin:12px 0}.music-credit a{color:#d9c98c}

/* One-screen arena: player large, opponents in an always-visible sidebar. */
body.playing{height:100dvh;overflow:hidden}body.playing>.hero,body.playing footer,body.playing #growth,body.playing .guide{display:none!important}body.playing main{max-width:none;width:100%;height:100dvh;max-height:100dvh;padding:8px 12px;overflow:hidden}body.playing #game{height:100%;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:0}body.playing .match-head{flex:none;align-self:stretch;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;margin:0;min-height:52px}body.playing .match-head h2{font-size:17px;margin:4px 0;white-space:nowrap}body.playing .match-head .eyebrow{font-size:9px;letter-spacing:1px}body.playing .match-actions{width:auto;gap:6px}body.playing .match-actions .sub{padding:8px 10px;font-size:11px}body.playing .timer{font-size:25px}body.playing #statusStrip{font-size:11px;line-height:16px;height:16px;max-width:min(66vw,650px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;pointer-events:none}
body.playing #game .boards{display:grid!important;grid-template-columns:var(--main-w) var(--opp-w);grid-template-rows:repeat(2,minmax(0,1fr));gap:var(--arena-gap);flex:0 0 auto;background:none!important;aspect-ratio:auto!important;min-height:0;max-width:100%;margin:0 auto;overflow:visible;border-radius:0;box-shadow:none;align-self:center}body.playing #game .boards.one{grid-template-columns:var(--main-w)}body.playing #game .boards:before,body.playing #game .boards:after{display:none!important}body.playing #game .board{position:relative!important;inset:auto!important;display:flex!important;flex-direction:column;min-width:0;min-height:0;max-width:none!important;max-height:100%;padding:0;width:var(--opp-w)!important;height:var(--opp-h)!important;border:var(--frame) solid #987044;border-image:url('board-frame.png') 14 stretch;background:#563923;border-radius:10px;box-shadow:0 2px 12px #0006;overflow:hidden;justify-self:start;align-self:start}body.playing #game .board.me{grid-column:1!important;grid-row:1/span 2!important;width:var(--main-w)!important;height:var(--main-h)!important;border-image:url('board-frame.png') 14 stretch;filter:drop-shadow(0 0 7px #e9d49a25)}body.playing #game .board[data-slot="1"]{grid-column:2!important;grid-row:1!important}body.playing #game .board[data-slot="2"]{grid-column:2!important;grid-row:2!important}body.playing #game .boards.two .board:not(.me){grid-row:1/span 2!important;align-self:start;width:var(--opp-w)!important}body.playing #game .board-head{height:var(--opp-head-h);flex:0 0 var(--opp-head-h);position:relative;background:#714f2d url('wood-header.png') center/100% 100% no-repeat;border:0;padding:0;min-height:0}body.playing #game .board.me .board-head{height:var(--head-h);flex-basis:var(--head-h)}body.playing #game .board-name{left:35px!important;top:2px!important;max-width:calc(63% - 35px);font-size:9px!important;line-height:12px;padding:0;background:none}body.playing #game .board.me .board-name{left:54px!important;top:5px!important;font-size:13px!important;line-height:17px}body.playing #game .board-kind{display:block!important;position:absolute;left:35px;top:15px;max-width:calc(63% - 35px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e5e4b9;font-size:7px;line-height:10px;margin:0}body.playing #game .board.me .board-kind{left:54px;top:26px;font-size:9px;max-width:calc(65% - 54px)}body.playing #game .board-score{position:absolute;left:auto!important;right:1px;top:1px!important;width:32%;height:calc(var(--opp-head-h) - 2px);font-size:16px;background:#40291bc2;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff2bd}body.playing #game .board.me .board-score{height:calc(var(--head-h) - 2px);font-size:24px}body.playing #game .board-score span{display:none!important}body.playing #game .board-score small{font-size:8px;margin-left:2px}body.playing #game .board.me .board-score small{font-size:11px}body.playing #game .head-avatar{position:absolute;left:0;top:0;height:100%;width:auto;max-width:31%;object-fit:cover;border-radius:5px}body.playing #game .board canvas{display:block;flex:1 1 0;min-height:0;width:100%!important;height:0!important;border-radius:0;touch-action:none;background:#173d35}body.playing #game .board-foot,body.playing #game .arena-timer{display:none!important}
body.playing #game #missCount{flex:none;margin:0;font-size:10px;line-height:16px;height:16px;overflow:hidden;white-space:nowrap;text-align:center}body.playing #game .controls{flex:none;display:flex;flex-direction:row;align-items:center;justify-content:center;width:100%;gap:12px;margin:0;min-height:48px;max-width:none}body.playing .bag{gap:7px}body.playing .bag-label{font-size:11px;min-width:55px}body.playing .bag-label small{font-size:8px;margin-top:3px}body.playing #inventory{gap:5px}body.playing #inventory .item{width:75px;height:44px;font-size:11px}body.playing .target-label{font-size:10px;gap:5px;max-width:180px}body.playing .target-label select{font-size:11px;padding:6px;min-height:34px;max-width:115px}body.playing .forest-progress{align-self:stretch;flex:none;min-height:28px;padding:6px 10px;margin:0;font-size:11px;gap:10px}body.playing #game>.hint:not(#missCount){flex:none;margin:0;font-size:10px;line-height:13px;text-align:center;max-height:26px;overflow:hidden}#battleFx{position:fixed;inset:0;width:100vw;height:100dvh;pointer-events:none!important;z-index:15}.spell-hit{animation:spellImpact .45s ease-out}@keyframes spellImpact{0%{filter:brightness(1.7) drop-shadow(0 0 16px #a9efff)}100%{filter:brightness(1)}}
@media(max-width:699px){body.playing main{padding:6px 8px}body.playing .match-head{min-height:48px;gap:4px}body.playing .match-head h2{font-size:12px;margin:2px 0;max-width:49vw;overflow:hidden;text-overflow:ellipsis}body.playing .match-head .eyebrow{font-size:8px;letter-spacing:0}body.playing .match-actions{gap:3px;flex-wrap:wrap;justify-content:flex-end}body.playing .match-actions .sub{font-size:9px;padding:6px}body.playing .timer{font-size:21px;margin-right:3px}body.playing #statusStrip{font-size:9px;max-width:50vw;line-height:13px;height:13px}body.playing #game .controls{gap:5px;min-height:43px}body.playing .bag{gap:4px}body.playing .bag-label{min-width:35px;font-size:9px}body.playing .bag-label small{font-size:7px}body.playing #inventory{gap:3px}body.playing #inventory .item{width:43px;height:40px;font-size:8px;padding:4px}body.playing .target-label{font-size:0;gap:0;max-width:105px}body.playing .target-label select{font-size:9px;max-width:100px;padding:5px;min-height:31px}body.playing #game .board.me .board-name{left:39px!important;font-size:11px!important;top:3px!important;max-width:calc(67% - 39px)}body.playing #game .board.me .board-kind{left:39px;top:21px;font-size:8px;max-width:calc(67% - 39px)}body.playing #game .board.me .board-score{font-size:20px}body.playing #game .board:not(.me) .board-name{left:27px!important;font-size:8px!important;top:1px!important;max-width:calc(69% - 27px)}body.playing #game .board:not(.me) .board-kind{display:none!important}body.playing #game .board:not(.me) .board-score{font-size:12px!important;width:31%;top:1px!important}body.playing #game #missCount{font-size:9px}body.playing .forest-progress{font-size:10px;padding:5px 8px}body.playing #game>.hint:not(#missCount){font-size:9px;line-height:12px;max-height:24px}}
@media(max-height:650px){body.playing .match-head .eyebrow{display:none}body.playing #game>.hint:not(#missCount){display:none}body.playing .forest-progress{min-height:23px;padding:3px 8px}body.playing #game #missCount{font-size:9px;height:13px;line-height:13px}}

.room-lobby{margin-top:22px;border-top:1px solid #a1b08540;padding-top:16px}.room-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-list-head h3{font-size:16px;margin:0}.room-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #68845a;border-radius:10px;padding:12px;margin-top:8px;background:#1e3c30;font-size:12px}#roomListRows{font-size:12px;line-height:1.8;color:#bcd1b2;padding-top:10px}.wood-entry canvas{display:block;width:90px;height:53px}.wood-entry{min-width:0}.spell-book{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.spell-card{padding:16px;border:1px solid #6f8359;border-radius:12px;background:#203d2d}.spell-card.attack{border-color:#997b8f;background:#382e3b}.spell-card h4{font-size:15px;margin:6px 0}.spell-card p{font-size:12px;line-height:1.7;margin:0}.spell-type{font-size:10px;color:#ddd094;letter-spacing:1px}.combat-word{position:fixed;z-index:16;pointer-events:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:bold;padding:3px 7px;border-radius:12px;background:#172b26bb;border:1px solid #d9b76566;color:#ffe2a3;text-shadow:0 1px 3px #000;animation:combatDrift 1.8s ease-out forwards}.combat-word.hurt{color:#ffb8b0;border-color:#e59e9566}.combat-word.defend{color:#b9f4ef;border-color:#9fddd966}@keyframes combatDrift{0%{opacity:0;transform:translate(0,4px)}12%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translate(20px,-20px)}}@media(max-width:699px){.spell-book{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.spell-card{padding:12px}.combat-word{font-size:9px;padding:2px 4px}body.playing .match-head{flex-direction:column;align-items:stretch;min-height:0;gap:3px}body.playing .match-head h2{max-width:100%;font-size:13px}body.playing #statusStrip{max-width:100%;text-align:left}body.playing .match-actions{width:100%;flex-wrap:nowrap;justify-content:flex-end;gap:4px}body.playing .match-actions .sub{font-size:9px;padding:6px}body.playing .match-head .eyebrow{display:none}}

.rank-panel{margin:24px 0;padding:26px;border:1px solid #789563;border-radius:18px;background:#173a2bcc}.rank-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.rank-heading h2{margin:6px 0;font-size:23px}.my-rank{padding:16px;margin:14px 0;background:#ccac5330;border:1px solid #bba65d;border-radius:10px;color:#ffedba;line-height:1.8}.rank-tabs{display:flex;gap:8px}.rank-tabs [aria-pressed=true]{border-color:#f3d790;background:#567147}.rank-scroll{overflow:auto}.rank-table{width:100%;border-collapse:collapse;font-size:13px}.rank-table th,.rank-table td{padding:12px 8px;border-bottom:1px solid #77906b55;text-align:left;white-space:nowrap}.rank-table th{color:#d7d4ab}.board-country{display:block;font-size:9px;font-weight:normal;color:#c0dac9;line-height:1.2}.result-rank{font-size:13px;color:#f4dc9b;line-height:1.8}body.playing #rankPanel{display:none}@media(max-width:699px){.rank-panel{padding:15px}.rank-heading h2{font-size:18px}.rank-table{font-size:11px}.rank-table th,.rank-table td{padding:10px 5px}.setup{grid-template-columns:1fr 1fr}.board-country{font-size:8px}.board-head{min-height:48px}}

.adventure-panel{padding:26px;margin:24px 0;border:1px solid #789563;border-radius:18px;background:linear-gradient(140deg,#244e39,#0f2b27)}.adventure-panel h2{font-size:24px;margin:8px 0}.forest-trail{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0}.forest-trail button{padding:16px 6px;border-radius:12px;border:1px solid #60765d;background:#243b30;color:#aeb9a4;line-height:1.8}.forest-trail .unlocked{background:#405e39;color:#f7e7b7;border-color:#b6ac69}.forest-trail .selected{box-shadow:0 0 0 2px #e8c874}.signature-note{padding:14px;border-radius:10px;border:1px solid #99b57b;background:#7c9c5b22}.signature-note p{margin:6px 0;font-size:13px}.signature-btn{min-height:34px;width:100%;border:1px solid #d7c06f;border-radius:8px;background:linear-gradient(#667e44,#395331);color:#fff0b2;font-weight:bold;font-size:12px;padding:7px 12px}.signature-track{height:4px;background:#192e23;border-radius:4px;margin-top:3px;overflow:hidden}.signature-track i{display:block;height:100%;background:#ead78c;transition:width .2s}.playing #adventurePanel{display:none}@media(max-width:699px){.adventure-panel{padding:15px}.adventure-panel h2{font-size:19px}.forest-trail{gap:4px}.forest-trail button{font-size:10px;padding:10px 3px}.signature-btn{font-size:11px}}

body.playing .board-head{min-height:0}

/* Full-width own forest, short opponents above. */
body.playing #game .boards,body.playing #game .boards.two{grid-template-columns:repeat(var(--opponent-count),minmax(0,1fr))!important;grid-template-rows:var(--opp-h) var(--main-h)!important;gap:var(--arena-gap)!important;width:var(--main-w)!important;max-width:none!important;contain:layout paint}
body.playing #game .boards.one{grid-template-columns:1fr!important;grid-template-rows:var(--main-h)!important}
body.playing #game .board.me{grid-column:1/-1!important;grid-row:2!important;width:var(--main-w)!important;height:var(--main-h)!important;justify-self:stretch!important;align-self:stretch!important}
body.playing #game .boards.one .board.me{grid-row:1!important}
body.playing #game .board:not(.me),body.playing #game .boards.two .board:not(.me){grid-row:1!important;grid-column:auto!important;justify-self:center!important;align-self:start!important;width:var(--opp-w)!important;height:var(--opp-h)!important}
body.playing #game .board.me .board-head{height:var(--head-h)!important;flex-basis:var(--head-h)!important}
body.playing #game .board:not(.me) .board-head{height:var(--opp-head-h)!important;flex-basis:var(--opp-head-h)!important}
body.playing #game .board:not(.me) .head-avatar,body.playing #game .board:not(.me) .board-kind,body.playing #game .board:not(.me) .board-country,body.playing #game .board:not(.me) .board-score small,body.playing #game .board:not(.me) .board-score span{display:none!important}
body.playing #game .board:not(.me) .board-name{font-size:9px!important;line-height:1.2;max-width:90px}
body.playing #game .board:not(.me) .board-score b{font-size:11px!important}
body.playing #game .board.me .board-country{display:inline;margin-left:5px}
body.playing #game .board.me .board-kind{font-size:9px;line-height:1.2}
body.playing #game .board.me .head-avatar{width:30px;height:30px;top:2px}
body.playing #game .board.me .board-head>div{padding-top:0!important}
body.playing #game .board canvas{will-change:auto!important}

/* Preserve the actual 360:560 playfield; compact top/bottom chrome. */
body.playing #game{gap:4px!important}
body.playing #game .match-head{min-height:24px!important;height:24px!important;flex-direction:row!important;justify-content:center!important;margin:0!important;gap:0!important}
body.playing .match-head>div:first-child,body.playing #statusStrip,body.playing #missCount,body.playing #game>.hint,body.playing #game>.forest-progress,body.playing .target-label{display:none!important}
body.playing .match-actions{width:100%!important;justify-content:center!important;gap:3px!important;flex-wrap:nowrap!important}
body.playing .match-actions .sub{font-size:9px!important;padding:3px 5px!important;min-height:22px;line-height:1.2;border-radius:5px}
body.playing .match-actions .timer{font-size:12px!important;line-height:1.2;min-width:37px;padding:2px 4px!important}
body.playing #game .controls{width:var(--play-width)!important;max-width:100%;min-height:28px!important;height:auto;gap:0!important;margin:0!important}
body.playing .bag{width:100%;justify-content:center;gap:0!important}
body.playing .bag-label{display:none!important}
body.playing #inventory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px!important;width:100%}
body.playing #inventory .item{height:28px!important;width:100%!important;min-width:0;font-size:10px!important;padding:3px 5px!important;border-radius:5px;line-height:1.15}
body.playing #inventory .item small{font-size:7px;left:3px;top:1px}
body.playing #signatureWrap{width:100%}body.playing .signature-btn{height:24px;min-height:24px;padding:3px 8px;font-size:10px}body.playing .signature-track{height:3px;margin-top:1px}
body.playing #game .board.me .board-kind,body.playing #game .board.me .board-score span,body.playing #game .board.me .board-score small{display:none!important}
body.playing #game .board.me .board-name{font-size:11px!important;line-height:1.2}
body.playing #game .board.me .board-country{font-size:8px!important}
body.playing #game .board.me .head-avatar{width:18px;height:18px;top:0}
body.playing #game .board.me .board-score b{font-size:13px!important}
body.playing #game .board:not(.me) .board-name{font-size:7px!important;max-width:27px;line-height:1.2;overflow:hidden;text-overflow:ellipsis}
body.playing #game .board:not(.me) .board-score{position:absolute;right:1px;bottom:1px;top:auto!important;z-index:4;line-height:1;background:#15372bb8;border-radius:3px;padding:1px 2px}
body.playing #game .board:not(.me) .board-score b{font-size:8px!important}
