:root{--ink: #4a3b5c;--ink-soft: #7d6e8f;--line: #f0d9e8;--paper: #ffffff;--cream: #fff9ef;--pink: #ff8fb1;--pink-soft: #ffe1ea;--blue: #5ab8ff;--blue-soft: #dff2ff;--yellow: #ffd23f;--yellow-soft: #fff4c7;--green: #4cc38a;--green-soft: #dcf7e9;--purple: #9b6dff;--purple-soft: #efe6ff;--orange: #ff9f43;--red: #ff4d6d;--shadow: 0 4px 0 rgba(74, 59, 92, .12), 0 8px 20px rgba(74, 59, 92, .08);color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable],.selectable,.selectable *{-webkit-user-select:text;user-select:text}img,canvas,svg{-webkit-user-drag:none}body{color:var(--ink);font:15px/1.5 Nunito,Microsoft JhengHei,PingFang TC,Noto Sans TC,system-ui,sans-serif;background:radial-gradient(circle at 10% 10%,#fff 0 2px,transparent 3px) 0 0 / 40px 40px,linear-gradient(180deg,#bfe7ff,#ffe9f2 55%,#fff6dc) fixed}button{font:inherit;font-weight:800;color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:14px;padding:7px 14px;cursor:pointer;min-height:36px;box-shadow:0 3px 0 var(--line);transition:transform .08s,box-shadow .08s}button:hover:not(:disabled){transform:translateY(-1px);border-color:var(--pink);box-shadow:0 4px 0 var(--pink-soft)}button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--line)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}button.primary{background:linear-gradient(180deg,#ff9fbd,#ff6f9c);border-color:#ff5d8f;color:#fff;box-shadow:0 4px #e04677;text-shadow:0 1px 0 #d94070}button.go{background:linear-gradient(180deg,#7fd9a8,#3fbd7c);border-color:#34a96c;color:#fff;box-shadow:0 4px #2b8f5a}button.dig{background:linear-gradient(180deg,#ffc875,#ff9f43);border-color:#f08a2c;color:#fff;box-shadow:0 4px #cf7420}button.big{padding:10px 26px;font-size:17px;border-radius:18px}button.link{background:none;border:none;box-shadow:none;color:var(--purple);padding:4px 6px}button.mini{padding:3px 10px;min-height:30px;font-size:13px;border-radius:11px}input,select{font:inherit;color:var(--ink);background:var(--cream);border:2px solid var(--line);border-radius:12px;padding:7px 10px}input:focus,select:focus{outline:3px solid var(--blue-soft);border-color:var(--blue)}input[type=number]{width:64px}h1,h2,h3{margin:.1em 0 .5em;font-weight:900}h3{font-size:16px;color:var(--purple)}.muted{color:var(--ink-soft)}.fine{color:var(--ink-soft);font-size:12px}.error,.warn{color:var(--red);font-weight:700}.pad{padding:0 16px}.card{background:var(--paper);border:3px solid #fff;border-radius:22px;padding:16px;box-shadow:var(--shadow)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row.space{justify-content:space-between}.badge{font-size:11px;font-weight:900;color:#7a4b00;background:var(--yellow);padding:3px 9px;border-radius:999px}.center-screen{min-height:100vh;display:grid;place-items:center;padding:16px}.logo{font-size:30px;font-weight:900;color:#fff;text-shadow:0 3px 0 #ff6f9c,0 6px 0 rgba(74,59,92,.2);letter-spacing:.04em}.login{width:min(400px,100%);display:grid;gap:12px;text-align:center}.login label{display:grid;gap:4px;text-align:left;font-weight:800}.topbar{display:flex;gap:10px;align-items:center;padding:10px 18px;background:linear-gradient(90deg,#ff9fbd,#ffb86b 60%,#ffd23f);color:#fff;box-shadow:0 4px #4a3b5c1f}.topbar strong{font-size:18px;text-shadow:0 2px 0 rgba(0,0,0,.12)}.topbar .muted{color:#fff8;font-weight:700}.topbar button.link{color:#fff;font-size:15px}.coins{margin-left:auto;background:#fff;color:#c77700;font-weight:900;padding:4px 12px;border-radius:999px;box-shadow:0 3px #0000001a}.select-screen{max-width:980px;margin:0 auto;display:grid;gap:16px;padding-bottom:32px}.select-screen>.card{margin:0 16px}.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:10px}.type-card{display:grid;justify-items:center;gap:2px;padding:8px 6px;background:var(--cream);border-radius:18px}.type-card.on{border-color:var(--pink);background:var(--pink-soft);box-shadow:0 4px #ffb3c9}.type-card b{font-size:15px}.type-card small{color:var(--ink-soft);font-size:11px;font-weight:700}.type-detail{margin:12px 0;padding:12px;background:var(--blue-soft);border-radius:16px}.char-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.char-row{display:flex;gap:10px;align-items:center;text-align:left;background:var(--cream)}.sprite{display:block}.no-art{display:inline-grid;place-items:center;width:48px;height:48px;color:var(--ink-soft);border:2px dashed var(--line);border-radius:12px}.icon{width:32px;height:32px;image-rendering:pixelated;object-fit:contain;flex:none;background:var(--cream);border-radius:10px;padding:2px}.icon.missing{display:inline-grid;place-items:center;font-size:11px;color:var(--ink-soft);border:2px dashed var(--line)}.game{display:grid;min-height:100vh;grid-template-columns:230px minmax(0,1fr) 310px;grid-template-rows:auto 1fr;grid-template-areas:"top top top" "left main right";gap:0}.game>.topbar{grid-area:top}.col-left{grid-area:left;padding:14px;overflow:auto}.col-main{grid-area:main;padding:14px 6px;display:grid;gap:12px;align-content:start;min-width:0}.col-right{grid-area:right;padding:14px;display:flex;flex-direction:column;min-height:0}.col-right .card{display:flex;flex-direction:column;min-height:0;flex:1;padding:0;overflow:hidden}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px;background:var(--purple-soft)}.tabs button{flex:1;padding:6px 0;min-height:40px;border-radius:12px;font-size:12.5px;white-space:nowrap;box-shadow:none;border-color:transparent;background:transparent}.tabs button.on{background:#fff;border-color:#fff;color:var(--purple);box-shadow:0 3px #d8c7ff}.panel{padding:14px;overflow:auto;flex:1}.mobile-only{display:none}.stage{position:relative;display:flex;flex-direction:column}.chat-anchor{order:1;position:relative;height:0}.stage>.buff-bar{order:2}.stage>.chatbox{order:3}.battle{width:100%;height:auto;aspect-ratio:2 / 1;border-radius:22px;border:4px solid #fff;box-shadow:var(--shadow);background:#bfe8ff;display:block}.stage-hud{position:absolute;left:12px;top:10px;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}.chip{background:#ffffffe6;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800;box-shadow:0 2px #00000014}.status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.bar{background:#fff;border-radius:16px;padding:6px 10px;box-shadow:var(--shadow);font-size:12px}.bar-top{display:flex;justify-content:space-between;font-weight:900}.bar-top span:last-child{color:var(--ink-soft);font-weight:700}.bar-track{height:10px;background:#f3eef7;border-radius:999px;overflow:hidden;margin-top:3px}.bar-track>div{height:100%;border-radius:999px;transition:width .5s}.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.controls .where{flex:1;min-width:200px;font-weight:800;background:#fff;padding:9px 14px;border-radius:16px;box-shadow:var(--shadow)}.quickbar{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.qslot{aspect-ratio:1;max-height:64px;border:3px solid #fff;border-radius:16px;background:linear-gradient(180deg,#fff,var(--purple-soft));display:grid;place-items:center;position:relative;box-shadow:var(--shadow)}.qslot small{position:absolute;right:5px;bottom:2px;font-size:10px;color:var(--blue);font-weight:900}.qslot .n{position:absolute;left:6px;top:2px;font-size:10px;color:var(--ink-soft)}.qslot.cooling{filter:grayscale(.7) brightness(.95)}.stats{width:100%;border-collapse:separate;border-spacing:0 4px}.stats th{text-align:left;font-weight:800;width:70px}.stats th small{color:var(--ink-soft);font-weight:700}.stats td{padding:2px 4px;font-weight:800}.bonus{color:var(--green)}.stat-group{padding:8px 10px;border-radius:14px;margin-bottom:8px}.g-attack{background:var(--pink-soft)}.g-magic{background:var(--blue-soft)}.g-sense{background:var(--yellow-soft)}.g-charm{background:var(--green-soft)}.pill{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--purple-soft);color:var(--purple);font-weight:800;font-size:12px}.potion{display:grid;gap:8px;margin:12px 0;padding:10px;background:var(--pink-soft);border-radius:16px}.potion label{font-weight:700}.map-list,.inv,.equip,.skills,.skillbar-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.map-list li{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 12px;background:var(--cream);border-radius:16px;border:2px solid #fff}.map-list b{font-size:15px}.inv li,.equip li,.skills li,.skillbar-list li{display:flex;gap:8px;align-items:center;padding:8px 10px;background:var(--cream);border-radius:16px}.inv li.equipped{background:var(--yellow-soft)}.equip li.drill-slot{background:linear-gradient(90deg,#ffe7c2,#fff4c7);border:2px dashed var(--orange)}.e-tag{color:#fff;background:var(--orange);border-radius:6px;padding:0 5px;font-size:11px}.slot{width:44px;color:var(--ink-soft);font-weight:800}.grow{flex:1;min-width:0}.price{color:#c77700;font-weight:900;white-space:nowrap}.cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.cats button{min-height:32px;padding:3px 12px;font-size:13px;border-radius:999px}.cats button.on{background:var(--purple);color:#fff;border-color:var(--purple);box-shadow:0 3px #7a4fe0}.dur{display:inline-block;height:6px;width:60px;background:#f3e6d6;border-radius:99px;overflow:hidden;vertical-align:middle}.dur>i{display:block;height:100%;background:var(--orange)}.summary .kv{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 10px}.summary .kv li{background:var(--cream);padding:2px 10px;border-radius:999px;font-weight:700;font-size:13px}.report{border-bottom:2px dashed var(--line);padding:10px 0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#4a3b5c73;display:grid;place-items:center;padding:16px;z-index:20}.modal .card{width:min(480px,100%);max-height:90vh;overflow:auto}.modal h2{color:var(--pink)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:26px;background:#fff;color:var(--ink);font-weight:800;border:3px solid var(--pink-soft);padding:9px 16px;border-radius:999px;z-index:30;max-width:calc(100% - 32px);box-shadow:var(--shadow)}@media(max-width:1220px){.game{grid-template-columns:minmax(0,1fr) 290px;grid-template-areas:"top top" "main right"}.col-left{display:none}}@media(max-width:767px){body{font-size:15px}.game{display:block;padding-bottom:calc(70px + env(safe-area-inset-bottom))}.desktop-only{display:none!important}.mobile-only{display:flex}.col-main{padding:10px 16px 4px;gap:10px}.col-right{padding:6px 16px 16px}.col-right .card{overflow:visible}.col-right .tabs{display:none}.panel{padding:14px}.status-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.topbar{padding:8px 12px;flex-wrap:wrap;gap:6px}.topbar .muted{display:none}.bottom-nav{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:3px solid var(--pink-soft);padding:4px 4px env(safe-area-inset-bottom);z-index:10;box-shadow:0 -4px 14px #4a3b5c1a;gap:2px}.bottom-nav button{flex:1;border:none;box-shadow:none;background:none;min-height:58px;color:var(--ink-soft);font-size:12px;display:grid;place-items:center;gap:0;padding:4px 0;border-radius:14px}.bottom-nav button .ico{font-size:20px;line-height:1}.bottom-nav button.on{color:var(--pink);background:var(--pink-soft)}button.mini{min-height:40px;padding:4px 12px}.map-list li{flex-direction:column;align-items:stretch}.map-list li .row button{flex:1;min-height:46px}.controls .where{flex-basis:100%;min-width:0}.controls button{min-height:50px;flex:1}.quickbar{gap:5px}.qslot{border-radius:12px}}.modebar{background:#fff;border-radius:22px;padding:12px 14px;box-shadow:var(--shadow);display:grid;gap:10px}.mode-map{display:flex;justify-content:space-between;align-items:center;gap:10px}.mode-map b{font-size:17px}.mode-buttons{display:flex;align-items:center;justify-content:space-between;gap:10px}.mode-buttons .mode-now{font-weight:700;line-height:1.3}.mode-buttons .mode-now small{font-weight:400}.mode-buttons>button{min-height:44px;flex:0 0 auto}.mode-notes p{margin:2px 0;font-size:13px}.map-list li.here{background:var(--yellow-soft);border-color:var(--yellow)}.skills li.skill{display:block;padding:8px 10px}.skill-head{display:flex;gap:8px;align-items:center}.skill-name{flex:1;min-width:0;text-align:left;background:none;border:none;box-shadow:none;padding:2px 4px;font-weight:400;min-height:0}.skill-name:hover:not(:disabled){transform:none;box-shadow:none;background:#fff6}.tag{display:inline-block;font-size:11px;font-weight:900;border-radius:6px;padding:0 6px}.tag.ok{background:var(--green-soft);color:#1f8a55}.tag.todo{background:#ffe3cc;color:#b85c00}.skill-detail{margin-top:8px;padding:10px;background:#fff;border-radius:12px;font-size:13px}.skill-detail .kv{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:4px 10px}.ok-text{color:#1f8a55;font-weight:700}.lv-table{width:100%;border-collapse:collapse;font-size:12px}.lv-table th,.lv-table td{padding:2px 4px;text-align:center;border-bottom:1px solid var(--line)}.lv-table tr.cur{background:var(--yellow-soft);font-weight:800}.sell-list{max-height:40vh;overflow:auto;padding-left:18px;columns:2;font-size:13px}@media(max-width:767px){.sell-list{columns:1}}.login-screen{min-height:100vh;display:grid;align-content:center;justify-items:center;gap:18px;padding:24px 16px;background:linear-gradient(180deg,#8fd6ff,#c9efff 42%,#fff1c4 72%,#ffd98a)}.login-hero{text-align:center;color:#3f5f7a;font-weight:800;max-width:100%}.login-hero p{margin:6px 0 0}.login-logo{font-size:clamp(38px,9vw,60px)}.parade{display:flex;justify-content:center;flex-wrap:wrap;margin-top:8px}.parade .sprite{margin:0 -6px}.select-screen h2{margin:14px 0 8px;font-size:18px}.select-screen h2:first-child{margin-top:0}.swatches{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-width:200px}.swatch{width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line)}.swatch.on{box-shadow:0 0 0 3px var(--ink)}.color-row{align-items:center;flex-wrap:wrap}.color-edit{margin:12px 0;padding:10px;background:var(--cream);border-radius:14px}.drill-rule{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;font-weight:800;margin-top:8px}.rule-edit{display:inline-flex;align-items:center;gap:4px;font-size:12px;margin-top:2px;flex-wrap:wrap}.rule-edit select{font-size:12px;padding:2px 4px}.rule-edit input{width:52px;font-size:12px;padding:2px 4px}.login-tabs{justify-content:center}.login-tabs button{flex:1}.login label.login-show,.modal label.login-show{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:13px;font-weight:400}.login label.login-show input,.modal label.login-show input{width:auto;min-height:0;margin:0}.modal label.login-show{color:var(--ink)}.login-bonus label.login-show{margin-top:8px}.skill-why{margin:6px 0 2px;font-size:12px;color:#9a6a2f}.skill-guide{margin-top:8px;padding:8px 10px;border-radius:12px;background:#fff;border:2px dashed #ffd8a8;font-size:13px;display:grid;gap:6px;justify-items:start}.skill-guide ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;width:100%}.skill-guide p{margin:0;font-size:12px}ul.skills .skill-guide li{display:block;padding:0;margin:0;background:none;border-radius:0;box-shadow:none}.tag.site{background:#fff3bf;color:#8a5a00;margin-left:4px}.site-note{margin:4px 0 0;font-size:13px;font-weight:700;color:#8a5a00}.gap{display:inline-block;font-weight:700;color:#2b8a3e}.gap.low{color:#c92a2a}.stat-row th{cursor:help}.stat-tip{position:fixed;transform:translateY(-100%);width:240px;z-index:60;padding:8px 10px;border-radius:12px;background:#4a3b5c;color:#fff;font-size:13px;font-weight:600;line-height:1.4;box-shadow:var(--shadow);pointer-events:none}.stat-tip.below{transform:none}.skill-effect{display:block;margin-top:3px;color:var(--ink);font-weight:600;line-height:1.35;white-space:normal}.lv-effect{text-align:left;font-size:12px;line-height:1.3}.skill-scale{display:block;margin-top:2px;color:#7b2cbf;font-weight:700;line-height:1.3;white-space:normal}.services{display:inline-flex;flex-wrap:wrap;gap:3px;margin-top:3px}.npc-list{margin:4px 0 0;font-size:12px;color:var(--ink);line-height:1.4}.devlog{color:var(--ink);font-weight:400;max-width:560px;max-height:80vh;overflow-y:auto;text-align:left}.devlog{overflow-wrap:anywhere}.devlog h3{margin:12px 0 4px}.devlog ul{margin:0;padding-left:18px;line-height:1.5}.npc-name{margin-left:6px;padding:0;color:#7b2cbf;font-weight:800;text-decoration:underline;background:none}.npc-dialog{max-width:460px;max-height:80vh;overflow-y:auto;text-align:left;display:grid;gap:8px}.npc-line{margin:0;padding:10px 12px;border-radius:12px;background:var(--purple-soft);font-weight:700}.npc-quest{padding:8px 10px;border-radius:12px;background:#fff9ef}.battle{cursor:pointer;-webkit-tap-highlight-color:transparent}.chatbox{position:relative;margin-top:8px;border-radius:12px;background:#4a3b5c;color:#fff;font-size:13px}.chat-tabs{display:flex;flex-wrap:wrap;gap:3px;padding:5px 24px 0 6px}.chat-tabs button{padding:1px 8px;border:0;border-radius:999px;background:#ffffff1f;color:#fff;font-size:12px;font-weight:700;cursor:pointer}.chat-tabs button.on{background:#fff;color:#4a3b5c}.chat-lines{height:84px;overflow-y:auto;padding:4px 8px;line-height:1.4;word-break:break-word}.chat-lines b,.chat-name{color:#ffe066;font-weight:700}.chat-name{min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:inherit;line-height:inherit;cursor:pointer;text-decoration:underline}.chat-name:hover,.chat-tabs button:hover{transform:none}.chat-tabs button,.chat-guild button,.chat-close{box-shadow:none;min-height:0}.chat-tag{opacity:.8;font-size:11px}.chat-lines .ch-say{color:#fff}.chat-lines .ch-area{color:#a5e8ff}.chat-lines .ch-guild{color:#a8f0b4}.chat-lines .ch-party{color:#9fd8ff}.settings-panel{display:flex;flex-direction:column;gap:8px}.settings-panel h3{margin:10px 0 0}.setting-slider{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:12px;background:var(--cream)}.setting-slider input[type=range]{flex:1;max-width:60%}.player-card{max-width:440px;width:100%}.party-frame{position:absolute;right:10px;top:10px;z-index:2;display:flex;flex-direction:column;gap:4px;width:148px}.party-frame~.stage-hud{right:164px}.party-frame-row{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-height:0;padding:4px 8px;border:0;border-radius:10px;background:#ffffffe6;box-shadow:0 2px #00000014;text-align:left}.party-frame-row{position:relative;overflow:hidden;width:100%}.party-frame-item{position:relative}.party-bubble{position:absolute;right:calc(100% + 8px);top:2px;width:max-content;max-width:160px;padding:3px 8px;border:1.5px solid #e8590c;border-radius:9px;background:#fffffff5;color:#4a3b5c;font-size:12px;font-weight:700;line-height:1.3;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;pointer-events:none}.party-frame-bar{position:absolute;left:0;bottom:0;height:3px;background:linear-gradient(90deg,#ff6b8b,#ffb703);transition:width .4s}.party-frame-row:disabled{opacity:1;cursor:default}.party-frame-row.away{opacity:.6}.party-frame-row b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.party-frame-row small{color:var(--ink-soft);font-size:11px;font-weight:800;white-space:nowrap}@media(max-width:767px){.party-frame{right:6px;top:6px;gap:2px;width:118px}.party-frame~.stage-hud{right:130px}.party-frame-row{padding:0 6px;border-radius:8px;line-height:1.1}.party-frame-row b{font-size:11px}.party-frame-row small{font-size:10px}}.tab-badge{position:absolute;top:1px;right:3px;min-width:16px;padding:0 4px;box-sizing:border-box;border-radius:999px;background:#ff4d6d;color:#fff;font-size:11px;font-weight:800;line-height:16px;text-align:center}.rail button,.win-tabs button,.more-sheet button,.bottom-nav button{position:relative}.win-tabs .tab-badge{position:static;display:inline-block;margin-left:4px}.mail-panel{display:flex;flex-direction:column;gap:8px}.mail-item{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:6px;background:var(--cream)}.mail-item.done{opacity:.7}.mail-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.mail-gift{list-style:none;margin:0;padding:0;font-weight:700}.friend-add input{flex:1;min-width:0}.party-member.away{opacity:.65}.region-frame h3{margin-bottom:6px;font-size:14px}.region-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:8px;text-align:center}.region-counts span{display:grid;padding:4px 0;border-radius:6px;background:var(--cream)}.region-counts b{font-size:18px;line-height:1.1}.region-counts small{color:var(--ink-soft);font-size:11px}.region-frame .mini{width:100%}.region-panel h3{margin:0}.region-maps{display:flex;flex-wrap:wrap;gap:4px}.region-maps span{padding:2px 8px;border-radius:6px;background:var(--cream);font-size:12px}.region-maps span.here{outline:2px solid var(--pink)}.region-only{display:inline-flex;align-items:center;gap:4px;font-size:13px}.party-member small{flex:1 1 140px;min-width:0}.rank-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:4px 0}.rank-list li{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:center;column-gap:8px;padding:6px 10px;border-radius:6px;background:var(--cream)}.rank-list li.mine{outline:2px solid #ec5a9b}.rank-list .link{justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-no{text-align:center}.rank-level{white-space:nowrap;font-weight:700}.party-panel{display:flex;flex-direction:column;gap:8px}.party-member{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:var(--cream)}.party-frame-bonus{display:block;padding:2px 6px;color:#fff;text-shadow:0 1px 2px #000}.friend-pop{position:fixed;z-index:50;padding:4px 10px;border-radius:8px;background:#2b8a3e;color:#fff;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 2px 8px #0006;pointer-events:none}.friend-pop.up-from{position:absolute;right:4px;bottom:calc(100% + 6px)}.party-invites{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.chat-lines .ch-whisper{color:#ffc2e2}.chat-lines .ch-world{color:#ffd8a8}.chat-guild{padding:0 8px 3px;font-size:12px}.chat-guild button{margin-left:4px;padding:0 6px;border:0;border-radius:6px;background:#ffffff2e;color:#fff;font-size:11px;cursor:pointer}.chatbox small{display:block;padding:0 8px 3px;color:#fff;opacity:.7}.chat-empty{opacity:.7}.chat-err{padding:0 8px 3px;color:#ffa8a8}.chatbox form{display:flex;gap:4px;padding:0 6px 6px}.chatbox select{flex:none;padding:4px;border:0;border-radius:8px;font-size:12px;background:#ffffffeb;color:var(--ink)}.chatbox input{flex:1;min-width:0;box-sizing:border-box;padding:4px 8px;border:0;border-radius:8px;font-size:12px;background:#ffffffeb;color:var(--ink)}.chatbox input.chat-to{flex:0 1 96px}.chat-close{position:absolute;right:4px;top:3px;padding:0 6px;border:0;background:none;color:#fff;cursor:pointer;font-weight:900}.chat-toggle{position:absolute;left:10px;bottom:10px;padding:4px 10px;border:0;border-radius:999px;background:#281e37b3;color:#fff;font-size:12px;font-weight:800;cursor:pointer}.main-stat{margin:4px 0 8px;padding:6px 8px;border-radius:10px;background:var(--purple-soft);font-size:13px;font-weight:700;line-height:1.4}.chat-unread{margin-left:5px;padding:0 5px;border-radius:999px;background:#ff4d6d}.modal .card.bag-window{width:min(920px,100%);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.bag-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;min-height:0;overflow:hidden}.bag-left,.bag-right{min-height:0;overflow-y:auto}.doll-stage{display:grid;justify-items:center;padding:8px;border-radius:16px;background:var(--purple-soft)}.doll{width:280px;height:230px;max-width:100%;object-fit:contain}@media(max-width:767px){.modal .card.bag-window{overflow-y:auto;display:block}.bag-grid{grid-template-columns:minmax(0,1fr);overflow:visible}.bag-left,.bag-right{overflow:visible}}.diff{display:inline-flex;flex-wrap:wrap;gap:4px;font-size:12px;font-weight:800}.diff .up{color:#2b8a3e}.diff .down{color:#c92a2a}.best-list{list-style:none;margin:8px 0;padding:0;display:grid;gap:8px}.best-list li{padding:8px 10px;border-radius:12px;background:#fff9ef}.cur-ico{vertical-align:-3px}.wallet{display:inline-flex;gap:12px;margin-left:auto;padding:4px 12px;border-radius:999px;background:#fff8e6;color:#8a5a00;font-weight:900}.level-bar{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 6px}.level-badge{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:3px solid;background:#fff;font-weight:900;font-size:15px;line-height:1;box-shadow:inset 0 -3px #4a3b5c1a}.level-badge small{font-size:9px;color:var(--ink-soft)}.level-body{flex:1;min-width:0;display:grid;gap:2px}.level-pct{text-align:right;font-weight:800;color:var(--ink-soft)}.level-body .bar-track{display:block;height:12px;margin:0;box-shadow:inset 0 1px 2px #4a3b5c33}.chip.alert{background:#ffe3e3;color:#c92a2a;font-weight:900}.potion-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pot{padding:2px 10px;border-radius:999px;font-weight:900;font-size:13px}.pot.red{background:#ffe3e3;color:#c92a2a}.pot.blue{background:#dbeeff;color:#1864ab}.fold{margin-top:6px}.fold-head{width:100%;text-align:left;padding:7px 10px;border:0;border-radius:12px;background:var(--purple-soft);color:var(--ink);font-weight:900;cursor:pointer}.fold.depth-1 .fold-head{background:#fff4e0;font-weight:800;padding:5px 10px;font-size:13px}.fold-body{padding:6px 0 2px 6px}.map-line{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0}.map-list li{padding:7px 10px}.map-list .mini{flex:none}.gap{font-size:11px}.mini-stats{width:100%;margin-top:8px;border-collapse:collapse;font-size:13px}.mini-stats th{text-align:left;font-weight:700;color:var(--ink-soft);padding:2px 0}.mini-stats td{text-align:right;font-weight:800}.modal .card.char-detail{width:min(620px,100%)}.detail-stats{width:100%;border-collapse:collapse;font-size:13px}.detail-stats th,.detail-stats td{padding:4px 6px;text-align:right;border-bottom:1px solid #f3eef7}.detail-stats th:first-child{text-align:left}.detail-stats tr.is-main{background:#fff8e6}.detail-stats tr.is-sub{background:#fdf6ff}.curves{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:10px 0}.curve{margin:0;font-size:12px;font-weight:700}.scripts{display:grid;gap:8px;margin-top:12px}.script-row{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:12px;background:var(--cream)}.script-num input{width:56px}.job-guide{padding:8px 10px;margin-bottom:10px;border-radius:12px;background:var(--purple-soft);font-size:13px}.job-guide p{margin:4px 0 0}.fold-mini{flex:none;width:22px;height:22px;padding:0;border:0;border-radius:6px;background:var(--purple-soft);cursor:pointer}.quest-mark{margin-right:4px}.modal .card.shop-window{width:min(720px,100%)}.lamp{display:inline-block;width:10px;height:10px;border-radius:50%;background:#adb5bd;box-shadow:0 0 0 2px #fff}.lamp.combat{background:#40c057;box-shadow:0 0 6px #40c057}.lamp.drill{background:#ff922b;box-shadow:0 0 6px #ff922b}.report-loot,.report-notes{margin:4px 0;padding-left:18px;font-size:13px;line-height:1.5}.report-notes{color:#b85c00;font-weight:700}.feedback-shot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.feedback-shot img{max-width:120px;max-height:80px;border-radius:6px}.mail-shot{display:block;max-width:100%;max-height:360px;border-radius:6px}.feedback-text{width:100%;box-sizing:border-box;margin:8px 0;padding:8px;border-radius:10px;border:2px solid var(--pink-soft);font:inherit}.sand-progress{display:grid;gap:3px;margin:6px 0 10px;font-size:12px;font-weight:700}.sand-progress .bar-track{display:block;margin:0}.up{color:#2b8a3e}.down{color:#c92a2a}.rare.r0{color:var(--ink)}.rare.r1{color:#2b8a3e;font-weight:700}.rare.r2{color:#1971c2;font-weight:700}.rare.r3{color:#9c36b5;font-weight:800}.rare.r4{color:#e8590c;font-weight:900}.goal-hint{margin:6px 0;padding:6px 12px;border-radius:12px;background:var(--yellow-soft);color:var(--ink);font-size:13px}.has-news{position:relative}.has-news:after{content:"";position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:50%;background:#ff4d6d}.gear-stats{color:#2b8a3e;font-weight:800}.group-title{margin:0 0 4px;font-size:13px;font-weight:900;letter-spacing:2px;opacity:.75}.walk-btn{pointer-events:auto;cursor:pointer;border:0;font:inherit}.vital-warn{margin:6px 0;padding:6px 12px;border-radius:12px;background:#ffe3e3;color:#a61e4d;font-size:13px;font-weight:700}.new-build{width:100%;margin-bottom:8px;padding:8px 12px;border:0;border-radius:12px;background:#d3f9d8;color:#2b8a3e;font-weight:800;cursor:pointer}.shop-tabs button{flex:1;font-weight:800}.chapter-goal{margin:8px 0;padding:8px 10px;border-radius:12px;background:var(--yellow-soft);font-size:13px}.chapter-goal ul{margin:4px 0 0;padding-left:18px}.chapter-goal li.met{color:#2b8a3e;text-decoration:line-through}.gm-panel .gm-row{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.gm-panel .gm-row label{display:flex;align-items:center;gap:8px;flex:1;min-width:200px;white-space:nowrap}.gm-panel .gm-row input{flex:1;min-width:110px}.gm-panel .gm-row select{flex:1;min-width:160px}.chapter-quests{margin-top:6px}.chapter-quests summary{cursor:pointer;font-weight:800}.chapter-quests ul{list-style:none;padding:0}.chapter-quests li{padding:5px 0;border-top:1px dashed #e8d9a8}.quest-how{margin-top:4px;font-size:13px}.quest-how summary{cursor:pointer;font-weight:800;color:#7b2cbf}.sell-rules{margin:8px 0;padding:10px 12px;border-radius:14px;background:#fff9ef;display:grid;gap:6px;font-size:14px}.sell-gear{display:grid;gap:6px;padding-left:18px}.sell-rules .sell-list{max-height:160px;overflow:auto;margin:0;padding-left:18px}.login-bonus{width:min(560px,100%)}.bonus-days{list-style:none;padding:0;margin:10px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.bonus-days li{display:grid;gap:2px;align-content:start;padding:10px;border-radius:14px;background:#fff9ef;border:2px solid #f0d9e8}.bonus-days li small{font-size:12px}.bonus-days li.now{border-color:#9b6dff;background:#f3ecff}.bonus-days li.big{grid-column:1 / -1;background:var(--yellow-soft)}.login-bonus .primary{width:100%}.sell-rules .sell-list{display:block;columns:auto;overflow-x:hidden}.sell-rules .sell-list li{display:list-item}.bonus-days li{color:var(--ink);opacity:1}.bonus-days li.done{opacity:.55}.modal.sell-modal{z-index:30}.modal .card.sell-window{width:min(620px,100%);display:flex;flex-direction:column;gap:8px;overflow:hidden}.sell-window .sell-rules{margin:0}.sell-rows{flex:1;min-height:120px;overflow:auto;padding:4px 2px}.sell-rows h4{margin:6px 0 2px}.sell-rows ul{list-style:none;margin:0;padding:0}.sell-rows li label{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:10px;font-size:14px;cursor:pointer}.sell-rows li label:hover{background:#fff9ef}.sell-rows input{width:auto;min-height:0;margin:0;flex:none}.game{grid-template-columns:74px 250px minmax(0,1fr) 280px;grid-template-areas:"top top top top" "rail left main right"}.rail{grid-area:rail;display:flex;flex-direction:column;gap:6px;padding:14px 6px;background:var(--purple-soft)}.rail button{display:grid;justify-items:center;gap:2px;padding:8px 0;min-height:0;border-radius:14px;font-size:12px;background:transparent;border-color:transparent;box-shadow:none}.rail button .ico{font-size:20px}.rail button.on{background:#fff;color:var(--purple);box-shadow:0 3px #d8c7ff}.col-right{gap:10px;overflow:auto}.col-right .card.side-card{flex:none;padding:12px;overflow:visible;display:block}.side-card h3{margin:0}.modal .card.side-window{width:min(760px,100%);display:flex;flex-direction:column}.side-window .panel{overflow:auto}.track,.loot{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.track li{display:grid;gap:3px;justify-items:start;padding-top:8px;border-top:1px dashed #f0d9e8;font-size:13.5px}.track li:first-child{border-top:0;padding-top:0}.track small{line-height:1.35}.loot li{display:flex;align-items:center;gap:6px;font-size:13px}.loot .icon{width:24px;height:24px}.map-card{display:grid;gap:8px;padding:8px 10px}.map-strip{display:grid;gap:8px}.row.wrap{flex-wrap:wrap}.mon-chips{align-items:center;gap:5px}.idle-sum summary{cursor:pointer;font-weight:800;font-size:14px}.idle-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;font-size:13px}.idle-cols ol{margin:4px 0 0;padding-left:20px}.idle-cols p{margin:4px 0 0}.quickbar{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.qslot{display:grid;justify-items:center;align-content:start;gap:2px;padding:6px 4px;aspect-ratio:auto;min-height:62px}.qslot .qname{font-size:11.5px;font-weight:800;line-height:1.2;text-align:center}.qslot .rule-edit{display:grid;gap:2px;width:100%;justify-items:center;font-size:11px}.qslot .rule-edit select{width:100%;font-size:11px;padding:1px;min-height:24px}.qslot .rule-edit input{width:44px;font-size:11px;padding:1px;min-height:22px}.qmove{display:flex;gap:3px}.qmove .mini{padding:0 6px;min-height:22px;font-size:10px}@media(max-width:1320px){.game{grid-template-columns:74px minmax(0,1fr) 270px;grid-template-areas:"top top top" "rail main right"}.col-left{display:none}}@media(max-width:767px){.game{display:block}.rail{display:none}.idle-cols{grid-template-columns:1fr}}.qslot{position:relative;height:auto;overflow:visible}.qslot>small,.qslot .qname{position:static;display:block;background:none;color:inherit}.qslot .n{position:absolute;left:4px;top:2px}.qslot .rule-edit{position:static}.track{max-height:46vh;overflow:auto}.qslot{max-height:none}.quickbar{align-items:start}.modal .card.side-window{width:min(960px,100%);height:88vh;max-height:88vh;padding:12px;overflow:hidden}.side-window>.panel{flex:1;min-height:0;overflow:auto;padding:10px 2px 0}.win-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.win-tabs{display:flex;flex-wrap:wrap;gap:4px;flex:1}.win-tabs button{padding:6px 10px;min-height:0;border-radius:12px;font-size:13px;box-shadow:none;background:transparent;border-color:transparent}.win-tabs button.on{background:var(--purple-soft);color:var(--purple)}.bag-body{height:100%;min-height:0}.bag-body .bag-grid{height:100%}.view-toggle{margin:6px 0}.inv.peek{position:sticky;top:0;z-index:2;margin-bottom:8px}.inv.peek li{background:#fff;border:2px solid var(--purple-soft);min-height:130px}.inv-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:5px}.inv-grid .cell{position:relative;width:100%;aspect-ratio:1;padding:2px;min-height:0;border-radius:12px;border:2px solid #f0d9e8;background:var(--cream);box-shadow:none;display:grid;place-items:center}.inv-grid .cell.on{outline:3px solid var(--purple)}.inv-grid .cell.pinned{outline-style:double;outline-width:4px}.inv-grid .cell.worn{background:var(--yellow-soft)}.inv-grid .cell.locked .icon{opacity:.45}.inv-grid .cell.rb1{border-color:#51cf66}.inv-grid .cell.rb2{border-color:#4dabf7}.inv-grid .cell.rb3{border-color:#c77dff}.inv-grid .cell.rb4{border-color:#ff922b}.inv-grid .icon{background:none;padding:0}.inv-grid .qty{position:absolute;right:3px;bottom:0;font-size:10px;font-weight:900}.inv-grid .ref{position:absolute;right:3px;top:0;font-size:10px;font-weight:900;color:var(--purple)}.inv-grid .e-tag{position:absolute;left:2px;top:1px;transform:scale(.75)}.mon-rule{cursor:pointer;font:inherit;font-size:12px;min-height:0;padding:2px 8px;box-shadow:none}.mon-rule.prefer{outline:2px solid #ffb703}.mon-rule.skip{opacity:.55;text-decoration:line-through}@media(max-width:767px){.modal .card.side-window{height:92vh;max-height:92vh}.side-window .bag-grid,.bag-body{height:auto}}.storage{display:grid;gap:8px}.storage-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.store-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px;font-size:13.5px}.store-list li{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--cream);border-radius:10px}@media(max-width:767px){.storage-cols{grid-template-columns:1fr}}.tag-broken{color:#fff;background:var(--red, #c0392b);border-radius:6px;padding:0 5px;font-size:11px;margin-left:4px}.tag-q{color:var(--muted, #888);margin-left:4px}.tag-q.top{color:var(--purple);font-weight:800}.mix-panel{margin-top:10px;padding:10px;border:1px solid var(--line, #ddd);border-radius:10px}.mix-slots{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.mix-slot{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px dashed var(--line, #ddd);border-radius:8px}.mix-slot.full{border-style:solid}.use-text{color:var(--purple);font-weight:700}.item-buffs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;font-size:12px}.item-buffs span{background:var(--card, #fff6e8);border-radius:8px;padding:2px 8px}.buff-bar{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.buff-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px 2px 2px;border-radius:8px;background:#281c38c7;color:#fff;font-size:11px;line-height:1}.buff-chip .icon{width:20px;height:20px}.buff-chip b{color:#ffe066;font-variant-numeric:tabular-nums}.buff-chip.ending b{color:#ff8fa3}@media(max-width:640px){.buff-name{display:none}}.skill.dim{opacity:.62}.points-hint{gap:6px;margin:4px 0}.drag-handle{display:grid;justify-items:center;gap:2px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.skillbar-list{grid-template-columns:minmax(0,1fr)}.skillbar-list li{flex-wrap:wrap}.skillbar-list .grow{flex:1 1 190px}.skillbar-list .grow select{max-width:100%}.skillbar-list .drag-handle{display:flex;align-items:center;gap:4px}.grip{color:var(--ink-soft);font-size:16px}.dragging{opacity:.45}.drag-over{outline:3px dashed var(--purple, #9b6dff);outline-offset:1px}.bag-left.drag-over{outline-offset:-3px;border-radius:16px}.equip li.drag-over{outline-offset:-3px}.drag-ghost{position:fixed;z-index:1000;pointer-events:none;transform:translate(-50%,-50%);opacity:.9}.track-head{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%}.mini.pin{padding:0 5px;min-height:22px;filter:grayscale(1);opacity:.55}.mini.pin.on{filter:none;opacity:1}.track li.pinned{background:var(--cream);border-radius:10px;padding:6px 8px}.tower-arena{position:relative}.tower-hud{position:absolute;top:8px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;pointer-events:none}.tower-hud button{pointer-events:auto;flex:none}.tower-hud strong{font-size:28px;font-weight:900;color:#fff;text-shadow:0 2px 3px #2b2140}.tower-hud small{color:#fff;font-weight:700;text-shadow:0 1px 2px #2b2140;white-space:nowrap}.tower-place{position:absolute;left:12px;top:10px}.tower-banner{position:absolute;left:0;right:0;top:34%;text-align:center;font-size:26px;font-weight:900;color:#ffd43b;text-shadow:0 2px 4px #2b2140,0 0 8px #2b2140;pointer-events:none}.tower-banner small{font-size:16px;color:#fff}.tower-arena-bar{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:flex;gap:6px;align-items:center}.tower-rest{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92%,560px);display:flex;flex-direction:column;gap:6px;padding:14px}.tower-boss{display:none}.modal .card.admin-window{width:min(1040px,100%);color:var(--ink);font-weight:400;text-align:left}.admin-window h3{margin:16px 0 6px}.admin-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.admin-tile{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:10px}.admin-tile b{font-size:20px}.admin-trends{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.admin-trend{padding:8px 10px;border:1px solid var(--line);border-radius:10px}.admin-plot{height:64px;margin:4px 0;touch-action:none}.admin-plot svg{display:block;width:100%;height:100%}.admin-line{fill:none;stroke:var(--blue);stroke-width:2}.admin-axis{stroke:var(--line);stroke-width:1}.admin-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 16px}.admin-list{margin:0;padding-left:18px;line-height:1.5;overflow-wrap:anywhere}.admin-scroll{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{padding:4px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.admin-table th{color:var(--ink-soft);font-weight:700}:focus-visible{outline:3px solid var(--purple);outline-offset:2px}.bar-top,.wallet,.level-pct,.stats td{font-variant-numeric:tabular-nums}.col-left .card{padding:12px}.stats th,.stats td{white-space:nowrap}.stats th{width:auto}.stats td small{font-size:11px}@media(min-width:768px){.rail,.col-left{position:sticky;top:0;height:100vh;align-self:start;overflow-y:auto;scrollbar-width:thin}}@media(min-width:961px){.col-right{position:sticky;top:0;max-height:100vh;align-self:start;scrollbar-width:thin}}@media(max-width:767px){.topbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.topbar>*{flex:none;white-space:nowrap}.topbar .modal{white-space:normal}.level-badge{width:34px;height:34px;font-size:13px}.win-head .win-tabs{order:3;flex:0 0 100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.win-tabs button{flex:none;white-space:nowrap;min-height:40px}.win-head .wallet{margin-left:0}.win-head>.mini{margin-left:auto}.more-sheet{position:fixed;left:8px;right:8px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:11;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;background:#fff;border-radius:18px;box-shadow:var(--shadow)}.more-sheet button{display:grid;justify-items:center;min-height:58px;padding:4px 0;font-size:13px;box-shadow:none}.more-sheet .ico{font-size:20px;line-height:1.2}}@media(prefers-reduced-motion:reduce){button,.bar-track>div,.party-frame-bar{transition:none}}:root{--ink: #2b2f5e;--ink-soft: #5a5f8f;--line: #aab0dc;--paper: #fdf8e8;--cream: #fff9e6;--pink: #ee5f9c;--pink-soft: #ffdcea;--purple: #3f49a8;--purple-soft: #dfe2f7;--blue-soft: #dbe6fb;--frame: #6f79c9;--frame-dark: #2f3a94;--shadow: 0 2px 6px rgba(10, 12, 50, .45)}body{font-size:14px;background:linear-gradient(180deg,#3a4296,#232860) fixed}button{font-weight:700;color:#4a3a14;background:linear-gradient(180deg,#fffdf2,#efe3c0);border:1px solid #b9a774;border-radius:6px;box-shadow:none}button:hover:not(:disabled){transform:none;border-color:var(--pink);box-shadow:none}button:active:not(:disabled){transform:translateY(1px);box-shadow:none}button.primary{background:linear-gradient(180deg,#f783b4,#e04a8c);border-color:#b92f6c;box-shadow:none;text-shadow:none}button.go{background:linear-gradient(180deg,#62c98e,#2f9e63);border-color:#24804e;box-shadow:none}button.dig{background:linear-gradient(180deg,#f9b45c,#e58a26);border-color:#bd6c14;box-shadow:none}button.big,button.mini{border-radius:6px}button.link{background:none;border:none;color:var(--purple)}input,select{background:#fff;border:1px solid var(--line);border-radius:4px}.card,.modebar{background:var(--paper);border:2px solid var(--frame);border-radius:8px;box-shadow:var(--shadow),inset 0 0 0 1px #fff}.topbar{padding:4px 12px;background:linear-gradient(180deg,#f4f5fb,#cfd3ea);color:var(--ink);box-shadow:0 1px 3px #0a0c3280}.topbar strong{font-size:15px;text-shadow:none}.topbar .muted{color:var(--ink-soft)}.topbar button.link,.topbar a.link{color:var(--ink);font-size:13px}a.discord-link{display:inline-flex;align-items:center;gap:4px;color:var(--purple);font-weight:700;padding:4px 6px;text-decoration:none;white-space:nowrap}.discord-icon{width:16px;height:16px;flex:none;fill:#5865f2}a.discord-link:hover{text-decoration:underline}.badge{border-radius:4px}.logo{text-shadow:0 2px 0 var(--frame-dark),0 4px 6px rgba(10,12,50,.6)}.login-screen{background:linear-gradient(180deg,#5a64bd,#2f3a94)}.login-hero{color:#fff}.select-tabs button{border-radius:6px}.select-tabs button.on,.cats button.on{background:var(--pink);border-color:#b92f6c;color:#fff;box-shadow:none}.cats button,.type-card,.type-detail,.map-list li,.inv li,.equip li,.skills li,.skillbar-list li,.script-row,.party-member,.setting-slider,.store-list li,.npc-quest,.npc-line,.stat-group,.doll-stage,.goal-hint,.vital-warn,.main-stat,.job-guide,.fold-head,.chapter-goal,.best-list li,.bonus-days li,.sell-rules{border-radius:6px}.game{grid-template-columns:74px minmax(0,1fr) 270px;grid-template-areas:"top top top" "rail main right"}.col-left{display:none}.col-main{padding:8px 4px 8px 8px;gap:8px}.col-right{padding:8px 8px 8px 4px}@media(min-width:768px){.col-main{width:100%;max-width:112vh;margin:0 auto}}.battle{border-radius:0;border:2px solid var(--frame)}.stage-wrap{position:relative;min-width:0}.status-strip{position:absolute;left:8px;top:8px;z-index:2;width:min(300px,46%);display:grid;grid-template-columns:1fr;gap:1px;pointer-events:none}.status-strip .bar{padding:0;background:none;box-shadow:none;border-radius:0;color:#fff;font-size:11px;text-shadow:0 1px 1px #000,0 0 2px #000;position:relative}.status-strip .bar-top{position:absolute;left:4px;right:4px;top:-1px;z-index:1}.status-strip .bar-top span:last-child{color:#fff}.status-strip .bar-track{height:15px;margin:0;border:1px solid #14163c;border-radius:2px;background:#14163cbf}.status-strip .bar-track>div{border-radius:0}.status-strip .level-bar{display:flex;gap:4px;align-items:center}.status-strip .level-badge{width:62px;height:auto;display:block;border:0;border-radius:0;background:none;box-shadow:none;color:#ffe066;font-size:12px;text-align:left}.status-strip .level-badge small{color:#ffe066;font-size:11px;margin-right:3px}.status-strip .level-body{position:relative}.status-strip .level-pct{position:absolute;right:3px;top:-3px;z-index:1;color:#fff;font-size:10px}.status-strip .level-body .bar-track{height:9px}.stage-hud{left:8px;top:92px;gap:3px;flex-direction:column;align-items:flex-start}.party-frame{left:8px;right:auto;top:92px}.party-frame~.stage-hud{left:164px;right:auto}.party-frame-row,.chip{background:#1e2364cc;color:#fff;border-radius:4px;box-shadow:none}.party-frame-row small{color:#d6daf5}.chip.alert{background:#aa1e32e0;color:#fff}.tower-place{top:92px;left:8px}.chat-toggle{border-radius:4px;background:#1e2364d9}.chatbox{border-radius:0 0 6px 6px;margin-top:0;background:#262c78f2;border:1px solid var(--frame)}.chat-tabs button{border-radius:4px 4px 0 0}.chat-tabs button.on{background:var(--paper);color:var(--ink)}.buff-chip{border-radius:4px;background:#1e2364d9}.modebar{padding:8px 10px;gap:6px}.mode-buttons .mode.active{outline:2px solid #ffe066}.pot{border-radius:4px}.quickbar{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:4px}.qslot{border:1px solid #aab0dc;border-radius:4px;background:#262c78eb;color:#fff;box-shadow:var(--shadow)}.qslot .n,.qslot>small{color:#ffe066}.qslot .icon{background:none}.hand-bar{position:absolute;right:8px;bottom:8px;z-index:2;max-width:calc(100% - 90px);display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:3px;padding:3px;background:#1e2364e0;border:1px solid var(--frame);border-radius:4px}@media(max-width:767px){.hand-bar{position:static;order:1;max-width:none;justify-content:flex-start;margin-top:4px}}.hand-bar .hand-switch{display:inline-flex;flex:0 0 auto;border:1px solid #aab0dc;border-radius:4px;overflow:hidden}.hand-bar .hand-seg{min-height:0;height:34px;padding:0 7px;font-size:12px;white-space:nowrap;color:#fff;background:#3c46a0e6;border:0;border-radius:0;border-right:1px solid #aab0dc}.hand-bar .hand-seg:last-child{border-right:0}.hand-bar .hand-seg.on{background:var(--pink);color:#fff}.hand-bar .hand-seg:disabled{opacity:.45}.hand-bar .hand-slot{position:relative;width:36px;height:36px;min-height:0;padding:0;display:grid;place-items:center;background:#14163ce6;border:1px solid #aab0dc;border-radius:3px}.hand-bar .hand-slot .icon{background:none}.hand-bar .hand-slot .n{position:absolute;left:2px;top:0;font-size:10px;line-height:1;color:#ffe066;font-weight:900}.hand-bar .hand-slot.cooling{filter:grayscale(.8) brightness(.7)}.hand-bar .hand-queue{display:flex;gap:3px;margin-left:4px}.hand-bar .hand-queue .chip{font-size:11px;padding:2px 6px}.rail{gap:3px;padding:8px 5px;background:#262c78f2}.rail button{color:#fff;border-radius:6px;background:transparent;border-color:transparent}.rail button.on{color:#fff;background:var(--pink);box-shadow:none}.rail button:hover:not(:disabled){border-color:#dfe3ff}.modal{background:#14164659}.modal .card{border-top-width:18px}.modal .card.side-window{padding:6px;border:2px solid #dfe3ff;background:linear-gradient(180deg,#7882d7f7,#5a64bdf7)}.side-window>.panel{margin-top:6px;padding:10px;border:1px solid var(--frame-dark);border-radius:6px;background:var(--paper)}.win-tabs button{color:#fff;border-radius:6px 6px 0 0;font-size:13px;background:none}.win-tabs button.on{background:var(--pink);color:#fff}.wallet{border-radius:4px}.inv-grid .cell{border:1px solid #d9cfa8;border-radius:4px}.inv-grid .cell.on{outline:2px solid var(--pink)}@media(min-width:768px){.inv-grid{grid-template-columns:repeat(auto-fill,36px);gap:0}.inv-grid .cell{padding:1px}}.inv.peek li{border:2px solid #dfe3ff;border-radius:6px;background:#2f3a94f7;color:#fff}.inv.peek .muted,.inv.peek small,.inv.peek .fine{color:#d6daf5}.inv.peek .gear-stats,.inv.peek .up{color:#9ff0b0}.inv.peek .down{color:#ffb3b3}.inv.peek .rare.r0{color:#fff}.inv.peek .rare.r1{color:#9ff0b0}.inv.peek .rare.r2{color:#9fd8ff}.inv.peek .rare.r3{color:#e3b3ff}.inv.peek .rare.r4{color:#ffc078}@media(max-width:960px){.game{grid-template-columns:74px minmax(0,1fr);grid-template-areas:"top top" "rail main" "rail right"}}@media(max-width:767px){.game{display:block;padding-bottom:calc(66px + env(safe-area-inset-bottom))}.col-main{padding:6px 8px}.col-right{padding:4px 8px 12px}.bottom-nav{background:#262c78f7;border-top:2px solid #dfe3ff}.bottom-nav button{color:#fff}.bottom-nav button.on{color:#fff;background:var(--pink)}.more-sheet{background:#5a64bdfa;border:2px solid #dfe3ff;border-radius:8px}}.subtags{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.subtags button{min-height:26px;padding:2px 10px;font-size:12px;border-radius:6px;box-shadow:none}.subtags button.on{background:#ec5a9b;border-color:#ec5a9b;color:#fff}.book-filter{flex-wrap:wrap;gap:6px;align-items:center}.book-filter input{flex:1;min-width:100px}.card-detail{display:flex;gap:8px;align-items:flex-start;margin:6px 0}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;margin-top:6px}.card-cell{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;min-height:0;padding:6px 4px;border-radius:6px;box-shadow:none;font-weight:400}.card-cell small{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px}.card-cell.on{border-color:#ec5a9b}.card-cell.missing{opacity:.6}.card-cell.missing img,.card-cell.missing canvas{filter:grayscale(1) brightness(.6)}.cc-stage{--tint: #e8537a;position:relative;width:800px;height:600px;margin:0 auto;overflow:hidden;border-radius:6px;background:linear-gradient(170deg,#7fb6f2,#dcefff 60%,#d5eec8);background-size:cover;color:#fff}.cc-magic{--tint: #3f57d8}.cc-sense{--tint: #8a3fdc}.cc-charm{--tint: #e8662a}.cc-side{position:absolute;inset:0 auto 0 0;width:306px;background-repeat:no-repeat}.cc-stage:not(.has-art) .cc-side{width:170px;background:linear-gradient(180deg,color-mix(in srgb,var(--tint) 45%,#fff),color-mix(in srgb,var(--tint) 12%,#fff))}.cc-illust{position:absolute;left:150px;top:0;width:430px;height:600px;object-fit:contain;animation:cc-illust .7s cubic-bezier(.2,.8,.3,1)}.cc-illust-sprite{display:grid;place-items:center}@keyframes cc-illust{0%{transform:translate(-120px);opacity:0}to{transform:none;opacity:1}}.cc-title{position:absolute;right:22px;top:12px;text-align:right;line-height:1.1;text-shadow:0 2px 3px #2c4d95}.cc-title b{display:block;font-size:30px}.cc-title small{font-size:14px;font-weight:800}.cc-picker{position:absolute;left:0;top:47px;display:grid;gap:24px}.cc-row{position:relative;width:153px;height:41px;background:var(--tint) no-repeat;border-radius:0 8px 8px 0}.has-art .cc-row{background-color:transparent}.cc-row-label{position:absolute;left:3px;top:7px;width:34px;font-size:12px;font-weight:800;line-height:1.05}.cc-row-label small{display:block;font-size:6px}.cc-pick{position:absolute;top:-19px;width:49px;height:49px;min-height:0;padding:0;overflow:hidden;border-radius:6px;background:#fff var(--n) center no-repeat;box-shadow:none}.cc-pick:nth-of-type(1){left:37px}.cc-pick:nth-of-type(2){left:94px}.cc-pick:hover:not(:disabled){background-image:var(--h, var(--n));border-color:transparent;box-shadow:none;transform:none}.has-art .cc-pick{border:0}.cc-pick.on,.cc-pick.on:hover:not(:disabled){outline:3px solid #ffe53b;outline-offset:-1px}.cc-pick:focus-visible,.cc-btn:focus-visible{outline:3px solid #1f3f9e;outline-offset:1px}.cc-pick canvas{max-width:100%;max-height:100%}.cc-desc{position:absolute;left:0;top:370px;width:330px;height:213px;padding:8px 12px;background:var(--tint) no-repeat;background-size:100% 100%;border-radius:0 10px 10px 0;font-size:12px;line-height:1.45;text-shadow:0 1px 2px rgba(0,0,0,.55);animation:cc-rise .5s ease-out}@keyframes cc-rise{0%{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}.cc-desc h2{margin:0 0 4px;font-size:24px;line-height:1.15;color:#fff}.cc-desc h2 small{font-size:14px}.cc-desc-head{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:800;line-height:1.35}.cc-desc-head img{width:44px;height:44px}.cc-desc-head p{margin:0}.cc-desc-head b{color:#ffe53b}.cc-desc-text{margin:6px 0 0;color:#fff5b8;font-weight:700}.cc-desc-text b{color:#ffe53b}.cc-form{position:static;color:#fff}.cc-set,.cc-status{position:absolute;left:478px;width:304px;background:#8089d4 no-repeat;border-radius:4px}.cc-set{top:65px;height:243px}.cc-status{top:314px;height:236px}.cc-preview{position:absolute;left:15px;top:12px;width:274px;height:100px;display:grid;place-items:center;background:#eef1fb;border-radius:6px}.has-art .cc-preview{background:none}.cc-label{display:block;position:absolute;left:22px;width:260px;height:18px;font-size:12px;font-weight:800;line-height:18px;text-align:center;color:#fff}.cc-set .cc-label[for]{top:131px}.cc-set span.cc-label{top:183px}.cc-status .cc-label{top:9px}.cc-set input{position:absolute;left:28px;top:157px;width:248px;height:18px;min-height:0;padding:0 6px;font-size:13px;color:#33305c;background:#fffef0;border:1px solid #5f67b8;border-radius:2px}.cc-set .swatches{position:absolute;left:22px;top:204px;width:262px;display:flex;flex-wrap:wrap;gap:2px;justify-content:center}.cc-set .swatch{width:18px;height:16px;min-height:0;padding:0;border:1px solid #40447c;border-radius:1px;box-shadow:none}.cc-set .swatch.on{outline:2px solid #fff;outline-offset:0}.cc-status svg{position:absolute;left:70px;top:64px;width:164px;height:130px;pointer-events:none}.cc-status polygon{fill:var(--tint);fill-opacity:.55;stroke:var(--tint);stroke-width:1.5;transition:all .3s}.cc-axis{position:absolute;width:49px;height:48px;min-height:0;padding:0;font-size:12px;color:#fff;background:#6d76c6 var(--n) center no-repeat;border:0;border-radius:6px;box-shadow:none}.has-art .cc-axis{background-color:transparent}.cc-axis:hover:not(:disabled){background-image:var(--h, var(--n));border:0;box-shadow:none;transform:none}.cc-axis:disabled{cursor:default;opacity:1}.cc-axis:focus-visible{outline:3px solid #1f3f9e}.cc-axis b{position:absolute;font-size:15px;line-height:1;color:#fff;text-shadow:-1px 0 #33305c,1px 0 #33305c,0 -1px #33305c,0 1px #33305c}.cc-axis-attack{left:71px;top:48px}.cc-axis-attack b{left:-4px;top:-4px}.cc-axis-magic{left:185px;top:48px}.cc-axis-magic b{right:-4px;top:-4px}.cc-axis-sense{left:71px;top:156px}.cc-axis-sense b{left:-4px;bottom:-4px}.cc-axis-charm{left:185px;top:156px}.cc-axis-charm b{right:-4px;bottom:-4px}.cc-growth-note{position:absolute;left:0;right:0;bottom:3px;font-size:10px;font-weight:700;text-align:center;color:#4c5096}.cc-actions{position:absolute;right:18px;bottom:8px;display:flex;gap:14px}.cc-btn{width:91px;height:38px;min-height:0;padding:0;font-size:15px;color:#49519c;background:#fff var(--n) center no-repeat;border:2px solid #6d76c6;border-radius:4px;box-shadow:none}.cc-btn:hover:not(:disabled){background-image:var(--h, var(--n));box-shadow:none;transform:none}.has-art .cc-btn{border:0;background-color:transparent}.has-art .cc-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.cc-err{position:absolute;left:340px;bottom:8px;width:240px;margin:0;padding:6px 8px;background:#fff;border-radius:6px}@media(max-width:820px){.cc-stage{width:auto;height:auto;margin:0 8px;padding-bottom:12px;display:flex;flex-direction:column;gap:8px;background-position:top}.cc-side,.cc-title{display:none}.cc-illust{position:relative;left:0;order:1;width:100%;height:300px}.cc-picker{position:relative;top:0;order:2;grid-template-columns:repeat(2,153px);justify-content:center;gap:26px 6px;padding-top:20px}.cc-desc{position:relative;top:0;order:3;width:auto;height:auto;min-height:170px;margin:0 8px;border-radius:10px}.cc-form{order:4;display:grid;justify-items:center;gap:8px}.cc-set,.cc-status,.cc-actions,.cc-err{position:relative;left:0;top:0;right:0;bottom:0}.cc-err{width:280px;color:var(--red)}}@media(prefers-reduced-motion:reduce){.cc-illust,.cc-desc{animation:none}.cc-status polygon{transition:none}}.bonus-point{display:inline-flex;align-items:stretch;border-radius:9px;overflow:hidden;font-size:12px;line-height:22px}.bonus-point i{padding:0 8px;font-style:normal;font-weight:800;color:#fff;background:#3f9f83}.bonus-point b{min-width:36px;text-align:center;color:#ffe53b;background:#47b08f}.stat-value{white-space:nowrap;text-align:right;font-weight:600;color:var(--ink-soft)}.stat-value b{color:var(--ink)}.stats td.stat-lv{width:52px;padding:0 4px;font-size:11px;line-height:1.2;text-align:center;white-space:nowrap}.lv-cells{display:flex;gap:1px;height:5px;margin-top:1px}.lv-cells i{flex:1;background:#fff;box-shadow:inset 0 0 0 1px #8a90c8}.lv-cells i.on{background:#4a54c4;box-shadow:none}.stats td.stat-spend{width:1%;padding:0;white-space:nowrap;text-align:right}.stat-spend button{min-width:24px;min-height:24px;padding:0 3px;font-size:11px;border-width:1px;border-radius:4px;box-shadow:none}.stat-spend button:disabled{opacity:.4;cursor:default}.stat-spend output{display:inline-block;min-width:26px;text-align:center;font-size:12px}.stat-spend .plus10{margin-left:3px;color:var(--ink);background:var(--yellow-soft)}.stat-confirm{justify-content:flex-end;margin:6px 0}@media(max-width:640px){.stat-spend button{min-width:32px;min-height:36px}}.stat-group{margin:0;padding:2px 6px}.stat-group .group-title{display:none}.stat-group .stats{border-spacing:0;font-size:12px;line-height:1.15}.stat-group .stats th{width:62px;padding:0;font-size:12px}.stat-group .stats td{padding-top:0;padding-bottom:0}.stat-group .stat-spend button{min-width:20px;min-height:18px;line-height:1}.stat-group .stat-spend output{min-width:22px}.mini-stats{margin-top:4px;font-size:11px;line-height:1.2}.mini-stats th,.mini-stats td{padding:0}.mini-stats,.mini-stats tbody{display:block}.mini-stats tbody{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.mini-stats tr{display:flex;justify-content:space-between}.stat-notes{margin-top:4px;font-size:12px}.stat-notes summary{cursor:pointer;font-weight:800;color:var(--ink-soft)}.stat-notes p{margin:3px 0}.stat-points{margin:2px 0 4px}.growth-convert{max-width:420px;max-height:92vh;overflow:auto}.convert-table,.convert-table tbody,.convert-table thead{display:table-row-group}.convert-table{display:table}.convert-table tr{display:table-row}.convert-table th,.convert-table td{display:table-cell;text-align:right;padding:0 6px}.convert-table th:first-child{text-align:left}.birth-growth{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:2px 0;font-size:12px}.birth-growth span{font-weight:800}.birth-growth .bg-attack{color:#c93a63}.birth-growth .bg-magic{color:#3f57d8}.birth-growth .bg-sense{color:#7a35c4}.birth-growth .bg-charm{color:#c9551f}.inv.peek{height:150px}.inv.peek li{box-sizing:border-box;height:100%;min-height:0;margin:0;overflow-y:auto;align-items:flex-start}.equip li[title]{cursor:help}.equip li.pinned{outline:2px solid var(--purple);outline-offset:-2px}.compare-label{display:block;margin-top:5px;padding-top:4px;border-top:1px dashed #b9bde0;font-size:11px;font-weight:800;color:var(--ink-soft)}.compare-label+.diff span{padding:0 5px;border-radius:4px}.compare-label+.diff .up{background:#dcf7e9}.compare-label+.diff .down{background:#ffe3e3}.inv.peek .compare-label{border-top-color:#8f97d6}.inv.peek .compare-label+.diff .up{color:#1f6f32}.inv.peek .compare-label+.diff .down{color:#a61e1e}.inv.peek{height:176px}.modal.ask-modal{z-index:50}.ask-modal .card{width:min(380px,100%)}.ask-modal input{width:100%;margin-bottom:8px}@media(max-width:767px){.col-main{display:flex;flex-direction:column}.stage-wrap{display:contents}.status-strip{position:sticky;top:0;z-index:5;width:auto;margin:-6px -8px 0;padding:6px 8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;background:#121442f7;box-shadow:0 2px 4px #00000059}.status-strip .level-bar{order:1}.status-strip .level-badge{width:54px}.stage{display:grid;grid-template-columns:minmax(0,1fr)}.stage>*{grid-column:1}.stage-hud{position:static;order:-1;flex-direction:row;flex-wrap:wrap;align-items:center;padding-bottom:4px}.stage-hud:empty{padding:0}.stage-hud .chip{font-size:11px;padding:2px 6px}.battle{grid-row:2}.party-frame,.tower-place{grid-row:2;position:relative;inset:auto;align-self:start;margin:6px;z-index:2}.party-frame{justify-self:start}.chat-anchor{grid-row:2;align-self:end;z-index:2}.tower-place{display:none}.tower-hud{grid-row:1;position:static;transform:none;gap:8px;margin-bottom:4px;padding:4px 8px;border-radius:6px;background:#14163ce6;pointer-events:auto}.tower-hud strong{font-size:22px;min-width:34px;text-align:center}.tower-boss{display:block;flex:1;min-width:0;color:#fff;font-size:12px}.tower-boss span{display:flex;justify-content:space-between;gap:6px}.tower-boss b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tower-boss em{flex:none;font-style:normal}.tower-boss i{display:block;height:8px;margin-top:2px;border-radius:4px;background:#ffd6de33;overflow:hidden}.tower-boss u{display:block;height:100%;background:#ff4d6d;transition:width .25s}.tower-rest{grid-row:3;position:static;transform:none;width:auto;margin-top:4px;padding:10px;font-size:13px}.tower-rest .row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tower-rest .row button{min-height:40px}.tower-rest .row .primary,.tower-rest .row>small{grid-column:1 / -1;order:-1}}.admin-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 12px;border-bottom:1px solid var(--line)}.admin-tabs button{position:relative;padding:6px 12px;border:0;border-bottom:3px solid transparent;background:none;color:var(--ink-soft);font:inherit;font-weight:700;cursor:pointer}.admin-tabs button.on{border-bottom-color:var(--blue);color:var(--ink)}.admin-tabs .chat-unread{position:static;margin-left:6px}.admin-search,.admin-text{box-sizing:border-box;width:100%;margin-bottom:8px}.admin-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:10px}.admin-form label{display:flex;flex-direction:column;gap:2px;font-size:13px}.admin-form input{width:150px}.mail-filters{flex-wrap:wrap;gap:6px;margin-bottom:10px}.mail-list{display:flex;flex-direction:column;gap:8px}.mail-stack{position:relative;border:1px solid var(--line);border-radius:10px;background:var(--card, #fff)}.mail-stack.piled:not(.open){margin-bottom:6px;box-shadow:0 3px 0 -1px var(--card, #fff),0 3px 0 0 var(--line),0 6px 0 -1px var(--card, #fff),0 6px 0 0 var(--line)}.mail-head{display:grid;grid-template-columns:minmax(90px,160px) minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:10px 12px;border:0;border-radius:10px;background:none;color:inherit;font:inherit;font-weight:400;text-align:left;cursor:pointer}.mail-head.fresh .mail-from,.mail-head.fresh .mail-preview{font-weight:800}.mail-from{display:flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere;font-weight:500}.mail-count{padding:0 6px;border-radius:9px;background:var(--line);font-size:12px;font-weight:700}.mail-preview{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mail-stack.open .mail-preview{visibility:hidden}.mail-body{display:flex;flex-direction:column;gap:8px;padding:0 12px 12px;align-items:flex-start}.mail-body article{box-sizing:border-box;width:100%;padding:8px 10px;border-left:3px solid var(--line)}.mail-body article.fresh{border-left-color:var(--blue)}.mail-body article p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:560px){.mail-head{grid-template-columns:minmax(0,1fr) auto}.mail-preview{grid-column:1 / -1;grid-row:2}.mail-stack.open .mail-preview{display:none}}.tag.best{color:#b35c00;font-weight:800}.map-best{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;border:2px solid #f0b429;border-radius:12px}.potion-order{margin-top:8px}.potion-order ol{margin:6px 0 0;padding-left:22px;display:grid;gap:4px}.potion-order li>.grow{display:inline-block;min-width:60%}.potion-order li button{margin-left:4px}.hand-bar{flex-wrap:nowrap}.hand-slots{display:flex;min-width:0;overflow-x:auto;gap:3px}.hand-bar .hand-slot{flex:0 0 36px;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.hand-bar .hand-slot.dragging{opacity:.5}.hand-bar .hand-slot.drag-over{outline:2px solid #ffe066}.hand-settings{flex:0 0 36px;height:36px;min-height:0;padding:0;border-radius:4px}.skill-settings-modal{position:fixed;z-index:100}.skill-settings-card{width:min(720px,95vw);max-height:85vh;overflow:auto}.skill-settings-head{display:flex;align-items:center;justify-content:space-between}.guild-panel h2.guild-name{margin:0;font-size:20px}.guild-panel label{display:grid;gap:4px;font-weight:700}.guild-text{font:inherit;color:var(--ink);background:var(--cream);border:2px solid var(--line);border-radius:12px;padding:7px 10px;resize:vertical}.guild-notice p,.guild-intro{margin:4px 0;white-space:pre-wrap}.guild-log{font-size:12px}.guild-log summary{cursor:pointer;font-weight:700}.guild-chip{display:inline-block;margin:0 6px 4px 0;padding:1px 6px;border-radius:999px;background:var(--cream)}.guild-chip .link{padding:0 2px}.guild-panel select{padding:2px 6px;min-height:0;font-size:12px}.chat-guild small{margin-left:4px;opacity:.8}
