:root{font-family:IBM Plex Mono,JetBrains Mono,Consolas,monospace;line-height:1.45;font-weight:400;color:#1c2c1f}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;max-width:100%;overflow-x:clip}body{background-color:#ebe5d7;background-image:linear-gradient(130deg,#ffffff8c,#cbbd9a73),repeating-linear-gradient(0deg,rgba(63,90,58,.06),rgba(63,90,58,.06) 1px,transparent 1px,transparent 28px),repeating-linear-gradient(90deg,rgba(63,90,58,.05),rgba(63,90,58,.05) 1px,transparent 1px,transparent 28px)}.app-shell{min-height:100vh;max-width:100%;overflow-x:clip}.app-main{padding:12px}.app-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #7f876c;background:#f0ece0eb;position:sticky;top:0;z-index:3}.logo{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700}.logo-icon{height:2em;width:auto;display:block}.nav-links{display:flex;gap:8px}.nav-right{display:flex;align-items:center;gap:10px}.header-stats{display:flex;align-items:center;gap:10px;font-size:12px;border:1px dashed #7f876c;border-radius:8px;padding:4px 8px;background:#d8ddc459}.header-stats-meta{display:flex;align-items:center;gap:10px;white-space:nowrap}.header-bars{display:flex;align-items:center;gap:10px}.header-gold{white-space:nowrap}.header-bar-row{display:flex;align-items:center;gap:6px;white-space:nowrap}.header-bar{position:relative;height:8px;width:90px;border:1px solid #5a6f57;border-radius:999px;overflow:hidden;background:#1e2b1c3d}.header-bar-fill{height:100%}.header-bar-hp .header-bar-fill{background:linear-gradient(90deg,#3a8f3f,#7ad35f);transition:width .12s linear}.header-bar-mp .header-bar-fill{background:linear-gradient(90deg,#315fae,#72b7ee)}.header-bar-exp .header-bar-fill{background:linear-gradient(90deg,#3d9dd0,#8be4ff)}.nav-links a{text-decoration:none;color:#2f4b31;border:1px dashed #7f876c;padding:5px 8px;border-radius:8px}.nav-links a.active{background:#d8ddc4}.corner-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:calc(100vh - 90px)}.panel{border:1px solid #7f876c;border-radius:10px;background:#fcfaf3eb;padding:10px;box-shadow:0 4px 18px #27382a14;height:100%}.panel h2{margin:0 0 8px;font-size:15px;border-bottom:1px dashed #8a8f79;padding-bottom:4px}.panel-content p,.panel-content li{margin:4px 0}.mono-list{margin:0;padding-left:16px}.log-list{max-height:280px;overflow:auto}.stack-form{display:grid;gap:8px}label{display:grid;gap:4px;font-size:13px}input,select,button{font:inherit}input,select{border:1px solid #8a8f79;border-radius:8px;padding:8px;background:#fcfbf6}button{border:1px solid #4a6650;border-radius:8px;background:#cbd9bf;padding:7px 10px;color:#1e341f;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.ghost-button{background:#f0ede3}.button-row{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.text-link-button{display:inline-block;border:1px solid #4a6650;border-radius:8px;background:#cbd9bf;padding:7px 10px;color:#1e341f;text-decoration:none}.battle-result-single{width:100%;display:grid;gap:12px}.result-title{margin:0 0 10px;font-size:28px;font-weight:800;letter-spacing:1px}.result-hero{position:relative;border:1px dashed #8a8f79;border-radius:10px;padding:10px;overflow:hidden}.result-banner-image{display:block;width:min(100%,900px);max-height:280px;object-fit:contain;margin:0 auto}.result-hero.victory{background:radial-gradient(circle at 18% 8%,rgba(255,237,131,.45),transparent 42%),radial-gradient(circle at 82% 85%,rgba(128,182,113,.34),transparent 44%),#f4efdae6;box-shadow:0 0 0 1px #bb9c4c40 inset}.result-hero.victory.victory-theme-sun{background:radial-gradient(circle at 15% 10%,rgba(255,232,124,.52),transparent 46%),radial-gradient(circle at 85% 82%,rgba(156,211,118,.34),transparent 42%),linear-gradient(135deg,#fff8dbd1,#eedca1b3);border-color:#9e8e56}.result-hero.victory.victory-theme-steel{background:linear-gradient(135deg,#d7e2dc9e,#bcccc48c),repeating-linear-gradient(45deg,rgba(70,92,83,.08),rgba(70,92,83,.08) 8px,transparent 8px,transparent 18px);border-color:#6f8479}.result-hero.victory.victory-theme-royal{background:radial-gradient(circle at 80% 12%,rgba(243,215,144,.42),transparent 42%),linear-gradient(145deg,#ede5c3c7,#d2ba7e85);border-color:#8f7342}.result-hero.defeat{background:radial-gradient(circle at 20% 10%,rgba(157,60,44,.32),transparent 42%),radial-gradient(circle at 80% 85%,rgba(79,48,42,.28),transparent 44%),#e2d7cee6}.result-fx{position:absolute;inset:0;pointer-events:none}.result-fx.victory:before,.result-fx.victory:after{content:"";position:absolute;width:140%;height:100%;left:-20%;background:radial-gradient(circle,rgba(255,215,92,.55) 1px,transparent 2px) 0 0 / 24px 20px;animation:resultSparkle 8s linear infinite}.result-fx.victory:after{animation-delay:-4s;opacity:.7}.result-fx.defeat:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(160deg,rgba(120,61,52,.16),rgba(120,61,52,.16) 8px,transparent 8px,transparent 20px);animation:resultSmoke 7s linear infinite}.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reward-tile{border:1px solid #7f876c;border-radius:10px;padding:8px;display:grid;gap:4px;background:#f5f2e6cc}.reward-tile strong{font-size:24px;line-height:1}.reward-label{font-size:12px;opacity:.85}.reward-gold{background:linear-gradient(180deg,#fae7a58c,#dcbb5f59)}.reward-exp{background:linear-gradient(180deg,#a6dfff8c,#5ca8de59)}.reward-levelup{background:linear-gradient(180deg,#b7f2ab8c,#77c56b59)}.exp-levelup-badge{display:inline-block;width:fit-content;margin-top:2px;border:1px solid #4e6e37;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;letter-spacing:.2px;background:linear-gradient(180deg,#d1f598cc,#a5d85db3);color:#1f3d13;box-shadow:0 0 0 1px #ffffff59 inset,0 1px 6px #59802c40}.exp-track-wrap{margin-top:8px}.exp-track-wrap p{margin:0 0 5px}.exp-track{position:relative;height:16px;border-radius:999px;border:1px solid #5a6f57;overflow:hidden;background:#1e2b1c4d}.exp-track-fill{position:absolute;top:0;bottom:0;left:0;transition:width .7s ease}.exp-track-fill-before{background:linear-gradient(90deg,#3d9dd0,#5fc0eb)}.exp-track-fill-gain{background:linear-gradient(90deg,#8ae0ff,#d1f5ff)}.exp-track-fill-loss{background:linear-gradient(90deg,#f4b2b2,#de6a6a)}.exp-track-divider{position:absolute;top:-2px;bottom:-2px;width:2px;margin-left:-1px;background:#f5fcfff2;box-shadow:0 0 0 1px #3b586859}.drop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.drop-card{text-align:left;display:grid;gap:2px;padding:8px;border-radius:10px;border:1px solid #7f876c;background:#f6f3e9e6;animation:dropReveal .45s ease both}.drop-card[role=button]{cursor:pointer}.drop-card strong{line-height:1.1}.drop-qty{font-weight:700}.drop-card .item-image{margin:2px 0 4px}.consumable-use-action{display:grid;justify-items:end;gap:2px}.consumable-use-action small{color:#9fa79a;font-size:10px}.shop-affordable-filter{display:flex;align-items:center;gap:7px;margin:8px 0;color:#c8cfba;font-size:12px}.shop-recommendation{display:grid;gap:5px;margin:12px 0;padding:12px;border:1px solid #a88e55;border-radius:9px;background:linear-gradient(120deg,#334c31,#203a2c);color:#e7d9b4}.shop-recommendation>button{justify-self:start}.shop-upgrade{display:grid;gap:1px;margin-top:4px;color:#c7c9b5;font-size:11px}.shop-upgrade.positive{color:#aad38f}.shop-upgrade.negative{color:#d59a8a}.drop-card.rarity-common{box-shadow:0 0 0 1px #60725d33 inset}.drop-card.rarity-uncommon{box-shadow:0 0 0 2px #49925a59 inset}.drop-card.rarity-rare{box-shadow:0 0 0 2px #467cb659 inset}.drop-card.rarity-epic{box-shadow:0 0 0 2px #875cb159 inset}.drop-card.rarity-legendary{box-shadow:0 0 0 2px #c6943f6b inset}.ascii-banner{margin:0;padding:10px;border:1px dashed #7f876c;border-radius:8px;background:#d8ddc459;font-size:16px;line-height:1.2;overflow-x:auto}.ascii-victory{font-weight:700;letter-spacing:.3px;text-shadow:0 1px 0 rgba(255,255,255,.45);line-height:1.15}.ascii-victory-sun{border-color:#9a8748;background:radial-gradient(circle at 20% 25%,rgba(255,235,156,.5),transparent 44%),linear-gradient(180deg,#f5e2aa59,#e0c1703d),#faf2d48c;box-shadow:0 0 0 1px #b88f3447 inset}.ascii-victory-steel{border-color:#6f7c74;background:linear-gradient(135deg,#d2dfd652,#b6c4be33),repeating-linear-gradient(90deg,rgba(90,113,101,.08),rgba(90,113,101,.08) 2px,transparent 2px,transparent 14px),#e5ece899;color:#1f3328;box-shadow:0 0 0 1px #576f633d inset}.ascii-victory-royal{border-color:#7f7350;background:linear-gradient(160deg,#ecdbb059,#cbb07038),radial-gradient(circle at 78% 18%,rgba(241,206,120,.35),transparent 38%),#f2e8c98c;box-shadow:0 0 0 1px #8f713442 inset}.status-error{color:#9d2d21;margin:8px 0 0}.status-ok{color:#285b2c;margin:8px 0 0}.full-page-message{padding:24px;font-size:15px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-panel{width:min(560px,100%);border:1px solid #6d7d61;border-radius:12px;background:#fbfaf4f2;padding:18px}.auth-panel h1{margin:0 0 4px;font-size:24px}.character-create-shell{min-height:calc(100dvh - 90px);display:grid;place-items:center;padding:16px}.character-create-panel{width:min(560px,100%)}.character-create-intro{margin:0 0 8px}.auth-logo{width:200px;height:200px;display:block;margin:0 auto 10px;object-fit:contain}.hint-line{margin:0 0 12px}.mode-switch{display:flex;gap:6px;margin-bottom:12px}.mode-switch button.active{background:#b6c6a2;font-weight:700}.landing-shell{min-height:100dvh;padding:24px;display:grid;gap:16px;max-width:1120px;margin:0 auto}.landing-hero{border:1px solid #6d7d61;border-radius:12px;background:#fbfaf4f2;padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.landing-logo{width:84px;height:84px;object-fit:contain}.landing-headline h1{margin:0 0 6px;font-size:34px}.landing-headline p{margin:0;color:#2e3d2f}.landing-play-button{display:inline-flex;align-items:center;justify-content:center;min-width:190px;min-height:58px;border:1px solid #4a7a4f;border-radius:12px;background:linear-gradient(180deg,#8fd277,#64b85e);color:#152216;text-decoration:none;font-size:26px;font-weight:800}.landing-about{border:1px solid #6d7d61;border-radius:12px;background:#fbfaf4f2;padding:18px}.landing-about h2{margin:0 0 10px}.landing-about ul{margin:0;padding-left:18px;display:grid;gap:6px}.landing-gallery{border:1px solid #6d7d61;border-radius:12px;background:#fbfaf4f2;padding:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.landing-gallery-card{margin:0;border:1px solid #819977;border-radius:10px;background:#f0ece0e6;overflow:hidden;min-height:168px}.landing-gallery-card img{width:100%;height:100%;object-fit:cover;display:block}.landing-footer{display:flex;gap:14px;justify-content:center;padding:8px 0 16px}.legal-shell{min-height:100dvh;padding:24px;display:grid;place-items:start center}.legal-card{width:min(920px,100%);border:1px solid #6d7d61;border-radius:12px;background:#fbfaf4f2;padding:20px}.legal-card h1{margin-top:0}.legal-card h2{margin-bottom:6px}.legal-card p{margin:0 0 12px}.legal-links{display:flex;gap:14px;margin-top:8px}@media(max-width:860px){.landing-hero{grid-template-columns:1fr;text-align:center;justify-items:center}.landing-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.landing-shell,.legal-shell{padding:12px}.landing-gallery{grid-template-columns:1fr}}.auth-google-row{display:grid;gap:8px;margin-top:10px}.auth-google-separator{color:#4e5948;font-size:12px}.auth-google-button{min-height:44px}hr{border:0;border-top:1px dashed #8a8f79;margin:10px 0}.world-graph-wrap{margin-top:8px;border:1px dashed #8a8f79;border-radius:10px;padding:8px;overflow:hidden;background:radial-gradient(circle at 20% 10%,rgba(176,199,163,.28),transparent 42%),radial-gradient(circle at 85% 80%,rgba(132,163,120,.2),transparent 38%),#efecdfa6}.world-graph{width:100%;height:auto;display:block;overflow:visible;position:absolute;inset:0}.world-graph-stage{position:relative;width:100%;max-width:100%;aspect-ratio:980 / 620}.world-nodes-layer{position:absolute;inset:0}.world-graph-edge{fill:none;stroke:#829275;stroke-width:1.5;opacity:.7}.world-graph-edge.current-branch{stroke:#486848;stroke-width:2;opacity:.95}.world-graph-arrow{fill:#5f7560}.world-graph-node{fill:#e4e1d3;stroke:#627a5b;stroke-width:1.5;transition:fill .2s ease,stroke .2s ease,transform .2s ease}.world-graph-node:hover{fill:#d6dec2}.world-graph-node.reachable{fill:#d6e4cc;stroke:#4f714e}.world-graph-node.current{fill:#a9c49f;stroke:#2f552f;stroke-width:2.5}.world-graph-node-id{font-size:12px;font-weight:700;fill:#1f351f;pointer-events:none}.world-graph-node-label{font-size:11px;fill:#223723;pointer-events:none}.world-node-card{position:absolute;transform:translate(-50%,-50%);border:1px solid #9aa193;border-radius:10px;background:#eeece6e0;padding:4px;width:122px;display:grid;justify-items:center;gap:4px;z-index:2;cursor:default}.world-node-boss-mark{position:absolute;top:4px;right:6px;font-size:12px;line-height:1;color:#4d5a4a;font-weight:700;pointer-events:none}.world-node-boss-mark.done{color:#2f6c2f}.world-node-card:disabled{opacity:1}.world-node-card.reachable{border-color:#4f714e;box-shadow:0 0 0 1px #63925b3d inset;background:#e8f2e2f2}.world-node-card.reachable:not(:disabled){cursor:pointer}.world-node-card.current{border-color:#2f552f;box-shadow:0 0 0 2px #5f94584d inset;background:#d6e8cdf5}.world-node-card:not(.current):not(.reachable) .world-node-thumb img{filter:grayscale(.9) brightness(.82)}.world-node-card:not(.current):not(.reachable) .world-node-name{color:#566055}.world-node-thumb{position:relative;width:62px;height:62px;border:1px solid #7f876c;border-radius:10px;background:#d8ddc44d;overflow:hidden}.world-node-thumb img{width:100%;height:100%;object-fit:cover;display:block}.world-node-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:700;color:#4e6651}.world-node-name{width:100%;font-size:10px;line-height:1.2;text-align:center;white-space:normal;overflow-wrap:anywhere;word-break:break-word;min-height:24px}.world-graph-legend{margin-top:8px;display:flex;flex-wrap:wrap;gap:10px;font-size:11px}.world-graph-legend span{border:1px dashed #7f876c;border-radius:999px;padding:2px 7px;background:#f4f1e8bf}.world-graph-legend .legend-current{background:#d0e2c9}.world-graph-legend .legend-reachable{background:#e4efde}.world-graph-legend .legend-disabled{background:#e7e6e0;color:#5e665b}.location-page{display:grid;gap:10px}.location-pvp-banner{width:100%;border:1px solid #7f876c;border-radius:10px;background:linear-gradient(180deg,#f4ebd6f2,#e5d6b0e6);padding:8px 10px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.location-pvp-banner.incoming{background:linear-gradient(180deg,#deebf6f2,#c9dfefe6)}.location-pvp-banner-timer{font-weight:700}.duel-board{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;padding:8px;border:1px solid #7f876c;border-radius:10px;background:linear-gradient(180deg,#e7dfc9e6,#d2c5a6a6)}.battle-screen{display:grid;gap:10px}.battle-tutorial-bonus,.mob-intent{border:1px solid #a88e55;border-radius:8px;background:#263d2ee6;color:#efdda9;padding:5px 8px;font-size:11px}.mob-intent{display:grid;gap:2px;text-align:center;max-width:420px}.battle-wheel .wheel-btn.recommended{border-color:#e4c66f;box-shadow:0 0 0 2px #e4c66f4d,0 0 18px #e4c66f3d}.danger-reason{color:#9fae9d;line-height:1.25}#encounters{scroll-margin-top:160px}#encounters:target,#encounters:focus{border-radius:6px;outline:2px solid rgba(228,198,111,.75);outline-offset:6px;background:#e4c66f17}.duel-side{display:grid;gap:6px}.duel-name{margin:0;font-weight:700}.duel-vs{text-align:center;padding:4px 10px;border:1px solid #6e5f40;border-radius:999px;background:radial-gradient(circle at 30% 25%,#f0e2bb,#b28a54);color:#3a2712;font-weight:700;min-width:74px}.duel-vs small{display:block;font-size:10px;opacity:.85}.battle-bar{position:relative;border:1px solid #596548;border-radius:999px;overflow:hidden;height:20px;background:#18201259}.battle-bar-fill{height:100%;transition:width .25s ease}.battle-bar-hp .battle-bar-fill{background:linear-gradient(90deg,#3a8f3f,#7ad35f)}.battle-bar-mp .battle-bar-fill{background:linear-gradient(90deg,#256ba8,#6ac5f2)}.battle-bar span{position:absolute;inset:0;display:grid;place-items:center;color:#f3f7ef;font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.6)}.battle-scene{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;border:1px dashed #7f876c;border-radius:10px;padding:16px 10px 10px;background:radial-gradient(circle at 20% 40%,rgba(137,178,121,.18),transparent 50%),radial-gradient(circle at 80% 50%,rgba(113,153,168,.16),transparent 50%),#f4f1e8b3}.arena-controls{display:grid;gap:8px;align-items:center;justify-items:center}.fighter-wrap{position:relative;align-self:end;min-height:320px;display:grid;align-items:end}.battle-actor{width:100%;border:1px dashed #8a8f79;border-radius:10px;background:#faf8f0eb;padding:8px;display:grid;place-items:center;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}.battle-actor-head{margin:0 0 6px;width:100%;font-size:11px;letter-spacing:.3px;text-transform:uppercase;color:#4d5b46}.battle-actor-monster{min-height:290px}.battle-monster-image{width:min(100%,280px);aspect-ratio:1 / 1;object-fit:cover;border:1px solid #7f876c;border-radius:12px;background:#d8ddc438}.battle-monster-fallback{width:min(100%,280px);aspect-ratio:1 / 1;border:1px solid #7f876c;border-radius:12px;background:#d8ddc438;display:grid;place-items:center;font-weight:700;opacity:.7}.floating-fx{position:absolute;top:-8px;left:50%;transform:translate(-50%);font-size:20px;font-weight:800;letter-spacing:.5px;text-shadow:0 2px 8px rgba(0,0,0,.35);animation:floatUpFade .9s ease forwards;pointer-events:none}.fx-hit{color:#d0432a}.fx-crit{color:#ff8e1a}.fx-dodge{color:#3b78c5}.fx-heal{color:#2f8f40}.battle-actor.fx-hit{transform:scale(.995);filter:saturate(1.2);box-shadow:0 0 0 2px #d0432a38 inset}.battle-actor.fx-crit{transform:scale(1.015);filter:saturate(1.35);box-shadow:0 0 0 2px #ff8e1a47 inset}.battle-actor.fx-dodge{transform:scale(.995);box-shadow:0 0 0 2px #3b78c538 inset}.battle-actor.fx-heal{transform:scale(1.02);box-shadow:0 0 0 2px #2f8f4047 inset}@keyframes floatUpFade{0%{opacity:0;transform:translate(-50%,6px) scale(.95)}20%{opacity:1;transform:translate(-50%,-2px) scale(1)}to{opacity:0;transform:translate(-50%,-28px) scale(1.05)}}@keyframes resultSparkle{0%{transform:translateY(-8%)}to{transform:translateY(18%)}}@keyframes resultSmoke{0%{transform:translate(-6%)}to{transform:translate(6%)}}@keyframes dropReveal{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.arena-center{display:grid;gap:6px;justify-items:center;text-align:center}.arena-center p{margin:0;min-height:24px;max-width:220px;display:grid;place-items:center}.arena-timer{min-width:74px;text-align:center;border:1px solid #6e5f40;border-radius:999px;padding:4px 10px;background:linear-gradient(180deg,#2a1e11,#5f4624);color:#f2e8d2;font-size:18px;font-weight:700}.battle-wheel{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto auto;gap:8px;align-items:center;justify-items:center;margin:2px 0 4px;min-width:340px;border:1px dashed #7f876c;border-radius:12px;padding:10px;background:#e9e3d2bf}.battle-wheel-center{margin:0}.wheel-btn{min-width:112px}.wheel-top{grid-column:2;grid-row:1}.wheel-left{grid-column:1;grid-row:2}.wheel-core{grid-column:2;grid-row:2;width:90px;height:90px;border-radius:50%;border:2px solid #6e5f40;background:radial-gradient(circle at 28% 25%,#f6e7bf,#b3864b 70%),linear-gradient(180deg,#593f22,#7f5b2f);color:#2e1d0c;display:grid;place-items:center;text-align:center}.wheel-core small{font-size:11px}.wheel-right{grid-column:3;grid-row:2}.wheel-bottom{grid-column:2;grid-row:3}.consumable-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:10px}.battle-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px dashed #8a8f79;padding-top:8px}.battle-extra{border:1px dashed #8a8f79;border-radius:8px;background:#f8f5ebb8;padding:6px 8px}.battle-extra>summary{cursor:pointer;font-weight:700;list-style:none}.battle-extra>summary::-webkit-details-marker{display:none}.battle-extra>summary:before{content:"▸ "}.battle-extra[open]>summary:before{content:"▾ "}.battle-extra-body{padding-top:6px}.consumable-card{text-align:left;display:grid;gap:4px;padding:8px}.consumable-card.selected{border-color:#345b34;box-shadow:0 0 0 2px #497a4940 inset;background:#d5e5cc}.consumable-head{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:6px}.consumable-icon{width:20px;height:20px;border-radius:4px;object-fit:cover;border:1px solid #87a484;background:#eef2e8}.consumable-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.consumable-stats{display:flex;flex-wrap:wrap;gap:8px}.shop-category-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.shop-category-tabs button.active{background:#b8d0ad;font-weight:700}.shop-slot-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.shop-slot-tabs button.active{background:#b8d0ad;font-weight:700}.shop-table-scroll{flex:1;min-height:0;overflow:auto;border:1px dashed #8a8f79;border-radius:8px;padding:2px 4px}.shop-layout{min-height:0;height:calc(100dvh - 96px);grid-template-rows:minmax(0,1fr)}.shop-layout>div{min-height:0}.shop-layout .panel{display:flex;flex-direction:column;min-height:0}.shop-layout .panel-content{min-height:0;overflow:auto}.game-table{width:100%;border-collapse:collapse}.game-table th,.game-table td{text-align:left;padding:5px 6px 5px 0;vertical-align:top}.game-table thead th{border-bottom:1px dashed #8a8f79;padding-bottom:6px}.leaderboard-period-tabs{display:inline-flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.leaderboard-period-tabs button.active{background:#9fbf98;font-weight:700}.leaderboard-table-scroll{overflow:auto;max-height:calc(100dvh - 280px);border:1px dashed #8a8f79;border-radius:8px;padding:2px 6px}.leaderboard-table td,.leaderboard-table th{white-space:nowrap}.leaderboard-pagination{display:flex;align-items:center;gap:10px;margin-top:10px}.leaderboard-me{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;border:1px dashed #8a8f79;border-radius:8px;padding:8px 10px;background:#d8ddc433}.achievements-sections{display:grid;gap:14px}.achievements-sections h3{margin:6px 0 8px}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}.achievement-card{border:1px solid #8a8f79;border-radius:10px;padding:10px;background:#fcfaf3e6;display:grid;gap:8px}.achievement-card.unlocked{border-color:#5a7f57;background:linear-gradient(180deg,#d0eac859,#fcfaf3eb)}.achievement-card-top{display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:start}.achievement-icon{width:62px;height:62px;border:1px solid #8a8f79;border-radius:8px;object-fit:cover;background:#ebe5d7b3}.achievement-meta{display:grid;gap:4px}.achievement-name{margin:0;font-weight:700}.achievement-description,.achievement-condition{margin:0;font-size:13px}.achievement-progress{display:grid;gap:4px}.achievement-progress-track{width:100%;height:8px;border:1px solid #5a6f57;border-radius:999px;overflow:hidden;background:#1e2b1c33}.achievement-progress-fill{height:100%;background:linear-gradient(90deg,#3d9dd0,#8be4ff)}.achievement-progress-caption{display:flex;justify-content:space-between;font-size:12px}.achievement-unlocked-at{margin:0;font-size:12px;color:#314a33}.achievement-skeleton{min-height:124px;border-style:dashed;background:repeating-linear-gradient(120deg,#cbd9bf40,#cbd9bf40 10px,#fcfaf3b3 10px 20px)}.achievement-toast{position:fixed;right:12px;bottom:52px;z-index:10;width:min(360px,calc(100vw - 24px));border:1px solid #5a7f57;border-radius:10px;background:#e2f1d5f5;box-shadow:0 8px 24px #1f302047;padding:10px;display:grid;grid-template-columns:56px 1fr;gap:10px}.achievement-toast img{width:56px;height:56px;object-fit:cover;border:1px solid #8a8f79;border-radius:8px}.achievement-toast strong,.achievement-toast p,.achievement-toast small{display:block;margin:0}.table-sort-button{border:0;background:transparent;padding:0;border-radius:0;color:inherit;cursor:pointer}.table-sort-button:hover{text-decoration:underline}.shop-action-cell{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.shop-action-cell input{width:70px;padding:6px}.inventory-layout{min-height:0;height:calc(100dvh - 96px);grid-template-rows:minmax(0,1fr) auto}.inventory-layout>div{min-height:0}.inventory-layout .panel{min-height:0;display:flex;flex-direction:column;overflow:hidden}.inventory-layout .panel-content{min-height:0;overflow:auto}.inventory-table-scroll{max-height:calc(100dvh - 260px);overflow:auto;border:1px dashed #8a8f79;border-radius:8px;padding:2px 4px}.item-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;margin-bottom:8px}.item-card-title{margin:0;font-weight:700}.item-card-header>span{min-width:0;flex:1}.item-card-header button{margin-left:auto}.item-card-visual{width:220px;height:220px;min-height:220px;margin:0}.item-image{display:inline-flex;align-items:center;justify-content:center;border:1px solid #7f876c;border-radius:8px;background:#e1e6d361;overflow:hidden}.item-image img{width:100%;height:100%;object-fit:contain;display:block}.item-image picture,.world-node-thumb picture,.encounter-portrait picture{display:block;width:100%;height:100%}.location-hero>picture{display:contents}.item-image-fallback{opacity:.65;font-weight:700;letter-spacing:1px}.item-image-tiny{width:30px;height:30px}.item-image-slot{width:52px;height:52px;border-radius:10px}.item-image-card{width:220px;height:220px;border-radius:10px;background:radial-gradient(circle at 24% 20%,rgba(255,255,255,.45),transparent 40%),#d8ddc466}.item-name-cell{display:inline-flex;align-items:center;gap:8px}.item-set-mark{display:inline-block;margin-left:6px;font-size:12px;color:#335633;font-weight:700}.stat-row-button{all:unset;cursor:pointer;color:#123a12;text-decoration:underline dotted}.stat-row-button:hover{color:#1f5620}.stat-row-button:focus-visible{outline:2px dashed #7fa37b;outline-offset:2px}.stat-info-modal-window{width:min(560px,calc(100vw - 24px))}.character-public-modal{width:max-content;max-width:calc(100vw - 24px);max-height:min(86dvh,760px);overflow:auto}.character-public-content{display:grid;gap:10px}.character-public-meta,.character-public-paperdoll{margin:0}.character-public-stats{list-style:none;padding-left:16px;margin:0}.character-public-stat-line{display:grid;grid-template-columns:170px auto;column-gap:8px}.sets-list{display:grid;gap:8px}.set-card{border:1px dashed #8ea38b;border-radius:8px;padding:8px;background:#c5d7bc40}.set-card-header{display:flex;justify-content:space-between;gap:8px}.set-card-desc{margin:4px 0}.sets-details-scroll{max-height:62dvh;overflow:auto;display:grid;gap:10px}.set-details-card{border:1px dashed #8ea38b;border-radius:8px;padding:8px;background:#c5d7bc2e}.set-details-card h4{margin:0 0 8px}.set-thresholds-table{margin-bottom:8px}.set-equipped-list .item-name-cell{align-items:center}.equipped-inline-item{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.item-icon-trigger{border:0;padding:0;margin:0;background:transparent;line-height:0;border-radius:0}.item-icon-trigger:focus-visible{outline:1px dashed #4a6650;outline-offset:2px}.item-hover-popup{position:fixed;z-index:110;width:320px;padding:8px;border:1px solid #7f876c;border-radius:10px;background:#fcfaf3fa;box-shadow:0 8px 24px #27382a38;pointer-events:none}.item-hover-header{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center}.item-hover-header p{margin:2px 0 0;opacity:.8}.item-hover-text{margin:8px 0 0;font-size:12px;line-height:1.35}.item-hover-bonuses{margin:6px 0 0;padding-left:16px;font-size:12px;line-height:1.3}.character-hover-trigger{border:0;padding:0;margin:0;background:transparent;color:inherit;text-decoration:underline dotted;text-underline-offset:2px}.character-hover-trigger:hover{color:#2f5d2f}.character-hover-popup{position:fixed;z-index:120;width:380px;padding:8px;border:1px solid #7f876c;border-radius:10px;background:#fcfaf3fa;box-shadow:0 8px 24px #27382a38;pointer-events:none}.character-hover-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.character-hover-paperdoll .paperdoll-grid{max-width:100%}.character-hover-paperdoll .paperdoll-wrap{gap:0}.mob-drops-modal{width:min(920px,calc(100vw - 40px))}.mob-drops-head{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}.mob-drops-head p{margin:3px 0}.mob-drops-mob-icon{width:96px;height:96px;border:1px solid #7f876c;border-radius:10px;object-fit:cover;background:#d8ddc43d}.mob-drops-table-scroll{max-height:360px;overflow:auto;border:1px dashed #8a8f79;border-radius:8px;padding:4px}.item-modal-overlay{position:fixed;inset:0;z-index:100;background:#1215111a;display:grid;place-items:center;padding:20px}.item-modal-window{width:min(980px,calc(100vw - 40px));max-height:calc(100dvh - 40px);height:auto;overflow:auto}.item-modal-window.panel{height:auto}.item-modal-window.character-public-modal{width:max-content;max-width:calc(100vw - 24px)}.item-card-split{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.item-card-text>:first-child{margin-top:0}.item-card-side{display:flex;justify-content:flex-end}.paperdoll-wrap{display:grid;gap:8px}.paperdoll-title{margin:0}.paperdoll-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,auto);gap:8px;max-width:440px;padding:10px;border:1px dashed #8a8f79;border-radius:10px;background:#ece8d866}.paperdoll-hero{grid-column:2;grid-row:1 / 5;align-self:stretch;justify-self:center;border:1px dashed #7f876c;border-radius:10px;padding:6px 12px;background:#d2d9c059;z-index:0;display:flex;min-height:0}.paperdoll-hero pre{margin:0;font-size:16px;line-height:1.1}.paperdoll-slot{display:grid;justify-items:center;gap:4px;min-height:86px;padding:6px;border:1px solid #7f876c;border-radius:10px;background:#faf7eed9;z-index:1;cursor:default}.paperdoll-empty{width:52px;height:52px;display:grid;place-items:center;border:1px solid #8a8f79;border-radius:10px;background:#d8ddc43d;opacity:.75}.paperdoll-slot-name{font-size:12px}.paperdoll-slot-helmet{grid-column:2;grid-row:1}.paperdoll-slot-weapon{grid-column:1;grid-row:2}.paperdoll-slot-armor{grid-column:2;grid-row:2}.paperdoll-slot-amulet{grid-column:3;grid-row:2}.paperdoll-slot-gloves{grid-column:1;grid-row:3}.paperdoll-slot-ring{grid-column:3;grid-row:3}.paperdoll-slot-boots{grid-column:2;grid-row:4}.paperdoll-grid-compact{width:100%;max-width:320px;padding:8px;gap:6px}.paperdoll-grid-compact .paperdoll-slot{min-height:68px;padding:4px;gap:2px}.paperdoll-grid-compact .paperdoll-slot-name{font-size:10px}.paperdoll-grid-compact .paperdoll-hero{padding:4px 10px}.paperdoll-grid-compact .paperdoll-hero pre{font-size:14px}.global-chat{position:relative;left:auto;right:auto;bottom:auto;height:auto;z-index:40;pointer-events:none;max-width:100%}.global-chat-toggle{position:static;pointer-events:auto;min-width:126px;white-space:nowrap;border-radius:999px;box-shadow:0 4px 12px #19271933;padding:6px 12px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.chat-unread-badge,.chat-repeat-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#a94d3f;color:#fff4dc;font-size:10px;font-weight:700;line-height:1}.chat-repeat-badge{min-width:0;height:16px;margin-left:2px;background:#62745c}.global-chat-panel{position:fixed;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));pointer-events:auto;width:min(520px,calc(100vw - 24px));max-width:calc(100vw - 24px);border:1px solid #6f7e63;border-radius:12px;background:#f8f6eefa;box-shadow:0 10px 28px #1a271838;overflow:hidden;max-height:50dvh;display:grid;grid-template-rows:auto minmax(130px,1fr) auto;transform:translateY(calc(100% + 10px));opacity:0;transition:transform .22s ease,opacity .22s ease}.global-chat.open .global-chat-panel{transform:translateY(0);opacity:1}.global-chat-head{padding:6px 8px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px dashed #8a8f79;background:#d8ddc44d;font-size:13px}.chat-filter-tabs{display:flex;align-items:flex-start;gap:4px;flex-wrap:wrap;padding:3px 6px;border-bottom:1px dashed #8a8f79;background:#ece8d88c}.chat-filter-tabs button{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;flex:0 0 auto;white-space:nowrap;line-height:1.1;height:20px;min-height:20px;max-height:20px;padding:0 7px;font-size:10px;border-radius:6px 6px 0 0;border:1px solid #7f876c;border-bottom:0;background:#f7f5ebd1;cursor:pointer;overflow:hidden}.chat-filter-tabs button.active{background:#c6d7b5;border-color:#547752;font-weight:700}.chat-connection{font-size:11px;border:1px solid #7f876c;border-radius:999px;padding:1px 7px}.chat-connection.connected{background:#6eb7634d}.chat-connection.connecting{background:#c4a95f4d}.chat-connection.disconnected{background:#b9736847}.global-chat-messages{overflow:auto;padding:6px 8px;display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:4px;background:#fcfbf6f2}.chat-empty{margin:0;opacity:.7;font-size:13px}.chat-row{border:1px solid #8a8f79;border-radius:8px;padding:4px 6px;background:#f3efe2d9;display:grid;gap:2px}.chat-row.self{border-color:#5f825d}.chat-row.kind-system{background:#dbe2d0cc}.chat-row.kind-private{background:#d8e2f3c7}.chat-meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:10px}.chat-id{opacity:.75}.chat-private-badge{border:1px solid #5a6f57;border-radius:999px;padding:0 6px;font-size:10px;font-weight:700;background:#aac4e685}.chat-author{font-weight:700}.chat-author-btn{border:0;background:transparent;padding:0;margin:0;font:inherit;font-weight:700;color:inherit;text-decoration:underline dotted;text-underline-offset:2px;cursor:pointer}.chat-author-btn:hover{color:#2f5d2f}.chat-target{opacity:.8}.chat-time{margin-left:auto;opacity:.72}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.chat-link{color:#2b5f8b;text-decoration:underline}.global-chat-form{padding:6px 8px;border-top:1px dashed #8a8f79;display:grid;gap:4px;background:#f0ecdfeb}.chat-send-row{display:grid;grid-template-columns:1fr auto;gap:4px}.chat-send-row input{min-width:0;padding:6px 8px;font-size:12px}.chat-send-row button{padding:6px 10px;font-size:12px}.chat-footer-row{display:flex;align-items:center;justify-content:flex-start;gap:6px;font-size:10px;opacity:.8}.chat-footer-row .chat-filter-tabs{margin-left:4px;padding:0;border-bottom:0;background:transparent;gap:3px}.chat-footer-row .chat-filter-tabs button{height:18px;min-height:18px;max-height:18px;padding:0 6px;font-size:9px;border-radius:5px;border-bottom:1px solid #7f876c}.chat-ack-label{margin-left:auto}@media(max-width:1024px){.corner-layout{grid-template-columns:1fr;min-height:auto}.app-nav{flex-wrap:wrap}.nav-right{width:100%;justify-content:space-between}.header-stats{min-width:0;flex-wrap:wrap}.battle-bottom{grid-template-columns:1fr}.battle-scene{grid-template-columns:1fr;justify-items:center}.battle-wheel{min-width:0;width:100%}.reward-grid,.item-card-split{grid-template-columns:1fr}.inventory-layout{height:auto;grid-template-rows:none}.inventory-table-scroll{max-height:none}}@media(max-width:768px){.app-main,.panel{padding:8px}.app-nav{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"logo logout" "stats stats" "tabs tabs";gap:8px;padding:8px;align-items:flex-start}.logo{grid-area:logo;font-size:13px}.nav-links{grid-area:tabs;width:100%;overflow-x:auto;white-space:nowrap;flex-wrap:nowrap;padding-bottom:2px}.nav-links a{flex:0 0 auto}.nav-right{display:contents}.nav-right>.ghost-button{grid-area:logout;margin-left:0;padding:4px 8px;font-size:12px}.header-stats{grid-area:stats;flex:1 1 100%;min-width:0;padding:4px 6px;gap:6px}.header-stats-meta{gap:8px;font-size:11px;flex-wrap:wrap}.header-stats-meta span{line-height:1.2}.header-bars{width:100%;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:2px}.header-bar-row{min-width:0;width:100%;justify-content:flex-start}.header-bar-row span{font-size:11px;white-space:nowrap;min-width:132px}.header-bar{width:auto;flex:1 1 auto;max-width:none;min-width:34px}.header-gold{font-size:11px}.nav-links .battle-tab-link{display:none}.battle-page,.pvp-battle-page{height:calc(100dvh - 146px);min-height:0;overflow:hidden}.battle-page .panel,.pvp-battle-page .panel{height:100%;min-height:0;display:flex;flex-direction:column}.battle-page .panel-content,.pvp-battle-page .panel-content{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.battle-page .battle-screen,.pvp-battle-page .battle-screen{min-height:0;flex:1;display:flex;flex-direction:column;gap:8px}.world-graph-stage{aspect-ratio:1 / 1}.world-node-card{width:94px;padding:3px;border-radius:8px}.world-node-thumb{width:46px;height:46px;border-radius:8px}.world-node-name{font-size:9px;min-height:20px}.location-pvp-banner{padding:8px;gap:8px}.duel-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px 6px}.duel-vs{display:none}.battle-bar{height:15px}.battle-bar span{font-size:10px}.duel-side{display:grid;gap:3px;align-items:start;min-width:0}.duel-side .duel-name,.duel-side strong{width:100%;margin:0;font-size:12px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duel-side .battle-bar{width:100%;min-width:0}.battle-page .battle-scene,.pvp-battle-page .battle-scene{flex:1;min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"player enemy" "controls controls";align-items:stretch;gap:6px;padding:6px}.battle-page .battle-scene>.fighter-wrap-player,.pvp-battle-page .battle-scene>.fighter-wrap-player{grid-area:player}.battle-page .battle-scene>.fighter-wrap-enemy,.pvp-battle-page .battle-scene>.fighter-wrap-enemy{grid-area:enemy}.battle-page .battle-scene>.arena-controls,.pvp-battle-page .battle-scene>.arena-controls{grid-area:controls;align-self:stretch;position:static;width:100%;border:1px dashed #8a8f79;border-radius:10px;background:#f3eee0f5;padding:3px 5px 5px;position:relative}.fighter-wrap{min-height:0;width:100%}.battle-page .battle-actor,.pvp-battle-page .battle-actor{height:100%;min-height:0;padding:4px;gap:4px}.battle-page .battle-actor-head,.pvp-battle-page .battle-actor-head{display:none}.battle-monster-image,.battle-monster-fallback{width:clamp(126px,34vw,190px)}.battle-page .battle-paperdoll .paperdoll-grid-compact,.pvp-battle-page .battle-paperdoll .paperdoll-grid-compact{max-width:clamp(148px,36vw,210px);width:100%;padding:4px;gap:3px}.battle-page .battle-paperdoll .paperdoll-grid-compact .paperdoll-slot,.pvp-battle-page .battle-paperdoll .paperdoll-grid-compact .paperdoll-slot{min-height:38px;padding:2px;gap:1px}.battle-page .battle-paperdoll .paperdoll-grid-compact .paperdoll-slot-name,.pvp-battle-page .battle-paperdoll .paperdoll-grid-compact .paperdoll-slot-name{font-size:8px}.battle-page .battle-paperdoll .paperdoll-grid-compact .paperdoll-hero pre,.pvp-battle-page .battle-paperdoll .paperdoll-grid-compact .paperdoll-hero pre{font-size:10px}.battle-page .battle-paperdoll .item-image-slot,.pvp-battle-page .battle-paperdoll .item-image-slot,.battle-page .battle-paperdoll .paperdoll-empty,.pvp-battle-page .battle-paperdoll .paperdoll-empty{width:28px;height:28px}.battle-wheel{min-width:0;width:100%;max-width:248px;gap:3px;padding:3px}.wheel-btn{min-width:64px;min-height:30px;padding:3px 6px;font-size:11px}.wheel-core{width:50px;height:50px;font-size:10px}.arena-timer{font-size:12px;min-width:48px;padding:2px 6px}.arena-center p{max-width:none;min-height:12px;font-size:10px;line-height:1.2;margin:0}.pvp-battle-page .arena-center p:last-child{display:none}.battle-page .battle-bottom,.pvp-battle-page .battle-bottom{max-height:19dvh;overflow:auto;gap:6px;padding-top:4px;padding-bottom:0}.battle-page .battle-surrender-btn,.pvp-battle-page .battle-surrender-btn{position:absolute;top:4px;left:6px;width:auto;min-height:0;padding:2px 6px;font-size:10px;line-height:1.1;border-radius:999px;z-index:1}.battle-page .battle-extra,.pvp-battle-page .battle-extra{padding:5px 6px}.battle-page .battle-extra>summary,.pvp-battle-page .battle-extra>summary{font-size:12px}.battle-page .battle-extra-body,.pvp-battle-page .battle-extra-body{padding-top:5px}.battle-page .log-list,.pvp-battle-page .mono-list{max-height:15dvh;overflow:auto}.battle-page .consumable-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:5px;margin-bottom:6px}.battle-page .consumable-card{padding:5px 6px;gap:1px;font-size:11px;line-height:1.15}.battle-page .consumable-head{grid-template-columns:16px minmax(0,1fr);gap:4px}.battle-page .consumable-icon{width:16px;height:16px;border-radius:3px}.battle-page .consumable-name{font-size:11px;line-height:1.1}.battle-page .consumable-stats{gap:5px}.battle-page .battle-extra-consumables .battle-extra-body{max-height:15dvh;overflow:auto;display:grid;gap:4px;padding-bottom:3px}.battle-page .battle-extra-consumables .battle-extra-body>button:last-child{position:sticky;bottom:0;z-index:2;width:100%;min-height:32px;padding:4px 6px;font-size:11px;background:#c4d3b5;box-shadow:0 -2px #f8f5ebe6}.drop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-tile strong{font-size:20px}.result-banner-image{max-height:200px}.inventory-layout,.shop-layout{height:auto;grid-template-rows:none}.inventory-layout .panel-content,.shop-layout .panel-content{overflow:auto}.inventory-table-scroll,.shop-table-scroll,.mob-drops-table-scroll{max-height:46dvh}.inventory-items-table{table-layout:fixed}.inventory-items-table th,.inventory-items-table td{word-break:break-word}.inventory-items-table th:nth-child(1),.inventory-items-table td:nth-child(1){width:58px}.inventory-items-table th:nth-child(2),.inventory-items-table td:nth-child(2){width:88px}.shop-layout .game-table{table-layout:fixed}.shop-layout .game-table th,.shop-layout .game-table td{word-break:break-word}.leaderboard-table{table-layout:auto;min-width:760px}.leaderboard-table-scroll{max-height:52dvh;overflow-x:auto;-webkit-overflow-scrolling:touch}.achievements-grid{grid-template-columns:1fr}.item-name-cell{display:flex;min-width:0}.item-name-cell>span{min-width:0;overflow-wrap:anywhere}.shop-table-scroll{overflow-x:hidden}.shop-buy-table th:nth-child(1),.shop-buy-table td:nth-child(1),.shop-buy-table th:nth-child(3),.shop-buy-table td:nth-child(3){display:none}.shop-sell-table th:nth-child(2),.shop-sell-table td:nth-child(2){display:none}.item-modal-overlay{padding:8px}.item-modal-window{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.item-modal-window.character-public-modal{width:max-content;max-width:calc(100vw - 16px)}.item-card-visual{width:156px;height:156px;min-height:156px;margin:0 auto}.item-image-card{width:156px;height:156px}.item-card-side{justify-content:center}.character-hover-popup{width:min(360px,calc(100vw - 16px))}.mob-drops-modal{width:calc(100vw - 16px)}.mob-drops-head{grid-template-columns:1fr}.mob-drops-mob-icon{width:80px;height:80px}.auth-logo{width:140px;height:140px}.auth-panel h1{font-size:20px}.global-chat{left:auto;right:auto;max-width:100%}.global-chat-panel{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:50dvh}}@media(max-width:640px){.app-nav{padding:6px}.logo{gap:4px}.logo-icon{height:1.5em}.nav-right>.ghost-button{margin-left:0}.header-bar{width:34vw;max-width:110px}.world-node-card{width:82px}.world-node-thumb{width:40px;height:40px}.battle-scene{padding:8px}.fighter-wrap{min-height:210px}.paperdoll-grid-compact{max-width:270px}.paperdoll-grid-compact .paperdoll-slot{min-height:58px}.paperdoll-grid-compact .paperdoll-hero pre{font-size:11px}.battle-bottom{gap:8px}.consumable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.item-hover-popup{width:min(300px,calc(100vw - 16px))}.shop-slot-tabs{overflow-x:visible;white-space:normal;flex-wrap:wrap;padding-bottom:0;gap:6px}.shop-slot-tabs button{flex:0 1 auto;padding:4px 8px;font-size:12px}.game-table th,.game-table td{padding:4px 4px 4px 0;font-size:13px}.leaderboard-period-tabs button{padding:4px 8px;font-size:12px}}@media(max-width:768px)and (max-height:740px){.battle-page,.pvp-battle-page{height:calc(100dvh - 134px)}.battle-page .duel-name,.pvp-battle-page .duel-name{font-size:13px}.battle-page .battle-bar,.pvp-battle-page .battle-bar{height:14px}.battle-page .battle-scene,.pvp-battle-page .battle-scene{gap:4px;padding:4px}.battle-page .battle-actor,.pvp-battle-page .battle-actor{padding:3px}.battle-page .battle-paperdoll .paperdoll-grid-compact,.pvp-battle-page .battle-paperdoll .paperdoll-grid-compact{max-width:clamp(132px,34vw,180px)}.battle-page .battle-paperdoll .item-image-slot,.pvp-battle-page .battle-paperdoll .item-image-slot,.battle-page .battle-paperdoll .paperdoll-empty,.pvp-battle-page .battle-paperdoll .paperdoll-empty{width:22px;height:22px}.battle-page .battle-monster-image,.battle-page .battle-monster-fallback{width:clamp(110px,30vw,160px);height:auto}.battle-page .battle-wheel,.pvp-battle-page .battle-wheel{max-width:224px}.battle-page .wheel-core,.pvp-battle-page .wheel-core{width:46px;height:46px}.battle-page .wheel-btn,.pvp-battle-page .wheel-btn{min-width:58px;min-height:31px;font-size:10px}.battle-page .battle-bottom,.pvp-battle-page .battle-bottom{max-height:15dvh}}@media(max-width:480px){.app-main{padding:6px}.panel h2{font-size:14px}.nav-links a{padding:4px 6px;font-size:12px}.header-stats-meta,.header-gold,.header-bar-row span{font-size:10px}.duel-name{font-size:14px}.battle-page .battle-wheel,.pvp-battle-page .battle-wheel{max-width:228px;padding:4px;gap:4px}.battle-page .wheel-btn,.pvp-battle-page .wheel-btn{min-width:60px;min-height:31px;font-size:10px;padding:4px 6px}.battle-page .wheel-core,.pvp-battle-page .wheel-core{width:50px;height:50px;font-size:9px}.battle-page .arena-center p,.pvp-battle-page .arena-center p{font-size:10px;min-height:12px}.drop-grid,.consumable-grid{grid-template-columns:1fr}.battle-page .battle-extra-consumables .battle-extra-body{max-height:17dvh}.battle-page .consumable-card{font-size:10px}.battle-page .consumable-head{grid-template-columns:14px minmax(0,1fr);gap:3px}.battle-page .consumable-icon{width:14px;height:14px}.battle-page .battle-extra-consumables .battle-extra-body>button:last-child{min-height:30px;font-size:10px;padding:3px 6px}.result-banner-image{max-height:160px}.auth-logo{width:120px;height:120px}.auth-panel h1{font-size:18px}.global-chat-toggle{min-width:126px;padding:5px 10px;font-size:12px}.global-chat-panel{max-height:50dvh;grid-template-rows:auto minmax(100px,1fr) auto;bottom:34px}}@media(hover:none),(pointer:coarse){.item-hover-popup,.character-hover-popup{display:none}}:root{font-family:Segoe UI,Arial,sans-serif;color:#342f24;font-size:14px;--ink: #342f24;--muted: #796e58;--gold: #c3a26a;--paper: #f0e7d4;--forest: #172e2b}body{background:radial-gradient(ellipse at 50% 0,#2f4740,#142624 70%);background-attachment:fixed}button,input,select{border-radius:5px}button,.text-link-button{background:linear-gradient(#f9efd9,#ded0b3);border:1px solid #a28c62;color:#423920;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}button:not(:disabled):hover,.text-link-button:hover{border-color:#b18239;box-shadow:0 3px 12px #40321c18}button:not(:disabled):active{transform:translateY(1px)}button:disabled{opacity:.55}:is(button,a,input,select,summary):focus-visible{outline:3px solid #b47e2c;outline-offset:3px}.app-main{max-width:1440px;margin:auto;padding:24px 28px 76px}.app-nav{display:grid;grid-template-columns:auto 1fr;gap:0 32px;padding:0 max(28px,calc((100vw - 1384px)/2));background:#142624f5;border-bottom:1px solid #b39b604d;color:#e6d7b9;z-index:15}.logo{font:600 23px Georgia,serif;gap:12px;padding:15px 0;white-space:nowrap}.logo-icon{order:-1;width:32px;height:32px;object-fit:contain}.nav-right{grid-column:2;grid-row:1;justify-content:end;font-size:12px}.header-stats{border:0;padding:0;border-radius:0;background:none;gap:18px}.header-stats-meta{gap:16px}.header-gold{color:#f0ca77}.header-bar{border-color:#927b4b;background:#091b18;height:7px}.header-bar-hp .header-bar-fill{background:linear-gradient(90deg,#983e32,#d78965)}.header-bar-mp .header-bar-fill{background:linear-gradient(90deg,#365c9c,#72aada)}.header-bar-exp .header-bar-fill{background:linear-gradient(90deg,#618b8a,#a6cdba)}.nav-right>button{background:transparent;border-color:#6e7054;color:#c9c1ac;font-size:12px}.nav-links{grid-column:1 / -1;gap:2px;border-top:1px solid #ffffff0c}.nav-links a{padding:12px 20px;border:0;border-bottom:2px solid transparent;border-radius:0;color:#b5beb0;font-size:13px;transition:color .2s,background .2s;white-space:nowrap}.nav-links a:hover{color:#f2dfb2;background:#ffffff05}.nav-links a.active{background:linear-gradient(0deg,#c8a66b16,transparent);color:#f0ce90;border-bottom-color:#c4a268}.panel{background:linear-gradient(120deg,#f5edde,#e9ddc3);border:1px solid #b29a70;border-radius:8px;padding:22px;box-shadow:0 8px 28px #00000018,inset 0 0 0 4px #fff8e933}.panel h2{font:500 25px Georgia,Times New Roman,serif;color:#453a27;border-bottom:1px solid #b9a37670;padding:0 0 16px;margin-bottom:16px}.panel h2:before{content:"✦";color:#9c793d;font-size:15px;margin-right:10px;vertical-align:2px}.panel-content p,.panel-content li{line-height:1.6}.panel-content hr{border:0;border-top:1px solid #b9a37660;margin:20px 0}.section-intro{color:var(--muted);font-size:13px;margin:0 0 18px!important}.corner-layout{gap:20px;min-height:0;align-items:start}.eyebrow{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:2.5px;color:#debf83}.location-page{gap:22px}.party-invite-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid #b49a60;border-radius:7px;color:#eadcb9;background:linear-gradient(90deg,#3f452e,#283d31)}.party-invite-banner span{margin-right:auto}.party-strip{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid #79805a;border-radius:7px;color:#e8dec1;background:linear-gradient(100deg,#172f28,#294237);box-shadow:inset 0 1px #dbc58112}.party-strip-title{display:grid;gap:3px}.party-strip-title strong{font:18px Georgia,serif}.party-strip ul{display:grid;grid-template-columns:repeat(4,minmax(115px,1fr));gap:7px;margin:0;padding:0;list-style:none}.party-strip li{min-width:0;display:flex;align-items:center;gap:7px;padding:7px 8px;border:1px solid #657454;border-radius:4px;background:#20382e}.party-strip li.is-away{opacity:.58}.party-strip li>span:nth-child(2){min-width:0;display:grid;gap:2px}.party-strip li b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.party-strip li small{color:#aeb9a5;font-size:8px;white-space:nowrap}.party-member-mark{color:#d8bd76}.party-strip li button{width:20px;min-width:20px;height:20px;min-height:20px;margin-left:auto;padding:0;border-color:#8e6c54;color:#dfb19c;background:#4b342c;line-height:1}.party-leave{white-space:nowrap;font-size:9px}.location-hero{position:relative;isolation:isolate;min-height:290px;border:1px solid #b39b606b;border-radius:8px;overflow:hidden;color:#f5ecd7}.location-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 43%;z-index:-3}.location-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c2327e6,#0d242688 44%,#0d242611 75%),linear-gradient(0deg,#0b1a20a1,transparent 65%);z-index:-2}.location-hero-copy{padding:46px 44px;max-width:670px}.location-hero h1{font:500 clamp(30px,3.6vw,48px)/1.15 Georgia,serif;margin:15px 0;text-shadow:0 2px 12px #071b17}.location-hero p{color:#c5d0c2;font-size:14px;max-width:500px}.location-hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.location-hero-tags span{border:1px solid #b9ac7977;background:#10282466;border-radius:3px;padding:5px 12px;font-size:11px;color:#e1d4b1}.location-encounters-link{display:none}.location-hero-caption{position:absolute;right:24px;bottom:22px;letter-spacing:2px;font-size:9px;color:#e1d4b1b3}.location-page .corner-layout{grid-template-columns:1.1fr 1fr}.world-graph-wrap{border:0;background:transparent;overflow:visible;padding:0}.world-graph-stage{min-width:0;min-height:0;height:auto;aspect-ratio:auto;background:none}.world-nodes-layer{position:relative;inset:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.world-node-card{position:relative;left:auto!important;top:auto!important;transform:none;width:auto;height:auto;min-width:0;padding:5px;gap:6px;border:1px solid #b9aa8977;border-radius:5px;background:#f6efdf}.world-node-card:disabled{opacity:.58}.world-node-card.current{opacity:1;background:#e8dcbb;border:2px solid #a88745;box-shadow:0 0 0 3px #c5a35a22}.world-node-card.reachable{background:#f5eedb;border-color:#72886a}.world-node-card:not(:disabled):hover{transform:translateY(-3px)}.world-node-thumb{width:100%;height:auto;aspect-ratio:1.45;border-radius:3px;border:0}.world-node-name{font-size:11px;line-height:1.4;min-height:31px;color:#574a34}.world-node-boss-mark{top:9px;right:9px;width:18px;height:18px;background:#1c3025dc;border-color:#b8a36b;color:#f3deb0;border-radius:50%;font-size:10px}.encounter-list{margin:0;padding:0;list-style:none;display:grid;gap:9px}.encounter-card{display:flex;align-items:center;gap:14px;padding:9px 12px 9px 9px;margin:0!important;border:1px solid #bfaa7a66;border-radius:5px;background:#fffaf24d;transition:background .2s}.encounter-card:hover{background:#fffaf2b3}.encounter-portrait{width:62px;height:62px;padding:0;flex-shrink:0;overflow:hidden;border-color:#ac946a;background:#243b32;border-radius:4px}.encounter-portrait img{width:100%;height:100%;object-fit:cover;display:block}.wolf-portrait img{object-fit:contain;padding:3px}.encounter-info{flex:1;min-width:0;display:grid;gap:4px}.encounter-info .character-hover-trigger{color:#463b27;font:600 16px Georgia,serif;white-space:normal;text-align:left}.encounter-info>span{color:#80745c;font-size:11px}.encounter-hp{margin-left:14px;color:#995645}.encounter-actions{display:grid;gap:5px}.encounter-attack{background:#2c493c;color:#f2dfb4;border-color:#637b52;font-size:12px;padding:9px 15px;white-space:nowrap}.encounter-attack span{margin-left:8px;color:#c7ad70}.encounter-raid{padding:7px 10px;border-color:#b19255!important;color:#f4d790!important;background:linear-gradient(#5d5230,#393d29)!important;font-size:10px;white-space:nowrap}.encounter-raid small{margin-left:4px;color:#d9c58d}.traveler-actions{display:inline-flex;flex-wrap:wrap;gap:5px;margin-left:5px}.travelers-title{font:500 18px Georgia,serif}.paperdoll-hero{overflow:visible;background:radial-gradient(ellipse,#a28c5640,transparent 70%);border:0;padding:0}.paperdoll-portrait{width:100%;height:100%;max-height:360px;object-fit:contain;filter:drop-shadow(0 10px 8px #2a311a45)}.paperdoll-wrap{background:#dfd2b280;border-color:#b19a6c}.paperdoll-slot{background:#f6edd6;border:1px solid #a88e5f;border-radius:5px}.paperdoll-slot-name{color:#6c5939}.paperdoll-empty{opacity:.45}.inventory-grid,.item-grid{gap:10px}.global-chat-toggle{background:#1d352e;color:#e6d0a0;border:1px solid #9b8659;padding:10px 20px;box-shadow:0 -3px 18px #0002}.global-chat-panel{border-color:#a58b5c;background:#f1e7d2;box-shadow:0 8px 35px #0005}.full-page-message{color:#efe3c4;padding:60px 24px}.battle-page>.panel{padding:0;overflow:hidden}.battle-page>.panel>h2{padding:18px 24px;margin:0;font-size:21px}.battle-page .battle-screen{gap:0}.battle-page .duel-board{border:0;border-radius:0;padding:18px 32px;gap:30px;background:#1b312c;color:#efe1bf}.battle-page .duel-side{gap:7px}.battle-page .duel-name{display:flex;align-items:center;justify-content:space-between;gap:10px;font:500 20px Georgia,serif;margin-bottom:4px}.battle-page .duel-name small{color:#b3bba2;font:11px Segoe UI,sans-serif;white-space:nowrap}.battle-page .duel-vs{background:none;color:#c8ac6e;border:0;font-size:27px;min-width:55px}.battle-page .duel-vs small{font:11px Segoe UI,sans-serif;margin-top:3px}.battle-page .battle-bar{border:1px solid #857651;height:15px;border-radius:3px;background:#0b1e19}.battle-page .battle-bar-mp{height:10px;border-color:#56716b}.battle-page .battle-bar-hp .battle-bar-fill{background:linear-gradient(90deg,#923f36,#c97b59)}.battle-page .battle-bar-mp .battle-bar-fill{background:linear-gradient(90deg,#366a82,#7faead)}.battle-page .battle-bar span{font-size:10px;line-height:1}.battle-page .battle-bar-mp span{font-size:9px}.forest-stage{height:clamp(260px,36dvh,390px);position:relative;overflow:hidden;isolation:isolate;background:#19352d var(--scene-art) center 62% / cover no-repeat;border-top:1px solid #c2a26a77;border-bottom:1px solid #c2a26a77}.scene-location{position:absolute;top:20px;left:0;right:0;text-align:center;color:#f1dfb9;font:18px Georgia,serif;text-shadow:0 2px 8px #091e19;z-index:3}.scene-location .eyebrow{margin-bottom:5px;font:9px Segoe UI,sans-serif;letter-spacing:2px;color:#d2d8be}.scene-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px #041a1e90;z-index:2;background:linear-gradient(0deg,#10252466,transparent 28%)}.scene-fighter{position:absolute;width:33%;height:80%;bottom:7%;z-index:1;--direction: 1}.scene-fighter-player{left:9%}.scene-fighter-mob{right:9%;--direction: -1}.fighter-action{position:relative;width:100%;height:100%;transform-origin:50% 90%}.scene-fighter-player .fighter-static-layer{transition:transform .12s ease-out}.scene-fighter-player.is-action-windup .fighter-static-layer{transform:translate(-10px) rotate(-1deg)}.fighter-art{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 8px #071c2399);animation:fighterBreathe 4.6s ease-in-out infinite;transform-origin:center 90%;-webkit-user-select:none;user-select:none}.scene-fighter-mob .fighter-art{animation-delay:-2.2s}.fighter-art.is-portrait{width:75%;height:75%;margin:16% auto 0;border:2px solid #bda470;border-radius:48% 48% 8px 8px;object-fit:cover;box-shadow:0 12px 30px #0005}.fighter-ground-shadow{position:absolute;bottom:0;left:19%;width:62%;height:8%;border-radius:50%;background:#061b16a6;filter:blur(8px)}.fighter-nameplate{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);text-align:center;font:12px Georgia,serif;color:#f4dfb0;padding:5px 20px;background:linear-gradient(90deg,transparent,#10271de6 22%,#10271de6 78%,transparent);white-space:nowrap}.scene-versus{position:absolute;left:50%;top:59%;transform:translate(-50%,-50%);font-size:34px;color:#e7d3a477;text-shadow:0 0 20px #d8b762}.scene-mist{position:absolute;width:140%;height:36%;bottom:0;left:-20%;background:radial-gradient(ellipse at 40% 75%,#e5eacc30,transparent 60%);animation:sceneMist 16s ease-in-out infinite alternate;pointer-events:none}.scene-motes{position:absolute;inset:0;pointer-events:none;z-index:2}.scene-motes i{position:absolute;width:3px;height:3px;border-radius:50%;background:#eeda92;box-shadow:0 0 12px #eed693;bottom:20%;left:16%;animation:driftMote 7s ease-in-out infinite}.scene-motes i:nth-child(2){left:34%;bottom:44%;animation-delay:-3s}.scene-motes i:nth-child(3){left:62%;bottom:25%;animation-delay:-5s}.scene-motes i:nth-child(4){left:85%;bottom:56%;animation-delay:-1s}.scene-motes i:nth-child(5){left:47%;bottom:66%;animation-delay:-4s}.scene-motes i:nth-child(6){left:74%;bottom:35%;animation-delay:-2s}.fighter-action.is-attacking{animation:fighterLunge .68s ease both}.fighter-action.is-power-strike{animation:fighterPowerStrike 1.1s cubic-bezier(.3,.05,.2,1) both}.fighter-action.reaction-hit{animation:fighterHit .52s .16s ease both}.fighter-action.reaction-crit{animation:fighterCrit .52s .16s ease both}.fighter-action.reaction-dodge{animation:fighterDodge .65s ease both}.fighter-action.reaction-heal{animation:fighterHeal .7s ease both}.fighter-action.reaction-defend{animation:fighterGuard .7s ease both}.scene-damage{position:absolute;left:50%;top:18%;z-index:4;color:#fff0cf;font-weight:800;font-size:30px;white-space:nowrap;text-shadow:0 2px 3px #46251c,0 0 14px #201e15;animation:sceneDamage .65s .08s ease both;pointer-events:none}.damage-crit{color:#ffcb68;font-size:34px}.damage-dodge,.damage-defend{color:#c1e4e6;font-size:20px}.damage-heal{color:#c3efa9;font-size:20px}.impact-slash{position:absolute;width:46%;height:4px;top:45%;left:27%;border-radius:100%;background:#fff4d6;box-shadow:0 0 8px 4px #ffce7677;transform:rotate(-35deg);animation:slashFlash .5s .16s both}.impact-slash.zone-head{top:24%}.impact-slash.zone-legs{top:77%}.power-strike-charge{position:absolute;z-index:2;inset:12% 5% 2%;border-radius:50%;background:radial-gradient(circle at 50% 65%,#fff4bd99 0 7%,#f3b83f55 14%,transparent 48%);filter:drop-shadow(0 0 14px #ffc44d);pointer-events:none;animation:powerStrikeCharge 1.1s ease-out both}.impact-slash.impact-power-strike{width:76%;height:9px;left:12%;top:43%;background:linear-gradient(90deg,transparent,#fff8c9 20%,#ffc447 55%,transparent);box-shadow:0 0 10px 5px #fff1a8,0 0 28px 12px #e88b25aa;animation:powerStrikeSlash .62s both}.power-strike-impact{position:absolute;z-index:3;width:76%;aspect-ratio:1;left:12%;top:15%;border:5px solid #ffe59a;border-radius:50%;box-shadow:inset 0 0 24px #fff4bd,0 0 26px #f2a933;pointer-events:none;animation:powerStrikeImpact .62s ease-out both}.damage-power-strike{color:#ffe293;font-size:38px;text-shadow:0 2px 3px #5a2812,0 0 12px #ffdd7a,0 0 28px #e7892f}.defense-aura{position:absolute;inset:10% 8% 0;border:2px solid #b8dcda88;border-radius:50%;box-shadow:inset 0 0 35px #bed4c722,0 0 18px #c5e2cc44;pointer-events:none}.battle-page .arena-controls{display:grid;grid-template-columns:140px 1fr auto;gap:24px;padding:20px 28px;background:linear-gradient(#f5ead2,#e4d5b7);justify-items:stretch}.battle-page .arena-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0}.battle-page .arena-timer{width:auto;height:auto;border:0;background:none;box-shadow:none;font:25px Georgia,serif;color:#4f6349}.battle-page .arena-center p{font-size:12px;margin:0;min-height:0;color:#716347;text-align:center}.battle-page .battle-wheel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:auto;height:auto;min-width:0}.battle-page .wheel-core{display:none}.battle-page .wheel-btn{position:static;transform:none;width:auto;height:65px;min-width:0;min-height:0;display:flex;gap:10px;align-items:center;justify-content:center;padding:8px 12px;font-size:13px;border:1px solid #947c50;border-radius:5px;background:linear-gradient(#354d3d,#233b2d);color:#f2dfb5;box-shadow:inset 0 0 0 3px #d9c18412,0 2px 3px #34291515}.battle-page .wheel-btn:hover:not(:disabled){background:linear-gradient(#446147,#2f4936);border-color:#b59d5f;transform:translateY(-2px)}.battle-page .wheel-btn small{display:block;margin-top:4px;color:#c0c5a7;font-size:10px}.battle-page .wheel-left{order:4;background:linear-gradient(#3f5158,#2f4146)}.battle-page .wheel-top{order:1}.battle-page .wheel-right{order:2}.battle-page .wheel-bottom{order:3}.action-symbol{font-size:26px;font-family:Georgia,serif;color:#d4b676}.battle-page .battle-surrender-btn{width:auto;min-width:0;border:0;background:none;color:#8b6c53;font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:7px}.battle-page .battle-bottom{padding:0 24px 24px;gap:16px;background:#e4d5b7}.battle-page .battle-extra{border:1px solid #b09b7270;border-radius:5px;background:#f5ebd780}.battle-page .battle-extra>summary{padding:12px;font-size:13px;color:#645437}.battle-page .battle-extra-body{padding:12px}.battle-page .log-list{font-size:12px;max-height:175px;color:#6a5b41;padding-left:20px}.battle-page .consumable-card{background:#f6edda;border-color:#b8a172}.result-card,.result-rewards{border-color:#b7a178}.result-title{font-family:Georgia,serif}.result-banner{border-color:#aa905a}.auth-shell{background:linear-gradient(#10292655,#102926bb),url(/assets/renewal/locations/demo_forest.png) center / cover fixed}.auth-panel{background:#f3e9d5f2;border-color:#b39a67;padding:30px;box-shadow:0 25px 70px #001d2380}.auth-panel h1{font-family:Georgia,serif;color:#324836}@keyframes fighterBreathe{0%,to{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-4px) rotate(.3deg)}}@keyframes sceneMist{to{transform:translate(9%);opacity:.4}}@keyframes driftMote{0%,to{transform:translate(0);opacity:0}35%{opacity:.8}80%{transform:translate(25px,-55px);opacity:0}}@keyframes fighterLunge{0%,to{transform:translate(0)}22%{transform:translate(calc(-10px * var(--direction))) rotate(calc(-2deg * var(--direction)))}45%{transform:translate(calc(56px * var(--direction))) rotate(calc(5deg * var(--direction)))}}@keyframes fighterPowerStrike{0%{transform:translate(0) scale(1);filter:none}34%{transform:translate(calc(-18px * var(--direction))) scale(.96);filter:drop-shadow(0 0 7px #ffc95e)}62%{transform:translate(calc(82px * var(--direction))) scale(1.08) rotate(calc(6deg * var(--direction)));filter:drop-shadow(0 0 17px #ffe29a) brightness(1.2)}to{transform:translate(0) scale(1);filter:none}}@keyframes fighterHit{0%,to{transform:translate(0);filter:none}25%{transform:translate(calc(-16px * var(--direction)));filter:brightness(1.5) sepia(.25)}55%{transform:translate(calc(5px * var(--direction)))}}@keyframes fighterCrit{0%,to{transform:translate(0);filter:none}30%{transform:translate(calc(-25px * var(--direction))) rotate(calc(-5deg * var(--direction)));filter:brightness(1.8) sepia(.5)}}@keyframes fighterDodge{0%,to{transform:translate(0);opacity:1}45%{transform:translate(calc(-40px * var(--direction)));opacity:.5}}@keyframes fighterHeal{45%{filter:drop-shadow(0 0 20px #ace87c) brightness(1.2)}}@keyframes fighterGuard{45%{transform:scale(.96);filter:drop-shadow(0 0 15px #d3efed)}}@keyframes sceneDamage{0%{transform:translate(-50%,8px) scale(.8);opacity:0}25%{opacity:1;transform:translate(-50%,-8px) scale(1.1)}to{transform:translate(-50%,-55px);opacity:0}}@keyframes slashFlash{0%,to{opacity:0}15%,35%{opacity:1}50%{transform:rotate(-35deg) scaleX(1.3);opacity:0}}@keyframes powerStrikeCharge{0%{opacity:0;transform:scale(.65)}38%{opacity:.95;transform:scale(.92)}63%{opacity:1;transform:scale(1.1)}78%,to{opacity:0;transform:scale(1.22)}}@keyframes powerStrikeSlash{0%{opacity:0;transform:rotate(-42deg) scaleX(.2)}18%{opacity:1}55%{opacity:1;transform:rotate(-42deg) scaleX(1.35)}to{opacity:0;transform:rotate(-42deg) scaleX(1.7)}}@keyframes powerStrikeImpact{0%{opacity:1;transform:scale(.18)}55%{opacity:.9}to{opacity:0;transform:scale(1.35)}}@media(max-width:1100px){.app-nav{padding:0 20px;gap:0 16px}.header-stats{gap:9px}.header-bars{gap:6px}.header-bar{width:64px}.header-bar-row{gap:4px}.header-bar-row>span{font-size:10px}.nav-links a{padding:12px 13px}.location-page .corner-layout{grid-template-columns:1fr 1fr}.world-nodes-layer{grid-template-columns:repeat(3,minmax(0,1fr))}.battle-page .arena-controls{grid-template-columns:95px 1fr;gap:16px;padding:16px}.battle-page .battle-surrender-btn{grid-column:1 / -1;justify-self:center;padding:0}.battle-page .duel-name{font-size:17px}}@media(max-width:768px){:root{font-size:14px}.app-main{padding:12px 12px 70px}.app-nav{position:relative;display:flex;flex-wrap:wrap;padding:0 14px;gap:0}.logo{font-size:19px;padding:12px 0;flex:1}.logo-icon{width:26px;height:26px}.nav-right{order:2;width:100%;justify-content:space-between;padding-bottom:10px}.header-stats{display:flex;font-size:11px}.header-stats-meta{gap:13px}.nav-links{order:3;width:100%;flex-wrap:nowrap;overflow:auto;gap:0;padding:0;scrollbar-width:thin}.nav-links a{padding:11px 12px;font-size:12px;flex-shrink:0}.panel{padding:16px}.panel h2{font-size:22px;padding-bottom:12px}.location-hero{min-height:245px}.party-strip{grid-template-columns:1fr auto}.party-strip-title{grid-column:1}.party-strip ul{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));order:3}.party-strip .party-leave{grid-column:2;grid-row:1}.location-hero-copy{padding:28px 23px}.location-hero h1{font-size:34px}.location-hero p{font-size:13px;max-width:280px}.location-hero-caption{display:none}.location-hero-tags{margin-top:22px;gap:6px}.location-hero-tags span{padding:4px 8px;font-size:10px}.location-encounters-link{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #d2b96d;border-radius:3px;background:#263d2de6;color:#f3dda3;font-size:10px;font-weight:700;text-decoration:none}.location-page .corner-layout,.corner-layout{grid-template-columns:1fr;gap:16px}.location-page .corner-layout>div:first-child{order:2}.location-page .corner-layout>div:nth-child(2){order:1}.world-nodes-layer{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.world-node-card{width:auto;padding:4px}.world-node-name{font-size:10px}.encounter-card{gap:10px}.encounter-portrait{width:55px;height:55px}.encounter-info .character-hover-trigger{font-size:15px}.encounter-attack,.encounter-raid{padding:8px}.battle-page>.panel>h2{padding:13px 16px;font-size:19px}.battle-page .duel-board{padding:12px;gap:10px}.battle-page .duel-name{display:grid;font-size:14px;gap:3px}.battle-page .duel-name small{font-size:10px}.battle-page .duel-vs{min-width:32px;font-size:21px;padding:0}.battle-page .duel-vs small{font-size:9px}.battle-page .battle-bar{height:15px}.battle-page .battle-bar-mp{height:10px}.forest-stage{height:clamp(190px,27dvh,240px);background-position:center}.scene-location{top:15px;font-size:15px}.scene-location .eyebrow{font-size:8px}.scene-fighter{width:47%;height:70%;bottom:10%}.scene-fighter-player{left:0}.scene-fighter-mob{right:0}.fighter-nameplate{font-size:10px;padding:5px 10px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.scene-versus{font-size:23px}.scene-damage{font-size:24px}.damage-dodge,.damage-defend,.damage-heal{font-size:14px}.battle-page .arena-controls{display:flex;flex-direction:column;gap:12px;padding:12px}.battle-page .arena-center{flex-direction:row;gap:12px}.battle-page .arena-timer{font-size:20px}.battle-page .arena-center p{font-size:12px}.battle-page .battle-wheel{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.battle-page .wheel-btn{height:58px;min-width:0;font-size:13px;padding:8px;gap:10px}.battle-page .wheel-btn small{font-size:10px}.battle-page .battle-bottom{padding:0 12px 12px;display:grid;grid-template-columns:1fr;gap:8px}.battle-page .battle-extra-consumables .battle-extra-body{max-height:240px}.battle-page .consumable-card{font-size:12px}.battle-page .consumable-icon{width:28px;height:28px}.battle-page .consumable-head{grid-template-columns:28px 1fr}.battle-page .battle-extra>summary{font-size:12px}.auth-panel{padding:22px}}@media(max-width:380px){.world-nodes-layer{grid-template-columns:repeat(3,minmax(0,1fr))}.header-stats-meta{gap:7px}.encounter-hp{margin-left:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.scene-damage{transform:translate(-50%);opacity:1}.impact-slash,.power-strike-charge,.power-strike-impact,.scene-mist,.scene-motes{display:none}}html{background:#142624}.battle-page{height:auto;min-height:0;overflow:visible}.battle-page .panel{height:auto;display:block}.battle-page .panel-content{display:block;overflow:visible}.battle-page .battle-screen{display:grid;gap:0}.battle-page .battle-wheel{grid-template-rows:auto;justify-items:stretch;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none}.battle-page .wheel-btn{grid-area:auto}.battle-page .battle-bottom{max-height:none;overflow:visible;flex:initial}.battle-page .battle-extra{min-height:0}.paperdoll-grid:not(.paperdoll-grid-compact){grid-template-columns:85px minmax(0,1fr) 85px;grid-template-rows:repeat(4,80px);max-width:none;padding:16px;gap:10px;border:1px solid #bca77f;background:radial-gradient(ellipse at center,#f4e9ce,#dca)}.paperdoll-grid:not(.paperdoll-grid-compact) .paperdoll-hero{grid-column:2;grid-row:1 / -1;width:100%;height:100%}.paperdoll-grid:not(.paperdoll-grid-compact) .paperdoll-slot{min-height:0;padding:5px;border-color:#b5a075;background:#f6edd8bd}.paperdoll-grid:not(.paperdoll-grid-compact) .paperdoll-slot-helmet{grid-area:1 / 1}.paperdoll-grid:not(.paperdoll-grid-compact) .paperdoll-slot-weapon{grid-area:2 / 1}.paperdoll-grid:not(.paperdoll-grid-compact) .paperdoll-slot-armor{grid-area:3 / 1}.paperdoll-grid:not(.paperdoll-grid-compact) .paperdoll-slot-gloves{grid-area:4 / 1}.paperdoll-grid:not(.paperdoll-grid-compact) .paperdoll-slot-amulet{grid-area:1 / 3}.paperdoll-grid:not(.paperdoll-grid-compact) .paperdoll-slot-ring{grid-area:2 / 3}.paperdoll-grid:not(.paperdoll-grid-compact) .paperdoll-slot-boots{grid-area:4 / 3}.game-table{border-collapse:collapse;border:0}.game-table th{color:#7c6846;background:#d9c8a244;font-weight:600}.game-table td,.game-table th{border:0;border-bottom:1px solid #bba77c55;padding:10px 8px}@media(max-width:768px){.nav-right{flex-direction:row;align-items:center}.header-stats{width:auto}.battle-page .battle-bottom{display:grid;grid-template-columns:1fr}.battle-page .battle-wheel{grid-template-rows:auto auto}.battle-page .battle-surrender-btn{position:static}.paperdoll-grid:not(.paperdoll-grid-compact){grid-template-columns:66px minmax(0,1fr) 66px;grid-template-rows:repeat(4,68px);gap:7px;padding:10px}.paperdoll-grid:not(.paperdoll-grid-compact) .paperdoll-empty{width:38px;height:38px}.paperdoll-slot-name{font-size:10px}.game-table td,.game-table th{padding:9px 5px}}.result-hero.victory,.result-hero.defeat,.result-hero.neutral{position:relative;overflow:hidden;isolation:isolate;text-align:center;background:linear-gradient(#102b2cb0,#0b2023e8),url(/assets/renewal/locations/demo_forest.png) center 45% / cover;padding:36px 24px;border:1px solid #9c8558;border-radius:6px;color:#e8dcbf}.result-hero.defeat{background-image:linear-gradient(#29262bbb,#202029ee),url(/assets/renewal/locations/demo_forest.png)}.result-hero .result-emblem{display:block;font-size:43px;color:#cfa765;margin-bottom:14px}.result-hero .result-title{margin:14px 0;font:500 42px Georgia,serif;color:#f5e4bd;letter-spacing:0}.result-hero p{color:#c4c7b4;font-size:14px}.result-hero .result-return{margin-top:20px;background:#dbc18b;padding:10px 22px;color:#2b382b}.result-return span{margin-left:10px}.reward-tile{border:1px solid #b8a47b;border-radius:5px;padding:18px}.reward-gold{background:linear-gradient(#f4e7bf,#e9d8a9)}.reward-exp{background:linear-gradient(#e5e5cf,#cfdbc4)}.reward-tile strong{font:30px Georgia,serif;color:#746032}@media(max-width:768px){.nav-right{display:flex}.header-stats{flex:0 1 auto}.result-hero .result-title{font-size:31px}.result-hero p{font-size:13px}.result-hero.victory,.result-hero.defeat,.result-hero.neutral{padding:30px 16px}}.fighter-placeholder{display:grid;place-items:center;color:#d5b67c;background:#223c33;font-size:70px}.shop-table-scroll{border-style:solid;border-color:#b9a57b66}@media(max-width:768px){.shop-buy-table{table-layout:fixed}.shop-buy-table th:nth-child(2){width:calc(100% - 110px)}.shop-buy-table th:nth-child(4){width:42px}.shop-buy-table th:nth-child(5){width:68px}.shop-buy-table .item-name-cell>span{overflow-wrap:normal}.shop-action-cell button{padding:7px;font-size:12px}}@media(max-width:768px){.shop-sell-table{table-layout:fixed}.shop-sell-table th:nth-child(1){width:40px}.shop-sell-table th:nth-child(3){width:calc(100% - 154px)}.shop-sell-table th:nth-child(4){width:50px}.shop-sell-table th:nth-child(5){width:64px}.shop-sell-table .item-name-cell>span{overflow-wrap:normal}}:root{--surface: #f5efdf;--surface-raised: #fcf8ed;--line: #cabea3;--accent: #2d5147;--muted: #736650;--radius: 12px;font-synthesis:none}*{scrollbar-width:thin;scrollbar-color:#9c957b transparent}body{line-height:1.5}button,input,select,textarea{font:inherit}button{min-height:38px;padding:8px 14px;border-radius:7px;font-weight:600}button:disabled{cursor:not-allowed;box-shadow:none}input,select,textarea{min-height:44px;max-width:100%;padding:10px 12px;color:var(--ink);background:#fffaf0;border:1px solid #b9ad91;border-radius:7px;box-shadow:inset 0 2px 3px #3b321408;accent-color:var(--accent)}input::placeholder,textarea::placeholder{color:#897e69}input[type=checkbox],input[type=radio]{min-height:auto;width:18px;height:18px}input:focus,select:focus,textarea:focus{border-color:#627b63}a{color:#375e50;text-underline-offset:3px}hr{border:0;border-top:1px solid var(--line);margin:20px 0}h1,h2,h3,h4{text-wrap:balance}.ui-icon{width:20px;height:20px;flex:0 0 auto;vertical-align:middle}.app-main{padding-top:28px}.app-nav{box-shadow:0 8px 24px #071b1520}.nav-links a{display:inline-flex;align-items:center;gap:9px;padding:13px 18px}.nav-links .ui-icon{width:18px;height:18px;opacity:.85}.logo-icon{width:38px;height:38px}.header-stats-meta{align-items:center}.header-stats-meta>span{white-space:nowrap}.header-stats-meta>span:first-child{color:#f1e7cc;font-weight:600}.header-stats-meta>span:nth-child(2){border:1px solid #a58c5155;border-radius:4px;padding:2px 7px}.header-bar-row>span{font-variant-numeric:tabular-nums;color:#bcc8b8}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;color:#f0e6ce;margin:0 0 26px;padding:7px 2px 25px;border-bottom:1px solid #d4bd7830}.page-intro h1{font:400 clamp(28px,3vw,38px)/1.2 Georgia,serif;margin:10px 0}.page-intro p{margin:0;color:#b8c5b6;max-width:680px;font-size:14px}.page-intro-seal{display:grid;place-items:center;flex:0 0 74px;width:74px;height:74px;border:1px solid #baa16b66;border-radius:50%;color:#d0b477;background:radial-gradient(#c2a06412,transparent)}.page-intro-seal .ui-icon{width:34px;height:34px}.onboarding-guide{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:18px;padding:15px 18px;border:1px solid #a88e55;border-radius:10px;background:linear-gradient(110deg,#1e3931,#294b3d);color:#eee0bd;box-shadow:0 8px 22px #071b1533}.onboarding-progress{height:7px;overflow:hidden;border:1px solid #927b4b;border-radius:999px;background:#10241f}.onboarding-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a98b4f,#e0c778)}.onboarding-copy{display:grid;gap:3px}.onboarding-copy .eyebrow{color:#cbb77e;font-size:10px}.onboarding-copy strong{font:500 17px Georgia,serif}.onboarding-copy small{color:#c4cdbd}.onboarding-copy .onboarding-next{color:#9eae9e}.onboarding-guide .button-link,.onboarding-guide button{white-space:nowrap;background:#e6d3a4;color:#273a2f;border-color:#e6d3a4}.onboarding-complete{grid-template-columns:minmax(0,1fr) auto}.onboarding-complete>div{display:grid;gap:3px}.panel{background:linear-gradient(120deg,#f8f2e5,#ede3cd);border:1px solid #c2af85;border-radius:var(--radius);padding:24px;box-shadow:0 10px 30px #081b1826}.panel h2{font-size:23px;line-height:1.3;padding-bottom:17px;margin-top:0}.panel h3{font:500 21px Georgia,serif;color:#51432c}.panel-content{min-width:0}.panel-content>p:only-child{padding:22px;text-align:center;color:var(--muted);background:#e9dfc966;border:1px solid var(--line);border-radius:8px}.corner-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.corner-layout>div{min-width:0}.shop-layout,.inventory-layout{height:auto;grid-template-rows:auto}.shop-layout .panel-content,.inventory-layout .panel-content{overflow:visible;display:block}.shop-layout .panel,.inventory-layout .panel{height:auto;overflow:visible}.inventory-layout{grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr)}.mono-list{list-style:none;padding:0;margin:12px 0}.mono-list>li{padding:9px 0;border-bottom:1px solid #b9a37635;overflow-wrap:anywhere}.mono-list>li:last-child{border-bottom:0}.mono-list .mono-list{margin:0}.summary-strip{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.summary-strip>li{border:1px solid var(--line);border-radius:7px;padding:8px 12px;background:#fcf6e5;font-size:12px}.summary-strip>li:last-child{border-bottom:1px solid var(--line)}.inventory-empty-equipment,.inventory-layout .empty-state{display:grid;justify-items:center;gap:8px}.inventory-empty-equipment strong,.inventory-layout .empty-state strong{color:#e5d6ad;font:500 18px Georgia,serif}.inventory-empty-equipment span,.inventory-layout .empty-state span{max-width:420px}.inventory-equip-hint{margin:0 0 10px;padding:10px 12px;border-left:3px solid #b49b5f;background:#21392c;color:#d9d4b8}.inventory-recent{margin:0 0 12px;color:#abb89e;font-size:12px}.stack-form{gap:18px}.stack-form label{display:grid;gap:7px;font-size:13px;font-weight:600;color:#5b503d}.stack-form>button[type=submit],.stack-form>button:last-child,.shop-action-cell button{background:linear-gradient(#385f50,#29483e);border-color:#2b4b40;color:#fff1cf;box-shadow:0 3px 8px #183b2120}.ghost-button{background:transparent;box-shadow:none;border:1px solid #ad9d7a;color:#685638}.text-link-button,.table-sort-button,.character-hover-trigger,.chat-author-btn{background:none;box-shadow:none}.text-link-button{min-height:32px;border:0;text-decoration:underline}.table-sort-button{min-height:30px;padding:0;border:0;font-size:inherit}.character-hover-trigger{min-height:32px;color:#2e5949;font-weight:600;text-decoration:none;border-bottom:1px solid #65785366}.shop-slot-tabs,.shop-category-tabs,.leaderboard-period-tabs,.mode-switch{display:flex;flex-wrap:wrap;gap:5px;padding:5px;background:#e1d6be;border:1px solid #c6b897;border-radius:10px;margin-bottom:20px}.shop-slot-tabs button,.shop-category-tabs button,.leaderboard-period-tabs button,.mode-switch button{border:1px solid transparent;background:transparent;box-shadow:none;color:#665b46;border-radius:6px;padding:7px 12px;min-height:36px}.shop-slot-tabs button.active,.shop-category-tabs button.active,.leaderboard-period-tabs button.active,.mode-switch button.active{background:#314f42;color:#fff0ce;border-color:#314f42;box-shadow:0 2px 5px #213d2420}.game-table{border-collapse:separate;border-spacing:0;font-size:13px}.game-table th,.game-table td{padding:12px 10px;vertical-align:middle;border-bottom:1px solid #baaa863f}.game-table thead th{background:#e6dcc6;border-bottom:1px solid #c9b897;font-size:11px;font-weight:600;letter-spacing:.3px;color:#6d5b3b}.game-table tbody tr{transition:background .18s}.game-table tbody tr:nth-child(2n){background:#fff9eb66}.game-table tbody tr:hover{background:#d8c89e30}.shop-table-scroll,.inventory-table-scroll,.leaderboard-table-scroll,.mob-drops-table-scroll{border:1px solid var(--line);border-radius:9px;padding:0;max-height:none;overflow:auto}.game-table td:first-child{font-variant-numeric:tabular-nums}.leaderboard-table tbody tr:nth-child(-n+3) td:first-child{color:#8a631e;font:700 21px Georgia,serif;background:#d8ba6530;text-align:center}.leaderboard-table tbody tr:first-child{background:#ddc77d29}.leaderboard-table-scroll{max-height:560px}.leaderboard-me{border:1px solid #a29264;border-radius:9px;padding:16px;background:#e3d9b8;gap:10px 18px}.leaderboard-me>span:first-child{font:700 24px Georgia,serif;color:#8a6426}.leaderboard-pagination{color:var(--muted);font-size:12px;margin:14px 0}.item-name-cell{min-width:0;gap:10px}.item-image{border-color:#bcaa7d;background:radial-gradient(ellipse at top,#f7eac8,#d9c9a5);border-radius:9px;box-shadow:inset 0 0 0 3px #fff9dc55}.item-icon-trigger{display:inline-flex;min-height:0;padding:0;flex-shrink:0;border-radius:9px;border:0;background:none;box-shadow:none}.item-icon-trigger:hover{transform:translateY(-2px)}.item-set-mark{color:#77602e;background:#d8c48e55;border-radius:4px;padding:1px 5px;margin-left:0}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.item-tile{min-width:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:linear-gradient(135deg,#fffbef,#e9dec5);overflow:hidden;transition:transform .2s,box-shadow .2s}.item-tile:hover{transform:translateY(-2px);box-shadow:0 6px 16px #47351a15}.item-tile-main{display:flex;align-items:center;gap:12px;padding:16px;flex:1}.item-tile-main>div{min-width:0}.item-tile h3{font:600 14px/1.45 Segoe UI,sans-serif;margin:0 0 5px;overflow-wrap:anywhere;text-wrap:wrap}.item-tile small{display:block;font-size:11px;color:#766749}.item-tile-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid #c1ad803f;background:#e2d6ba44}.item-tile-footer strong{color:#80601e;font-size:13px}.item-tile-footer button{font-size:12px;padding:7px 12px}.collection-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 15px;color:var(--muted);font-size:12px}.collection-toolbar button{font-size:12px;min-height:32px;padding:4px 9px}.collection-toolbar .active{border-color:#6e8264;background:#dde2cc}.item-tile.rarity-rare{border-top:3px solid #638aab}.item-tile.rarity-epic{border-top:3px solid #9b77ab}.item-tile.rarity-legendary{border-top:3px solid #b48b38}.item-tile.rarity-uncommon{border-top:3px solid #789269}.equipped-list>li{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.equipped-list>li>button{margin-left:auto;font-size:11px;min-height:30px;padding:4px 9px}.equipped-inline-item{flex:1;min-width:140px;font-size:12px}.paperdoll-grid{border:1px solid var(--line);border-radius:10px}.paperdoll-slot{border-color:#baa77d;border-radius:8px;background:#f7efdbd9}.paperdoll-empty{border:1px solid #b9ad8955;background:#b8ae8710;color:#8f815c}.paperdoll-title{font:500 18px Georgia,serif;color:#685539;margin:3px 0 8px}.stats-layout .stat-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:15px;padding:10px 12px}.stats-layout .stat-line:nth-child(odd){background:#fff8e666;border-radius:5px}.stat-line>span:last-child{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.stats-layout .mono-list{padding-left:0!important}.stat-row-button{display:block;width:100%;min-height:34px;text-align:left;text-decoration:none;color:#365b47}.stat-row-button:after{content:" ⓘ";font-size:12px;color:#928265}.character-public-stat-line{grid-template-columns:minmax(0,1fr) auto}.achievements-sections{gap:30px}.achievements-sections h3{display:flex;align-items:center;gap:10px;margin:0 0 16px}.achievements-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.achievement-card{padding:18px;border:1px solid #c9bea4;border-radius:11px;background:#f7f1e4;gap:17px;box-shadow:0 3px 8px #3c301807}.achievement-card.unlocked{border-color:#b8a261;background:linear-gradient(135deg,#f9efd0,#ebe4ce)}.achievement-card.locked .achievement-icon{filter:saturate(.45);opacity:.8}.achievement-icon{border:1px solid #b5a170;border-radius:12px;box-shadow:0 3px 8px #5d4b1720}.achievement-name{font:600 16px/1.3 Georgia,serif;color:#4c3d23}.achievement-description{color:#736651;font-size:12px;line-height:1.55}.achievement-condition{color:#5d674c;font-size:11px}.achievement-progress-track{height:6px;border:0;background:#d9cfb8}.achievement-progress-fill{background:linear-gradient(90deg,#466b54,#9ea968);transition:width .4s}.achievement-progress-caption{color:#7a6a48;font-variant-numeric:tabular-nums}.achievement-unlocked-at{font-size:11px;color:#667448}.achievement-skeleton{border-style:solid;background:linear-gradient(110deg,#e8dec6 30%,#f7f0dc,#e8dec6 60%);background-size:250% 100%;animation:ui-shimmer 1.7s infinite}.achievement-toast{background:#f5edda;border-color:#b69b54;border-radius:12px;padding:16px;box-shadow:0 10px 30px #081c1940}.set-card,.set-details-card{border:1px solid var(--line);background:#f7f0dd;padding:16px;border-radius:9px}.item-modal-overlay{background:#091c1bbd;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:24px}.item-modal-window.panel{width:min(800px,calc(100vw - 48px));max-height:calc(100dvh - 48px);border:1px solid #b8a273;border-radius:14px;padding:26px;box-shadow:0 30px 100px #0008;animation:ui-dialog-in .18s ease-out;overscroll-behavior:contain}.item-modal-window.stat-info-modal-window{width:min(560px,calc(100vw - 48px))}.item-modal-window.character-public-modal{width:min(620px,calc(100vw - 48px))}.item-card-header{border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:22px;gap:16px}.item-card-title{font:500 25px/1.25 Georgia,serif;color:#4c3d24}.item-card-header button{flex-shrink:0;font-size:12px}.item-card-split{grid-template-columns:minmax(0,1fr) 220px;gap:26px}.item-card-text>p{line-height:1.65;color:#74644b}.item-card-side{background:radial-gradient(#d3b96955,transparent 70%);border-radius:12px}.item-image-card{border-radius:12px;padding:10px}.item-hover-popup,.character-hover-popup{border:1px solid #b3a076;padding:16px;border-radius:10px;background:#faf4e6;box-shadow:0 12px 32px #11251e33}.mob-drops-head{padding:16px;border:1px solid var(--line);border-radius:10px;background:#e8ddc2;gap:18px}.mob-drops-mob-icon{border-color:#af9b6e;border-radius:8px}.status-error,.status-ok{padding:12px 16px;border:1px solid;border-radius:8px;line-height:1.5;font-size:13px}.status-error{color:#843e32;border-color:#c9897366;background:#f2dfd2}.status-ok{color:#355a3d;border-color:#819d6766;background:#e1e9ce}.full-page-message{margin:50px auto;max-width:640px;min-height:160px;padding:44px 28px;color:#e9dec0;background:#1a332ee6;border:1px solid #9e906355;border-radius:12px;font:500 21px/1.5 Georgia,serif;text-align:center}.full-page-message:before{content:"✦";display:block;color:#bda06b;font-size:32px;margin-bottom:16px}.battle-extra{border:1px solid var(--line);border-radius:9px;background:#f8f1e1;padding:0}.battle-extra>summary{padding:13px 16px;font-size:13px}.battle-extra-body{padding:0 16px 16px}.battle-bottom{border-top-style:solid;border-top-color:var(--line)}.consumable-card{background:#eee3c9;border-color:#c1ae7d;border-radius:8px}.consumable-card.selected{border-color:#6b865d;background:#dfe5c9;box-shadow:inset 0 0 0 1px #6b865d}.consumable-name{white-space:normal}.log-list>li{padding:8px 0;border-bottom:1px solid #baa47730;font-size:12px;line-height:1.6}.location-pvp-banner{border:1px solid #bba579;background:#eadcb7;border-radius:10px;padding:16px}.location-pvp-banner.incoming{background:#f3dfc2;border-color:#b88a51}.global-chat{left:auto;right:auto;bottom:auto}.global-chat-toggle{min-height:34px;min-width:auto;padding:6px 12px;background:#1c3931;color:#ecdbac;border:1px solid #a48e58;box-shadow:none}.global-chat-panel{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));width:min(470px,calc(100vw - 44px));max-height:min(620px,75dvh);height:560px;border:1px solid #b3a175;border-radius:13px;background:#f1e8d4;box-shadow:0 18px 70px #03171466;visibility:hidden}.global-chat.open .global-chat-panel{visibility:visible}.global-chat-head{padding:15px 18px;background:#29483d;color:#eddfbc;border:0}.global-chat-head strong{font:500 20px Georgia,serif}.global-chat-head span{color:#b9c7ad;font-size:11px}.global-chat-messages{padding:14px;gap:10px;background:#eee6d2}.chat-row{border:1px solid #c6b899;border-radius:9px;padding:10px 12px;background:#fff8e9;flex-shrink:0}.chat-row.self{border-color:#94a180;background:#e1e6ce}.chat-row.kind-system{background:#e4dcc8;border-color:transparent;color:#70634d}.chat-row.kind-private{background:#e2e5df;border-color:#b6bfb1}.chat-id{display:none}.chat-meta{gap:6px;font-size:11px}.chat-time{margin-left:auto;color:#8c8069}.chat-author-btn{min-height:24px;color:#466344;font-size:12px;padding:0;border:0}.chat-text{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.global-chat-form{padding:12px;border-top:1px solid #c5b693;background:#f5edda}.chat-send-row{display:flex;gap:8px}.chat-send-row input{width:0;flex:1;min-width:0;font-size:12px}.chat-send-row button{min-width:0;background:#365744;color:#fff0cf;border-color:#365744;font-size:12px}.chat-footer-row{margin-top:10px;gap:8px;color:#8a7b5e}.chat-filter-tabs{border:0;background:transparent;padding:0;gap:3px}.chat-footer-row .chat-filter-tabs button{height:auto;max-height:none;min-height:32px;padding:5px 8px;font-size:11px;border:1px solid transparent;border-radius:5px;background:transparent;color:#796b50}.chat-filter-tabs button.active{background:#dfd3b8!important;border-color:#bbae8a!important;color:#4b5435}.chat-empty{display:grid;place-items:center;flex:1;color:#75684e;text-align:center}.auth-shell{padding:44px 20px;min-height:100dvh;background:linear-gradient(90deg,#0b242dcc,#0a201d80),url(/assets/renewal/locations/demo_forest.png) center/cover fixed}.auth-panel{width:min(460px,100%);padding:36px;border:1px solid #c1a872;border-radius:16px;background:linear-gradient(130deg,#faf3e2,#e6d9bb);box-shadow:0 24px 90px #0005}.auth-panel h1{font:500 32px Georgia,serif;margin:15px 0 5px;color:#423b26}.auth-logo{width:70px;height:70px;object-fit:contain}.hint-line{color:#837150;margin-bottom:25px;font-size:13px}.mode-switch>button{flex:1}.auth-google-row{border-top:1px solid #b9a37655;padding-top:18px}.character-create-shell{padding:0;min-height:0}.character-create-panel{max-width:640px;padding:32px;margin:0 auto}.landing-shell{max-width:1280px;padding:32px;color:#e6ddc4;margin:auto}.landing-hero{position:relative;isolation:isolate;overflow:hidden;min-height:490px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px 30px;text-align:center;border:1px solid #b99f6355;border-radius:16px;background:linear-gradient(#0d2a28,#0d2922)}.landing-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#0d2a2866,#0d2922dd)}.landing-hero-art,.landing-hero-art img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.landing-logo{width:82px;height:82px}.landing-headline h1{font:500 clamp(36px,5vw,64px) Georgia,serif;color:#f4e7c8;margin:20px 0}.landing-headline p{color:#cdd4c2;font-size:17px}.landing-play-button{background:linear-gradient(#dfc18a,#b8914e);border:1px solid #e4c690;border-radius:7px;padding:14px 35px;color:#302d1d;font-weight:700;text-decoration:none;box-shadow:0 7px 20px #0003}.landing-about{padding:35px;background:#f3ead6;color:#544732;border:1px solid #b7a071;border-radius:12px;margin:24px 0}.landing-about h2{font:500 28px Georgia,serif}.landing-about li{padding:5px}.landing-gallery{gap:18px}.landing-gallery-card{background:#1d342b;border:1px solid #ad985655;border-radius:10px;overflow:hidden;box-shadow:0 8px 20px #0002}.landing-gallery-card button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.landing-gallery-card picture{display:block;width:100%;height:100%}.landing-gallery-card img{object-fit:cover}.landing-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#07110ee8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-lightbox img{display:block;width:auto;height:auto;max-width:min(1254px,94vw);max-height:90vh;object-fit:contain}.landing-lightbox-close{position:fixed;top:18px;right:22px;z-index:1;width:44px;height:44px;padding:0;border:1px solid #d6c28c;border-radius:50%;background:#13251fee;color:#f4e7c8;font-size:30px;line-height:1}.route-loading{min-height:100dvh;display:grid;place-items:center;color:#e5d5aa;background:#10211d}.landing-footer{padding:25px 0;color:#b8c1a9}.landing-footer a{color:#d4bd85}.legal-shell{padding:36px 20px}.legal-card{padding:38px;max-width:900px;margin:auto;background:#f4ecd9;border:1px solid #b9a375;border-radius:14px;color:#514632;box-shadow:0 12px 40px #0002}.legal-card h1{font:500 34px Georgia,serif}.legal-card h2{font:500 23px Georgia,serif;margin-top:30px}.legal-card p{line-height:1.8}@keyframes ui-shimmer{to{background-position:-250% 0}}@keyframes ui-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:1000px){.nav-links a{padding:12px}.shop-layout{grid-template-columns:minmax(0,1fr)}.inventory-layout{grid-template-columns:minmax(300px,.9fr) minmax(0,1fr)}.item-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.battle-page .battle-side-actions{grid-column:1 / -1}.battle-page .battle-skill-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.app-main{padding:18px 12px 80px}.app-nav{padding:0 12px;gap:0}.nav-links{width:100%;overflow-x:auto;flex-wrap:nowrap;gap:0;scrollbar-width:none}.nav-links a{padding:12px 10px;font-size:12px;gap:6px}.nav-links .ui-icon{width:16px;height:16px}.logo{font-size:20px;padding:12px 0 8px}.logo-icon{width:28px;height:28px}.nav-right{gap:10px}.nav-right>button{min-height:32px;padding:4px 8px;font-size:11px}.header-stats-meta{gap:8px;font-size:11px}.onboarding-guide{grid-template-columns:minmax(0,1fr);gap:10px;padding:13px}.onboarding-guide .button-link,.onboarding-guide button{width:100%;text-align:center}.page-intro{padding:5px 4px 20px;margin-bottom:18px;gap:12px}.page-intro h1{font-size:29px}.page-intro p{font-size:12px}.page-intro-seal{display:none}.page-intro .eyebrow{font-size:9px;letter-spacing:2px}.panel{padding:17px;border-radius:10px}.panel h2{font-size:22px;padding-bottom:14px;margin-bottom:16px}.corner-layout,.inventory-layout,.location-page .corner-layout{grid-template-columns:minmax(0,1fr);gap:16px}.world-nodes-layer{grid-template-columns:repeat(2,minmax(0,1fr))}.world-route-summary{align-items:flex-start;flex-wrap:wrap}.battle-page .battle-side-actions{width:100%}.battle-page .battle-skill-list{grid-template-columns:minmax(0,1fr)}.item-grid{grid-template-columns:minmax(0,1fr);gap:10px}.item-tile{flex-direction:row;align-items:stretch}.item-tile-main{padding:12px;gap:10px}.item-tile h3{font-size:13px}.item-tile-footer{flex-direction:column;justify-content:center;flex:0 0 84px;padding:9px 7px;border-top:0;border-left:1px solid #c1ad803f;gap:7px}.item-tile-footer button{padding:6px 8px;font-size:11px;min-height:34px}.item-tile .item-image-slot{width:44px;height:44px}.shop-slot-tabs{gap:3px}.shop-slot-tabs button{padding:7px 9px;font-size:12px}.game-table th,.game-table td{padding:10px 8px}.game-table{font-size:12px}.leaderboard-table{min-width:660px}.leaderboard-table-scroll{max-height:460px}.leaderboard-table th:first-child,.leaderboard-table td:first-child{position:sticky;left:0;background:#e9dfc5;z-index:1}.achievements-grid{grid-template-columns:minmax(0,1fr);gap:12px}.achievement-card{padding:15px}.stats-layout .stat-line{grid-template-columns:minmax(0,1fr) auto;font-size:12px;padding:10px 8px}.stat-line>span:last-child{max-width:130px;overflow-wrap:anywhere}.item-modal-overlay{padding:12px}.item-modal-window.panel,.item-modal-window.character-public-modal,.item-modal-window.stat-info-modal-window{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:19px;border-radius:12px}.item-card-header{margin-bottom:18px;padding-bottom:14px}.item-card-title{font-size:22px}.item-card-split{display:flex;flex-direction:column-reverse;gap:18px}.item-card-side{width:100%;justify-content:center}.item-card-visual,.item-image-card{width:150px;height:150px;min-height:150px}.mob-drops-head{padding:12px;gap:12px;font-size:12px}.mob-drops-mob-icon{width:70px;height:70px}.mob-drops-table-scroll .game-table{min-width:430px}.global-chat{left:auto;right:auto;bottom:auto}.global-chat-panel{right:8px;width:calc(100vw - 16px);max-width:none;height:65dvh;max-height:calc(100dvh - 80px)}.chat-send-row button{padding:8px;font-size:11px}.chat-footer-row .chat-filter-tabs button{min-height:34px;padding:5px 7px}.auth-shell{padding:22px 14px}.auth-panel{padding:25px}.auth-panel h1{font-size:29px}.character-create-panel{padding:22px}.landing-shell{padding:14px}.landing-hero{min-height:460px;padding:35px 20px}.landing-headline p{font-size:14px}.landing-about{padding:24px}.legal-shell{padding:15px}.legal-card{padding:25px}.legal-card h1{font-size:28px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.count-badge{display:inline-grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border:1px solid #baa773;border-radius:50%;font:600 12px Segoe UI,sans-serif;color:#856f3d}.collection-search{display:grid;gap:7px;margin-bottom:16px;font-size:12px;color:#736650}.collection-search input{width:100%}.collection-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:12px;font-size:12px;color:#736650}.empty-state{padding:25px;text-align:center;border:1px solid var(--line);border-radius:9px;background:#e9dfc966;color:var(--muted)}.logo-icon,.auth-logo,.landing-logo{background:radial-gradient(#b8a46b88,transparent 72%)}.fighter-art.is-duelist{scale:-1 1}.profile-identity{display:flex;gap:18px;align-items:center;margin-bottom:20px}.profile-level{display:grid;place-items:center;flex-shrink:0;width:68px;height:76px;border:1px solid #ac965c;border-radius:9px 9px 25px 25px;background:#e3d3a6;font:500 28px Georgia,serif;color:#715929;padding:8px}.profile-level small{font:10px Segoe UI,sans-serif;color:#8c7850}.profile-identity h3{margin:0 0 5px;overflow-wrap:anywhere}.profile-identity>div>span{color:#807153;font-size:12px}.profile-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 24px}.profile-metrics>div{padding:12px 8px;border:1px solid var(--line);border-radius:7px;background:#faf3e1;text-align:center}.profile-metrics small{display:block;color:#897754;font-size:10px;margin-bottom:4px}.profile-metrics strong{font-size:13px;color:#796335}.stat-section{margin-top:12px;border:1px solid var(--line);border-radius:8px;background:#f3ead7}.stat-section summary{padding:13px 15px;cursor:pointer;font-weight:600;color:#6c5b3a;font-size:13px}.stat-section .mono-list{margin:0 12px 10px}.paperdoll-empty .ui-icon{width:25px;height:25px;opacity:.55}.pvp-battle-page .battle-bottom{grid-template-columns:minmax(0,1fr)}.shop-feedback{position:fixed;bottom:70px;right:22px;z-index:45;max-width:min(390px,calc(100vw - 44px));box-shadow:0 10px 30px #12302633}.location-page{--muted: #b5bea9;color:#dedbc6}.location-page .panel{background:linear-gradient(135deg,#233c32,#192f29);border-color:#667451;box-shadow:0 10px 30px #071b1933,inset 0 1px #c4b57c10}.location-page .panel h2,.location-page .panel h3{color:#e5d5aa;border-color:#9e986044}.location-page .panel h2:before{color:#c7ad70}.location-page .section-intro{color:#b5bea9}.location-page .panel-content hr{border-color:#9e986044}.location-page .world-node-card{background:#142c25;border-color:#69765566}.location-page .world-node-card:disabled{opacity:1}.location-page .world-node-card:not(.current):not(.reachable) .world-node-thumb{opacity:.55}.location-page .world-node-card:not(.current):not(.reachable) .world-node-name{color:#9da995}.location-page .world-node-card.current{background:#3a4930;border-color:#c3aa67;box-shadow:0 0 0 3px #c5a35a16}.location-page .world-node-card.reachable{background:#2b4432;border-color:#8b9b6b}.location-page .world-node-card:not(:disabled):hover{background:#375039;border-color:#c3aa67}.location-page .world-node-name{color:#ded7b9}.location-page .world-node-thumb{background:#11271f}.location-page .world-node-boss-mark{background:#142c24ed;color:#e1c788;border-color:#a99362}.location-page .world-node-boss-mark{width:auto;min-width:18px;padding:0 5px;font-size:8px}.location-page .world-node-boss-mark.done{background:#405837;color:#e5ddb4}.world-route-summary{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:9px 11px;border:1px solid #71806466;border-radius:7px;background:#18342b;color:#bbc7b1;font-size:11px}.world-route-summary strong{color:#ead9ae}.world-node-level,.world-node-state{display:block;color:#aebaa7;font-size:9px;line-height:1.25;text-align:center}.world-node-card.current .world-node-state{color:#e3c982}.world-node-card.reachable .world-node-state{color:#acd098}.danger-badge{justify-self:start;width:fit-content;padding:2px 6px;border:1px solid;border-radius:999px;font-size:9px;font-weight:700}.danger-badge.danger-easy{color:#a7c49b;border-color:#78986d}.danger-badge.danger-equal{color:#e4cf91;border-color:#a69055}.danger-badge.danger-dangerous{color:#f0b981;border-color:#bc754a}.danger-badge.danger-deadly{color:#f09989;border-color:#b95042;background:#6b2f2933}.location-page .encounter-card{background:#132c2580;border-color:#81915c44}.location-page .encounter-card:hover{background:#304737;border-color:#98a27066}.location-page .encounter-portrait{border-color:#8e9360;background:#172c22}.location-page .character-hover-trigger,.location-page .encounter-info .character-hover-trigger{color:#e0d3ad;border-color:#96a07455}.location-page .character-hover-trigger:hover{color:#ffe4a0;background:transparent}.location-page .encounter-info>span{color:#b3bea8}.location-page .encounter-hp{color:#dda18a}.location-page .panel button:not(.world-node-card):not(.encounter-portrait):not(.character-hover-trigger){background:linear-gradient(#3a5540,#293f31);border-color:#8c9463;color:#f0dcaa}.location-page .panel button:not(:disabled):not(.world-node-card):not(.encounter-portrait):not(.character-hover-trigger):hover{background:#456047;border-color:#c8ad70}.location-page .mono-list>li{border-color:#9e986033}.location-page .panel-content>p:only-child{color:#b5bea9;background:#183027;border-color:#667451}.location-page .location-pvp-banner{background:#33432d;border-color:#a3985f;color:#e6dcb9}.location-page .location-pvp-banner.incoming{background:#49432d;border-color:#b59b60}.location-page .status-error{background:#4b342b;border-color:#ad7b58;color:#f0c3a6}.location-page .encounter-portrait:not(.wolf-portrait) img{transform:scale(1.28)}:root{color-scheme:dark;--ink: #dedbc6;--muted: #b5bea9;--paper: #233c32;--surface: #233c32;--surface-raised: #2c4537;--line: #667451;--accent: #a8b780}body{color:var(--ink)}a{color:#d6c590}button{background:linear-gradient(#3a5540,#293f31);border-color:#879360;color:#f0dcaa}button:not(:disabled):hover{background:#456047;border-color:#c8ad70}button:disabled{opacity:.6}input,select,textarea{background:#142b24;color:#e2dec7;border-color:#72805a;box-shadow:inset 0 2px 4px #0002}input::placeholder,textarea::placeholder{color:#a1ad96}input:focus,select:focus,textarea:focus{border-color:#c3aa67}.stack-form label{color:#c4c9af}.panel,.auth-panel,.legal-card,.landing-about{color:#dedbc6;background:linear-gradient(135deg,#233c32,#192f29);border-color:#667451;box-shadow:0 10px 30px #071b1933,inset 0 1px #c4b57c10}.panel h2,.panel h3,.panel h4,.auth-panel h1,.legal-card h1,.legal-card h2,.landing-about h2{color:#e5d5aa;border-color:#9e986044}.panel h2:before{color:#c7ad70}.panel-content hr,hr{border-color:#9e986044}.panel-content>p:only-child,.empty-state{color:#b5bea9;background:#183027;border-color:#667451}.section-intro,.hint-line,.character-create-intro{color:#b5bea9}.mono-list>li{border-color:#9e986033}.summary-strip>li,.summary-strip>li:last-child{background:#1a3026;color:#d4d3b6;border-color:#65744f}.ghost-button{background:transparent;color:#d2c392;border-color:#7b8058}.text-link-button,.table-sort-button,.character-hover-trigger,.chat-author-btn{background:none;color:#dacfaa}.character-hover-trigger{border-color:#96a07455}.character-hover-trigger:hover,.text-link-button:hover{background:transparent;color:#ffe4a0}.shop-slot-tabs,.shop-category-tabs,.leaderboard-period-tabs,.mode-switch{background:#142c24;border-color:#596c4b}.shop-slot-tabs button,.shop-category-tabs button,.leaderboard-period-tabs button,.mode-switch button{color:#bdc5aa}.shop-slot-tabs button.active,.shop-category-tabs button.active,.leaderboard-period-tabs button.active,.mode-switch button.active{background:#465839;color:#f1deaa;border-color:#a0a06b}.collection-search,.collection-toolbar,.collection-pagination,.leaderboard-pagination{color:#b5bea9}.collection-toolbar .active{background:#465839;color:#f1deaa;border-color:#a0a06b}.item-tile{background:linear-gradient(135deg,#294333,#1a3027);border-color:#64744e}.item-tile h3{color:#e3d5ad}.item-tile small{color:#b9c1a7}.item-tile-footer{background:#12291f55;border-color:#8e996144}.item-tile-footer strong{color:#ddbf75}.item-set-mark{color:#ddc686;background:#8b854033}.item-image{background:radial-gradient(ellipse at top,#415438,#1b3026);border-color:#879360;box-shadow:inset 0 0 0 3px #bcba7010}.item-icon-trigger,.item-icon-trigger:hover,.paperdoll-wrap{background:transparent}.paperdoll-grid,.paperdoll-grid:not(.paperdoll-grid-compact){background:radial-gradient(ellipse at center,#455333,#1c3429);border-color:#6c7952}.paperdoll-slot,.paperdoll-grid:not(.paperdoll-grid-compact) .paperdoll-slot{background:#20382be6;border-color:#7b8358}.paperdoll-slot-name,.paperdoll-title{color:#d6c798}.paperdoll-empty{background:#11291e33;border-color:#85906144;color:#c5bd8a;opacity:.75}.profile-level{background:#405135;border-color:#9c9b65;color:#e8ce90}.profile-level small,.profile-identity>div>span{color:#b8c09f}.profile-metrics>div{background:#193128;border-color:#64744e}.profile-metrics small{color:#b5bea2}.profile-metrics strong{color:#e3cb8c}.stats-layout .stat-line:nth-child(odd){background:#102b2155}.stat-row-button{color:#d4d4ac}.stat-row-button:hover{background:none;color:#ffe4a0}.stat-row-button:after{color:#b4b080}.stat-section{background:#1a3027;border-color:#64744e}.stat-section summary{color:#d4c79c}.game-table th,.game-table td{border-color:#89965e33}.game-table thead th{background:#142c24;border-color:#697752;color:#d2c395}.game-table tbody tr:nth-child(2n){background:#112b2255}.game-table tbody tr:hover{background:#3b503244}.leaderboard-table tbody tr:first-child{background:#78844722}.leaderboard-table tbody tr:nth-child(-n+3) td:first-child{background:#6b783433;color:#e2c685}.leaderboard-me{background:#34452e;border-color:#91925e}.leaderboard-me>span:first-child{color:#e2c685}.achievement-card{background:#1b3329;border-color:#5d704c}.achievement-card.unlocked{background:linear-gradient(135deg,#3a4b30,#233b2b);border-color:#97975f}.achievement-name{color:#e4d3a5}.achievement-description{color:#bdc5ad}.achievement-condition,.achievement-unlocked-at{color:#b3c591}.achievement-progress-track{background:#10271e}.achievement-progress-caption{color:#c7c399}.achievement-skeleton{background:linear-gradient(110deg,#203b2d 30%,#3a5037,#203b2d 60%);background-size:250% 100%}.count-badge{color:#e1c987;border-color:#8f9260}.set-card,.set-details-card{background:#1a3027;border-color:#64744e}.item-modal-window.panel,.item-hover-popup,.character-hover-popup{background:linear-gradient(135deg,#2a4133,#182f27);color:#dedbc6;border-color:#92915e}.item-card-header{border-color:#9e986044}.item-card-title{color:#e6d2a3}.item-card-text>p{color:#c1c7af}.item-card-side{background:radial-gradient(#a2a45725,transparent 70%)}.mob-drops-head{background:#183126;border-color:#72805a}.status-error,.location-page .status-error{background:#4b342b;border-color:#ad7b58;color:#f0c3a6}.status-ok{background:#30462d;border-color:#819560;color:#d3e3ab}.global-chat-panel{background:#20392d;border-color:#8c9160}.global-chat-messages{background:#152d24}.global-chat-form{background:#243c2e;border-color:#667451}.chat-row{background:#2a4231;border-color:#61744d;color:#dedbc6}.chat-row.self{background:#3c5034;border-color:#8a9a63}.chat-row.kind-system{background:#20382b;color:#c0c5ac;border-color:#7b895322}.chat-row.kind-private{background:#294039;border-color:#6b8b74}.chat-author-btn{color:#d7d2a0}.chat-time,.chat-footer-row,.chat-empty{color:#afba9c}.chat-link{color:#ddca8d}.chat-footer-row .chat-filter-tabs button{color:#bdc5aa}.chat-filter-tabs button.active{background:#465839!important;border-color:#969b65!important;color:#f0ddaa}.achievement-toast{background:#30462e;border-color:#a4a26b;color:#e7d8af}.battle-page .arena-controls,.battle-page .battle-bottom{background:#243c2e}.battle-side-actions{grid-column:1 / -1;display:grid;align-content:center;justify-items:stretch;gap:7px}.battle-skill-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.battle-page .battle-skill-btn{display:grid;gap:3px;min-width:132px;padding:8px 10px;border-color:#a68b4e;background:linear-gradient(#5b4630,#3d3023);color:#f1dcad;font-size:11px}.battle-page .battle-skill-btn small{color:#c9b98f;font-size:9px}.battle-defense-status{display:inline-flex;margin:-2px 0 6px;padding:2px 7px;border:1px solid #91cdf58c;border-radius:999px;color:#c8e9ff;background:#1c4c6994;font-size:9px;font-weight:700}.battle-defense-status.is-placeholder{visibility:hidden}.battle-page .arena-timer{color:#e1d098}.battle-page .arena-center p,.battle-page .battle-surrender-btn{color:#c4c7a8}.battle-extra,.battle-page .battle-extra{background:#183127;border-color:#68794d}.battle-page .battle-extra>summary,.battle-page .log-list{color:#c9cbae}.consumable-card,.battle-page .consumable-card{background:#2d4431;border-color:#778653}.consumable-card.selected,.battle-page .consumable-card.selected{background:#455738;border-color:#b2b37a}.consumable-icon{background:#20382a;border-color:#82905d}.reward-tile,.reward-gold,.reward-exp,.reward-levelup{background:linear-gradient(#3b4c31,#263e2b);border-color:#8e935c;color:#e7d39d}.reward-label{color:#bcc6a3}.reward-tile strong{color:#edcf83}.exp-track{background:#11291f;border-color:#6e7d50}.exp-levelup-badge{background:#54613b;color:#ffdfa2;border-color:#a7a269}.result-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin-top:20px}.result-actions>:is(button,a),.result-hero .result-actions .result-return{margin-top:0;min-height:40px;padding:9px 18px}.result-actions>button{background:#dbc18b;color:#263528}.result-actions .result-recover{border:1px solid #829061;color:#e8d8b3;text-decoration:none}.result-level-action{display:inline-block;margin-top:8px;border-color:#d4b861;background:#e2c97f;color:#24352a;font-weight:800}.level-up-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:14px;padding:20px;border:1px solid #aaa168;border-radius:8px;background:radial-gradient(circle at 8% 20%,#d3b96924,transparent 24%),linear-gradient(120deg,#364b2d,#21382a);color:#e7d9b4}.level-up-spark{font-size:44px;color:#edc66e;filter:drop-shadow(0 0 10px #d7ad4b66)}.level-up-card h2{margin:2px 0 6px;padding:0;color:#f2d993}.level-up-card p{margin:0;color:#c5cbb3}.level-up-card ul{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;padding:0;list-style:none;font-size:12px}.level-up-card .text-link-button{border:1px solid #b9a363;color:#f0dda7;text-decoration:none;padding:9px 14px;scroll-margin-top:180px}.drop-card,.drop-card.rarity-common,.drop-card.rarity-uncommon,.drop-card.rarity-rare,.drop-card.rarity-epic,.drop-card.rarity-legendary{background:#243e2d;color:#dedbc6}.drop-card{grid-template-rows:auto auto auto auto auto minmax(52px,auto) minmax(38px,auto)}.drop-comparison{display:grid;align-content:start;gap:2px;padding-top:5px;border-top:1px solid #ffffff20}.drop-comparison strong{color:#ecd38b;font-size:11px}.drop-comparison small{color:#c5ccbb}.drop-actions{display:grid;align-self:end;gap:5px}.drop-actions>button{min-height:34px}.drop-actions small{line-height:1.25}.drop-impact{color:#b9d9ab}.drop-duplicate{color:#d5c9a9}.drop-actions a{color:#9fc9ef}.drop-equipped-button:disabled{opacity:.8;color:#b9c8b3}.auth-google-row{border-color:#9e986044}.legal-card p{color:#c4cbb7}@media(max-width:700px){.leaderboard-table th:first-child,.leaderboard-table td:first-child{background:#243c2e}.level-up-card{grid-template-columns:auto minmax(0,1fr);padding:16px;gap:12px}.level-up-card .text-link-button{grid-column:1 / -1;text-align:center}}.landing-gallery{background:transparent;border-color:#667451}.location-page .encounter-portrait:not(.wolf-portrait) img[src*="/renewal/"]{transform:none;object-fit:contain;padding:3px}.achievement-icon,.achievement-toast img{object-fit:contain;background:transparent;border:0;border-radius:0;box-shadow:none}
