:root{--bg-void:#0a0b0f;--bg-panel:#15171d;--bg-raised:#1c1f27;--border-soft:#262a33;--hp:#ff4d6d;--hp-deep:#c71f45;--ember:#ff6b35;--ember-deep:#c23f1d;--mint:#5eead4;--gold:#ffd166;--signal-blue:#4fa8ff;--text-primary:#eceae5;--text-dim:#767c87;--text-faint:#454952}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(circle at 50% 0%, #ff6b351a, transparent 55%), var(--bg-void);min-height:100vh;color:var(--text-primary);justify-content:center;align-items:flex-start;padding:28px 12px 60px;font-family:Noto Sans JP,system-ui,sans-serif;display:flex}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.frame{background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:22px;width:100%;max-width:420px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ff6b350f,0 30px 60px -20px #000000b3,0 0 80px -30px #ff6b3538}.topbar{border-bottom:1px solid var(--border-soft);background:linear-gradient(#ff6b3512,#0000);align-items:center;gap:10px;padding:14px 16px 12px;display:flex}.logo-mark{flex-shrink:0;width:28px;height:28px}.title-block{flex-direction:column;flex:1;gap:1px;display:flex}.game-title{letter-spacing:.02em;background:linear-gradient(90deg, var(--ember), var(--mint));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:17px;font-weight:900}.game-sub{letter-spacing:.12em;color:var(--text-dim);text-transform:uppercase;font-size:9px}.stats{border-bottom:1px solid var(--border-soft);flex-direction:column;gap:9px;padding:12px 16px;display:flex}.stat-row{align-items:center;gap:9px;display:flex}.stat-icon{text-align:center;flex-shrink:0;width:16px;font-size:12px}.stat-label{color:var(--text-dim);flex-shrink:0;width:52px;font-size:10.5px}.bar-track{background:var(--bg-raised);border:1px solid var(--border-soft);border-radius:5px;flex:1;height:9px;overflow:hidden}.bar-fill{border-radius:5px;height:100%;transition:width .5s}.bar-fill.hp{background:linear-gradient(90deg, var(--hp-deep), var(--hp))}.bar-fill.opinion{background:linear-gradient(90deg, #ffb800, var(--ember), var(--ember-deep))}.stat-value{text-align:right;flex-shrink:0;width:60px;font-size:10.5px}.meta-row{justify-content:space-between;align-items:center;margin-top:2px;display:flex}.pill-stat{align-items:center;gap:6px;display:flex}.pill-stat .num{font-size:16px;font-weight:700}.pill-stat .num.followers{color:var(--mint)}.pill-stat .num.gold{color:var(--gold)}.pill-stat .label{color:var(--text-dim);font-size:9.5px}.level-badge{background:var(--bg-raised);border:1px solid var(--border-soft);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;display:flex}.level-badge .lv-num{color:var(--ember);font-size:14px;font-weight:900}.level-badge .lv-label{color:var(--text-dim);font-size:9.5px}.level-badge .lv-next{color:var(--text-faint);margin-left:2px;font-size:8.5px}.mode-banner{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px;margin:12px 16px 0;font-size:10px;display:flex}.mode-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.mode-dot.hub{background:var(--text-dim)}.mode-dot.dive{background:var(--gold);box-shadow:0 0 6px var(--gold)}.mode-dot.pvp{background:var(--hp);box-shadow:0 0 6px var(--hp)}.hub-panel{flex-direction:column;gap:10px;padding:16px;display:flex}.hub-card{background:var(--bg-raised);border:1px solid var(--border-soft);cursor:pointer;text-align:left;color:var(--text-primary);border-radius:14px;align-items:center;gap:12px;width:100%;padding:16px;font-family:inherit;display:flex}.hub-card:hover{border-color:var(--ember)}.hub-card:disabled{opacity:.5;cursor:not-allowed}.hub-card .hub-icon{flex-shrink:0;font-size:26px}.hub-card .hub-text{flex:1;min-width:0}.hub-card .hub-title{margin-bottom:2px;font-size:14px;font-weight:700}.hub-card .hub-desc{color:var(--text-dim);font-size:10.5px;line-height:1.5}.hub-card.dive .hub-title{color:var(--gold)}.hub-card.pvp .hub-title{color:var(--hp)}.hub-card.boss .hub-title{color:var(--signal-blue)}.login-body{padding:20px 16px 24px}.login-body h1{background:linear-gradient(90deg, var(--ember), var(--mint));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 4px;font-size:22px}.login-body .sub{color:var(--text-dim);margin-bottom:20px;font-size:11px}.login-body label{color:var(--text-dim);margin-top:12px;margin-bottom:4px;font-size:11px;display:block}.login-body input{background:var(--bg-raised);border:1px solid var(--border-soft);width:100%;color:var(--text-primary);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px}.login-body input:focus{border-color:var(--ember);outline:none}.login-body button{background:linear-gradient(90deg, var(--gold), var(--ember));color:#1a0b05;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:20px;padding:12px;font-family:inherit;font-size:14px;font-weight:700}.login-body button:disabled{opacity:.5;cursor:not-allowed}.login-body .err{color:var(--hp);min-height:16px;margin-top:12px;font-size:12px}.loading{text-align:center;color:var(--text-dim);padding:24px;font-size:12px}.title-frame{padding:0}.title-hero{background:linear-gradient(#ff6b351a,#0000 70%);flex-direction:column;align-items:center;gap:18px;padding:56px 20px 44px;display:flex}.title-logo{filter:drop-shadow(0 0 18px #ff6b3559);width:68px;height:68px}.title-name{letter-spacing:.02em;background:linear-gradient(90deg, var(--ember), var(--mint));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:34px;font-weight:900}.title-start{background:linear-gradient(90deg, var(--gold), var(--ember));color:#1a0b05;letter-spacing:.04em;cursor:pointer;border:none;border-radius:12px;margin-top:8px;padding:13px 40px;font-family:inherit;font-size:15px;font-weight:800;box-shadow:0 8px 24px -8px #ff6b3580}.title-start:active{transform:translateY(1px)}.trend-feed{border-top:1px solid var(--border-soft);background:#0a0b0f80;padding:12px 0 14px}.trend-label{letter-spacing:.14em;color:var(--text-dim);text-transform:uppercase;padding:0 16px 8px;font-size:10px}.trend-window{height:108px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.trend-track{flex-direction:column;animation-name:trend-scroll;animation-timing-function:linear;animation-iteration-count:infinite;display:flex}.trend-item{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #262a3380;padding:7px 16px;font-size:12px;line-height:1.4;overflow:hidden}@keyframes trend-scroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@media (prefers-reduced-motion:reduce){.trend-track{animation:none}}.note{max-width:420px;color:var(--text-faint);text-align:center;margin:14px auto 0;padding:0 8px;font-size:11px;line-height:1.6}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.dive-body,.dive-result{text-align:center;padding:20px 16px}.dive-body{border:1px dashed var(--border-soft);border-radius:14px;margin:14px 16px}.dive-floor-num,.result-title{color:var(--gold);margin-bottom:6px;font-size:20px;font-weight:900}.result-title{color:var(--text-primary)}.dive-desc,.result-desc{color:var(--text-dim);margin-bottom:14px;font-size:11.5px;line-height:1.6}.dive-rec{color:var(--text-faint);margin-bottom:14px;font-size:10px}.dive-rec.warn{color:var(--hp)}.dive-btns{gap:8px;margin-top:12px;display:flex}.btn-cancel{border:1px solid var(--border-soft);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:11px;padding:12px 14px;font-family:inherit;font-size:12px}.btn-dive{background:linear-gradient(90deg, var(--gold), var(--ember));color:#1a0b05;cursor:pointer;border:none;border-radius:11px;flex:1;padding:12px;font-family:inherit;font-size:13px;font-weight:700}.result-icon{margin-bottom:4px;font-size:32px}.result-rewards{flex-direction:column;gap:8px;margin:14px 0;display:flex}.reward-row{background:var(--bg-raised);border:1px solid var(--border-soft);color:var(--text-dim);border-radius:10px;justify-content:space-between;align-items:center;padding:9px 12px;font-size:12px;display:flex}.reward-row .mono{font-weight:700}.item-drop{text-align:center;border:1px solid var(--border-soft);background:var(--bg-raised);border-radius:14px;margin-top:8px;padding:14px}.item-drop.rarity-common{border-color:var(--text-dim)}.item-drop.rarity-rare{border-color:var(--mint);box-shadow:0 0 16px #5eead42e}.item-drop.rarity-epic{border-color:var(--gold);box-shadow:0 0 20px #ffd16640}.item-drop.rarity-cursed{border-color:#a855f7;box-shadow:0 0 16px #a855f740}.drop-icon{margin-bottom:4px;font-size:30px}.drop-rarity{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:3px;font-size:10px}.item-drop.rarity-rare .drop-rarity{color:var(--mint)}.item-drop.rarity-epic .drop-rarity{color:var(--gold)}.item-drop.rarity-cursed .drop-rarity{color:#a855f7}.drop-name{margin-bottom:2px;font-size:13.5px;font-weight:700}.drop-effect{color:var(--text-dim);font-size:10.5px}.drop-flavor{color:var(--text-faint);margin-top:6px;font-size:10px;font-style:italic}.drop-stack{color:var(--ember);margin-left:6px;font-size:10px;font-weight:700}.enemy-card{background:var(--bg-raised);border:1px solid var(--border-soft);border-radius:14px;align-items:center;gap:12px;margin:14px 16px;padding:14px;display:flex}.enemy-avatar{background:var(--bg-void);border:1px solid var(--border-soft);width:44px;height:44px;color:var(--text-dim);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.enemy-info{flex:1;min-width:0}.enemy-name{font-size:13px;font-weight:700}.enemy-handle{color:var(--text-dim);margin-bottom:6px;font-size:10px}.enemy-hp{margin-bottom:3px}.enemy-hp-num{color:var(--text-dim);font-size:10px}.enemy-lv{background:var(--bg-void);border:1px solid var(--border-soft);color:var(--hp);border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:700}.battle-stats{border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);flex-direction:column;gap:7px;padding:8px 16px;display:flex}.battle-log{flex-direction:column;gap:4px;min-height:130px;max-height:160px;padding:10px 16px;font-size:11.5px;line-height:1.5;display:flex;overflow-y:auto}.log-line{border-radius:6px;padding:3px 8px}.log-system{color:var(--text-dim);padding-left:12px;font-style:italic}.log-player{color:var(--mint);background:#5eead40f}.log-enemy{color:var(--hp);background:#ff4d6d0f}.log-crowd{color:var(--ember);letter-spacing:.02em;background:#ff6b350f}.action-panel{grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px 16px;display:grid}.act-btn{background:var(--bg-raised);border:1px solid var(--border-soft);color:var(--text-primary);cursor:pointer;text-align:center;border-radius:11px;padding:10px 8px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.3}.act-btn:hover:not(:disabled){border-color:var(--ember)}.act-btn:disabled{opacity:.4;cursor:not-allowed}.act-desc{color:var(--text-dim);margin-top:3px;font-size:9.5px;font-weight:400;display:block}.auto-toggle-row{justify-content:flex-end;padding:4px 16px 0;display:flex}.auto-toggle{background:var(--bg-raised);border:1px solid var(--border-soft);color:var(--text-dim);cursor:pointer;border-radius:999px;padding:5px 12px;font-family:inherit;font-size:11px;font-weight:700}.auto-toggle:hover{border-color:var(--ember)}.auto-toggle.auto-on{color:#fff;border-color:var(--ember);background:linear-gradient(90deg, var(--ember), var(--ember-deep))}.waiting{text-align:center;color:var(--text-dim);padding:20px;font-size:12px}.ignite-prompt{background:linear-gradient(180deg, #ff6b3526, var(--bg-raised));border:1px solid var(--ember);text-align:center;border-radius:14px;margin:14px 16px 16px;padding:16px;box-shadow:0 0 24px #ff6b354d}.ignite-title{color:var(--ember);margin-bottom:6px;font-size:16px;font-weight:900}.ignite-desc{color:var(--text-dim);margin-bottom:14px;font-size:11px;line-height:1.6}.ignite-btns{gap:8px;display:flex}.levelup-banner{border:1px solid var(--gold);color:var(--gold);text-align:center;background:linear-gradient(90deg,#5eead426,#ffd16626);border-radius:10px;margin:8px 0 12px;padding:10px;font-size:12px;font-weight:700;box-shadow:0 0 16px #ffd16640}.levelup-banner b{color:var(--mint);font-size:14px}.back-btn,.reroll-btn{background:var(--bg-raised);border:1px solid var(--border-soft);width:30px;height:30px;color:var(--text-primary);cursor:pointer;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:15px;line-height:1;display:flex}.back-btn:hover,.reroll-btn:hover{border-color:var(--ember)}.reroll-btn:disabled{opacity:.4;cursor:not-allowed}.pvp-list{flex-direction:column;gap:10px;padding:16px;display:flex}.pvp-card{background:var(--bg-raised);border:1px solid var(--border-soft);cursor:pointer;text-align:left;color:var(--text-primary);border-radius:14px;align-items:center;gap:12px;width:100%;padding:14px;font-family:inherit;display:flex}.pvp-card:hover{border-color:var(--hp)}.pvp-avatar{background:var(--bg-void);border:1px solid var(--border-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.pvp-info{flex:1;min-width:0}.pvp-name{margin-bottom:1px;font-size:14px;font-weight:700}.pvp-handle{color:var(--text-dim);margin-bottom:5px;font-size:10px}.pvp-meta{color:var(--text-dim);font-size:11px}.pvp-cta{color:var(--text-faint);flex-shrink:0;font-size:22px;line-height:1}.pvp-admin-wrap{padding:16px 16px 0}.pvp-card.admin{cursor:not-allowed;opacity:.8;border-color:var(--gold);background:linear-gradient(180deg, #ffd1660f, var(--bg-raised))}.pvp-card.admin:hover,.pvp-avatar.admin{border-color:var(--gold)}.verified-badge{background:var(--signal-blue);color:#fff;vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;margin-left:5px;font-size:9px;font-weight:900;line-height:1;display:inline-flex}.pvp-tagline{color:var(--text-dim);margin:3px 0 4px;font-size:10.5px;line-height:1.5}.pvp-meta.admin-note{color:var(--gold);opacity:.85}.empty-note,.error-note{text-align:center;padding:40px 24px;font-size:12px;line-height:1.7}.empty-note{color:var(--text-dim)}.error-note{color:var(--hp)}.overlay{z-index:100;background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:22px;flex-direction:column;width:calc(100% - 24px);max-width:420px;max-height:85vh;padding:18px 16px 16px;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ff6b350f,0 30px 60px -20px #000000b3,0 0 80px -30px #ff6b3538}.overlay:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000009e;position:fixed;inset:0}.overlay-title{margin-bottom:4px;font-size:16px;font-weight:900}.overlay-sub{color:var(--text-dim);margin-bottom:12px;font-size:11px}.shop-list,.inv-list{flex-direction:column;flex:1;gap:9px;min-height:0;margin-bottom:14px;display:flex;overflow-y:auto}.shop-item,.inv-item{background:var(--bg-raised);border:1px solid var(--border-soft);border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.shop-icon{text-align:center;flex-shrink:0;width:32px;font-size:26px}.shop-info,.inv-info{flex:1;min-width:0}.shop-name,.inv-name{margin-bottom:2px;font-size:13.5px;font-weight:700}.shop-desc{color:var(--text-dim);font-size:10.5px;line-height:1.5}.shop-buy{background:linear-gradient(90deg, var(--gold), var(--ember));color:#1a0b05;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;padding:9px 14px;font-size:12px;font-weight:700}.shop-buy:disabled{background:var(--bg-void);border:1px solid var(--border-soft);color:var(--text-faint);cursor:not-allowed}.shop-close{border:1px solid var(--border-soft);width:100%;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:11px;flex-shrink:0;padding:12px;font-family:inherit;font-size:12px}.shop-close:hover{border-color:var(--ember);color:var(--text-primary)}.inv-count{color:var(--ember);font-size:12px;font-weight:700}.inv-effect{color:var(--text-dim);font-size:10.5px;line-height:1.5}.inv-capped{color:var(--text-faint)}.inv-flavor{color:var(--text-faint);margin-top:5px;font-size:10px;font-style:italic;line-height:1.5}.inv-empty{text-align:center;color:var(--text-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;margin-bottom:14px;padding:40px 24px;font-size:12px;line-height:1.8;display:flex}.inv-item.rarity-common{border-color:var(--text-dim)}.inv-item.rarity-rare{border-color:var(--mint);box-shadow:0 0 12px #5eead424}.inv-item.rarity-epic{border-color:var(--gold);box-shadow:0 0 14px #ffd1662e}.inv-item.rarity-cursed{border-color:#a855f7;box-shadow:0 0 12px #a855f72e}.inv-item.rarity-rare .inv-name{color:var(--mint)}.inv-item.rarity-epic .inv-name{color:var(--gold)}.inv-item.rarity-cursed .inv-name{color:#a855f7}.inv-item .drop-icon{text-align:center;flex-shrink:0;width:32px;margin-bottom:0;font-size:26px}
