@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800;900&display=swap');
:root{font-family:'Noto Sans TC',system-ui,-apple-system,sans-serif;color-scheme:dark;--bg:#102c27;--panel:#f9f6e7;--ink:#233b29;--lime:#d2ec84;--gold:#f4cf72;--muted:#9ab29a}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#244b38 0,transparent 70%),var(--bg);color:#fff8df;min-height:100svh}button,select{font:inherit;touch-action:manipulation}button{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .15s,box-shadow .15s}button:active:not(:disabled){transform:translateY(2px)}button:disabled{cursor:default;opacity:.5}button:focus-visible,select:focus-visible,canvas:focus-visible,a:focus-visible{outline:3px solid #f2c658;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}button{color:inherit}select{color:var(--ink);background:#faf8ee;border:1px solid #d7ddc7;border-radius:8px;min-height:36px;padding:3px 26px 3px 9px;font-size:14px}option{background:#faf8ee;color:#243c2d}.shell{width:min(1220px,100%);margin:auto;padding:22px 32px 12px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.brand{display:flex;align-items:center;gap:14px}.brand-flower{font-size:54px;color:var(--lime);line-height:1}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:800;color:var(--lime);margin-bottom:5px}h1{font-size:29px;line-height:1.3;font-weight:900;letter-spacing:2px}.versus{color:var(--lime);font-size:23px;margin:0 11px}.header-tools{display:flex;gap:7px}.icon-button{border:1px solid #ffffff27;border-radius:11px;background:#ffffff08;width:40px;height:40px;font-size:21px}.icon-button:hover{background:#ffffff18}.muted{color:#7b8d70}.icon-button.muted{opacity:.5;color:inherit}.main-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;border-bottom:1px solid #64866655;margin-bottom:13px;padding-bottom:10px}.main-nav button{border:none;background:transparent;color:#b0c5a9;border-radius:8px;font-size:15px;font-weight:700;min-height:41px}.main-nav button.active{background:#d0e787;color:#2a4328;box-shadow:0 3px 0 #091f1a}.main-nav button:hover{background:#ffffff12}.main-nav button.active:hover{background:#def49b}.gacha-nav{color:var(--gold)!important}.gacha-nav span{background:#f7d37822;padding:2px 8px;border-radius:20px;margin-left:5px;font-variant-numeric:tabular-nums}.resources{display:flex;justify-content:space-between;gap:14px;margin:0 3px 14px;font-size:12px;color:#b1c2aa;align-items:center}#material-counts{display:flex;gap:18px;flex-wrap:wrap}.material{white-space:nowrap;font-size:13px}.material b{color:#f8f3df;font-size:14px;margin-left:5px;font-variant-numeric:tabular-nums}.material i{font-style:normal;margin-right:5px;font-size:17px}.resources>span{font-size:11px;white-space:nowrap;color:#7f9d87}.play-panel{background:var(--panel);border:5px solid #08231d;border-radius:20px;overflow:hidden;color:var(--ink);box-shadow:0 18px 45px #001c234a}.setup-bar{display:flex;gap:18px;padding:12px 18px;background:#e8edd8;border-bottom:1px solid #d9e0c8;align-items:center}.select-wrap{display:flex;align-items:center;gap:8px}.select-wrap label{font-size:12px;color:#72845e}.equipped-chip{margin-left:auto;border:0;background:none;color:#738754;font-size:12px;padding:5px;text-align:right}.equipped-chip span{margin-left:5px}.equipped-chip img{width:33px;height:29px;object-fit:contain;vertical-align:middle;margin-right:5px}.battle-hud{display:flex;align-items:center;gap:32px;padding:13px 24px}.sun-bank{display:flex;align-items:center;gap:9px;min-width:138px}.sun-bank span{font-size:39px;color:#e6aa21;line-height:1}.sun-bank strong{font-size:31px;font-weight:900;font-variant-numeric:tabular-nums}.wave-status{flex:1;max-width:440px;margin-left:auto}.wave-status>div:first-child{display:flex;justify-content:space-between;font-size:13px;gap:8px;margin-bottom:7px}.wave-status strong{font-size:13px}.wave-status span{color:#7e8b6c;font-size:12px}.track{height:9px;background:#dfe5cc;border-radius:6px;overflow:hidden}.track>i{display:block;width:0;height:100%;background:#749244;border-radius:inherit;transition:width .15s}.kill-count{display:flex;gap:4px;flex-direction:column;text-align:right;border-left:1px solid #d5dcc2;padding-left:24px;line-height:1.2}.kill-count span{font-size:11px;color:#8a9576}.kill-count strong{font-size:23px}.seed-row{display:flex;gap:7px;padding:0 20px 13px}.seed-scroll{display:flex;flex:1;gap:7px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:#a9b88d transparent}.seed-card{flex:1;min-width:87px;max-width:210px;position:relative;height:111px;background:#ebefd7;border:2px solid #d5dfbb;border-radius:10px;padding:0 5px;display:flex;flex-direction:column;align-items:center;overflow:hidden;color:var(--ink);box-shadow:0 3px 0 #d6dfbd}.seed-card.selected{border-color:#4e712e;background:#e1edbd;box-shadow:0 3px 0 #4e712e}.seed-card img{height:67px;width:76px;object-fit:contain;max-width:100%;filter:drop-shadow(0 4px 2px #405b2626)}.seed-card strong{font-size:12px;white-space:nowrap}.seed-card .seed-price{font-size:12px;font-weight:800;margin-top:3px}.seed-card .seed-key{position:absolute;left:5px;top:3px;font-size:10px;color:#8a9a69}.seed-card .seed-stars{position:absolute;right:4px;top:3px;font-size:8px;color:#d3a249}.seed-card .cooldown{position:absolute;inset:0;background:#334b476b;transform-origin:bottom;pointer-events:none;transform:scaleY(0)}.seed-card.unaffordable{opacity:.52}.shovel{flex:0 0 45px;border:2px solid #d5dabe;background:#e2e7d2;color:#6e7e50;border-radius:10px;font-size:30px;display:flex;flex-direction:column;align-items:center;justify-content:center}.shovel span{font-size:12px}.shovel.selected{border-color:#b78c45;background:#f2dfb8;color:#866324}.inspector{display:flex;gap:12px;padding:8px 20px;background:#e5ecd1;align-items:center;border-top:1px solid #cbd8b2;font-size:13px}.inspector img{height:36px;width:36px;object-fit:contain}.inspector .inspect-info{flex:1;display:flex;flex-direction:column;gap:3px}.inspector small{color:#71815b;font-size:12px}.inspector button{border:0;border-radius:8px;background:#416d36;color:white;padding:8px 13px;font-size:13px;font-weight:700}.inspector .dismiss{background:none;color:#789060;font-size:20px;padding:3px 6px}.board-wrap{position:relative;aspect-ratio:1080/610;overflow:hidden;background:#719b46;border-top:3px solid #416434;border-bottom:3px solid #416434;isolation:isolate}canvas{display:block;width:100%;height:100%;touch-action:manipulation;outline-offset:-3px!important}.overlay{position:absolute;inset:0;background:#12331f55;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto}.start-card{max-width:100%;width:480px;text-align:center;background:#fffced;border-radius:20px;padding:28px 35px;box-shadow:0 6px 0 #29453199,0 18px 60px #112e2755;color:var(--ink);border:1px solid #ffffff}.pill{display:inline-block;color:#758650;background:#edf1d4;border:1px solid #dce2bd;border-radius:30px;font-size:12px;font-weight:700;padding:5px 12px;letter-spacing:1px}.start-card h2{font-size:33px;font-weight:900;line-height:1.5;margin:13px 0 7px}.start-card h2 em{display:block;font-style:normal;color:#567e36}.start-card p{color:#7b8766;font-size:14px;line-height:1.7;margin-bottom:20px}.primary{width:100%;background:#426f34;border:1px solid #345d2b;border-radius:10px;color:#fffbe9;min-height:45px;padding:10px 16px;font-size:16px;font-weight:800;box-shadow:0 4px 0 #234525}.primary:hover{background:#54873f}.micro-note{display:block;font-size:12px;color:#8a9373;margin-top:14px}.secondary{border:1px solid #cbd6b5;border-radius:9px;background:#eaf0d5;color:#617948;padding:9px 15px;font-size:14px;font-weight:700;min-height:41px}.plain-button{background:none;border:0;color:#70845c;padding:8px;font-size:13px}.board-message{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:5;background:#fffbdfed;border:1px solid #fff6c5;border-radius:24px;padding:7px 18px;color:#536135;font-size:14px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s;max-width:96%;text-align:center;white-space:nowrap}.board-message.visible{opacity:1}.boss-hud{position:absolute;left:25%;right:8%;top:7px;z-index:2;background:#241f35db;border:1px solid #c597ef70;color:#f2ddff;border-radius:8px;padding:6px 12px;font-size:12px}.boss-hud>div:first-child{display:flex;justify-content:space-between;margin-bottom:4px}.boss-hud .track{height:7px;background:#5b426b}.boss-hud .track i{background:linear-gradient(90deg,#bb70dc,#f0a4e0)}.action-bar{display:grid;grid-template-columns:repeat(3,1fr) 1.3fr;gap:9px;padding:13px 19px 10px}.action-bar>button{display:flex;align-items:center;text-align:left;gap:8px;background:#ecefdc;border:1px solid #d7dfc5;border-radius:10px;padding:9px 10px;min-height:60px;position:relative;overflow:hidden;color:#526a3d}.action-bar>button.targeting{outline:2px solid #d2a752;background:#f4e8ba}.action-bar>button>div{display:flex;flex-direction:column;gap:5px;position:relative;z-index:1}.action-bar strong{font-size:13px;font-weight:800}.action-bar small{font-size:11px;white-space:nowrap;color:#879573}.skill-symbol{font-size:30px;line-height:1;position:relative;z-index:1}.bomb{color:#d88952}.freeze{color:#6d9fab}.heal{color:#b485a2}.action-bar>.weapon-action{background:#294c3a;color:#e5f1b8;border-color:#204333}.weapon-action small{color:#acc793}.weapon-action>i{position:absolute;left:0;bottom:0;height:4px;width:0;background:#e3cf77;transition:width .15s}.game-footer{display:flex;justify-content:space-between;gap:10px;padding:7px 21px 13px;font-size:12px;line-height:1.7;color:#7d8c64}.game-footer>span:last-child{color:#99a582;white-space:nowrap}.bottom-note{display:flex;justify-content:space-between;gap:14px;padding:13px 3px;color:#819e87;font-size:11px;line-height:1.7}
/* Collection, crafting and card packs */
dialog{color-scheme:light;border:1px solid #e2e6cf;background:#fcfaed;color:var(--ink);border-radius:20px;box-shadow:0 20px 90px #001c18aa;max-height:88svh}dialog::backdrop{background:#061e18d9;backdrop-filter:blur(5px)}.hub-dialog{width:min(1050px,94vw);padding:24px 26px 28px}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px}.dialog-top .eyebrow,dialog>.eyebrow{color:#8b9a61}.dialog-top h2{font-size:27px;letter-spacing:1px}.close-button{font-size:29px;border:0;background:#e9eedb;color:#698050;border-radius:50%;width:37px;height:37px;flex:none;line-height:1}.hub-tabs{display:flex;gap:7px;border-bottom:1px solid #dde4c8;padding-bottom:13px;margin-bottom:20px}.hub-tabs button{flex:1;border:0;background:none;color:#8b9874;font-size:14px;border-radius:8px;padding:9px 6px;white-space:nowrap}.hub-tabs button[aria-selected=true]{background:#406a33;color:#fffce9}.hub-intro{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:14px;color:#82916e;line-height:1.7;margin-bottom:20px}.hub-intro strong{color:#53703c}.collection-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.plant-card{background:#f0f2df;border:1px solid #dbe4c6;border-radius:13px;padding:10px;display:flex;flex-direction:column;min-width:0;position:relative;overflow:hidden}.rarity{font-size:11px;letter-spacing:1px;font-weight:900;color:#7f9478}.rarity.R{color:#588cca}.rarity.SR{color:#9b72b6}.rarity.SSR{color:#c2912d}.plant-card.SR{background:linear-gradient(170deg,#eee4f4,#f4f3e7 60%);border-color:#d6c6df}.plant-card.SSR{background:linear-gradient(170deg,#f7e5a7,#fff8e1 65%);border-color:#e7c676}.plant-card img{width:100%;height:130px;object-fit:contain;filter:drop-shadow(0 6px 3px #3b552524);margin:5px 0}.plant-card.locked img{filter:grayscale(.85);opacity:.5}.plant-card h3{font-size:15px;font-weight:800;white-space:nowrap}.plant-card p{font-size:12px;line-height:1.7;color:#8b9976;min-height:42px;margin:7px 0 9px}.plant-card .stars{font-size:12px;color:#c79c42;margin:5px 0}.plant-card .copy-progress{height:4px;background:#dce3ce;border-radius:5px;margin:2px 0 5px;overflow:hidden}.copy-progress i{display:block;background:#b5c36d;height:100%}.plant-card small{font-size:11px;color:#9aa785;margin-bottom:10px}.plant-card button{margin-top:auto;border:1px solid #b7c798;background:#e2ecc8;color:#56743b;border-radius:7px;font-size:12px;padding:7px 5px;font-weight:700}.plant-card button.equipped{background:#4b7038;color:#fffce8;border-color:#4b7038}.plant-card button:disabled{opacity:.5}.hub-materials{display:flex;gap:15px;flex-wrap:wrap;padding:12px 15px;background:#e9efdb;border-radius:10px;margin-bottom:20px}.hub-materials .material b{color:#385438}.weapon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.weapon-card{background:linear-gradient(155deg,#ebeed7,#f9f7ea);border:1px solid #d4dfb8;border-radius:15px;padding:18px;display:flex;flex-direction:column}.weapon-card img{height:175px;width:100%;object-fit:contain;filter:drop-shadow(0 9px 3px #2b412222);margin:5px 0 10px}.weapon-card h3{font-size:18px}.weapon-card .weapon-level{font-size:12px;color:#89a35e;margin:4px 0 8px}.weapon-card p{font-size:14px;color:#899771;line-height:1.7;min-height:48px}.recipe{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0;font-size:12px}.ingredient{background:#e8edda;color:#7d8f60;padding:5px 7px;border-radius:6px;border:1px solid #d9e2c8}.ingredient.short{background:#f1e6d7;color:#b78a63;border-color:#e9d7bc}.assembly-steps{display:flex;gap:5px;margin-bottom:12px}.assembly-steps span{flex:1;background:#e0e6d4;border-radius:4px;font-size:10px;text-align:center;padding:5px;color:#a2ad90}.assembly-steps span.ready{background:#cfddad;color:#708949}.weapon-card .primary{font-size:14px;min-height:40px;margin-top:auto}.weapon-card .secondary{margin-top:10px;text-align:center;min-height:37px;padding:7px;font-size:13px}.pool-toggle{display:flex;gap:8px;margin:0 auto 18px;justify-content:center}.pool-toggle button{border:1px solid #d9dfc3;background:#eef1df;color:#879667;border-radius:22px;padding:9px 25px;font-size:14px;font-weight:700}.pool-toggle button.active{background:#425f37;border-color:#425f37;color:#fff4ce}.gacha-banner{border-radius:18px;background:radial-gradient(ellipse at 75% 20%,#64714070,transparent 60%),#263f34;color:#fff7d7;display:flex;align-items:center;padding:24px 32px;gap:22px;margin-bottom:18px;overflow:hidden}.gacha-banner>div{flex:1}.gacha-banner .eyebrow{font-size:12px;color:#d7c57b;letter-spacing:2px}.gacha-banner h3{font-size:28px;margin:7px 0 9px}.gacha-banner p{font-size:14px;color:#b5c29d;line-height:1.8}.gacha-banner img{width:220px;height:220px;object-fit:contain;filter:drop-shadow(0 0 25px #f8d77633)}.gacha-buttons{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.gacha-buttons button{min-height:54px}.gacha-buttons .primary{background:#dfbe64;border-color:#c6a64e;color:#4b4629;box-shadow:0 4px 0 #b39343}.pity-row{display:flex;justify-content:center;gap:20px;color:#8c966f;font-size:13px;margin:12px 0 20px}.pity-row b{color:#796740}.rates{background:#f0f1df;border-radius:9px;padding:12px 16px;font-size:13px;color:#89966f;line-height:1.8}.rates summary{cursor:pointer;color:#6b8250;font-weight:700}.rates table{border-collapse:collapse;width:100%;margin:9px 0}.rates td,.rates th{text-align:left;padding:5px;border-bottom:1px solid #dce2ca;font-size:13px}.bestiary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.monster-card{background:#e8ebdc;border:1px solid #d5ddc1;border-radius:13px;padding:16px}.monster-card img{height:170px;width:100%;object-fit:contain;filter:drop-shadow(0 7px 3px #30412828)}.monster-card h3{font-size:17px;margin:8px 0}.monster-card p{font-size:14px;color:#81906b;line-height:1.8}.reveal-dialog{width:min(860px,94vw);padding:28px;position:relative;text-align:center}.reveal-dialog>.close-button,.help-dialog>.close-button{position:absolute;right:13px;top:12px}.reveal-dialog h2{font-size:26px;margin:15px 0 8px}.reveal-dialog p{font-size:14px;color:#8c9979;line-height:1.8}.reveal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:23px 0}.draw-card{background:#f0f2de;border:1px solid #d6dfbd;border-radius:12px;padding:10px;position:relative;animation:card-reveal .5s both}.draw-card.SR{background:#eee3f2;border-color:#cbb5df}.draw-card.SSR{background:linear-gradient(145deg,#fae295,#fff6d8);border:2px solid #e9c064;box-shadow:0 0 22px #e6c25b33}.draw-card img{width:100%;height:98px;object-fit:contain;margin:7px 0}.draw-card h3{font-size:13px;white-space:nowrap}.draw-card small{font-size:11px;display:block;color:#8f9b77;margin-top:7px}.draw-card .new{position:absolute;top:8px;right:7px;font-size:9px;font-weight:900;color:#bb8539}.material-reveal{height:98px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:41px;color:#bdaa69;margin:7px 0}.single-reveal{grid-template-columns:minmax(160px,250px);justify-content:center}.single-reveal .draw-card img,.single-reveal .material-reveal{height:190px}.single-reveal .draw-card h3{font-size:18px}.pack-opening{padding:45px 10px 30px}.pack-button{position:relative;width:175px;height:220px;background:linear-gradient(150deg,#608044,#233f2e);border:3px solid #e1c66f;border-radius:18px;color:#eed793;box-shadow:0 0 50px #e4cd8833;transform:rotate(-5deg);margin:20px auto 28px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px}.pack-button span{font-size:65px;line-height:1}.pack-button strong{font-size:15px;letter-spacing:4px}.craft-scene{position:relative;margin:20px auto;width:min(300px,75vw)}.craft-scene img{width:100%;height:240px;object-fit:contain;animation:assemble 1.3s both;filter:drop-shadow(0 0 24px #e5cc7166)}.craft-scene .assembly-steps span{animation:assemble .5s both}.help-dialog{width:min(510px,93vw);padding:30px}.help-dialog h2{font-size:26px;margin:10px 0 20px}.help-dialog ol{padding-left:22px;margin:20px 0}.help-dialog li{margin:15px 0;padding-left:5px;font-size:16px}.help-dialog li p{font-size:14px;line-height:1.8;margin:5px 0;color:#879572}.help-dialog>.muted{font-size:13px;line-height:1.9;background:#edf1dd;padding:13px;border-radius:9px;margin-bottom:18px}.help-dialog>p{line-height:1.8;margin:14px 0 20px;font-size:15px}.help-dialog>a{display:block;margin:14px 0;color:#4d7133}.perk-card{width:min(790px,100%);padding:25px;background:#fffbed;border-radius:19px;text-align:center;color:#35502b;box-shadow:0 15px 50px #132f2755}.perk-card h2{font-size:25px;margin:10px 0 8px}.perk-card>p{font-size:13px;color:#8d9b71}.perk-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0 3px}.perk-option{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;border:1px solid #d5debf;background:#eef3db;border-radius:12px;padding:18px 13px;color:#526d38;min-height:170px}.perk-option:hover{background:#e1edbd;border-color:#a0b76a}.perk-option .perk-symbol{font-size:36px;color:#a0ad54}.perk-option strong{font-size:17px}.perk-option small{font-size:13px;line-height:1.7;color:#88986b}.result-stats{display:flex;justify-content:center;gap:30px;margin:20px 0}.result-stats div{display:flex;flex-direction:column;gap:4px}.result-stats strong{font-size:25px}.result-stats span{font-size:12px;color:#8a9873}.rewards-list{font-size:12px!important;line-height:1.8!important;margin-bottom:18px!important}.result-card .button-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-card .button-pair .secondary{font-size:14px}.result-card h2 em{display:inline}.result-card p{margin-bottom:12px}.save-spinner{display:inline-block;width:28px;height:28px;border:3px solid #dce6c0;border-top-color:#60863b;border-radius:50%;animation:spin .9s linear infinite;margin-bottom:9px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#faffdc;color:#3d582e;padding:11px 20px;border-radius:30px;font-size:14px;box-shadow:0 6px 30px #001d2266;z-index:100;opacity:0;pointer-events:none;max-width:90vw;text-align:center}#toast.visible{opacity:1}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes card-reveal{from{opacity:0;transform:rotateY(90deg) translateY(15px)}to{opacity:1;transform:none}}@keyframes assemble{0%{opacity:0;transform:translateY(30px) scale(.8)}70%{opacity:1;transform:scale(1.06)}100%{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.shell{padding:18px}.collection-grid{grid-template-columns:repeat(4,1fr)}.battle-hud{gap:20px}.seed-row{padding:0 14px 11px}.seed-card{min-width:75px}.action-bar{gap:7px;padding:10px 13px}.action-bar strong{font-size:12px}.action-bar small{font-size:10px}.action-bar>button{padding:8px}.skill-symbol{font-size:25px}.setup-bar{padding:9px 13px;gap:10px}.equipped-chip{max-width:225px;font-size:11px}.weapon-card{padding:13px}.weapon-card h3{font-size:16px}.weapon-card img{height:155px}.hub-dialog{padding:23px 20px}.gacha-banner{padding:20px 24px}}
@media(max-width:620px){.shell{padding:15px 8px 10px}.masthead{padding:0 5px;margin-bottom:14px}.brand{gap:8px}.brand-flower{font-size:39px}.eyebrow{font-size:8px;letter-spacing:1.3px}h1{font-size:23px;letter-spacing:1px}.versus{font-size:19px;margin:0 7px}.header-tools{gap:5px}.icon-button{width:31px;height:33px;border-radius:9px;font-size:17px}.main-nav{gap:3px;padding-bottom:8px;margin-bottom:9px}.main-nav button{font-size:12px;min-height:36px;border-radius:7px;white-space:nowrap;padding:4px}.gacha-nav span{padding:2px 4px;margin-left:0;font-size:10px}.resources{margin:0 3px 10px;gap:7px;flex-wrap:wrap}#material-counts{gap:10px}.material{font-size:11px}.material i{font-size:13px;margin-right:2px}.material b{font-size:12px;margin-left:3px}.resources>span{font-size:9px}.play-panel{border-width:4px;border-radius:15px}.setup-bar{padding:8px 9px;gap:7px;flex-wrap:wrap}.select-wrap{gap:5px}.select-wrap label{font-size:10px}select{font-size:12px;min-height:30px;max-width:130px;padding-left:6px}.equipped-chip{max-width:none;width:100%;text-align:left;margin:0;padding:1px 0;font-size:10px}.equipped-chip img{width:22px;height:21px}.battle-hud{padding:10px 11px;gap:14px}.sun-bank{min-width:87px;gap:5px}.sun-bank span{font-size:29px}.sun-bank strong{font-size:25px}.wave-status strong{font-size:12px}.wave-status span{font-size:10px}.wave-status>div:first-child{margin-bottom:5px}.track{height:7px}.kill-count{padding-left:10px;gap:2px}.kill-count strong{font-size:20px}.kill-count span{font-size:9px}.seed-row{padding:0 8px 8px;gap:5px}.seed-scroll{gap:5px}.seed-card{height:94px;flex:1 0 57px;min-width:57px;max-width:75px;border-radius:8px;padding:0 2px}.seed-card img{width:58px;height:54px;margin-top:4px}.seed-card strong{font-size:10px;letter-spacing:-.3px}.seed-card .seed-price{font-size:11px;margin-top:3px}.seed-card .seed-key{display:none}.seed-card .seed-stars{font-size:7px;right:3px;top:2px}.shovel{flex-basis:32px;font-size:24px;border-radius:8px}.shovel span{font-size:9px}.board-wrap{height:min(78vw,340px);aspect-ratio:auto}.overlay{padding:10px}.start-card{width:310px;padding:17px 17px;border-radius:15px}.pill{font-size:10px;padding:4px 10px;letter-spacing:.4px}.start-card h2{font-size:25px;margin:7px 0;line-height:1.3}.start-card h2 em{display:inline}.start-card p{font-size:12px;line-height:1.7;margin:8px 0 14px}.primary{min-height:40px;font-size:14px;padding:9px 11px;border-radius:8px}.micro-note{font-size:10px;margin-top:11px}.board-message{top:5px;font-size:11px;padding:5px 12px;white-space:normal}.boss-hud{left:15%;right:3%;font-size:10px;padding:4px 9px}.action-bar{grid-template-columns:1fr 1fr;gap:6px;padding:9px}.action-bar>button{padding:8px 10px;min-height:49px;gap:8px;border-radius:8px}.action-bar strong{font-size:12px}.action-bar small{font-size:10px}.skill-symbol{font-size:25px}.action-bar>button>div{gap:3px}.game-footer{padding:4px 10px 10px;font-size:11px;display:block}.game-footer>span{display:block}.game-footer>span:last-child{font-size:10px;margin-top:3px}.bottom-note{display:block;font-size:10px;padding:10px 5px}.bottom-note>span{display:block}.inspector{padding:7px 9px;gap:7px;font-size:11px}.inspector small{font-size:10px}.inspector button{font-size:11px;padding:7px 9px}.hub-dialog{width:96vw;max-height:92svh;padding:19px 13px}.dialog-top{margin-bottom:14px}.dialog-top h2{font-size:23px}.dialog-top .eyebrow{font-size:9px}.close-button{width:32px;height:32px;font-size:25px}.hub-tabs{gap:2px;margin-bottom:15px;padding-bottom:10px}.hub-tabs button{font-size:11px;padding:8px 5px}.hub-intro{font-size:12px;display:block;margin-bottom:14px}.hub-intro>span{display:block;margin-top:6px}.collection-grid{grid-template-columns:repeat(2,1fr);gap:10px}.plant-card{padding:10px}.plant-card img{height:130px}.plant-card h3{font-size:15px}.plant-card p{font-size:12px}.plant-card small{font-size:11px}.plant-card button{font-size:12px;min-height:34px}.hub-materials{gap:10px;padding:10px;margin-bottom:14px}.weapon-grid{grid-template-columns:1fr;gap:15px}.weapon-card{padding:16px}.weapon-card img{height:180px}.weapon-card h3{font-size:19px}.weapon-card p{font-size:14px;min-height:0}.assembly-steps span{font-size:11px}.weapon-card .primary{margin-top:3px}.weapon-card .secondary{min-height:36px}.pool-toggle button{font-size:13px;padding:8px 24px}.gacha-banner{padding:18px 16px;gap:4px}.gacha-banner h3{font-size:22px}.gacha-banner .eyebrow{font-size:9px}.gacha-banner p{font-size:12px}.gacha-banner img{width:125px;height:160px}.gacha-buttons{gap:9px}.gacha-buttons button{min-height:48px;font-size:13px}.pity-row{font-size:11px;gap:14px}.rates{padding:11px 12px;font-size:12px}.rates th,.rates td{font-size:12px}.bestiary-grid{grid-template-columns:repeat(2,1fr);gap:10px}.monster-card{padding:12px}.monster-card img{height:130px}.monster-card h3{font-size:14px}.monster-card p{font-size:12px}.reveal-dialog{width:96vw;padding:22px 13px}.reveal-dialog h2{font-size:22px}.reveal-dialog p{font-size:12px}.reveal-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin:20px 0}.draw-card img{height:110px}.draw-card h3{font-size:13px}.single-reveal{grid-template-columns:minmax(160px,230px)}.perk-card{padding:13px 12px}.perk-card .pill{font-size:9px}.perk-card h2{font-size:19px;margin:6px 0}.perk-card>p{font-size:10px}.perk-options{gap:6px;margin:11px 0 0}.perk-option{padding:11px 6px;gap:7px;min-height:144px;border-radius:9px}.perk-option .perk-symbol{font-size:27px}.perk-option strong{font-size:12px}.perk-option small{font-size:10px;line-height:1.6}.result-card{padding:13px 17px}.result-card h2{font-size:23px}.result-card .rewards-list{font-size:10px!important;line-height:1.65!important;margin-bottom:12px!important;max-height:56px;overflow:auto}.result-stats{gap:27px;margin:10px 0}.result-stats strong{font-size:22px}.result-stats span{font-size:10px}.result-card .button-pair .secondary{font-size:12px;min-height:39px}.result-card .button-pair .primary{font-size:12px}.help-dialog{padding:27px 22px}.help-dialog .eyebrow{font-size:10px}}
@media(max-height:580px) and (orientation:landscape){.shell{padding:9px 20px;max-width:960px}.masthead{margin-bottom:8px}.brand-flower{font-size:30px}h1{font-size:21px}.eyebrow{font-size:8px}.icon-button{height:30px;width:33px}.main-nav{padding-bottom:5px;margin-bottom:5px}.main-nav button{min-height:29px;font-size:12px}.resources{margin-bottom:5px}.setup-bar{padding:5px 12px}.battle-hud{padding:5px 14px}.sun-bank strong{font-size:23px}.sun-bank span{font-size:28px}.seed-row{padding-bottom:6px}.seed-card{height:66px;flex-direction:row;flex-wrap:wrap;align-content:center;justify-content:center;gap:0;min-width:75px}.seed-card img{height:44px;width:43px;margin:0}.seed-card strong{font-size:10px}.seed-card .seed-price{font-size:10px;margin:0;width:100%;text-align:center}.seed-card .seed-stars,.seed-card .seed-key{display:none}.board-wrap{height:calc(100svh - 300px);min-height:220px;aspect-ratio:auto}.action-bar{padding:7px 12px}.action-bar>button{min-height:45px;padding:7px}.action-bar strong{font-size:11px}.action-bar small{font-size:9px}.game-footer{padding:3px 12px 7px;font-size:10px}.bottom-note{display:none}.start-card{padding:12px 20px;width:410px}.start-card h2{font-size:25px;margin:6px 0}.start-card h2 em{display:inline}.start-card p{font-size:12px;margin:7px 0 11px}.pill{font-size:10px;padding:4px 10px}.primary{min-height:37px;font-size:13px;padding:8px}.micro-note{font-size:10px;margin-top:10px}.perk-card{padding:10px 15px;width:650px}.perk-card h2{font-size:20px;margin:4px 0}.perk-card>p{font-size:11px}.perk-options{margin-top:10px;gap:10px}.perk-option{min-height:115px;padding:9px;gap:6px}.perk-option .perk-symbol{font-size:25px}.perk-option strong{font-size:13px}.perk-option small{font-size:11px}.result-card{padding:10px 18px}.result-card .rewards-list{display:none}.result-stats{margin:8px 0;gap:30px}.result-stats strong{font-size:20px}.result-stats span{font-size:10px}.hub-dialog{max-height:95svh}.overlay{padding:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.brand h1{white-space:nowrap}.title-verb{color:var(--lime)}
@media(max-width:380px){.brand-flower{display:none}.masthead{gap:8px}.eyebrow{letter-spacing:.8px}}

/* Pre-battle weapon selection keeps all choices reachable on small screens. */
.board-wrap.choosing-weapons{min-height:590px;height:auto;aspect-ratio:auto}
.choosing-weapons .overlay{align-items:flex-start}
.start-card.weapon-start{width:740px;padding:20px 24px;margin:auto;flex-shrink:0}
.weapon-start h2{margin:8px 0;font-size:28px}.weapon-start h3{margin:14px 0 4px;font-size:18px}
.weapon-start .primary{display:block;width:100%;margin-top:8px}
.lobby-weapons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 5px}
.lobby-weapon{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border:2px solid #d9dfca;border-radius:16px;background:#f6f7ed;color:#34462e;font:inherit;cursor:pointer;min-width:0}
.lobby-weapon.chosen{border-color:#55823b;background:#e6f0cf;box-shadow:0 0 0 3px #82a85933}
.lobby-weapon img{width:90px;height:78px;object-fit:contain}.lobby-weapon strong{font-size:14px}.lobby-weapon span,.lobby-weapon small{font-size:12px;line-height:1.5}.lobby-weapon small{flex:1}.lobby-weapon b{font-size:12px;color:#416531}.lobby-weapon:disabled{opacity:.55;cursor:default}.lobby-weapon:focus-visible{outline:3px solid #9266c2;outline-offset:3px}
@media(max-width:620px){.board-wrap.choosing-weapons{height:650px;min-height:650px}.start-card.weapon-start{width:100%;padding:16px 12px}.weapon-start h2{font-size:24px}.lobby-weapons{grid-template-columns:1fr;gap:8px;margin:12px 0 4px}.lobby-weapon{display:grid;grid-template-columns:65px 1fr;gap:3px 9px;text-align:left;padding:8px 10px}.lobby-weapon img{grid-row:1/5;width:65px;height:65px}.lobby-weapon strong,.lobby-weapon span,.lobby-weapon small,.lobby-weapon b{grid-column:2}.weapon-start .plain-button{font-size:12px}}
