@import "https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111b19;--sidebar:#14201c;--panel:#1b2924;--panel2:#202f28;--line:#2c3b32;--muted:#91a196;--text:#eef2e9;--lime:#c4ec8a;--green:#89bd8e;--gold:#eac77f;--danger:#e08a8a;--radius:16px;font-family:Noto Sans KR,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}button:disabled{opacity:.4;cursor:not-allowed}h1,h2,h3,p{margin:0}#root{flex-direction:column;min-height:100vh;display:flex}.center-screen{min-height:100vh;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.topbar{background:var(--sidebar);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.brand{align-items:center;gap:10px;font-size:1.1rem;font-weight:700;display:flex}.brand-mark{font-size:1.4rem}.brand small{color:var(--muted);font-size:.7rem;font-weight:400;display:block}.wallet{background:var(--panel);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:6px 16px;display:flex}.wallet .coin{background:var(--gold);color:#111b19;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.7rem;font-weight:800;display:grid}.wallet strong{color:var(--gold);font-size:1.05rem}.wallet-label{color:var(--muted);font-size:.8rem}.ticket-wallet .coin{background:var(--panel2);font-size:.85rem}.ticket-wallet strong{color:var(--text)}.diamond-wallet .coin{background:var(--panel2);font-size:.85rem}.diamond-wallet strong{color:#8ec9f0}.topbar-right{align-items:center;gap:12px;display:flex}.user-chip{align-items:center;gap:8px;display:flex}.user-avatar,.user-avatar-fallback{object-fit:cover;border-radius:50%;width:28px;height:28px}.user-avatar-fallback{background:var(--panel2);color:var(--lime);place-items:center;font-size:.85rem;font-weight:700;display:grid}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.85rem;overflow:hidden}.logout-button{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.75rem}.logout-button:hover{color:var(--text);border-color:var(--muted)}.nickname-edit-button{opacity:.6;padding:2px;font-size:.75rem}.nickname-edit-button:hover{opacity:1}.nickname-form{align-items:center;gap:6px;display:flex}.nickname-form input{border:1px solid var(--line);background:var(--panel2);width:96px;color:var(--text);border-radius:999px;padding:4px 8px;font-size:.82rem}.nickname-submit{color:#111b19;background:var(--lime);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:700}.nickname-submit:disabled{background:var(--panel2);color:var(--muted);cursor:not-allowed}.modal-overlay{z-index:100;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:360px;max-width:100%;max-height:calc(100vh - 40px);padding:24px;position:relative;overflow-y:auto;box-shadow:0 24px 60px #00000080}.modal-close{color:var(--muted);padding:2px 6px;font-size:1.2rem;line-height:1;position:absolute;top:12px;right:14px}.modal-close:hover{color:var(--text)}.profile-header{flex-direction:column;align-items:center;gap:8px;margin-bottom:10px;display:flex}.profile-avatar{object-fit:cover;border-radius:50%;width:72px;height:72px}.profile-avatar-fallback{background:var(--panel2);color:var(--lime);place-items:center;font-size:1.8rem;font-weight:700;display:grid}.profile-name-row{align-items:center;gap:6px;display:flex}.profile-name-row h2{font-size:1.1rem}.profile-message-button{text-align:center;justify-content:center;align-items:center;gap:6px;width:100%;margin-bottom:16px;padding:4px;display:flex}.profile-message{color:var(--text);font-size:.82rem}.profile-message.placeholder{color:var(--muted);font-style:italic}.profile-message-button span{opacity:.6;font-size:.7rem}.profile-message-form{justify-content:center;margin-bottom:16px}.profile-message-readonly{text-align:center;margin-bottom:16px}.profile-message-form input{border:1px solid var(--line);background:var(--panel2);width:100%;color:var(--text);border-radius:999px;padding:6px 12px;font-size:.82rem}.profile-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px;display:grid}.profile-stat{background:var(--panel2);text-align:center;border-radius:12px;flex-direction:column;gap:2px;padding:10px;display:flex}.profile-stat strong{font-size:.95rem}.profile-stat span{color:var(--muted);font-size:.68rem}.profile-joined{text-align:center;margin-top:14px}.login-screen{background:radial-gradient(circle at 50% 20%, var(--panel2), var(--bg) 70%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:20px;max-width:340px;padding:40px 36px;box-shadow:0 20px 50px #0006}.login-mark{font-size:2.6rem}.login-card h1{margin:10px 0 6px;font-size:1.3rem}.login-card p{color:var(--muted);margin-bottom:24px;font-size:.85rem}.google-login-button{color:#1f1f1f;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:.9rem;font-weight:600;display:flex}.google-login-button:hover{background:#f3f3f3}.app-shell{flex:1;min-width:0;min-height:0;display:flex}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:8px;width:260px;padding:20px 16px;display:flex;overflow-y:auto}.sidebar-toggle{border-radius:8px;padding:4px 8px;font-size:1.3rem;display:none}.sidebar-toggle:hover{background:var(--panel)}.sidebar-overlay{display:none}.keeper{align-items:center;gap:10px;display:flex}.keeper-avatar{background:var(--panel2);border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.2rem;display:grid}.keeper strong{font-size:.95rem;display:block}.keeper span{color:var(--muted);font-size:.78rem}.xp-track{background:var(--panel2);border-radius:999px;height:6px;margin-top:6px;overflow:hidden}.xp-track i{background:var(--lime);height:100%;display:block}.xp-label{color:var(--muted);justify-content:space-between;margin-bottom:10px;font-size:.72rem;display:flex}.nav-caption{letter-spacing:.08em;color:var(--muted);margin:8px 0 2px;font-size:.68rem}.nav-item{text-align:left;width:100%;color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.9rem;display:flex}.nav-item:hover{background:var(--panel)}.nav-item.active{background:var(--panel2);color:var(--lime)}.admin-nav-item{border-top:1px dashed var(--line);color:var(--danger);margin-top:12px;padding-top:14px}.admin-nav-item.active{background:var(--panel2);color:var(--danger)}.nav-count,.nav-small{color:var(--muted);background:var(--panel);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:.72rem}main{flex:1;min-width:0;padding:24px 28px 60px;overflow-y:auto}@media (width<=860px){.sidebar-toggle{display:inline-flex}.sidebar{z-index:80;max-width:85vw;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 30px #0006}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:70;opacity:0;pointer-events:none;background:#00000080;transition:opacity .25s;display:block;position:fixed;inset:0}.sidebar-overlay.visible{opacity:1;pointer-events:auto}main{padding:16px 14px 60px}.topbar{flex-wrap:wrap;row-gap:8px;padding:10px 14px}.brand small{display:none}.topbar-right{flex-wrap:wrap;row-gap:8px}.wallet{padding:5px 10px}.wallet-label{display:none}.stat-row{grid-template-columns:1fr 1fr}}@media (width<=420px){.stat-row{grid-template-columns:1fr}.chat-widget{bottom:12px;right:12px}.chat-panel{width:calc(100vw - 24px)}}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.eyebrow{letter-spacing:.1em;color:var(--green);align-items:center;gap:8px;margin-bottom:6px;font-size:.72rem;display:flex}.live-dot{background:var(--lime);border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 3px #c4ec8a40}.page-heading h1{align-items:baseline;gap:10px;font-size:1.6rem;display:flex}.page-heading h1 span{color:var(--muted);font-size:.85rem;font-weight:400}.subheading{color:var(--muted);margin-top:4px;font-size:.88rem}.game-columns{grid-template-columns:1fr 320px;align-items:start;gap:22px;min-width:0;display:grid}.game-columns>*{min-width:0}@media (width<=980px){.game-columns{grid-template-columns:1fr}}.stat-row{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.stat-icon{border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:1.1rem;display:grid}.stat-icon.green{background:#89bd8e2e}.stat-icon.amber{background:#eac77f2e}.stat-icon.purple{background:#c4a8ec2e}.stat-label{color:var(--muted);font-size:.72rem;display:block}.stat strong{font-size:1.15rem}.stat strong small{color:var(--muted);font-size:.7rem;font-weight:400}.terrarium{border-radius:var(--radius);background:var(--panel2);border:1px solid var(--line);min-height:260px;position:relative;overflow:hidden}.terrarium.is-paused{filter:grayscale(.5)brightness(.7)}.terrain-image{object-fit:cover;width:100%;height:260px;display:block}.terrain-shade{background:linear-gradient(#00000059,#0000 30%,#0000008c);position:absolute;inset:0}.scene-top{z-index:2;justify-content:space-between;display:flex;position:absolute;top:12px;left:12px;right:12px}.habitat-badge{background:#111b19b3;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;display:flex}.creatures{pointer-events:none;position:absolute;inset:0}.creature{pointer-events:auto;filter:drop-shadow(1px 4px 4px #061b14b3);background:0 0;border:0;padding:0;transition:left 2.6s ease-in-out,top 2.6s ease-in-out,transform .2s;position:absolute}.creature:hover{transform:scale(1.12)}.creature img{object-fit:contain;width:100%;height:100%}.scene-bottom{justify-content:space-between;align-items:center;font-size:.78rem;display:flex;position:absolute;bottom:10px;left:12px;right:12px}.scene-bottom span:first-child{background:#111b19b3;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;display:flex}.scene-count{background:#111b19b3;border-radius:999px;padding:5px 10px}.environment-bar{grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0;display:grid}.environment-bar>div{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.environment-bar span{align-items:center;gap:6px;margin-bottom:6px;font-size:.82rem;display:flex}.environment-bar b{margin-left:auto}.environment-bar small{color:var(--muted)}.meter{background:var(--panel2);border-radius:999px;height:7px;margin-bottom:4px;overflow:hidden}.meter i{background:#7ec8e3;height:100%;display:block}.meter.amber i{background:var(--gold)}.meter.green i{background:var(--green)}.care-actions{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px;display:grid}@media (width<=700px){.care-actions{grid-template-columns:repeat(2,1fr)}}.care-button{background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;display:flex}.care-button:not(:disabled):hover{border-color:var(--lime)}.care-icon{border-radius:8px;place-items:center;width:28px;height:28px;margin-bottom:2px;font-size:.95rem;display:grid}.care-icon.peach{background:#eac77f33}.care-icon.blue{background:#7ec8e333}.care-icon.yellow{background:#eac77f33}.care-icon.lime{background:#c4ec8a33}.care-button small{color:var(--muted);font-size:.72rem}.care-button.collect strong{color:var(--lime)}.residents-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.residents-heading h2{align-items:baseline;gap:8px;font-size:1rem;display:flex}.residents-heading span{color:var(--muted);font-size:.78rem;font-weight:400}.residents-list{flex-direction:column;gap:8px;display:flex}.resident{background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:12px;align-items:center;gap:12px;padding:8px 12px;display:flex}.resident img{object-fit:contain;width:32px;height:32px}.resident-name{font-size:.9rem;display:block}.resident small{color:var(--muted);font-size:.72rem}.resident b{color:var(--gold);margin-left:auto}.resident-main{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:0;display:flex}.resident-main>span:first-of-type{flex:1;min-width:0}.move-select{border:1px solid var(--line);background:var(--panel2);max-width:150px;color:var(--text);cursor:pointer;border-radius:8px;flex-shrink:0;padding:6px 8px;font-size:.78rem}.move-select:disabled{opacity:.5;cursor:not-allowed}.terrarium-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.terrarium-tab{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:10px;align-items:baseline;gap:6px;padding:7px 12px;font-size:.85rem;display:flex}.terrarium-tab small{opacity:.8;font-size:.72rem}.terrarium-tab.active{border-color:var(--lime);color:var(--text);background:var(--panel2)}.terrarium-tab.add{color:var(--green);border-style:dashed}.terrarium-tab:disabled{opacity:.5;cursor:not-allowed}.terrarium-picker{color:var(--muted);align-items:center;gap:10px;margin-bottom:14px;font-size:.85rem;display:flex}.terrarium-picker select{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:8px;padding:6px 10px}.upgrade-target{color:var(--lime);margin-bottom:4px;font-size:.75rem;display:inline-block}.breed-progress{background:var(--panel2);border-radius:999px;height:5px;margin:6px 0 3px;display:block;overflow:hidden}.breed-progress i{background:var(--lime);height:100%;transition:width 5s linear;display:block}.breed-progress i.idle{background:var(--muted)}.breed-status{display:block}.right-column{flex-direction:column;gap:16px;display:flex}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.panel-heading h2{align-items:center;gap:6px;font-size:.95rem;display:flex}.panel-heading span{color:var(--muted);font-size:.78rem}.goal-panel>p{color:var(--muted);margin-bottom:10px;font-size:.8rem}.quest{border-top:1px solid var(--line);gap:10px;padding:8px 0;display:flex}.quest:first-of-type{border-top:none}.quest-check{border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;margin-top:2px;font-size:.7rem;display:grid}.quest-check.complete{background:var(--lime);color:#111b19;border-color:var(--lime)}.quest-info{flex:1}.quest-title{justify-content:space-between;margin-bottom:4px;font-size:.85rem;display:flex}.quest-title span{color:var(--muted);font-size:.75rem}.quest-progress{background:var(--panel2);border-radius:999px;height:5px;margin-bottom:4px;overflow:hidden}.quest-progress i{background:var(--lime);height:100%;display:block}.quest-reward{color:var(--muted);justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.claim-button{background:var(--lime);color:#111b19;border-radius:999px;padding:3px 12px;font-size:.72rem;font-weight:700}.claim-button:disabled{background:var(--panel2);color:var(--muted);cursor:not-allowed}.explore-banner{background:linear-gradient(160deg, var(--panel2), var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:18px}.explore-banner h3{margin:6px 0;font-size:1.05rem}.explore-banner p{color:var(--muted);margin-bottom:12px;font-size:.82rem}.explore-banner .ticket-button{margin-top:8px}.button{border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.85rem;font-weight:600;display:inline-flex}.button.full{justify-content:space-between;width:100%}.button.primary{background:var(--lime);color:#111b19}.button.secondary{background:var(--panel2);border:1px solid var(--line);color:var(--text)}.button .price{background:#111b1940;border-radius:999px;padding:2px 10px;font-size:.75rem}.collection-summary{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;padding:14px 18px}.collection-summary>div{align-items:center;gap:8px;margin-bottom:8px;display:flex}.collection-summary strong{color:var(--lime);font-size:1.2rem}.long-progress{background:var(--panel2);border-radius:999px;height:8px;margin-bottom:8px;overflow:hidden}.long-progress i{background:var(--lime);height:100%;display:block}.collection-summary p{color:var(--muted);font-size:.78rem}.filter-row{gap:8px;margin-bottom:16px;display:flex}.filter{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 16px;font-size:.82rem}.filter.active{background:var(--panel2);color:var(--lime);border-color:var(--lime)}.species-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;display:grid}.species-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:14px;display:flex}.species-card.undiscovered{opacity:.6}.species-card img{object-fit:contain;width:64px;height:64px;margin:6px 0}.species-card h3{align-items:center;gap:4px;font-size:.9rem;display:flex}.species-card p{color:var(--muted);min-height:2em;font-size:.72rem}.pill{border:1px solid;border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:.68rem}.card-bottom{width:100%;color:var(--muted);justify-content:space-between;margin-top:4px;font-size:.72rem;display:flex}.price-trend{font-size:.72rem;font-weight:700}.price-trend.up{color:var(--gold)}.price-trend.down{color:var(--danger)}.info-banner{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:12px;margin-bottom:16px;padding:10px 16px;font-size:.82rem}.market-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:22px;display:grid}.market-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:16px;display:flex}.market-card img{object-fit:contain;width:56px;height:56px;margin:4px 0}.market-card p{color:var(--muted);font-size:.78rem}.sell-options{gap:8px;width:100%;margin-top:8px;display:flex}.sell-options .button{flex:1;padding:8px 10px;font-size:.75rem}.market-explore{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.explore-buttons{flex-direction:column;gap:8px;min-width:220px;display:flex}.explore-buttons .button{white-space:nowrap}.market-explore h2{margin:4px 0;font-size:1.05rem}.market-explore p{color:var(--muted);font-size:.82rem}.odds{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:8px;font-size:.72rem;display:flex}.battle-picker{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-bottom:16px;display:grid}.battle-pick{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:10px;display:flex}.battle-pick img{object-fit:contain;width:48px;height:48px}.battle-pick-name{font-size:.8rem}.battle-pick small{color:var(--muted);font-size:.66rem}.battle-pick.active{border-color:var(--lime);background:var(--panel2)}.battle-pick-level{color:var(--muted);font-weight:400}.battle-fight-button{margin-bottom:20px}.difficulty-row{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin-bottom:14px;display:grid}.difficulty-pick{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:8px 10px;display:flex}.difficulty-pick strong{font-size:.85rem}.difficulty-pick small{color:var(--muted);font-size:.66rem}.difficulty-pick.active{background:var(--panel2);border-width:2px}.extreme-toggle{background:var(--panel);border:1px solid var(--line);width:100%;color:var(--muted);border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:14px;padding:10px 14px;font-weight:600;display:flex}.extreme-toggle small{color:var(--muted);font-size:.68rem;font-weight:400}.extreme-toggle.active{border-color:var(--danger);color:var(--danger);background:#e05d5d24}.extreme-toggle.active small{color:var(--danger);opacity:.85}.mini-xp-bar{background:var(--panel);border-radius:999px;width:100%;height:4px;overflow:hidden}.mini-xp-bar i{background:var(--lime);height:100%;transition:width .4s;display:block}.mini-xp-bar.large{height:7px}.battle-species-xp{text-align:center;color:var(--muted);font-size:.82rem}.level-up-badge{color:var(--lime);font-weight:700}.battle-result{flex-direction:column;gap:14px;display:flex}.battle-banner{text-align:center;font-size:1.3rem;font-weight:800}.battle-banner.win{color:var(--lime)}.battle-banner.lose{color:var(--danger)}.battle-banner.ongoing{color:var(--muted);animation:1s ease-in-out infinite battle-pulse}@keyframes battle-pulse{0%,to{opacity:.6}50%{opacity:1}}.battle-vs{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;display:flex}.battle-vs-mark{color:var(--muted);font-weight:800}.fighter-card{background:var(--panel2);border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-width:140px;padding:14px;transition:border-color .15s,transform .15s;display:flex}.fighter-card.acting{border-color:var(--lime);transform:scale(1.04)}.fighter-card img{object-fit:contain;width:72px;height:72px}.hp-bar{background:var(--panel);border-radius:999px;width:100%;height:8px;margin-top:4px;overflow:hidden}.hp-bar i{background:var(--danger);height:100%;transition:width .4s;display:block}.fighter-card h3{font-size:.95rem}.fighter-card small{color:var(--muted);font-size:.72rem}.fighter-stats{gap:10px;margin-top:4px;font-size:.78rem;display:flex}.battle-log{background:var(--panel2);border-radius:12px;flex-direction:column;gap:4px;max-height:220px;padding:10px 14px;display:flex;overflow-y:auto}.battle-log-row{color:var(--muted);justify-content:space-between;gap:10px;font-size:.78rem;display:flex}.battle-log-row.me{color:var(--text)}.battle-reward{text-align:center;color:var(--gold);font-size:.9rem;font-weight:700}.pvp-opponent-card{flex-direction:column;gap:12px;margin-bottom:14px;display:flex}.pvp-opponent-header{align-items:center;gap:10px;display:flex}.pvp-opponent-header div{flex-direction:column;display:flex}.pvp-opponent-header small{color:var(--muted)}.pvp-opponent-species{align-items:center;gap:12px;display:flex}.pvp-opponent-species img{width:48px;height:48px}.pvp-opponent-species div{flex-direction:column;gap:2px;display:flex}.pvp-opponent-species small{color:var(--muted)}.equip-pull-row{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.equip-pull-row .button small{opacity:.85;font-size:.68rem}.equip-odds{flex-wrap:wrap;gap:14px;margin-bottom:14px;font-size:.8rem;display:flex}.equip-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.equip-card{background:var(--panel);border:2px solid var(--line);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:12px;display:flex}.equip-card strong{font-size:.88rem}.equip-card small{color:var(--muted);font-size:.7rem}.equip-card.equipped{background:var(--panel2)}.equip-icon{font-size:1.8rem;line-height:1.1}.equip-actions{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:4px;display:flex}.equip-actions .button{padding:5px 10px;font-size:.74rem}.equip-badge{color:var(--lime);padding:5px 4px;font-size:.72rem;font-weight:700}.equip-max{color:var(--lime)!important}.equip-hint{font-size:.64rem!important}.equip-slot-row{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-bottom:14px;display:grid}.equip-slot{background:var(--panel);border:2px dashed var(--line);border-radius:var(--radius);text-align:center;min-height:118px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:10px;font-size:.74rem;display:flex}.equip-slot.filled{color:var(--text);border-style:solid}.equip-slot.filled strong{font-size:.82rem}.equip-slot.locked{opacity:.75}.equip-slot .button{padding:4px 10px;font-size:.72rem}.upgrade-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.upgrade-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:6px;padding:18px;display:flex}.upgrade-level{color:var(--muted);align-self:flex-end;margin-top:-22px;font-size:.72rem}.upgrade-card h2{font-size:1rem}.upgrade-card p{color:var(--muted);min-height:3em;font-size:.78rem}.upgrade-effect{color:var(--lime);margin-bottom:8px;font-size:.8rem}.codex-panel{margin-top:20px}.codex-hint{color:var(--muted);margin:2px 0 10px;font-size:.8rem}.codex-bar{background:var(--panel2);border-radius:6px;height:8px;margin-bottom:12px;overflow:hidden}.codex-bar i{background:var(--lime);border-radius:6px;height:100%;transition:width .3s;display:block}.codex-totals{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.codex-total{color:var(--lime)}.codex-steps{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.codex-step{background:var(--panel2);border:1px solid var(--line);opacity:.6;border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.codex-step.reached{opacity:1;border-color:var(--lime)}.codex-step span{font-size:.82rem}.codex-step small{color:var(--muted);font-size:.72rem}.codex-step.reached small{color:var(--lime)}.ranking-list{flex-direction:column;gap:6px;display:flex}.ranking-row{text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;padding:10px 14px;display:flex}.ranking-row:hover{background:var(--panel2)}.ranking-row.me{background:var(--panel2);border:1px solid var(--lime)}.ranking-rank{text-align:center;width:28px;color:var(--muted);flex-shrink:0;font-size:.9rem}.ranking-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:32px;height:32px}.ranking-avatar-fallback{background:var(--panel2);color:var(--lime);place-items:center;font-weight:700;display:grid}.ranking-name{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.ranking-me-badge{background:var(--lime);color:#111b19;border-radius:999px;flex-shrink:0;padding:1px 8px;font-size:.68rem;font-weight:700}.ranking-value{color:var(--gold);flex-shrink:0}.ranking-divider{text-align:center;color:var(--muted);letter-spacing:4px;margin:2px 0}.friend-search-row{gap:8px;margin-bottom:14px;display:flex}.friend-search-row input{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:999px;flex:1;padding:8px 12px;font-size:.85rem}.friend-section{margin-bottom:18px}.friend-identity{text-align:left;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.friend-identity:hover .ranking-name{color:var(--lime)}.friend-actions{flex-shrink:0;gap:8px;display:flex}.achievement-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.achievement-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:6px;padding:18px;display:flex}.achievement-card.claimed{opacity:.65}.achievement-icon{font-size:1.5rem}.achievement-card h3{font-size:1rem}.achievement-card p{color:var(--muted);min-height:2.4em;font-size:.78rem}.achievement-footer{color:var(--muted);justify-content:space-between;align-items:center;margin-top:4px;font-size:.75rem;display:flex}.achievement-done{color:var(--lime);font-weight:700}.journal-overview{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.journal-stat{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:12px;padding:12px 14px;font-size:.78rem}.journal-stat strong{color:var(--text);margin-top:4px;font-size:1.2rem;display:block}.journal-list{flex-direction:column;gap:10px;display:flex}.journal-entry{border-top:1px solid var(--line);gap:10px;padding:8px 0;display:flex}.journal-entry:first-child{border-top:none}.journal-entry p{font-size:.85rem}.journal-entry time{color:var(--muted);font-size:.7rem}.empty{color:var(--muted);text-align:center;padding:20px 0;font-size:.85rem}.footnote{color:var(--muted);margin-top:16px;font-size:.72rem}.toast-region{z-index:50;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:10px 20px;font-size:.85rem;animation:.25s toast-in;box-shadow:0 8px 20px #00000059}.toast.error{border-color:var(--danger);color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-widget{z-index:60;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.chat-toggle{background:var(--lime);color:#111b19;border-radius:50%;width:52px;height:52px;font-size:1.3rem;position:relative;box-shadow:0 8px 20px #00000059}.chat-unread{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:18px;padding:2px 6px;font-size:.68rem;font-weight:700;position:absolute;top:-4px;right:-4px}.chat-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;width:320px;max-width:calc(100vw - 40px);height:420px;max-height:calc(100vh - 120px);display:flex;overflow:hidden;box-shadow:0 16px 40px #00000073}.chat-panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 14px;font-size:.9rem;font-weight:600;display:flex}.chat-close{color:var(--muted);padding:2px 6px;font-size:1.1rem;line-height:1}.chat-close:hover{color:var(--text)}.chat-panel .chat-channel-row{border-bottom:1px solid var(--line);margin:0;padding:8px 14px}.chat-panel .chat-channel-row .filter{padding:5px 10px;font-size:.74rem}.online-toggle{border-bottom:1px solid var(--line);width:100%;color:var(--muted);justify-content:space-between;align-items:center;padding:8px 14px;font-size:.78rem;display:flex}.online-toggle:hover{color:var(--text)}.online-list{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;max-height:140px;padding:8px 14px;display:flex;overflow-y:auto}.online-row{text-align:left;align-items:center;gap:8px;width:100%;font-size:.82rem;display:flex}.online-row:hover{color:var(--lime)}.online-row.me{color:var(--lime);font-weight:700}.chat-avatar-button{flex-shrink:0;line-height:0}.chat-messages{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.chat-message{align-items:flex-start;gap:8px;display:flex}.chat-message.me{text-align:right;flex-direction:row-reverse}.chat-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:26px;height:26px}.chat-avatar-fallback{background:var(--panel2);color:var(--lime);place-items:center;font-size:.72rem;font-weight:700;display:grid}.chat-bubble{background:var(--panel2);border-radius:12px;max-width:210px;padding:6px 10px}.chat-message.me .chat-bubble{background:var(--lime);color:#111b19}.chat-meta{color:var(--muted);align-items:baseline;gap:6px;margin-bottom:2px;font-size:.68rem;display:flex}.chat-message.me .chat-meta{color:#111b1999;flex-direction:row-reverse}.chat-name{font-weight:700}.chat-bubble p{word-break:break-word;white-space:pre-wrap;font-size:.85rem}.chat-error{color:var(--danger);padding:0 12px;font-size:.75rem}.chat-input-row{border-top:1px solid var(--line);gap:8px;padding:10px 12px;display:flex}.chat-input-row input{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:999px;flex:1;padding:8px 12px;font-size:.85rem}.chat-input-row .button{padding:8px 16px;font-size:.8rem}.battle-log-note{color:var(--gold);text-align:center;font-size:.75rem}.boss-floor-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;margin-bottom:14px;display:grid}.boss-floor{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:6px 0;display:flex}.boss-floor small{font-size:.7rem}.boss-floor.cleared{color:var(--green)}.boss-floor.boss{border-color:var(--gold)}.boss-floor.current{color:var(--lime);border-color:var(--lime)}.boss-floor.selected{background:var(--panel2);box-shadow:0 0 0 2px var(--lime)}.boss-floor:disabled{opacity:.45}.boss-floor-card{flex-direction:column;gap:12px;margin-bottom:14px;display:flex}.boss-patterns{color:var(--muted);flex-direction:column;gap:6px;padding-left:18px;font-size:.82rem;display:flex}.boss-patterns strong{color:var(--danger)}.boss-rewards{color:var(--gold);font-size:.85rem;font-weight:700}.mail-actions{flex-wrap:wrap;gap:8px;display:flex}.mail-list{flex-direction:column;gap:10px;display:flex}.mail-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}.mail-card.unread{border-color:var(--lime)}.mail-card.claimed{opacity:.75}.mail-head{text-align:left;width:100%;color:var(--text);align-items:center;gap:10px;padding:12px 16px;display:flex}.mail-dot{background:0 0;border-radius:50%;flex-shrink:0;width:8px;height:8px}.mail-card.unread .mail-dot{background:var(--lime)}.mail-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.mail-gift,.mail-received{color:var(--gold);flex-shrink:0;font-size:.78rem}.mail-received{color:var(--green)}.mail-date{color:var(--muted);flex-shrink:0}.mail-body{flex-direction:column;gap:10px;padding:0 16px 14px 34px;display:flex}.mail-text{white-space:pre-wrap;word-break:break-word;font-size:.9rem}.mail-rewards{flex-wrap:wrap;gap:6px;display:flex}.mail-chip{background:var(--panel2);border:1px solid var(--line);color:var(--gold);border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:700}.mail-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.mail-expiry{color:var(--muted)}.mail-expiry.urgent{color:var(--danger)}.admin-mail{flex-direction:column;gap:14px;display:flex}.admin-mail-presets{flex-wrap:wrap;gap:8px;display:flex}.admin-field{flex-direction:column;gap:6px;display:flex}.admin-label{color:var(--muted);font-size:.82rem;font-weight:700}.admin-label small,.admin-hint{color:var(--muted);font-size:.75rem;font-weight:400}.admin-mail input,.admin-mail textarea{border:1px solid var(--line);background:var(--panel2);width:100%;color:var(--text);border-radius:10px;padding:9px 12px;font-family:inherit;font-size:.88rem}.admin-mail textarea{resize:vertical}.admin-amounts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.admin-search-row{gap:8px;display:flex}.admin-user-results{flex-direction:column;gap:6px;display:flex}.admin-user-result{background:var(--panel2);border:1px solid var(--line);color:var(--text);text-align:left;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex}.admin-user-result small{color:var(--muted);text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.admin-user-result span{color:var(--lime);font-size:.78rem}.admin-user-result:disabled{opacity:.55}.admin-chips{flex-wrap:wrap;gap:6px;display:flex}.admin-chip{background:var(--panel2);border:1px solid var(--lime);border-radius:999px;align-items:center;gap:6px;padding:3px 4px 3px 12px;font-size:.82rem;display:inline-flex}.admin-chip button{color:var(--muted);padding:0 6px}.admin-status{font-size:.85rem;font-weight:700}.admin-status.ok{color:var(--green)}.admin-status.error{color:var(--danger)}.admin-history{flex-direction:column;gap:8px;display:flex}.admin-history-row{background:var(--panel2);border-radius:12px;flex-direction:column;gap:6px;padding:10px 14px;display:flex}.admin-history-row>div{flex-direction:column;display:flex}.admin-history-row small{color:var(--muted)}.friend-chat-button{align-items:center;gap:6px;display:inline-flex}.friend-unread{background:var(--danger);color:#111b19;border-radius:999px;padding:0 7px;font-size:.7rem;font-weight:800;line-height:1.5}.friend-chat-card{flex-direction:column;gap:10px;width:420px;height:min(620px,100vh - 40px);padding:18px;display:flex}.friend-chat-header{color:var(--text);text-align:left;align-items:center;gap:10px;padding-right:28px;display:flex}.friend-chat-header small{color:var(--muted)}.friend-chat-messages{background:var(--bg);border:1px solid var(--line);border-radius:12px;min-height:0}.friend-chat-item{flex-direction:column;gap:10px;display:flex}.friend-chat-day{color:var(--muted);background:var(--panel);border-radius:999px;align-self:center;padding:2px 12px;font-size:.72rem}.friend-chat-card .chat-bubble{text-align:left;max-width:260px}.friend-chat-card .chat-bubble p{white-space:pre-wrap;word-break:break-word;font-size:.88rem}.friend-chat-card .chat-input-row{border-top:0;padding:0}.presence-wrap{flex-shrink:0;display:inline-flex;position:relative}.presence-dot{background:var(--muted);border:2px solid var(--panel);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.presence-dot.on{background:#5fd38a}.presence-text{color:var(--muted);font-size:.72rem}.presence-text.on{color:#5fd38a}.friend-chat-title{flex-direction:column;align-items:flex-start;display:flex}.chat-bubble-wrap{flex-direction:column;gap:3px;min-width:0;display:flex}.chat-message.me .chat-bubble-wrap{align-items:flex-end}.chat-bubble-button{cursor:pointer;text-align:left;color:inherit;border:0}.chat-message.me .chat-bubble-button{color:#111b19}.chat-bubble.deleted{border:1px dashed var(--line);color:var(--muted);background:0 0}.chat-message.me .chat-bubble.deleted{color:var(--muted);background:0 0}.chat-bubble.deleted p{font-style:italic}.friend-chat-card .chat-meta{color:var(--muted);gap:6px;font-size:.68rem;display:flex}.chat-read{color:var(--lime);font-weight:700}.chat-actions{gap:6px;display:flex}.chat-actions button{color:var(--muted);background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:.74rem}.chat-actions button:hover{color:var(--text)}.report-panel{background:var(--panel2);border:1px solid var(--danger);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.report-preview{color:var(--muted);white-space:pre-wrap;word-break:break-word;max-height:3.6em;font-size:.82rem;overflow:hidden}.report-reasons{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.report-reasons label{align-items:center;gap:6px;display:flex}.report-panel textarea{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);resize:none;border-radius:10px;padding:8px 10px;font-family:inherit;font-size:.85rem}.report-note{color:var(--muted)}.report-actions{justify-content:flex-end;gap:8px;display:flex}.push-toggle{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 14px;display:flex}.push-toggle small{color:var(--muted)}.push-on{color:var(--lime);font-size:.88rem;font-weight:700}.admin-check{cursor:pointer;align-items:center;gap:8px;font-size:.88rem;display:flex}.admin-check input{width:auto}.admin-check small{color:var(--muted)}.report-list{flex-direction:column;gap:12px;display:flex}.report-card{background:var(--panel2);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.report-card.open{border-color:var(--danger)}.report-card header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.report-card header small{color:var(--muted);margin-left:auto}.report-status.open{color:var(--danger)}.report-status.resolved{color:var(--green)}.report-status.dismissed{color:var(--muted)}.report-who{font-size:.88rem}.report-repeat{color:var(--danger)}.report-detail{color:var(--muted);font-size:.85rem}.report-context{background:var(--bg);border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;font-size:.82rem;display:flex}.report-line{color:var(--muted);gap:8px;display:flex}.report-line small{flex-shrink:0;min-width:70px}.report-line span{word-break:break-word;white-space:pre-wrap}.report-line.target{color:var(--text);background:#e08a8a26;border-radius:6px;padding:2px 6px;font-weight:700}.report-resolve{flex-wrap:wrap;gap:8px;display:flex}.report-resolve input{border:1px solid var(--line);background:var(--bg);min-width:140px;color:var(--text);border-radius:10px;flex:1;padding:8px 12px}.report-handled{color:var(--muted)}.notification-settings{border-top:1px dashed var(--line);flex-direction:column;gap:8px;margin-top:14px;padding-top:12px;display:flex}.notification-settings h3{font-size:.95rem}.notification-settings .push-toggle{margin:0}.notification-categories{flex-direction:column;gap:6px;display:flex}.notification-row{background:var(--panel2);border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex}.notification-row input{flex-shrink:0;width:18px;height:18px}.notification-row span{flex-direction:column;display:flex}.notification-row small,.notification-note{color:var(--muted);font-size:.74rem}.report-ban{color:var(--danger)}.report-ban-select{color:var(--muted);align-items:center;gap:6px;font-size:.8rem;display:flex}.report-ban-select select{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;padding:7px 10px}.ban-list{background:var(--panel2);border:1px solid var(--danger);border-radius:12px;flex-direction:column;gap:6px;margin-bottom:12px;padding:10px 12px;display:flex}.ban-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.ban-row span{flex-direction:column;display:flex}.ban-row small{color:var(--muted)}.boss-difficulty-row{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-bottom:12px;display:grid}.boss-difficulty{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;display:flex}.boss-difficulty strong{color:var(--text)}.boss-difficulty small{font-size:.74rem}.boss-difficulty.active{border-color:var(--lime);background:var(--panel2)}.boss-difficulty.active strong{color:var(--lime)}.boss-difficulty:disabled{opacity:.6}.survival-run{flex-direction:column;gap:12px;margin-bottom:14px;display:flex}.survival-run-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.survival-run-head h2 small{color:var(--muted);font-weight:400}.survival-hp{flex-direction:column;gap:4px;display:flex}.survival-run-stats{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:.85rem;display:flex}.survival-buffs{flex-wrap:wrap;gap:6px;display:flex}.survival-choices{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.survival-choice{background:var(--panel2);border:1px solid var(--line);color:var(--text);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;display:flex}.survival-choice:hover:not(:disabled){border-color:var(--lime)}.survival-choice-icon{font-size:1.6rem}.survival-choice small{color:var(--muted)}.survival-result{flex-direction:column;gap:12px;display:flex}.survival-stages{flex-direction:column;gap:4px;max-height:340px;display:flex;overflow-y:auto}.survival-stage{background:var(--panel2);color:var(--muted);text-align:left;border:1px solid #0000;border-radius:10px;grid-template-columns:40px 1fr auto 24px;align-items:center;gap:10px;padding:7px 12px;font-size:.82rem;display:grid}.survival-stage strong{color:var(--text)}.survival-stage.elite{border-color:var(--gold)}.survival-stage.lost{border-color:var(--danger);color:var(--danger)}.survival-stage.focused{background:var(--panel);box-shadow:0 0 0 1px var(--lime)}.survival-stage:disabled{cursor:default}.survival-stage-enemy small{color:var(--gold)}.boost-card .boost-offers{gap:8px;margin-top:auto;display:grid}.boost-card .upgrade-level.boost-on{color:var(--green);font-weight:700}.expedition-pity{gap:8px;margin-bottom:16px;display:grid}.expedition-pity p{margin:4px 0 0}.expedition-card .expedition-odds{flex-wrap:wrap;gap:6px 12px;font-weight:600;display:flex}.expedition-result-row{align-items:center;gap:16px;display:flex}.expedition-result-row img{object-fit:contain;width:72px;height:72px}.equip-set-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:16px;display:grid}.equip-set{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);opacity:.85;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.equip-set.active{opacity:1;box-shadow:inset 0 0 0 1px}.equip-set-items{gap:6px;font-size:1.3rem;display:flex}.equip-set-piece{filter:grayscale();opacity:.35}.equip-set-piece.have{filter:none;opacity:.6}.equip-set-piece.on{filter:none;opacity:1}.equip-shard-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.equip-shard-row small{color:var(--muted);flex:260px}.friend-chat-report-top{color:var(--danger);border:1px solid var(--danger);background:0 0;border-radius:999px;padding:3px 10px;font-size:.78rem;line-height:1.2;position:absolute;top:12px;right:46px}.friend-chat-report-top:hover{background:var(--danger);color:#fff}.friend-chat-card .friend-chat-header{padding-right:120px}.chat-report-link{color:var(--danger);cursor:pointer;opacity:.85;background:0 0;border:0;padding:2px 4px;font-size:.68rem}.chat-report-link:hover{opacity:1;text-decoration:underline}.habitat-badge .rename-btn{cursor:pointer;opacity:.8;background:0 0;border:0;margin-left:6px;padding:0 4px;font-size:.8rem;line-height:1}.habitat-badge .rename-btn:hover:not(:disabled){opacity:1}.habitat-badge.rename-form{align-items:center;gap:6px;display:inline-flex}.habitat-badge.rename-form input{width:9.5em;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:2px 8px}.habitat-badge.rename-form button{border:1px solid var(--line);background:var(--panel2);color:var(--text);cursor:pointer;border-radius:8px;padding:2px 8px;font-size:.78rem}.habitat-badge.rename-form .rename-save{border-color:var(--lime);color:var(--lime)}.market-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.lock-btn{color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:2px 8px;font-size:.78rem}.lock-btn:hover:not(:disabled){color:var(--text)}.lock-btn.on{color:var(--lime);border-color:var(--lime);font-weight:700}.boss-fight-buttons{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.duel-panel{gap:12px;display:grid}.duel-head{flex-wrap:wrap;justify-content:space-between;gap:6px;display:flex}.duel-status{flex-wrap:wrap;gap:6px;display:flex}.duel-status .duel-danger{color:var(--danger);border-color:var(--danger)}.duel-intent{border:1px solid var(--danger);background:var(--panel2);border-radius:12px;padding:10px 12px}.duel-intent p{margin:2px 0}.duel-actions{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.duel-action{text-align:left;color:var(--text);background:var(--panel2);border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;display:flex}.duel-action small{color:var(--muted);line-height:1.35}.duel-action:hover:not(:disabled){border-color:var(--lime)}.duel-action.unavailable,.duel-action:disabled{opacity:.55;cursor:not-allowed}.family-badge{white-space:nowrap;font-size:.72rem;display:inline-block}.family-badge.family-fire{color:#ff8a5c}.family-badge.family-forest{color:#6fcf6a}.family-badge.family-frost{color:#7cc4ff}.rules-banner{border:1px solid var(--line,#ffffff1f);background:var(--panel2);border-radius:12px;padding:10px 12px;font-size:.82rem}.rules-banner p{margin:2px 0}.rules-matchup{margin-right:8px;font-weight:700}.rules-matchup.advantage{color:var(--lime)}.rules-matchup.disadvantage{color:var(--danger)}.rules-mult b.up{color:var(--lime)}.rules-mult b.down{color:var(--danger)}.battle-pick-family{font-size:.7rem}.battle-pick-family.advantage:after{content:" ▲유리";color:var(--lime)}.battle-pick-family.disadvantage:after{content:" ▼불리";color:var(--danger)}.survival-stage-enemy .matchup-up{color:var(--lime)}.survival-stage-enemy .matchup-down{color:var(--danger)}.puzzle-panel{flex-direction:column;align-items:center;gap:12px;display:flex}.puzzle-status{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.puzzle-board{grid-template-columns:repeat(var(--puzzle-cols,8), 1fr);aspect-ratio:1;background:var(--panel2);border:2px solid var(--line,#ffffff1f);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:12px;width:min(100%,420px);display:grid;position:relative;overflow:hidden}.puzzle-board.locked{opacity:.85}.puzzle-cell{border:1px solid #ffffff0d;justify-content:center;align-items:center;font-size:clamp(1rem,5vw,1.6rem);display:flex}.puzzle-cell.rock{background:#00000040}.puzzle-cell.goal{background:#78c8502e}.puzzle-cell.start:after{content:"";border:2px dashed var(--muted);border-radius:50%;width:28%;height:28%}.puzzle-cell.visited{background:#7cc4ff1f}.puzzle-bug{pointer-events:none;justify-content:center;align-items:center;font-size:clamp(1.1rem,5.5vw,1.8rem);transition:left .18s ease-out,top .18s ease-out;display:flex;position:absolute}.puzzle-dpad{grid-template-columns:repeat(3,56px);grid-template-areas:".up.""left down right";gap:6px;display:grid}.puzzle-key{border:1px solid var(--line,#ffffff1f);background:var(--panel2);height:48px;color:inherit;cursor:pointer;border-radius:10px;font-size:1.3rem}.puzzle-key:disabled{opacity:.5;cursor:default}.puzzle-key.up{grid-area:up}.puzzle-key.left{grid-area:left}.puzzle-key.down{grid-area:down}.puzzle-key.right{grid-area:right}.puzzle-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.puzzle-moves{letter-spacing:.1em;word-break:break-all;text-align:center}.puzzle-result{border:1px solid var(--lime);background:var(--panel2);text-align:center;border-radius:12px;width:100%;padding:12px}.puzzle-result p{margin:4px 0}.puzzle-rewards{margin:6px 0;padding-left:18px}.puzzle-yesterday p{margin:4px 0}.puzzle-stages{grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:6px;margin-bottom:10px;display:grid}.puzzle-stage{border:1px solid var(--line,#ffffff1f);background:var(--panel2);color:inherit;cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;padding:6px 4px;display:flex}.puzzle-stage small{color:var(--muted);font-size:.68rem}.puzzle-stage.cleared{border-color:var(--lime)}.puzzle-stage.active{background:var(--panel);outline:2px solid var(--lime)}.puzzle-stage:disabled{opacity:.5;cursor:default}.runner-panel{flex-direction:column;gap:10px;display:flex}.runner-hud{flex-wrap:wrap;gap:6px;display:flex}.runner-stage{width:100%;position:relative}.runner-canvas{aspect-ratio:3;background:var(--panel2);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:12px;width:100%;display:block}.runner-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.runner-overlay>*{pointer-events:auto}.runner-start{padding:12px 22px;font-size:1.1rem}.runner-banner{color:#fff;pointer-events:none;background:#0000008c;border-radius:999px;padding:8px 14px;font-size:.9rem}.runner-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.runner-picker{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;margin-bottom:10px;display:grid}.runner-pick{background:var(--panel2);color:inherit;cursor:pointer;text-align:center;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:8px 6px;display:flex}.runner-pick img{object-fit:contain;width:52px;height:52px}.runner-pick small{color:var(--muted);font-size:.7rem;line-height:1.25}.runner-pick.active{border-color:var(--lime)}.runner-pick:disabled{opacity:.6;cursor:default}.ranking-species{flex-shrink:0;align-items:center;gap:5px;max-width:40%;display:flex}.ranking-species img{object-fit:contain;flex-shrink:0;width:30px;height:30px}.ranking-species small{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}@media (width<=520px){.ranking-species small{display:none}}.runner-jump{border:2px solid var(--lime);background:var(--panel2);width:100%;min-height:72px;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:16px;font-size:1.4rem;font-weight:800}.runner-jump.live{background:var(--lime);color:#111b19}.runner-jump:active:not(:disabled){transform:scale(.97)}.runner-jump:disabled{opacity:.6;cursor:default}@media (pointer:coarse){.runner-jump{min-height:88px;font-size:1.6rem}}.runner-canvas{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.ranking-limit{align-items:center;margin-bottom:8px}.ranking-limit-label{color:var(--muted);font-size:.82rem}.nav-new{letter-spacing:.04em;color:#14201c;background:var(--lime);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:.66rem;font-weight:700}.changelog-filters{flex-wrap:wrap}.changelog-day{margin-bottom:14px}.changelog-day-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.changelog-day-head h2{margin:0;font-size:1.05rem}.changelog-new{letter-spacing:.04em;color:#14201c;background:var(--lime);border-radius:999px;padding:2px 8px;font-size:.66rem;font-weight:700}.changelog-section{margin-top:10px}.changelog-section h3{color:var(--green);margin:0 0 6px;font-size:.86rem}.changelog-section.balance h3{color:var(--gold)}.changelog-section.fix h3{color:var(--danger)}.changelog-section ul{margin:0;padding-left:18px;font-size:.88rem;line-height:1.6}.changelog-section ul ul{color:var(--muted);margin-top:2px;font-size:.82rem}.changelog-section li+li{margin-top:3px}.changelog-section code{background:var(--panel2);border-radius:6px;padding:1px 6px;font-size:.82em}.decor-tint,.decor-props{pointer-events:none;position:absolute;inset:0}.decor-prop{filter:drop-shadow(1px 4px 4px #061b14a6);font-size:2.3rem;line-height:1;position:absolute}.decor-prop.slot-0{bottom:46px;left:6%}.decor-prop.slot-1{bottom:56px;left:28%}.decor-prop.slot-2{bottom:44px;left:55%}.decor-prop.slot-3{bottom:54px;left:80%}.decor-open-btn{color:var(--text);background:#111b19b3;border:1px solid #0000;border-radius:999px;padding:5px 12px;font-size:.78rem}.decor-open-btn:hover{border-color:var(--lime);color:var(--lime)}.decor-modal{width:640px}.decor-modal h2{margin:0 0 4px;font-size:1.2rem}.decor-sub{color:var(--muted);margin:0 0 12px;font-size:.82rem}.decor-preview{min-height:150px;margin-bottom:10px}.decor-preview .terrain-image{height:150px}.decor-bonus{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.decor-bonus span{background:var(--panel2);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:.74rem}.decor-bonus span.on{color:var(--lime);border-color:var(--lime)}.decor-slots{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px;display:grid}.decor-slot{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex}.decor-slot b{font-size:1.5rem;line-height:1.3}.decor-slot small{color:var(--muted);font-size:.7rem}.decor-slot.active{border-color:var(--lime);box-shadow:0 0 0 1px var(--lime) inset}.decor-list{flex-direction:column;gap:6px;max-height:280px;padding-right:4px;display:flex;overflow-y:auto}.decor-item{background:var(--panel2);border:1px solid var(--line);border-left:4px solid var(--muted);border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.decor-item.tier-rare{border-left-color:#7fb6e8}.decor-item.tier-epic{border-left-color:#c79bf0}.decor-item.placed{border-color:var(--lime)}.decor-item-icon{text-align:center;width:2rem;font-size:1.6rem}.decor-item-info{flex-direction:column;flex:1;min-width:0;display:flex}.decor-item-info small{color:var(--muted);font-size:.74rem}.decor-btn{background:var(--panel);border:1px solid var(--line);color:var(--text);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:.8rem}.decor-btn.primary{background:var(--lime);color:#14201c;border-color:var(--lime);font-weight:700}.decor-btn.buy{color:var(--gold);border-color:var(--gold)}.decor-btn:disabled{opacity:.45}.decor-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.decor-public{color:var(--muted);align-items:center;gap:8px;font-size:.8rem;display:flex}.creature.readonly{pointer-events:none}.creature.readonly:hover{transform:none}.visit-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.visit-hint{color:var(--muted);font-size:.78rem}.visit-owner{align-items:center;gap:12px;margin-bottom:10px;display:flex}.visit-owner h2{margin:0;font-size:1.1rem}.visit-owner h2 small{color:var(--muted);margin-left:4px;font-weight:400}.visit-owner p{color:var(--muted);margin:2px 0 0;font-size:.82rem}.visit-owner-side{flex-direction:column;align-items:flex-end;gap:6px;margin-left:auto;display:flex}.visit-notice{color:var(--muted);margin:0 0 10px;font-size:.8rem}.visit-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0 8px;display:flex}.like-btn{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:8px 18px;font-weight:600}.like-btn.liked{border-color:var(--danger);color:var(--danger)}.like-btn:disabled{opacity:.6}.decor-summary{flex-wrap:wrap;gap:6px;display:flex}.decor-summary.empty{color:var(--muted);font-size:.8rem}.decor-chip{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:.74rem}.decor-chip.bonus{color:var(--lime);border-color:var(--lime)}.visit-residents{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-bottom:16px;display:grid}.visit-resident{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-items:center;gap:8px;padding:6px 10px;display:flex}.visit-resident img{object-fit:contain;width:36px;height:36px}.visit-resident span{flex-direction:column;flex:1;min-width:0;display:flex}.visit-resident small{font-size:.7rem}.visit-liker{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:0 0;align-items:center;gap:8px;padding:8px 2px;font-size:.82rem;display:flex}.visit-liker span{flex:1}.visit-liker time{color:var(--muted);font-size:.74rem}.profile-visit{margin-top:14px}@media (width<=600px){.decor-modal{padding:16px}.decor-prop{font-size:1.8rem}.decor-slots{gap:5px}}.promo-modal{width:560px;padding:0;overflow-x:hidden}.promo-banner{text-align:center;background:radial-gradient(circle at 20% 0%, #c4ec8a47, transparent 55%), radial-gradient(circle at 85% 10%, #eac77f40, transparent 50%), var(--panel2);border-bottom:1px solid var(--line);padding:26px 20px 18px;position:relative}.promo-banner h2{color:var(--lime);margin:6px 0 4px;font-size:1.5rem}.promo-banner p{color:var(--muted);margin:0;font-size:.88rem}.promo-new{letter-spacing:.1em;color:#14201c;background:var(--gold);border-radius:999px;padding:3px 12px;font-size:.7rem;font-weight:800;display:inline-block}.promo-grid{flex-wrap:wrap;justify-content:center;gap:12px;padding:18px 16px 8px;display:flex}.promo-species{text-align:center;background:var(--panel2);border:1px solid var(--line);border-radius:14px;flex-direction:column;align-items:center;gap:4px;width:150px;padding:10px 8px 12px;display:flex}.promo-species strong{word-break:keep-all;font-size:.8rem;line-height:1.3}.promo-species.rarity-4{border-color:var(--rarity-color);box-shadow:0 0 18px -4px var(--rarity-color)}.promo-species.rarity-3{border-color:var(--rarity-color)}.promo-species-img{justify-content:center;align-items:center;width:108px;height:100px;display:flex}.promo-species-img img{object-fit:contain;filter:drop-shadow(1px 4px 4px #061b1499);max-width:100%;max-height:100%}.promo-rarity{font-size:.72rem;font-weight:700}.promo-actions{justify-content:flex-end;gap:10px;padding:12px 16px 16px;display:flex}@media (width<=600px){.promo-species{width:calc(50% - 8px)}.promo-actions{flex-direction:column-reverse}.promo-actions .button{width:100%}}.expedition-daily{color:var(--muted);font-size:.78rem}.expedition-daily.spent{color:var(--danger)}.weather-banner{border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(100deg, var(--panel2), var(--panel));align-items:center;gap:12px;margin-bottom:14px;padding:10px 16px;display:flex}.weather-banner.compact{margin-bottom:8px;padding:8px 14px}.weather-banner.unavailable{color:var(--muted);font-size:.85rem}.weather-banner.clear,.weather-banner.heat,.weather-banner.storm{border-color:#eaa0508c}.weather-banner.cloudy,.weather-banner.snow,.weather-banner.cold{border-color:#82beeb8c}.weather-banner.rain{border-color:#78c88c8c}.weather-icon{font-size:2rem;line-height:1}.weather-main{flex:1;min-width:0}.weather-main strong{font-size:.95rem}.weather-main strong small{color:var(--muted);margin-left:4px;font-weight:400}.weather-main p{color:var(--muted);margin:2px 0 6px;font-size:.8rem}.weather-effects{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.weather-chip{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:.74rem}.weather-chip.on{color:var(--lime);border-color:var(--lime)}.weather-explore-note{color:var(--muted);margin:0 0 10px;font-size:.8rem}.dungeon-head{margin-bottom:14px}.dungeon-hero{align-items:center;gap:14px;display:flex}.dungeon-hero img{object-fit:contain;width:72px;height:72px}.dungeon-hero>div{flex:1;min-width:0}.dungeon-hero small{color:var(--muted);font-weight:400}.dungeon-sub{color:var(--muted);margin:2px 0 6px;font-size:.8rem}.dungeon-chapter{justify-content:space-between;align-items:baseline;gap:8px;margin-top:12px;display:flex}.dungeon-chapter small{color:var(--muted);font-size:.78rem;font-weight:400}.dungeon-overall{background:var(--panel2);border:1px solid var(--line);border-radius:99px;height:6px;margin-top:6px;overflow:hidden}.dungeon-overall i{background:var(--gold);height:100%;display:block}.dungeon-track{gap:6px;margin-top:10px;display:flex}.dungeon-node{text-align:center;background:var(--panel2);border:1px solid var(--line);color:var(--muted);border-radius:8px;flex:1;padding:4px 0;font-size:.74rem}.dungeon-node.done{background:var(--lime);color:#14201c;border-color:var(--lime)}.dungeon-node.current{border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.dungeon-room-guardian{border:1px solid var(--gold);color:var(--gold);background:#ffc4001f;border-radius:10px;flex-direction:column;gap:2px;padding:6px 8px;font-size:.82rem;display:flex}.dungeon-room-guardian small{color:var(--muted);font-size:.72rem}.dungeon-guardian-card{align-items:center;gap:12px;margin:8px 0;display:flex}.dungeon-guardian-card img{object-fit:contain;width:56px;height:56px}.dungeon-guardian-pick summary{cursor:pointer;color:var(--gold);margin:8px 0}.dungeon-battle-mode{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.dungeon-battle-mode small{color:var(--muted);font-size:.78rem}.dungeon-relic-strip{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.dungeon-relic-mini{background:var(--panel2);border:1px solid var(--line);border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.2rem;display:inline-flex;position:relative}.dungeon-rooms{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.dungeon-room{text-align:left;background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;display:flex}.dungeon-room:hover:not(:disabled){border-color:var(--lime)}.dungeon-room.room-elite,.dungeon-room.room-boss{border-color:var(--danger)}.dungeon-room-icon{font-size:1.8rem}.dungeon-room small{color:var(--muted);font-size:.76rem}.dungeon-room-enemy{font-size:.78rem}.dungeon-room-enemy em{font-style:normal}.matchup-advantage{color:var(--lime)}.matchup-disadvantage{color:var(--danger)}.dungeon-room-env{color:var(--gold)}.dungeon-relics{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.dungeon-relic{text-align:left;background:var(--panel2);border:1px solid var(--line);border-left:4px solid var(--muted);color:var(--text);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}button.dungeon-relic:hover:not(:disabled){border-color:var(--lime)}.dungeon-relic.tier-rare{border-left-color:#7fb6e8}.dungeon-relic.tier-epic{border-left-color:#c79bf0}.dungeon-relic:disabled{opacity:.5}.dungeon-relic-icon{text-align:center;width:2.2rem;font-size:1.7rem}.dungeon-relic-text{flex-direction:column;flex:1;min-width:0;display:flex}.dungeon-relic-text small{color:var(--muted);font-size:.76rem}.dungeon-relic-count{background:var(--gold);color:#14201c;border-radius:99px;padding:0 4px;font-size:.62rem;line-height:1.35;position:absolute;bottom:-5px;right:-4px}.dungeon-relic-stack{color:var(--gold);font-size:.74rem;font-style:normal;font-weight:400}.dungeon-relic-extra{color:var(--gold);white-space:nowrap;font-size:.82rem}.dungeon-choices{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;display:grid}.dungeon-choice{text-align:left;background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.dungeon-choice small{color:var(--muted);font-size:.76rem}.dungeon-choice:disabled{opacity:.5}.dungeon-battle summary{cursor:pointer;font-size:.88rem}.dungeon-log p{color:var(--muted);margin:0 0 4px;font-size:.8rem}.dungeon-result{border-color:var(--lime);margin-bottom:14px}.dungeon-result.dead{border-color:var(--danger)}.dungeon-result h2{margin:0 0 4px}.dungeon-reward-row{flex-wrap:wrap;gap:10px;margin-top:8px;font-size:.86rem;display:flex}.dungeon-difficulty{flex-wrap:wrap}.dungeon-difficulty small{color:var(--muted);margin-left:4px}.dungeon-codex{flex-wrap:wrap;gap:6px;display:flex}.dungeon-codex-item{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:.76rem}.dungeon-codex-item.tier-rare{border-color:#7fb6e8}.dungeon-codex-item.tier-epic{border-color:#c79bf0}.dungeon-codex-item.unseen{color:var(--muted)}.rhythm-bar{border:1px solid var(--gold);background:#ffc40014;border-radius:14px;margin:10px 0;padding:12px}.rhythm-help{color:var(--muted);margin:0 0 8px;font-size:.82rem}.rhythm-track{background:var(--panel2);border:1px solid var(--line);cursor:pointer;touch-action:manipulation;border-radius:10px;height:34px;position:relative;overflow:hidden}.rhythm-zone{position:absolute;top:0;bottom:0}.rhythm-zone-good{background:#78c86438;left:25%;right:25%}.rhythm-zone-perfect{background:#ffc40073;left:45%;right:45%}.rhythm-marker{background:var(--text);border-radius:3px;width:6px;margin-left:-3px;position:absolute;top:0;bottom:0;left:0}.rhythm-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.rhythm-actions small{color:var(--muted);margin-left:auto}.rhythm-toggle{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.rhythm-toggle small{color:var(--muted);font-size:.78rem}.nav-group+.nav-group{margin-top:6px}.wanted-poster-head{align-items:center;gap:14px;display:flex}.wanted-poster-head img{object-fit:contain;width:84px;height:84px}.wanted-poster-head h2{margin:2px 0}.wanted-conditions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.wanted-condition{border-color:var(--gold);color:var(--gold)}.wanted-tiers{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:12px;display:grid}.wanted-tier{text-align:left;background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;display:flex}.wanted-tier.active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.wanted-tier.cleared{opacity:.6}.wanted-tier small{color:var(--muted);font-size:.76rem}.wanted-tier .wanted-bounty{color:var(--gold)}.battle-pick.unavailable{opacity:.45}.wanted-reason{color:var(--danger,#e57373);font-size:.72rem}.wanted-result{margin-bottom:12px}.wanted-result.won{border-color:var(--lime)}.wanted-milestones{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.wanted-claimed{border-color:var(--lime)}.wanted-locked{opacity:.55}.wanted-collection{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.wanted-card{background:var(--panel2);border:1px solid var(--line);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:8px;display:flex}.wanted-card img{object-fit:contain;width:56px;height:56px}.wanted-card small{color:var(--muted);font-size:.7rem}.underdog-opponent{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.underdog-opponent img{object-fit:contain;width:52px;height:52px}.underdog-opponent>div{flex:1;min-width:160px}.underdog-board{flex-direction:column;gap:4px;display:flex}.underdog-row{background:var(--panel2);border:1px solid var(--line);border-radius:10px;grid-template-columns:28px 36px 1fr auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.underdog-row.me{border-color:var(--gold)}.underdog-row img{object-fit:contain;width:32px;height:32px}.underdog-row small{color:var(--muted)}.underdog-points{text-align:right;font-weight:600}.runner-canvas.stack-canvas{aspect-ratio:600/380;max-height:70vh}.shop-products{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:12px;display:grid}.shop-field{flex-direction:column;gap:4px;margin:8px 0;font-size:.86rem;display:flex}.shop-field input[type=number]{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:8px;font-size:1rem}.shop-field small{color:var(--muted)}.shop-budget{margin-bottom:10px}.shop-over{color:var(--danger,#e57373)}.shop-actions{flex-wrap:wrap;gap:8px;display:flex}.shop-actions .button{flex:1;min-width:180px}.shop-table{border-collapse:collapse;width:100%;margin:8px 0;font-size:.84rem}.shop-table th,.shop-table td{border-bottom:1px solid var(--line);text-align:right;padding:6px 4px}.shop-table th:first-child,.shop-table td:first-child{text-align:left}.shop-neg{color:var(--danger,#e57373)}.shop-result.practice{border-style:dashed}.shop-played{border-color:var(--lime);margin-bottom:12px}.underdog-row.shop-row{grid-template-columns:28px 1fr auto}.quiz-timer{background:var(--panel2);border:1px solid var(--line);border-radius:99px;height:22px;margin:10px 0;position:relative;overflow:hidden}.quiz-timer i{background:var(--lime);height:100%;transition:width 50ms linear;display:block}.quiz-timer.urgent i{background:var(--danger,#e57373)}.quiz-timer span{justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:flex;position:absolute;inset:0}.quiz-frame{aspect-ratio:1;background:var(--panel2);border:1px solid var(--line);border-radius:16px;justify-content:center;align-items:center;width:min(100%,360px);margin:0 auto 12px;display:flex;position:relative;overflow:hidden}.quiz-frame img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%}.quiz-feedback{text-align:center;color:#fff;background:#0000008c;border-radius:10px;padding:6px 10px;font-weight:700;position:absolute;top:8px;left:8px;right:8px}.quiz-feedback.ok{background:#3ca050d9}.quiz-choices{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.quiz-choice{border:1px solid var(--line);background:var(--panel2);color:var(--text);text-align:left;border-radius:12px;padding:12px;font-size:.95rem}.quiz-choice kbd{background:var(--line);text-align:center;border-radius:6px;min-width:1.4em;margin-right:4px;padding:0 4px;font-size:.75rem;display:inline-block}.quiz-reveal{text-align:center;margin-bottom:10px}.quiz-reveal img{object-fit:contain;width:min(60%,220px)}.news-paper{border:1px solid var(--line);background:var(--panel);border-radius:16px;flex-direction:column;gap:14px;padding:16px;display:flex}.news-masthead{border-bottom:2px double var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;padding-bottom:8px;display:flex}.news-masthead h2{letter-spacing:.08em;margin:0}.news-masthead span{color:var(--muted);font-size:.8rem}.news-top h3{margin:4px 0 6px;font-size:1.35rem}.news-top p,.news-card p{white-space:pre-line;margin:0;line-height:1.55}.news-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.news-card{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px}.news-card h4{margin:4px 0 6px}.news-section{color:var(--gold);letter-spacing:.04em;font-size:.74rem;display:inline-block}.news-card.section-tip{border-style:dashed}.restore-hero{flex-direction:column;gap:12px;display:flex}.restore-stage{align-items:center;gap:14px;display:flex}.restore-stage h2,.restore-stage p{margin:0}.restore-stage p{color:var(--muted)}.restore-icon{font-size:2.6rem;line-height:1}.restore-gauge{background:var(--panel2);border:1px solid var(--line);border-radius:999px;height:22px;margin:8px 0 22px;position:relative}.restore-fill{background:linear-gradient(90deg, #6fbf73, var(--gold));border-radius:999px;height:100%;transition:width .4s}.restore-mark{background:var(--line);width:2px;position:absolute;top:-3px;bottom:-3px}.restore-mark.reached{background:var(--gold)}.restore-mark i{color:var(--muted);white-space:nowrap;margin-top:3px;font-size:.7rem;font-style:normal;position:absolute;top:100%;left:50%;transform:translate(-50%)}.restore-numbers,.restore-counts,.restore-today,.restore-rules{margin:0}.restore-counts,.restore-rules{color:var(--muted);font-size:.82rem}.restore-columns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.restore-rewards{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.restore-rewards li{background:var(--panel2);border:1px solid var(--line);opacity:.7;border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.restore-rewards li.reached{opacity:1;border-color:var(--gold)}.restore-rewards li.claimed{opacity:.55}.restore-reward-text{color:var(--muted);font-size:.82rem}.restore-board{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.restore-board li{background:var(--panel2);border-radius:8px;grid-template-columns:56px 1fr auto;gap:8px;padding:6px 10px;display:grid}.restore-board li.me{outline:1px solid var(--gold)}.seasonal-banners{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.seasonal-banner{border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(100deg, var(--panel2), var(--panel));align-items:center;gap:12px;padding:10px 16px;display:flex}.seasonal-banner.family-fire,.seasonal-event.family-fire{border-color:#eaa0508c}.seasonal-banner.family-forest,.seasonal-event.family-forest{border-color:#78c88c8c}.seasonal-banner.family-frost,.seasonal-event.family-frost{border-color:#82beeb8c}.seasonal-icon{font-size:1.8rem;line-height:1}.seasonal-main{flex:1;min-width:0}.seasonal-main small{color:var(--muted);margin-left:6px;font-weight:400}.seasonal-chips{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.seasonal-flavor,.seasonal-effect,.seasonal-note{margin:4px 0}.seasonal-note{color:var(--muted);font-size:.82rem}.seasonal-gift{background:var(--panel2);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;padding:10px 12px;display:flex}.seasonal-sub{margin:12px 0 6px}.seasonal-decor,.seasonal-calendar{flex-direction:column;gap:6px;margin:6px 0;padding:0;list-style:none;display:flex}.seasonal-decor li{background:var(--panel2);border:1px solid var(--line);border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.seasonal-decor-icon{font-size:1.6rem}.seasonal-decor-info{flex-direction:column;min-width:0;display:flex}.seasonal-decor-info small{color:var(--muted)}.seasonal-calendar li{background:var(--panel2);border-radius:8px;grid-template-columns:1.2fr 1.4fr .8fr auto;gap:8px;padding:6px 10px;display:grid}.seasonal-calendar li.past{opacity:.55}.seasonal-calendar li.active{outline:1px solid var(--gold)}.seasonal-state{color:var(--muted);font-size:.82rem}@media (width<=640px){.seasonal-calendar li{grid-template-columns:1fr 1fr}}.fortune-banner{border-radius:var(--radius);background:linear-gradient(100deg, var(--panel2), var(--panel));border:1px dashed #b48ce699;align-items:center;gap:12px;margin-bottom:14px;padding:10px 16px;display:flex}.fortune-card{text-align:center;padding:24px 16px}.fortune-ready,.fortune-result{flex-direction:column;align-items:center;gap:10px;display:flex}.fortune-orb,.fortune-grade-icon{font-size:3.4rem;line-height:1}.fortune-result h2,.fortune-result p,.fortune-ready p{margin:0}.fortune-line{font-size:1.05rem;line-height:1.5}.fortune-chips{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.fortune-effects,.fortune-reward,.fortune-note{color:var(--muted);font-size:.88rem}.fortune-note{margin:8px 0 0}.fortune-card.shaking .fortune-orb{animation:.7s ease-in-out fortune-shake}@keyframes fortune-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-14deg)scale(1.1)}40%{transform:rotate(12deg)scale(1.1)}60%{transform:rotate(-10deg)scale(1.05)}80%{transform:rotate(8deg)}}.fortune-card.grade-great{border-color:var(--gold)}.fortune-dots{gap:8px;margin:8px 0;display:flex}.fortune-dots span{border:1px solid var(--line);background:var(--panel2);border-radius:50%;width:22px;height:22px}.fortune-dots span.on{background:var(--gold);border-color:var(--gold)}.fortune-grades{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.fortune-grades li{background:var(--panel2);border-radius:8px;grid-template-columns:1fr 60px 1.6fr 1.4fr;gap:8px;padding:6px 10px;display:grid}.fortune-grades li.mine{outline:1px solid var(--gold)}@media (width<=640px){.fortune-grades li{grid-template-columns:1fr 1fr}}.auction-clock{color:var(--muted);margin:0 0 12px}.auction-lots{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:12px;display:grid}.auction-lot{flex-direction:column;gap:8px;display:flex}.auction-lot.leading{border-color:var(--gold)}.auction-head{align-items:center;gap:12px;display:flex}.auction-head h3{margin:0 0 4px}.auction-icon{font-size:2.4rem;line-height:1}.auction-desc,.auction-price,.auction-note,.auction-mine{margin:0}.auction-desc,.auction-note{color:var(--muted);font-size:.85rem}.auction-mine.leading{color:var(--gold)}.auction-mine.outbid{color:var(--danger)}.auction-bid{flex-wrap:wrap;gap:6px;display:flex}.auction-bid input{border:1px solid var(--line);background:var(--panel2);min-width:0;color:inherit;border-radius:8px;flex:120px;padding:8px 10px}.auction-history,.auction-results,.auction-pending ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.auction-history li,.auction-results li{background:var(--panel2);border-radius:6px;justify-content:space-between;gap:8px;padding:4px 8px;font-size:.85rem;display:flex}.auction-history li.me{outline:1px solid var(--gold)}.dungeon-supplies ul{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.dungeon-supplies li{background:var(--panel2);border:1px solid var(--line);border-radius:10px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.dungeon-supply-icon{font-size:1.5rem}.dungeon-supply-info{flex-direction:column;min-width:0;display:flex}.dungeon-supply-info small,.dungeon-supply-price{color:var(--muted);font-size:.82rem}.dungeon-supply-step{align-items:center;gap:8px;display:inline-flex}.dungeon-supply-total{color:var(--muted);margin:4px 0 0}.dungeon-supply-total.short{color:var(--danger)}.dungeon-supply-bar{flex-wrap:wrap;gap:8px;margin:6px 0 10px;display:flex}.dungeon-preview{border:1px dashed var(--line);background:var(--panel2);border-radius:10px;flex-direction:column;gap:4px;margin:0 0 10px;padding:8px 10px;list-style:none;display:flex}.dungeon-preview li{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (width<=640px){.dungeon-supplies li{grid-template-columns:auto 1fr}}.dungeon-lab ul{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.dungeon-lab li{background:var(--panel2);border:1px solid var(--line);border-radius:10px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.dungeon-lab li.maxed{border-color:var(--gold)}@media (width<=640px){.dungeon-lab li{grid-template-columns:auto 1fr}}.skilllab-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;display:grid}.skilllab-family ul{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.skilllab-family li{background:var(--panel2);border:1px solid var(--line);border-radius:10px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.skilllab-family li.maxed{border-color:var(--gold)}.skilllab-family.family-fire{border-color:#eaa0508c}.skilllab-family.family-forest{border-color:#78c88c8c}.skilllab-family.family-frost{border-color:#82beeb8c}@media (width<=640px){.skilllab-family li{grid-template-columns:auto 1fr}}.engrave-totals{flex-wrap:wrap;gap:8px;margin:8px 0;padding:0;list-style:none;display:flex}.engrave-totals li{border:1px solid var(--line);background:var(--panel2);color:var(--muted);border-radius:999px;padding:6px 12px}.engrave-totals li.on{color:inherit;border-color:var(--gold)}.engrave-kinds ul{color:var(--muted);flex-direction:column;gap:4px;margin:8px 0 0;padding-left:18px;font-size:.85rem;display:flex}.engrave-items{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:12px;display:grid}.engrave-item{flex-direction:column;gap:8px;display:flex}.engrave-item.equipped{border-color:var(--gold)}.engrave-head{align-items:center;gap:12px;display:flex}.engrave-head h3{margin:0 0 4px}.engrave-icon{font-size:2.2rem;line-height:1}.engrave-current,.engrave-pending p{margin:0}.engrave-pending{border:1px dashed var(--gold);background:var(--panel2);border-radius:10px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.engrave-actions{gap:8px;display:flex}.manager-current.working{border-color:var(--gold)}.manager-effects{flex-direction:column;gap:4px;margin:8px 0;padding:0;list-style:none;display:flex}.manager-wage,.manager-note{margin:6px 0}.manager-note{color:var(--muted);font-size:.85rem}.manager-grades{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:12px 0;display:grid}.manager-grade{flex-direction:column;gap:6px;display:flex}.manager-grade.mine{border-color:var(--gold)}.manager-grade p{margin:0}.manager-head{align-items:center;gap:10px;display:flex}.manager-head h3{margin:0}.manager-icon{font-size:2rem;line-height:1}.exhibit-shelf{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:10px 0;display:grid}.exhibit-card{border:1px solid var(--line);background:var(--panel2);color:inherit;font:inherit;text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;display:flex}button.exhibit-card{cursor:pointer}.exhibit-card img{object-fit:contain;width:56px;height:56px}.exhibit-card.tier-2{border-color:#b8c2cc}.exhibit-card.tier-3{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.exhibit-card.tier-4{background:linear-gradient(160deg, var(--panel2), #c6a46a2e);border-color:#c6a46a}.exhibit-tier{color:var(--muted);font-size:.78rem}.exhibit-shelf-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.exhibit-shelf-actions small{color:var(--muted)}.exhibit-list{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.exhibit-list li{background:var(--panel2);border:1px solid var(--line);border-radius:10px;grid-template-columns:44px 1fr auto auto;align-items:center;gap:10px;padding:6px 10px;display:grid}.exhibit-list li.shown{border-color:var(--gold)}.exhibit-thumb img{object-fit:contain;width:40px;height:40px}.exhibit-info{flex-direction:column;min-width:0;display:flex}.exhibit-info small{color:var(--muted)}@media (width<=640px){.exhibit-list li{grid-template-columns:44px 1fr}}.merchant-today{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.merchant-chip{border:1px solid var(--line);background:var(--panel2);border-radius:999px;padding:6px 12px}.merchant-items{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;display:grid}.merchant-item{flex-direction:column;gap:6px;display:flex}.merchant-item.verdict-sale{border-color:var(--gold)}.merchant-item.sold{opacity:.6}.merchant-head{align-items:center;gap:12px;display:flex}.merchant-head h3{margin:0 0 4px}.merchant-icon{font-size:2.2rem;line-height:1}.merchant-desc,.merchant-price,.merchant-verdict,.merchant-limit{margin:0}.merchant-desc,.merchant-limit,.merchant-price small{color:var(--muted);font-size:.85rem}.merchant-verdict.sale,.merchant-verdict.cheap{color:var(--gold)}.merchant-verdict.pricey{color:var(--danger)}.merchant-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.awaken-list{flex-direction:column;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.awaken-list li{background:var(--panel2);border:1px solid var(--line);border-radius:12px;grid-template-columns:52px 1fr auto auto;align-items:center;gap:12px;padding:8px 12px;display:grid}.awaken-list li.ready{border-color:var(--gold)}.awaken-thumb img{object-fit:contain;width:46px;height:46px}.awaken-info{flex-direction:column;gap:3px;min-width:0;display:flex}.awaken-info small,.awaken-cost{color:var(--muted);font-size:.82rem}.awaken-stars,.battle-pick-stars{color:var(--gold)}.awaken-progress{background:var(--panel);border-radius:999px;height:5px;display:block;overflow:hidden}.awaken-progress i{background:var(--gold);height:100%;display:block}@media (width<=640px){.awaken-list li{grid-template-columns:52px 1fr}}
