@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800;900&family=Oswald:wght@500;600;700&display=swap');
:root{--ink:#eef1dd;--muted:#98a58f;--dark:#101a15;--panel:#1a261e;--line:rgba(226,238,199,.13);--green:#b8d84b;--green-deep:#638a37;--purple:#b99ad9;--gold:#e9bd50;--font:'Noto Sans SC',system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#101a15;color:var(--ink);font-family:var(--font);overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:4px}.hidden{display:none!important}.grain{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}
.menu-screen{min-height:100vh;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 78% 43%,#304431 0,transparent 43%),radial-gradient(ellipse at 10% 110%,#253522 0,transparent 42%),linear-gradient(125deg,#111c16 0,#16231a 60%,#111b16 100%)}.menu-screen:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,black,transparent 85%)}.menu-screen:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(181,211,126,.07);border-radius:50%;right:-200px;top:-250px;box-shadow:0 0 0 70px rgba(181,211,126,.025),0 0 0 140px rgba(181,211,126,.018);z-index:-1}.menu-nav{height:104px;margin:0 clamp(28px,5vw,80px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:#dfe8ce;font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:2px;line-height:1.45}.brand b{color:var(--green);font-weight:600}.brand-mark{width:40px;height:40px;position:relative;display:block;transform:rotate(-12deg)}.brand-mark i{position:absolute;display:block;width:23px;height:13px;background:#a9c957;border-radius:100% 0 100% 0;transform-origin:100% 100%;left:0;top:9px}.brand-mark i:nth-child(2){transform:rotate(65deg);left:9px;top:1px}.brand-mark i:nth-child(3){transform:rotate(135deg);left:15px;top:17px}.nav-right{display:flex;align-items:center;gap:26px}.edition{font-size:11px;letter-spacing:2px;color:#91a28e}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.035);display:grid;place-items:center;font-family:'Oswald',sans-serif;font-size:16px;transition:.2s}.icon-button:hover{background:rgba(184,216,75,.12);border-color:rgba(184,216,75,.45);transform:translateY(-1px)}
.hero{max-width:1530px;min-height:calc(100vh - 166px);margin:auto;padding:30px clamp(28px,5vw,80px) 46px;display:grid;grid-template-columns:minmax(510px,.98fr) minmax(440px,1.02fr);align-items:center;gap:20px}.hero-copy{position:relative;z-index:2;padding-bottom:8px}.eyebrow{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:3.2px;color:#a8b995;display:flex;align-items:center;gap:12px;margin-bottom:18px}.eyebrow span{width:30px;height:1px;background:var(--green)}h1{margin:0;display:flex;align-items:baseline;gap:.08em;white-space:nowrap;font-weight:900;font-size:clamp(58px,5.4vw,86px);line-height:1.14;letter-spacing:-5px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.18))}.title-plant{color:#c4db71}.title-vs{font-size:.52em;color:#768572;letter-spacing:-3px;transform:translateY(-8px);font-weight:600}.title-zombie{color:#e4e4cb}.english-title{font-family:'Oswald',sans-serif;font-size:clamp(19px,1.8vw,26px);font-weight:600;letter-spacing:8px;margin-top:6px;color:#dde6ca}.english-title i{font-size:.65em;font-style:normal;color:#7f9277;letter-spacing:1px;margin:0 5px}.hero-description{font-size:14px;color:#a3b09b;line-height:1.95;letter-spacing:1px;margin:25px 0 26px}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:610px}.mode-card{position:relative;text-align:left;border-radius:7px;min-height:151px;padding:18px 20px 16px;overflow:hidden;border:1px solid;transition:transform .25s,box-shadow .25s,filter .25s}.mode-card:before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-40px;top:-50px;background:rgba(255,255,255,.09)}.mode-card:hover{transform:translateY(-5px);filter:brightness(1.05)}.plant-mode{background:linear-gradient(135deg,#b6d254,#93b440);border-color:#c5df6c;color:#172311;box-shadow:0 12px 30px rgba(117,150,50,.12)}.plant-mode:hover{box-shadow:0 18px 40px rgba(117,150,50,.25)}.zombie-mode{background:linear-gradient(135deg,#3c3548,#2a2937);border-color:#71627e;color:#ede3f2;box-shadow:0 12px 30px rgba(0,0,0,.13)}.zombie-mode:hover{box-shadow:0 18px 40px rgba(0,0,0,.3);border-color:#a88dbd}.mode-number{display:block;font-size:9px;letter-spacing:2px;opacity:.65;margin-bottom:11px}.mode-main{display:flex;align-items:center;justify-content:space-between}.mode-main b{font-size:22px;letter-spacing:2px}.mode-main i{font-family:serif;font-style:normal;font-size:25px;transition:transform .2s}.mode-card:hover .mode-main i{transform:translateX(4px)}.mode-desc{display:block;font-size:10px;letter-spacing:.3px;margin-top:8px;opacity:.72;white-space:nowrap}.mode-tag{position:absolute;bottom:0;right:0;padding:4px 9px;font-size:8px;letter-spacing:1px;background:rgba(0,0,0,.1);border-radius:5px 0 0 0;opacity:.7}.menu-footnote{display:flex;align-items:center;gap:14px;font-size:10px;color:#778a74;letter-spacing:1px;margin-top:22px}.menu-footnote i{width:3px;height:3px;border-radius:50%;background:#53664f}.hero-visual{position:relative;height:min(70vh,690px);min-height:500px;align-self:center}.hero-visual canvas{position:absolute;width:100%;height:100%;object-fit:contain;z-index:2;filter:drop-shadow(0 30px 30px rgba(0,0,0,.3))}.moon{position:absolute;width:min(33vw,470px);height:min(33vw,470px);border-radius:50%;left:50%;top:47%;transform:translate(-50%,-50%);background:radial-gradient(circle at 40% 36%,#dce2b5,#9da984 58%,#798b72);box-shadow:0 0 80px rgba(187,211,152,.12);opacity:.82}.moon:before,.moon:after{content:"";position:absolute;border-radius:50%;background:rgba(59,80,61,.09)}.moon:before{width:78px;height:78px;left:19%;top:22%;box-shadow:190px 60px 0 22px rgba(59,80,61,.07),50px 220px 0 5px rgba(59,80,61,.08)}.moon:after{width:120px;height:120px;right:8%;bottom:15%}.visual-caption{position:absolute;z-index:3;font-family:'Oswald',sans-serif;font-size:9px;letter-spacing:2px;color:#97a88e}.visual-caption.top{right:3%;top:7%;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.visual-caption.top b{font-size:20px;color:#c2ccad;letter-spacing:3px}.visual-caption.bottom{bottom:5%;left:50%;transform:translateX(-50%);white-space:nowrap;display:flex;align-items:center;gap:8px}.live-dot{display:inline-block;width:6px;height:6px;background:#bad75c;border-radius:50%;box-shadow:0 0 8px rgba(186,215,92,.6);animation:pulse 2s infinite}.menu-footer{height:62px;margin:0 clamp(28px,5vw,80px);display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:9px;letter-spacing:2px;color:#5e725c}.menu-footer span:first-child{font-family:'Oswald',sans-serif}
.game-screen{height:100dvh;min-height:660px;padding:0 clamp(14px,2.5vw,38px);display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 110%,#263b25 0,transparent 55%),#111b16;overflow:hidden}.game-header{height:66px;flex:none;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.game-brand{display:flex;gap:10px;align-items:center;border:0;background:none;text-align:left;padding:0}.game-brand .mini-leaf{font-size:31px;color:var(--green)}.game-brand b{display:block;font-size:15px;letter-spacing:2px}.game-brand small{display:block;font-family:'Oswald',sans-serif;font-size:8px;letter-spacing:3px;color:#768a72;margin-top:2px}.mission-heading{text-align:center}.mission-heading span{font-size:9px;letter-spacing:3px;color:var(--green);display:block;margin-bottom:3px}.mission-heading b{font-size:13px;letter-spacing:2px;font-weight:600}.header-actions{display:flex;gap:8px}.header-actions .icon-button{width:34px;height:34px;font-size:13px}.battle-hud{height:130px;flex:none;display:flex;gap:16px;align-items:center;max-width:1480px;width:100%;margin:auto}.resource-panel{height:102px;flex:0 0 155px;border:1px solid var(--line);border-radius:7px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.015));display:flex;align-items:center;padding:10px 8px;gap:4px}.resource-panel canvas{width:56px;height:56px;flex:none}.resource-panel span{font-size:9px;color:#96a58d;display:block;letter-spacing:1px}.resource-panel b{font-family:'Oswald',sans-serif;font-size:30px;line-height:1.15;color:#f3d471;display:block;font-weight:600}.resource-panel small{font-size:8px;color:#6f816b;display:block;white-space:nowrap}.deck{display:flex;gap:7px;flex:1;justify-content:center;min-width:0}.seed-card{position:relative;width:clamp(67px,6.3vw,92px);height:108px;flex:0 1 92px;border:1px solid #5b6241;border-radius:6px;background:linear-gradient(145deg,#e6dbb2,#b7ac81);color:#253120;padding:0;overflow:hidden;box-shadow:0 3px 0 #080e0a,0 5px 12px rgba(0,0,0,.18);transition:transform .14s,filter .14s,border-color .14s}.seed-card:hover:not(:disabled){transform:translateY(-4px);filter:brightness(1.07);border-color:#d7e892;z-index:2}.seed-card.selected{transform:translateY(-6px);border-color:#efff9b;box-shadow:0 0 0 2px #b5d34c,0 6px 18px rgba(181,211,76,.22)}.seed-card:disabled{cursor:not-allowed;filter:grayscale(.75) brightness(.58)}.seed-card .card-key{position:absolute;top:4px;left:5px;font-family:'Oswald',sans-serif;font-size:8px;color:rgba(30,43,26,.45);z-index:2}.seed-card canvas{width:100%;height:67px;display:block;margin-top:5px}.seed-card .card-name{display:block;font-size:10px;font-weight:800;letter-spacing:.3px;line-height:1.2}.seed-card .card-cost{display:flex;justify-content:center;align-items:center;gap:4px;font-family:'Oswald',sans-serif;font-size:12px;margin-top:4px}.seed-card .cost-dot{width:9px;height:9px;border-radius:50%;background:#e4b632;box-shadow:0 0 0 1px #9d7924}.zombie-theme .seed-card{background:linear-gradient(145deg,#c7b9ce,#91869a);border-color:#665b70;color:#29232e}.zombie-theme .cost-dot{background:#d981a4;border-radius:55% 45% 55% 45%;box-shadow:0 0 0 1px #844963}.seed-card .cooldown-mask{position:absolute;left:0;right:0;bottom:0;height:0;background:rgba(15,22,20,.7);pointer-events:none}.seed-card .cooldown-text{position:absolute;inset:0;display:none;place-items:center;font-family:'Oswald',sans-serif;font-size:23px;color:#f4f2dc;text-shadow:0 2px 4px #000}.seed-card.cooling .cooldown-text{display:grid}.seed-card.cooling{filter:grayscale(.7) brightness(.7)}.hud-side{flex:0 0 188px;display:flex;align-items:center;gap:11px}.shovel-button{width:50px;height:83px;background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:6px}.shovel-button span{display:block;font-size:27px;transform:rotate(180deg);color:#b5bea9}.shovel-button small{font-size:8px;color:#7f9079}.shovel-button.selected{border-color:var(--green);background:rgba(184,216,75,.13)}.wave-panel{flex:1;min-width:0}.wave-panel>span{font-size:8px;letter-spacing:1px;color:#73856e}.wave-panel>b{font-size:12px;display:block;letter-spacing:1px;margin:3px 0 8px}.wave-track{height:5px;background:#2b382c;border-radius:5px;position:relative;margin-bottom:7px}.wave-track>i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#708d37,#c0d764);border-radius:5px;transition:width .4s}.wave-track>span{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5% - 1px),#111b16 calc(12.5% - 1px),#111b16 12.5%)}.wave-panel small{font-size:8px;color:#8e9c84;white-space:nowrap}.board-shell{position:relative;flex:1;min-height:0;margin:0 auto;width:min(100%,calc((100dvh - 244px)*1.7778));aspect-ratio:16/9;border:1px solid #4f6040;border-radius:10px;overflow:hidden;background:#324626;box-shadow:0 15px 45px rgba(0,0,0,.35),0 0 0 5px rgba(7,13,9,.35)}#game-canvas{display:block;width:100%;height:100%;cursor:default;outline:0;touch-action:none}.board-corner{position:absolute;pointer-events:none;font-family:'Oswald',sans-serif;font-size:8px;letter-spacing:1.4px;color:rgba(237,244,211,.58);text-shadow:0 1px 2px #000}.board-corner.top-left{top:12px;left:15px}.board-corner.bottom-right{bottom:10px;right:14px;font-family:var(--font);letter-spacing:1px;font-size:8px}.board-message{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);text-align:center;padding:22px 55px;background:rgba(26,23,20,.88);border-top:1px solid #bd8554;border-bottom:1px solid #bd8554;box-shadow:0 10px 40px rgba(0,0,0,.4);animation:message-in .45s both;pointer-events:none;white-space:nowrap}.board-message small{font-family:'Oswald',sans-serif;display:block;color:#d19b61;font-size:10px;letter-spacing:7px;margin-bottom:7px}.board-message b{font-size:27px;letter-spacing:5px;color:#eee0b9}.hover-tip{position:absolute;pointer-events:none;background:rgba(13,22,16,.94);border:1px solid rgba(196,219,113,.35);padding:7px 10px;border-radius:4px;font-size:10px;color:#dbe5c7;z-index:4;white-space:nowrap;box-shadow:0 5px 15px rgba(0,0,0,.3)}.game-footer{height:48px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px}.status-copy{display:flex;align-items:center;gap:10px;font-size:10px;min-width:0}.status-copy b{font-size:10px;letter-spacing:.5px;color:#b5c2a8;white-space:nowrap}.status-copy #tip-text{color:#6f826b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.footer-actions{display:flex;align-items:center;gap:20px;font-size:9px;color:#7e9177;white-space:nowrap}.text-button{background:none;border:1px solid var(--line);border-radius:4px;padding:5px 8px;font-size:9px;color:#9cac91}.text-button:hover{border-color:#738b50}.text-button kbd{font-family:'Oswald',sans-serif;font-size:8px;border:1px solid #53604e;border-radius:2px;padding:0 3px;margin-left:5px}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(5,10,7,.77);backdrop-filter:blur(7px)}.modal-card{position:relative;width:min(560px,100%);max-height:90vh;overflow:auto;background:linear-gradient(145deg,#253124,#18231b);border:1px solid #536248;border-radius:12px;padding:36px 40px;box-shadow:0 30px 100px #000}.modal-close{position:absolute;right:15px;top:12px;border:0;background:none;color:#91a087;font-size:26px}.modal-kicker{font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:4px;color:var(--green);margin-bottom:8px}.modal-card h2{font-size:30px;margin:0 0 12px;letter-spacing:3px}.modal-card .modal-lead{font-size:13px;color:#9dab94;line-height:1.8;margin-bottom:25px}.how-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.how-item{border:1px solid var(--line);border-radius:6px;padding:15px}.how-item b{font-size:13px;color:#d9e4c5;display:block;margin-bottom:6px}.how-item p{font-size:11px;line-height:1.8;color:#8e9e87;margin:0}.controls-list{margin:20px 0 0;padding-top:15px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:#85977d}.controls-list kbd{color:#c7d89b;background:#35432f;border:1px solid #526348;padding:2px 5px;border-radius:3px;margin-right:4px}.modal-primary{width:100%;border:0;border-radius:5px;background:#b5d251;color:#1c2915;font-weight:800;letter-spacing:2px;padding:13px;margin-top:22px}.modal-secondary{width:100%;border:1px solid var(--line);border-radius:5px;background:transparent;color:#9fb093;padding:10px;margin-top:9px}.result-icon{font-size:45px;margin-bottom:12px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.result-stat{background:rgba(255,255,255,.035);border:1px solid var(--line);padding:13px 8px;text-align:center;border-radius:5px}.result-stat b{font-family:'Oswald',sans-serif;font-size:24px;color:#d4e69b;display:block}.result-stat span{font-size:9px;color:#819177}.toast{position:fixed;left:50%;bottom:70px;transform:translateX(-50%);z-index:110;background:rgba(22,30,22,.95);border:1px solid #667452;border-radius:6px;padding:10px 18px;box-shadow:0 8px 30px rgba(0,0,0,.35);font-size:12px;color:#d7e2c4;animation:toast-in .25s both;pointer-events:none}.zombie-theme{--green:#c09bd9}.zombie-theme .resource-panel b{color:#e5a2bd}.zombie-theme .wave-track>i{background:linear-gradient(90deg,#715480,#c39bd7)}@keyframes pulse{50%{opacity:.45;box-shadow:0 0 2px rgba(186,215,92,.3)}}@keyframes message-in{from{opacity:0;transform:translate(-50%,-45%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes toast-in{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
/* Online duel and room lobby */
.online-mode{grid-column:1/-1;min-height:68px;display:flex;align-items:center;gap:15px;text-align:left;padding:13px 18px;border:1px solid rgba(131,190,178,.35);border-radius:7px;background:linear-gradient(100deg,rgba(58,105,91,.28),rgba(44,55,64,.5));color:#d8e8d9;transition:.22s;overflow:hidden;position:relative}.online-mode:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(126,211,177,.07),transparent);transform:translateX(-100%);transition:.5s}.online-mode:hover{border-color:#77bda5;background-color:rgba(72,121,105,.18);transform:translateY(-2px)}.online-mode:hover:before{transform:translateX(100%)}.online-signal{height:31px;width:31px;display:flex;align-items:flex-end;gap:3px;flex:none}.online-signal i{width:5px;border-radius:3px;background:#8bc7a7;box-shadow:0 0 10px rgba(120,202,164,.2)}.online-signal i:nth-child(1){height:10px}.online-signal i:nth-child(2){height:20px}.online-signal i:nth-child(3){height:30px}.online-copy{min-width:115px}.online-copy small{display:block;font-family:'Oswald',sans-serif;font-size:8px;letter-spacing:2px;color:#79a895;margin-bottom:2px}.online-copy b{font-size:17px;letter-spacing:2px}.online-desc{font-size:10px;color:#829f90;border-left:1px solid rgba(154,196,172,.18);padding-left:16px}.online-arrow{margin-left:auto;font-style:normal;font-size:22px;color:#9bc9ae}.lobby-status{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:#91a88d;margin-bottom:18px}.lobby-status i{width:7px;height:7px;border-radius:50%;background:#c3a75c}.lobby-status.online i{background:#83c99d;box-shadow:0 0 8px rgba(131,201,157,.5)}.lobby-status.offline i{background:#ce796e}.lobby-field{display:block;margin:12px 0}.lobby-field>span{display:block;font-size:10px;color:#91a18a;letter-spacing:1px;margin-bottom:7px}.lobby-field input{width:100%;height:43px;border:1px solid #495b47;border-radius:5px;background:#131e16;color:#e0e8d3;padding:0 13px;font:500 14px var(--font);outline:none}.lobby-field input:focus{border-color:#a9c75e;box-shadow:0 0 0 2px rgba(169,199,94,.08)}.lobby-field input.code-input{text-transform:uppercase;font:600 23px 'Oswald',sans-serif;letter-spacing:8px;text-align:center}.faction-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.faction-choice button{border:1px solid #4c5b47;border-radius:5px;background:rgba(255,255,255,.025);padding:12px;color:#93a18b;font-size:12px}.faction-choice button.selected[data-faction="plant"]{background:rgba(181,210,81,.15);border-color:#accb56;color:#dbe9ae}.faction-choice button.selected[data-faction="zombie"]{background:rgba(183,144,203,.14);border-color:#ac8cbd;color:#e2c8ed}.lobby-divider{display:flex;align-items:center;gap:12px;color:#657661;font-size:9px;letter-spacing:2px;margin:20px 0}.lobby-divider:before,.lobby-divider:after{content:"";height:1px;background:var(--line);flex:1}.lobby-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lobby-actions .modal-primary,.lobby-actions .modal-secondary{margin-top:8px}.room-code{text-align:center;font:600 48px 'Oswald',sans-serif;letter-spacing:12px;color:#d8e8ac;background:rgba(181,210,81,.07);border:1px dashed #6a7d51;border-radius:7px;padding:17px 10px 17px 22px;margin:18px 0 8px;user-select:all}.invite-link{text-align:center;color:#81917b;font-size:10px;margin-bottom:18px}.invite-link button{border:0;background:none;color:#b9d374;text-decoration:underline;text-underline-offset:3px}.room-players{display:grid;grid-template-columns:1fr 1fr;gap:10px}.room-player{border:1px solid var(--line);border-radius:6px;padding:15px;text-align:center}.room-player.ready{border-color:#637d4b;background:rgba(163,192,93,.06)}.room-player small{display:block;font-family:'Oswald',sans-serif;font-size:9px;letter-spacing:2px;color:#778a71}.room-player b{display:block;font-size:14px;margin:8px 0;color:#d8e2c9;overflow:hidden;text-overflow:ellipsis}.room-player span{font-size:9px;color:#8ea083}.connection-note{padding:10px 12px;background:rgba(206,155,94,.08);border:1px solid rgba(206,155,94,.2);border-radius:5px;color:#c7aa7c;font-size:10px;line-height:1.7;margin-top:15px}.online-game-badge{display:inline-flex;align-items:center;gap:5px}.online-game-badge:before{content:"";width:5px;height:5px;background:#86c69e;border-radius:50%}.modal-card:has(.room-code){width:min(500px,100%)}
@media(max-width:560px){.online-desc{display:none}.online-copy{min-width:0}.online-copy small{font-size:7px}.online-mode{min-height:62px}.room-code{font-size:38px;letter-spacing:8px;padding-left:18px}.lobby-actions{grid-template-columns:1fr}.modal-card{padding:30px 24px}}
@media(max-width:1150px){.hero{grid-template-columns:1.05fr .95fr}.mode-desc{font-size:8px}.battle-hud{gap:9px}.resource-panel{flex-basis:130px}.hud-side{flex-basis:145px}.shovel-button{width:40px}.wave-panel small{display:none}.seed-card .card-name{font-size:9px}.hero-visual{min-height:430px}.board-shell{width:min(100%,calc((100dvh - 240px)*1.7778))}}@media(max-width:850px){.menu-nav{height:76px}.hero{display:block;padding-top:50px;min-height:auto}.hero-copy{max-width:620px;margin:auto}.hero-visual{position:absolute;inset:80px -130px auto auto;width:55%;opacity:.24;z-index:-1}.mode-picker{max-width:none}.menu-footer{margin-top:30px}.game-screen{min-height:590px;padding:0 10px}.battle-hud{height:116px;gap:6px}.resource-panel{flex-basis:92px;height:90px;padding:5px;display:block;text-align:center}.resource-panel canvas{width:35px;height:35px;float:left}.resource-panel span,.resource-panel small{display:none}.resource-panel b{font-size:25px;padding-top:18px}.hud-side{flex-basis:40px}.wave-panel{display:none}.seed-card{height:94px}.seed-card canvas{height:57px}.seed-card .card-cost{margin-top:2px}.shovel-button{height:70px}.shovel-button small{display:none}.game-footer #tip-text{display:none}.board-shell{width:100%;flex:none;margin:auto}.game-header{height:58px}.game-footer{height:42px}}@media(max-width:560px){.edition{display:none}.hero{padding:35px 20px}.hero h1{font-size:52px;letter-spacing:-4px}.english-title{letter-spacing:5px}.mode-picker{grid-template-columns:1fr}.mode-card{min-height:132px}.menu-footnote{font-size:8px;gap:8px}.hero-description{margin:20px 0}.menu-footer span:first-child{display:none}.menu-footer{justify-content:center}.game-brand b{font-size:11px}.mission-heading{display:none}.deck{gap:3px;overflow-x:auto;justify-content:flex-start;padding:6px 2px}.seed-card{flex:0 0 62px}.resource-panel{flex-basis:58px}.resource-panel canvas{display:none}.resource-panel b{padding-top:27px}.hud-side{display:none}.board-shell{border-radius:5px}.game-footer .status-copy b{display:none}.footer-actions{gap:6px}.modal-card{padding:30px 24px}.how-grid{grid-template-columns:1fr}.board-message b{font-size:16px}.board-message{padding:15px 22px}}
