:root{font-family:"Nunito","Trebuchet MS","PingFang SC","Microsoft YaHei",sans-serif;color:#183330;background:#142d2d;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 16% 0%,#32534a 0,transparent 28%),radial-gradient(circle at 87% 8%,#244d4c 0,transparent 26%),#142d2d;min-height:100vh}button{font:inherit;cursor:pointer}button:focus-visible,.lane:focus-visible{outline:3px solid #ffcc65;outline-offset:3px}.app-shell{max-width:1640px;margin:auto;padding:0 26px}.topbar{height:95px;display:flex;align-items:center;justify-content:space-between;color:#f9f4de;gap:20px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{height:55px;width:55px;display:grid;place-items:center;border-radius:17px;background:#e5a94d;box-shadow:inset 0 -6px 0 #c98b39,0 5px 0 #102a29;font-size:30px;transform:rotate(-6deg)}h1,h2,p{margin:0}.brand h1{font-size:29px;line-height:1.04;letter-spacing:2px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:2.4px;color:#748e73}.brand .eyebrow{color:#e3b869}.top-right{display:flex;align-items:center;gap:10px}.resource{height:43px;padding:0 13px;display:flex;align-items:center;gap:7px;border:1px solid #46605a;border-radius:13px;background:#203e3d;color:#fff}.resource span{font-size:19px}.resource strong{font-size:17px}.resource small{font-size:11px;color:#c6d0c1}.sound-button{height:43px;width:43px;border:1px solid #46605a;border-radius:13px;background:#203e3d;color:#fff;font-size:18px}.game-layout{display:grid;grid-template-columns:260px minmax(520px,1fr) 292px;gap:18px;align-items:start}.left-column,.center-column,.right-column{display:flex;flex-direction:column;gap:18px;min-width:0}.panel{border-radius:20px;background:#f7f2df;border:1px solid #e7dfbd;box-shadow:0 6px 0 rgba(7,25,23,.28),0 18px 35px rgba(4,20,18,.13);overflow:hidden}.profile-panel,.training-panel,.missions-panel,.collection-panel,.hand-panel,.battle-panel{padding:17px}.panel-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.tiny-tag{font-size:10px;border-radius:20px;background:#dce8cc;color:#517255;padding:5px 8px;font-weight:800}.tribe-hero{display:flex;align-items:center;gap:10px;margin:14px 0}.tribe-dino{font-size:51px;line-height:1;width:74px;height:74px;display:grid;place-items:center;background:linear-gradient(145deg,#ffd48c,#ed9962);border:3px solid #fff4d5;border-radius:19px;box-shadow:0 4px 0 #d98b50}.tribe-hero span{display:block;color:#718074;font-size:11px}.tribe-hero strong{display:block;font-size:17px;margin-top:3px}.level-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;color:#748278}.level-pill{background:#21534b;color:#fff;padding:6px 10px;border-radius:8px;font-weight:900;font-size:12px}.progress-track,.tower-track,.energy-track{overflow:hidden;background:#d8e0cc;border-radius:20px}.progress-track{height:9px;margin-top:10px}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#e7a63e,#ffc978);transition:width .25s}.helper{font-size:11px;color:#6d7d70;margin-top:10px;line-height:1.5}.section-heading h2{font-size:19px;letter-spacing:.2px;margin-top:3px}.heading-icon{font-size:23px}.training-panel{background:#fff2d2;border-color:#e6d4a9}.training-panel p{font-size:11px;line-height:1.5;color:#6d7964;margin-top:10px}.blocks{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:14px 0 11px}.block{height:43px;border-radius:9px;background:linear-gradient(145deg,#eabd73,#c98643);border:2px solid #b57a3e;box-shadow:inset 0 3px 0 #f9dfaa,0 4px 0 #975c29;color:#764923;font-size:20px;transition:transform .12s,filter .12s}.block:hover:not(:disabled){transform:translateY(-3px);filter:brightness(1.07)}.block:active:not(:disabled){transform:translateY(2px)}.block.broken{background:#d5e2c3;border-color:#bfd4aa;box-shadow:inset 0 2px 0 #edf4da;color:#739b72;cursor:default}.training-footer{display:flex;justify-content:space-between;font-size:10px;font-weight:900;color:#966637}.training-footer span:last-child{color:#a58b65}.missions-panel{background:#edf4e5;border-color:#d5e3cb}.mission-list{display:flex;flex-direction:column;gap:9px;margin-top:14px}.mission{display:grid;grid-template-columns:33px 1fr;gap:9px;padding:10px;border:1px solid #d5e4cd;border-radius:12px;background:#fffdf2}.mission-icon{width:33px;height:33px;display:grid;place-items:center;background:#e5efd8;border-radius:9px;font-size:19px}.mission strong{display:block;font-size:12px}.mission p{font-size:10px;color:#778a73;margin:3px 0 7px}.mission-progress{font-size:10px;font-weight:900;color:#416f54;display:flex;align-items:center;justify-content:space-between;gap:5px}.mission button{border:0;border-radius:7px;background:#e8ae52;color:#5d3c17;padding:4px 7px;font-size:10px;font-weight:900}.mission button:disabled{background:#dce7d3;color:#769275;cursor:default}.intro-card{min-height:180px;position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(110deg,#e9aa66 0%,#f3c27e 55%,#ffe5a0 100%);border:2px solid #f5d298;box-shadow:0 6px 0 #9b613d,0 16px 30px rgba(4,20,18,.16)}.intro-copy{position:relative;z-index:2;padding:24px 26px;width:60%}.intro-copy .eyebrow{color:#7f6138}.intro-copy h2{font-size:31px;line-height:1.1;color:#273f34;margin:8px 0 9px;letter-spacing:1px}.intro-copy h2 em{font-style:normal;color:#fffaf0;text-shadow:0 3px 0 #9a7546}.intro-copy p{font-size:12px;line-height:1.4;font-weight:800;color:#6a654f}.intro-art{position:absolute;inset:0;overflow:hidden}.sun{position:absolute;right:20%;top:-40px;width:145px;height:145px;border-radius:100%;background:#ffda87;box-shadow:0 0 0 20px rgba(255,237,175,.25)}.hill{position:absolute;bottom:-48px;right:-10%;width:80%;height:105px;border-radius:50% 50% 0 0}.hill-back{background:#a9bf78;bottom:-30px;right:4%;height:100px}.hill-front{background:#749d67}.intro-dino{position:absolute;right:10%;bottom:-28px;font-size:160px;filter:drop-shadow(8px 8px 0 #4b754d);transform:rotate(-8deg)}.leaf{position:absolute;font-size:42px;bottom:4px}.leaf-a{right:35%}.leaf-b{right:4%}.battle-panel{padding:17px}.battle-heading{margin-bottom:13px}.battle-status{background:#e6edda;color:#60755a;border-radius:20px;padding:7px 11px;font-size:11px;font-weight:900}.battle-status.live{background:#d2efdb;color:#268451}.scorebar{display:grid;grid-template-columns:1fr 65px 1fr;align-items:center;gap:14px;margin-bottom:13px}.tower-score{font-size:11px;font-weight:900;color:#3b6b58}.tower-score strong{float:right;font-size:12px;color:#254b40}.tower-track{height:7px;margin-top:6px;background:#e6dfc9}.tower-track i{display:block;width:100%;height:100%;background:#5fbf7a;transition:width .2s}.enemy-score{color:#a45e4e;text-align:right}.enemy-score strong{float:left;color:#a45e4e}.enemy-score .tower-track i{background:#f07d67}.timer{text-align:center;color:#315c4c;font-size:17px;font-weight:1000;letter-spacing:1px}.arena{height:325px;position:relative;overflow:hidden;border-radius:15px;border:5px solid #345e53;box-shadow:inset 0 0 0 3px #c8dda5;background:#7fba72}.arena-sky{position:absolute;inset:0;pointer-events:none}.arena-sky span{position:absolute;color:rgba(255,255,255,.4);font-size:30px;top:8px;left:25%}.arena-sky span+span{left:70%;top:65%}.lane{position:absolute;left:0;right:0;height:45%;background:repeating-linear-gradient(120deg,transparent,transparent 44px,rgba(255,255,255,.06) 45px,rgba(255,255,255,.06) 65px);cursor:crosshair}.lane:hover{background-color:rgba(255,255,255,.13)}.lane-top{top:0}.lane-bottom{bottom:0;background-color:#72af70}.lane-label{position:absolute;left:48%;font-size:10px;color:rgba(40,90,64,.5);font-weight:900}.lane-top .lane-label{top:12px}.lane-bottom .lane-label{bottom:10px}.river{position:absolute;left:0;right:0;top:45%;height:10%;background:repeating-linear-gradient(100deg,#70d2df 0,#70d2df 28px,#9be3e7 30px,#9be3e7 40px);border-top:3px solid #b3e8e1;border-bottom:3px solid #4aaebd}.bridge{position:absolute;left:49%;width:44px;height:17%;background:repeating-linear-gradient(0deg,#b78351 0,#b78351 11px,#a27244 12px,#a27244 15px);border-left:4px solid #895e3b;border-right:4px solid #895e3b;transform:translateX(-50%);box-shadow:0 3px 0 rgba(55,87,59,.25)}.bridge-top{top:39%}.bridge-bottom{bottom:39%}.base{position:absolute;top:50%;z-index:5;transform:translateY(-50%);width:64px;height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff3c9;border:4px solid #427d64;border-radius:16px;box-shadow:0 5px 0 #355947,0 0 0 7px rgba(244,236,176,.3);pointer-events:none}.base-own{left:2%}.base-enemy{right:2%;border-color:#b36a53;box-shadow:0 5px 0 #8e5644,0 0 0 7px rgba(244,236,176,.3)}.base-emoji{font-size:32px}.base small{font-size:10px;font-weight:1000;color:#476854}.arena-units{position:absolute;inset:0;pointer-events:none;z-index:4}.unit{position:absolute;width:47px;height:53px;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;filter:drop-shadow(0 4px 2px rgba(23,56,42,.3));transition:left .19s linear,top .19s linear}.unit-icon{width:40px;height:40px;display:grid;place-items:center;font-size:27px;border:3px solid #f6f1d5;border-radius:13px;background:var(--unit-color);box-shadow:0 3px 0 rgba(39,77,52,.3)}.unit.enemy .unit-icon{border-color:#ab594c;transform:scaleX(-1)}.unit.flash .unit-icon{filter:brightness(1.9)}.unit-hp{position:absolute;top:0;width:40px;height:5px;border-radius:5px;background:#bc715e;overflow:hidden}.unit-hp i{display:block;height:100%;background:#52c276}.arena-overlay{position:absolute;z-index:7;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(17,55,48,.75);color:#fff;backdrop-filter:blur(2px)}.arena-overlay.hidden{display:none}.overlay-illustration{font-size:68px;line-height:1;margin-bottom:7px}.arena-overlay strong{font-size:19px}.arena-overlay p{font-size:12px;margin-top:5px;color:#d5e5d8}.battle-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:14px}.energy-display{display:grid;grid-template-columns:20px auto auto;align-items:center;column-gap:5px;min-width:145px;font-size:11px;font-weight:900;color:#625898}.energy-icon{font-size:18px}.energy-display strong{color:#50438e}.energy-track{grid-column:1/4;height:8px;margin-top:5px;background:#e2dcf1}.energy-track i{display:block;height:100%;width:50%;background:linear-gradient(90deg,#a083eb,#d2a6f2);transition:width .2s}.primary-button{border:0;border-radius:11px;background:#e8a64c;color:#50351b;padding:11px 16px;font-size:12px;font-weight:1000;box-shadow:inset 0 2px 0 #ffda8b,0 4px 0 #ad7233;white-space:nowrap}.primary-button:hover{filter:brightness(1.06);transform:translateY(-1px)}.primary-button:active{transform:translateY(2px);box-shadow:inset 0 2px 0 #ffda8b,0 2px 0 #ad7233}.primary-button:disabled{opacity:.6;cursor:default;transform:none}.battle-tip{font-size:11px;color:#758275;line-height:1.4;margin-top:13px}.hand-panel h2 span{font-size:12px;color:#829477}.hand-hint{font-size:10px;color:#8b9a86;font-weight:800}.battle-hand{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.hand-card{position:relative;min-width:0;border:2px solid #e5d9bc;border-radius:12px;background:#fffaf0;padding:8px 6px 6px;text-align:center;transition:transform .15s,border .15s;box-shadow:0 3px 0 #d2c7ad}.hand-card:hover{transform:translateY(-3px)}.hand-card.selected{border-color:#e6a542;box-shadow:0 0 0 3px #ffe7a9,0 3px 0 #c98e3e}.hand-card.unaffordable{opacity:.56}.hand-card .cost-badge,.collection-card .cost-badge{position:absolute;top:-6px;left:-6px;background:#956fe1;color:white;border:2px solid #fff;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:11px;font-weight:1000}.hand-icon{font-size:33px;line-height:1.1;display:block;border-radius:8px;background:var(--card-color);padding:5px 0}.hand-card strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:6px}.hand-card small{display:block;color:#869187;font-size:9px;margin-top:2px}.collection-panel{padding:17px}.collection-copy{font-size:11px;color:#7d8a79;line-height:1.5;margin:10px 0 12px}.filter-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.filter{font-size:10px;font-weight:900;background:#e6e9d7;color:#778475;border:0;border-radius:7px;padding:6px 8px}.filter.active{background:#315c4c;color:#fff}.collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.collection-card{position:relative;border:2px solid #e2dcc2;border-radius:13px;background:#fffdf3;padding:8px;min-width:0;text-align:left;box-shadow:0 3px 0 #d2c9ad}.collection-card.in-deck{border-color:#87ba7d}.collection-card .card-portrait{height:59px;border-radius:9px;background:linear-gradient(135deg,var(--card-color),#fff3d0);display:grid;place-items:center;font-size:39px;margin-bottom:7px}.collection-card strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collection-card .card-meta{display:flex;justify-content:space-between;color:#819082;font-size:9px;font-weight:800;margin:3px 0 7px}.collection-actions{display:flex;gap:4px}.collection-actions button{flex:1;border:0;background:#dceacf;color:#47704b;border-radius:6px;padding:5px 2px;font-size:9px;font-weight:900}.collection-actions .upgrade{background:#f6e5bb;color:#866136}.collection-actions button:disabled{opacity:.45;cursor:default}.footer{display:flex;justify-content:space-between;padding:22px 0 25px;color:#91a69b;font-size:10px}.toast{position:fixed;z-index:20;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#183f3b;color:#fff;border:2px solid #89bd8e;padding:12px 18px;border-radius:12px;font-size:13px;font-weight:900;box-shadow:0 8px 25px #0b2523aa;transition:opacity .2s,transform .2s;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.modal-backdrop{position:fixed;z-index:30;inset:0;background:#0b2622bd;display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.result-modal{width:min(370px,100%);background:#fff6dc;border:4px solid #dfbd79;box-shadow:0 10px 0 #a27443,0 25px 70px #071d1aaa;border-radius:23px;text-align:center;padding:26px}.result-icon{font-size:68px}.result-modal h2{font-size:29px;color:#335649;margin:5px 0}.result-modal p{font-size:13px;color:#74816e;line-height:1.5}.result-reward{background:#f4e6b9;color:#77512a;border-radius:10px;padding:10px;margin:18px 0;font-size:14px;font-weight:900}.result-modal .primary-button{width:100%}@media(max-width:1150px){.game-layout{grid-template-columns:230px minmax(440px,1fr)}.right-column{grid-column:1/-1}.collection{grid-template-columns:repeat(5,minmax(0,1fr))}.intro-dino{right:5%}}@media(max-width:780px){.app-shell{padding:0 14px}.topbar{height:auto;min-height:79px}.brand h1{font-size:22px}.brand-mark{width:44px;height:44px;font-size:24px}.resource{padding:0 8px;height:37px}.resource small{display:none}.sound-button{height:37px;width:37px}.game-layout{display:flex;flex-direction:column}.center-column{order:0;width:100%}.left-column{order:1;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.missions-panel{grid-column:1/-1}.right-column{order:2;width:100%}.mission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.collection{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:560px){.topbar{gap:8px}.brand{gap:7px}.brand h1{font-size:19px}.brand .eyebrow{font-size:7px;letter-spacing:1.4px}.brand-mark{width:39px;height:39px}.top-right{gap:5px}.resource{font-size:12px;gap:3px}.resource strong{font-size:12px}.resource span{font-size:15px}.sound-button{width:32px;font-size:14px}.intro-card{min-height:153px}.intro-copy{padding:19px 17px;width:71%}.intro-copy h2{font-size:23px}.intro-copy p{font-size:10px}.intro-dino{font-size:116px;right:-2%;bottom:-18px}.intro-art .leaf{display:none}.arena{height:275px}.base{width:45px;height:60px}.base-emoji{font-size:24px}.bridge{width:31px}.scorebar{gap:5px;grid-template-columns:1fr 50px 1fr}.timer{font-size:13px}.tower-score{font-size:9px}.tower-score strong{font-size:9px}.battle-controls{align-items:flex-end}.primary-button{font-size:11px;padding:10px}.left-column{display:flex}.mission-list{display:flex}.collection{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{gap:10px;flex-direction:column}.hand-hint{display:none}.battle-hand{gap:7px}.hand-icon{font-size:28px}.panel{border-radius:17px}}
