@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
.mobile-dock{display:none}@media(max-width:740px){body{padding-bottom:84px}.mobile-dock{display:flex;position:fixed;bottom:0;left:0;right:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#e9eee4f5;border-top:1px solid #cad4bf;gap:9px;z-index:3;backdrop-filter:blur(8px)}.mobile-dock .primary{flex:1;display:flex;justify-content:space-between;align-items:center;font:700 18px 'Barlow Condensed',sans-serif}.mobile-dock .primary span{font:500 11px 'DM Sans',sans-serif;color:#e4cd96}.mobile-dock ~ #toasts{bottom:90px}}
:root{--ink:#203f37;--green:#183c36;--cream:#f7f3e6;--gold:#f1be55;--muted:#75867a;--line:#dcded0;--teal:#238c76}*{box-sizing:border-box}body{margin:0;background:#e9eee4;color:var(--ink);font:14px 'DM Sans',sans-serif;background-image:radial-gradient(#84987d28 .8px,transparent .8px);background-size:6px 6px}button,a,input{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:#fffdf5;border-radius:7px;padding:10px 14px;font-weight:700;transition:background .15s,transform .1s}button:hover{background:#ebeedd}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #eaa638;outline-offset:3px}.masthead{height:96px;max-width:1280px;margin:auto;display:flex;align-items:center;gap:18px;padding:0 38px;border-bottom:1px solid #cbd4c6}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--green);font:900 29px/.85 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px}.brand>span>span{color:var(--teal)}.brand small{display:block;font:600 9px 'DM Sans',sans-serif;letter-spacing:4.9px;margin-top:9px}.brand svg{width:44px;fill:none;stroke:var(--green);stroke-width:2.5}.brand svg circle{fill:var(--gold)}.brand svg path{fill:var(--teal);stroke:none}.currencies{margin-left:auto;display:flex;gap:12px}.currencies>span{display:flex;gap:10px;align-items:center;border:1px solid #d0d8ca;background:#f5f6ed;padding:9px 15px;min-width:100px;border-radius:6px}.currencies i{font-size:21px;font-style:normal}.coin{color:#c99a29}.key{color:#a66b33}.gem{color:#458eae}.square{font-size:21px;padding:7px 12px;background:transparent}main{max-width:1280px;margin:auto;padding:30px 38px 24px;display:grid;grid-template-columns:minmax(0,1.32fr) minmax(360px,1fr);gap:30px}.section-top{height:67px;display:flex;align-items:flex-start;justify-content:space-between}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#657b68}h1{font:700 29px 'Barlow Condensed',Impact,sans-serif;margin:3px 0}h2{font:700 27px 'Barlow Condensed',Impact,sans-serif;margin:0}h3{font:700 21px 'Barlow Condensed',Impact,sans-serif;margin:0 0 8px}.live{display:flex;gap:6px;align-items:center;font-size:9px;font-weight:800;letter-spacing:1px;margin-top:10px}.live i{width:6px;height:6px;background:var(--teal);border-radius:50%}.arena-frame{position:relative;border:7px solid var(--green);border-radius:10px;background:var(--green);box-shadow:0 6px 0 #bccbb8;overflow:hidden}.arena-top,.arena-bottom{color:#c9dbca;display:flex;justify-content:space-between;align-items:center;padding:3px 10px 10px;font-size:10px;font-weight:700;letter-spacing:1px}.arena-bottom{padding:7px 8px 0;min-height:34px;font-size:10px;letter-spacing:0}.arena-bottom button{background:#315047;border:0;color:#e5eedc;padding:4px 9px;margin-left:5px;font-size:11px}.wave-dots{display:flex;gap:5px}.wave-dots i{display:block;background:#426055;width:16px;height:4px;border-radius:2px}.wave-dots i.done{background:var(--gold)}canvas{display:block;width:100%;aspect-ratio:4/3;background:#d8dcc2;border-radius:3px}.battle-banner{position:absolute;left:12%;right:12%;top:43%;text-align:center;background:var(--green);color:var(--cream);padding:20px;border:2px solid var(--gold);box-shadow:0 8px 30px #10291a55;font:700 26px 'Barlow Condensed',sans-serif;pointer-events:none}.hero-strip{display:flex;gap:12px;align-items:center;padding:22px 3px 17px}.hero-avatar{font-size:31px;color:var(--teal);background:#d6dfcd;border:1px solid #b8c9b1;width:46px;height:46px;display:grid;place-items:center;border-radius:8px}.hero-title b{display:block;font:700 20px 'Barlow Condensed',sans-serif}.hero-title span{color:#7b8b75;font-size:11px}.health{margin-left:auto;width:43%}.health>div:first-child{display:flex;justify-content:space-between;font-size:9px;margin-bottom:6px}.health b{font-size:10px}.bar{height:7px;border-radius:3px;background:#d3dbcc;overflow:hidden}.bar i{display:block;height:100%;background:var(--teal);transition:width .2s}.skills{display:grid;grid-template-columns:repeat(3,1fr) 65px;gap:9px}.skills button{position:relative;display:flex;gap:8px;align-items:center;padding:11px 9px;background:#f4f4e8;border-color:#c9d3c1;overflow:hidden}.skills button>span{font-size:23px;color:var(--teal)}.skills button b{font:700 16px 'Barlow Condensed',sans-serif}.skills button small{font-size:9px;margin-left:auto;font-weight:500}.skills .auto{display:block;text-align:center;font-size:11px;padding:5px}.skills .auto small{display:block;font-size:7px;letter-spacing:.5px;margin:3px 0}.skills .active{background:var(--green);color:#fff}.field-note{display:flex;gap:12px;align-items:center;color:#728369;font-size:11px;padding:12px 3px}.field-note>span{font-size:21px;color:#a49b53}.field-note button{border-radius:50%;padding:1px 6px;margin-left:auto;font-size:10px;background:transparent}.workshop{min-width:0;background:var(--cream);border:1px solid #d2d6c7;border-radius:10px;box-shadow:0 4px 0 #d5dccd;align-self:start}.tabs{display:flex;border-bottom:1px solid #d8dacb;padding:9px 12px 0;gap:4px}.tabs button{flex:1;border:0;border-radius:6px 6px 0 0;background:transparent;padding:12px 3px;color:#8b937e;font-size:16px}.tabs button span{margin-left:4px;font:700 17px 'Barlow Condensed',sans-serif}.tabs button.active{color:var(--green);background:#e4e9d9;box-shadow:inset 0 -3px var(--teal)}#panel{padding:22px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.tag{font-size:9px;letter-spacing:.7px;font-weight:800;background:#e9e6d7;padding:5px 7px;border-radius:4px;color:#7c8166}.chest-stage{display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse,#e6e8cc 0,transparent 65%);position:relative;padding:3px 0 8px}.chest-stage::before{content:'✧';position:absolute;font-size:90px;color:#e5dcb0;top:-15px;right:20%}.chest-art{position:relative;width:110px;height:85px;margin:5px 0 11px;filter:drop-shadow(0 9px 0 #183c361a);image-rendering:pixelated}.chest-art .lid{position:absolute;inset:5px 0 35px;background:#bd813e;border:4px solid #493e2c;border-radius:16px 16px 0 0;box-shadow:inset 0 5px #e0b75d;transform-origin:bottom left}.chest-art .box{position:absolute;inset:43px 0 0;background:#9e6034;border:4px solid #493e2c;border-radius:0 0 6px 6px;box-shadow:inset 0 -6px #855030}.chest-art::before,.chest-art::after{content:'';position:absolute;z-index:2;top:10px;bottom:4px;width:12px;background:#e3bb61;border:3px solid #493e2c;left:15px}.chest-art::after{left:auto;right:15px}.chest-art .lock{position:absolute;z-index:3;background:#efd781;border:3px solid #493e2c;width:22px;height:25px;top:36px;left:44px;text-align:center;font-size:12px;line-height:17px}.chest-art.opening .lid{animation:open .5s}@keyframes open{50%{transform:translateY(-18px) rotate(-12deg)}}.chest-meta{font-size:10px;color:#7d8c70;text-align:center}.chest-progress{width:160px;margin:7px auto 0;height:4px;background:#dedfcb;border-radius:3px}.chest-progress i{display:block;height:100%;background:#aaad74}.primary{background:var(--green);color:#fff9e6;border-color:var(--green);box-shadow:0 3px 0 #0a2721;letter-spacing:.5px}.primary:hover{background:#2c5848}.open-chest{width:100%;margin:12px 0 9px;padding:14px 15px;display:flex;justify-content:space-between}.open-chest b{font:700 20px 'Barlow Condensed',sans-serif}.open-chest span{font-size:12px;align-self:center;color:#e7cb86}.small-actions{display:flex;justify-content:space-between;gap:6px;margin-bottom:17px}.small-actions button{padding:6px 8px;font-size:9px;font-weight:600;border-color:transparent;background:#edeede}.small-actions button.active{background:#d3e0ca;color:#215a42}.divider{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin-bottom:10px;font-size:9px;font-weight:800;letter-spacing:1px}.text-button{padding:0;background:none;border:0;color:var(--teal);font-size:10px}.gear-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.gear{padding:10px 5px 8px;border:1px solid #d5d7c7;border-bottom:3px solid var(--rarity,#b7bca9);background:#edecdf;text-align:center;border-radius:6px;min-width:0}.gear .glyph{font-size:25px;display:block;line-height:30px;color:var(--rarity)}.gear b{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.gear small{display:block;font-size:9px;color:#7b846b;margin-top:3px}.item-result{background:#fffdf4;border:1px solid #c9d4bd;border-left:4px solid var(--rarity);border-radius:6px;margin:10px 0 14px;padding:12px;animation:pop .2s}.item-result>div{display:flex;justify-content:space-between;align-items:center}.item-result b{font-size:12px}.item-result small{font-size:10px;color:#79836c}.item-result p{margin:7px 0;font-size:11px}.item-result button{font-size:10px;padding:7px 12px;margin-top:5px}.up{color:#258463;font-weight:700}.muted{color:#829077;font-size:11px;line-height:1.7}.row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row .row-icon{font-size:25px;background:#e8e9d8;border-radius:8px;padding:9px;width:46px;text-align:center}.row .details{flex:1;min-width:0}.row b{display:block;font-size:12px}.row small{display:block;font-size:10px;color:#7c876f;line-height:1.6}.row button{font-size:10px;padding:9px 10px;min-width:77px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.stat{padding:13px 5px;background:#e8ebda;border-radius:6px;text-align:center}.stat b{font:700 24px 'Barlow Condensed',sans-serif;display:block}.stat small{font-size:8px;letter-spacing:1px;color:#818b71}.class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0 22px}.class-grid button{padding:10px 2px;font-size:9px}.class-grid button span{display:block;font-size:23px;margin-bottom:4px}.class-grid button.active{background:var(--green);color:var(--cream);border-color:var(--green)}.age-card{border:1px solid var(--line);padding:12px;border-radius:6px;margin-top:8px;display:flex;gap:12px;align-items:center}.age-card .number{font:700 30px 'Barlow Condensed';color:#a5af91}.age-card b{font-size:12px}.age-card small{display:block;color:#899477;font-size:10px;margin-top:4px}.age-card.current{background:#e2e9d5;border-color:#a8b69a}.age-card .tag{margin-left:auto;font-size:8px}.prestige{padding:15px;background:#e9e5d2;border-radius:7px;margin-top:20px}.prestige p{font-size:11px;color:#7c8167;line-height:1.7}.prestige button{width:100%}.empty{text-align:center;padding:24px;color:#839176}.inventory{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:360px;overflow:auto;margin:16px 0}.inventory .gear{cursor:pointer}footer{max-width:1204px;margin:0 auto;padding:17px 0 22px;border-top:1px solid #cbd4c6;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#8b967f}footer span:first-child{font-weight:800}footer span:last-child{letter-spacing:0}dialog{border:1px solid #c9d1bd;border-radius:12px;background:var(--cream);color:var(--ink);width:min(480px,92vw);padding:30px;box-shadow:0 20px 90px #0f2b3066}dialog::backdrop{background:#122e2abb;backdrop-filter:blur(4px)}dialog h2{margin-bottom:12px}dialog p{font-size:12px;line-height:1.8;color:#718067}.modal-close{position:absolute;top:8px;right:9px;border:0;background:none;font-size:24px;padding:0 8px}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.modal-actions button{font-size:11px}#toasts{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:5;pointer-events:none;width:min(380px,90vw);display:flex;flex-direction:column;gap:7px}.toast{padding:13px 18px;background:var(--green);color:#fff9df;border:1px solid #98b38b;border-radius:8px;box-shadow:0 4px 15px #122d2a30;text-align:center;font-size:12px;animation:pop .2s}@keyframes pop{from{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}@media(min-width:1450px){main{padding-top:45px}}@media(max-width:900px){main{gap:20px;padding:24px}.masthead{padding:0 24px}.skills{grid-template-columns:repeat(3,1fr) 53px;gap:5px}.skills button{gap:4px;padding:9px 5px}.skills button small{font-size:8px}.skills button b{font-size:14px}.skills button>span{font-size:18px}#panel{padding:18px}footer{margin:0 24px}}@media(max-width:740px){.masthead{height:76px;padding:0 15px;gap:10px}.brand{font-size:21px;gap:6px}.brand small{font-size:7px;letter-spacing:3px;margin-top:6px}.brand svg{width:33px}.currencies{gap:5px}.currencies>span{padding:5px 7px;min-width:0;gap:5px;font-size:11px}.currencies i{font-size:15px}.square{font-size:18px;padding:5px}.masthead .currencies>span:nth-child(3){display:none}main{display:block;padding:18px 14px}.section-top{height:58px}h1{font-size:25px}.arena-frame{border-width:5px}canvas{aspect-ratio:4/3;max-height:390px}.hero-strip{padding:15px 0 12px}.skills{grid-template-columns:repeat(3,1fr) 56px}.skills button{padding:10px 8px}.skills button b{font-size:16px}.skills button>span{font-size:20px}.field-note{padding:7px 0}.field-note p{margin:8px 0}.workshop{margin-top:5px}.tabs{position:sticky;top:0;background:var(--cream);z-index:1;border-radius:9px 9px 0 0}.tabs button{padding:13px 5px}#panel{padding:20px}.chest-stage{padding:0}.chest-art{transform:scale(.9);margin:0}.chest-meta{margin-top:-1px}footer{margin:0 15px;font-size:8px;gap:15px;line-height:1.6}.health{width:42%}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

@media(min-width:371px) and (max-width:740px){.masthead .currencies>span:nth-child(3){display:flex}.currencies>span{padding:5px;font-size:10px}.brand{font-size:20px}.brand svg{width:29px}.masthead{gap:7px}}
