:root{--bg: #050814;--bg-deep: #02040c;--panel: rgba(12, 18, 34, .94);--panel-soft: rgba(18, 27, 49, .92);--panel-bright: rgba(25, 38, 67, .9);--line: rgba(255, 218, 97, .28);--line-strong: rgba(255, 218, 97, .7);--text: #f6f1dc;--muted: #aeb8ca;--gold: #ffd85a;--gold-deep: #d99d25;--blue: #58a7ff;--green: #6ee7a8;--red: #ff7d8b;--radius-lg: 24px;--radius-md: 18px;--radius-sm: 12px;--shadow: 0 18px 44px rgba(0, 0, 0, .45);--inner-glow: inset 0 1px 0 rgba(255, 255, 255, .08);color:var(--text);background:var(--bg);font-family:Hiragino Sans,Yu Gothic,Meiryo,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-synthesis:none;line-height:1.65;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100svh;background:radial-gradient(circle at 50% -10%,rgba(255,216,90,.14),transparent 28rem),radial-gradient(circle at 8% 20%,rgba(88,167,255,.18),transparent 26rem),radial-gradient(circle at 92% 70%,rgba(110,231,168,.12),transparent 22rem),linear-gradient(180deg,#0a1022 0%,var(--bg-deep) 100%)}button,input{font:inherit}button{min-height:52px;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);background:linear-gradient(180deg,#192643fa,#0c1222fa);box-shadow:var(--inner-glow),0 10px 22px #00000047;cursor:pointer;touch-action:manipulation}button:active{transform:translateY(1px)}button:disabled{cursor:default;opacity:.55}.app-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;width:min(100%,520px);min-height:100svh;margin:0 auto;padding:max(8px,env(safe-area-inset-top)) 12px max(8px,env(safe-area-inset-bottom))}.status-panel,.text-window{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--panel),rgba(6,10,22,.96));box-shadow:var(--shadow),var(--inner-glow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.status-panel{display:grid;gap:6px;padding:10px 11px}.brand,.status-name{color:var(--gold);font-weight:800}.main-card-kicker,.auto-panel-title{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.status-kicker{display:none}.status-name{font-size:1.05rem;line-height:1.2}.status-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.status-level{min-width:58px;border:1px solid rgba(255,216,90,.45);border-radius:999px;padding:6px 9px;color:var(--gold);background:#ffd85a14;font-size:.86rem;font-weight:900;line-height:1;text-align:center}.status-grid{display:flex;flex-wrap:wrap;gap:5px}.stat-pill{display:inline-flex;gap:4px;align-items:center;min-height:26px;border:1px solid rgba(174,184,202,.14);border-radius:999px;padding:4px 8px;background:#ffffff09}.stat-pill span{color:var(--muted);font-size:.68rem;line-height:1.1}.stat-pill strong{color:var(--text);font-size:.78rem;line-height:1.1}.status-bars{display:grid;gap:6px}.status-bar-row{display:grid;gap:5px}.bar-label{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.76rem;line-height:1.2}.bar-label strong{color:var(--text)}.status-meter{height:12px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#03060ed9;box-shadow:inset 0 2px 8px #00000073}.status-meter span{display:block;height:100%;border-radius:inherit;transition:width .18s ease}.hp-bar span{background:linear-gradient(90deg,#ff5670,#ffbd55)}.exp-bar span{background:linear-gradient(90deg,var(--blue),var(--green))}.text-window{display:flex;min-height:0;flex-direction:column;gap:10px;overflow:auto;padding:16px 14px}.text-window.equipment-window{overflow:hidden}.equipment-window .message-list{flex:0 0 auto}.equipment-window .equipment-list{flex:1}.main-card-header{display:grid;gap:4px}.text-window h1{margin:0;color:var(--text);font-size:clamp(1.35rem,6vw,1.9rem);font-weight:900;line-height:1.15}.message-list{display:grid;gap:5px;color:#dbe4f2}.message-list p,.empty-text,.note{margin:0}.name-field{display:grid;gap:8px}.name-field span{color:var(--muted);font-size:.9rem}.name-field input{min-height:56px;width:100%;border:1px solid var(--line);border-radius:var(--radius-md);padding:0 14px;color:#fff;background:#050814d1;outline:none}.name-field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #ffd85a24}.auto-panel,.battle-box,.arena-panel,.arena-opponent-card,.result-panel,.equipment-item,.equipment-empty-slot,.highlight-box,.auto-stop-notice{border-radius:var(--radius-md)}.auto-panel{display:grid;gap:12px;border:1px solid rgba(88,167,255,.22);padding:14px;background:#0a1224d6}.auto-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid rgba(88,167,255,.18);border-radius:var(--radius-sm);padding:8px 10px;background:#0a122494;color:var(--muted);font-size:.78rem;line-height:1.35}.auto-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auto-summary button{min-height:34px;border-radius:999px;padding:0 12px;color:var(--gold);font-size:.78rem;font-weight:900}.auto-panel-title{color:var(--gold)}.auto-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.auto-buttons button{min-height:48px;border-color:#aeb8ca2e;color:var(--muted);font-size:.86rem}.auto-buttons .auto-on{border-color:#6ee7a89e;color:#d8ffeb;background:linear-gradient(180deg,#1a6042e6,#0d2d24f2)}.auto-stop-notice{border:1px solid rgba(255,125,139,.55);padding:7px 10px;color:#ffd5da;background:#58182470;font-size:.82rem;line-height:1.35}.action-footer{display:grid;grid-template-rows:64px minmax(56px,auto);gap:8px;min-height:128px;padding-bottom:max(2px,env(safe-area-inset-bottom))}.action-subgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.action-button{min-height:56px;padding:0 14px;font-weight:900}.action-main{min-height:64px;font-size:1.08rem}.button-primary{border-color:#ffd85af2;color:#1b1302;background:linear-gradient(180deg,#ffe579,var(--gold-deep))}.button-secondary,.button-quiet{border-color:#aeb8ca38;color:var(--text)}.button-danger{border-color:#ff7d8ba6;color:#ffe3e6;background:linear-gradient(180deg,#682334f2,#36121ff2)}.battle-box{display:grid;gap:10px;border:1px solid rgba(255,216,90,.28);padding:12px;background:var(--panel-soft)}.enemy-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.enemy-row strong{color:var(--gold);font-size:1.12rem}.enemy-row span{border-radius:999px;padding:5px 10px;color:#ffeac2;background:#ffd85a1a;font-weight:800}.enemy-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.enemy-stats span,.arena-status-grid span,.arena-opponent-stats span,.result-summary span,.reward-box div{display:grid;gap:3px;border:1px solid rgba(174,184,202,.14);border-radius:var(--radius-sm);padding:10px 8px;background:#ffffff0a;color:var(--text);font-size:1rem;font-weight:900;line-height:1.2;text-align:center}.enemy-stats small,.arena-status-grid small,.result-summary small,.reward-box small{color:var(--muted);font-size:.72rem;font-weight:800}.arena-panel{display:grid;gap:12px;border:1px solid rgba(255,216,90,.28);padding:12px;background:var(--panel-soft)}.arena-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.arena-opponent-card{display:grid;gap:10px;border:1px solid rgba(88,167,255,.24);padding:12px;background:linear-gradient(180deg,#101f3ae6,#091121eb)}.arena-opponent-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.arena-opponent-head small,.arena-result-opponent{color:var(--muted)}.arena-opponent-head strong{display:block;color:var(--gold);font-size:1.15rem;font-weight:950;line-height:1.25}.arena-opponent-head span{border:1px solid rgba(255,216,90,.4);border-radius:999px;padding:4px 9px;color:var(--gold);background:#ffd85a14;font-size:.78rem;font-weight:900;white-space:nowrap}.arena-opponent-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.arena-opponent-card p,.arena-result-opponent{margin:0}.equipment-list{display:grid;gap:18px;min-height:0;overflow:auto;padding-bottom:8px}.equipment-section{display:grid;gap:10px}.equipment-section h2{margin:0;color:var(--gold);font-size:1rem;line-height:1.3}.equipment-empty-slot{border:1px dashed rgba(174,184,202,.3);padding:12px;color:var(--muted);background:#ffffff08;font-size:.9rem}.equipment-item{display:grid;gap:12px;align-items:center;border:1px solid rgba(174,184,202,.16);border-left:5px solid var(--line-strong);padding:14px;background:#0a1224db}.equipment-item.has-action{grid-template-columns:minmax(0,1fr) 88px}.equipment-item.is-equipped{border-color:#6ee7a88a;border-left-color:var(--green);background:linear-gradient(180deg,#143f32e0,#0b1c1fe6)}.equipment-item button{min-height:50px}.equipment-actions{display:grid;gap:8px}.button-sell{border-color:#ffad5e80;color:#ffe3c0;background:linear-gradient(180deg,#713b1deb,#371e18f2)}.equipment-name{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--text);font-weight:900}.equipped-badge{border:1px solid rgba(110,231,168,.65);border-radius:999px;padding:2px 8px;color:#d8ffeb;background:#6ee7a81f;font-size:.74rem;font-weight:800}.equipment-meta,.equipment-stats,.equipment-compare{color:var(--muted);font-size:.88rem}.equipment-score{margin-top:4px;color:var(--gold);font-size:.92rem;font-weight:900}.equipment-sell-price{margin-top:4px;color:#ffd9aa;font-size:.86rem;font-weight:800}.equipment-compare{display:grid;gap:5px;margin-top:8px}.diff-list{display:flex;flex-wrap:wrap;gap:7px}.diff-positive{color:var(--green)}.diff-negative{color:var(--red)}.diff-even{color:var(--muted)}.result-panel{display:grid;gap:8px;border:1px solid rgba(255,216,90,.28);padding:10px;background:var(--panel-soft)}.result-heading{color:var(--gold);font-size:1.62rem;font-weight:950;line-height:1;text-align:center}.result-defeat .result-heading{color:var(--red)}.result-summary,.reward-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.highlight-box{display:grid;gap:6px;border:1px solid rgba(110,231,168,.48);padding:12px;background:#13433180}.treasure-box{border-color:#ffd85a99;background:linear-gradient(180deg,#493911cc,#201c12e0)}.highlight-box strong{color:var(--gold)}.highlight-box span,.result-note{color:#dbe4f2;font-size:.92rem}.result-note{margin:0;font-size:.82rem;line-height:1.35}.toast-stack{position:fixed;z-index:20;right:max(12px,env(safe-area-inset-right));bottom:calc(154px + env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));display:grid;gap:8px;width:min(496px,calc(100% - 24px));margin:0 auto;pointer-events:none}.toast-card{display:grid;gap:3px;width:100%;min-height:0;border:1px solid rgba(255,216,90,.58);border-radius:var(--radius-md);padding:10px 12px;color:var(--text);background:linear-gradient(180deg,#202a48f5,#080e1df7);box-shadow:0 16px 34px #00000061,var(--inner-glow);font-size:.9rem;font-weight:800;line-height:1.4;text-align:left;pointer-events:auto;animation:toast-in .16s ease-out}.toast-card strong,.toast-card span{display:block}.toast-card span{color:#dbe4f2;font-size:.82rem}.toast-success{border-color:#6ee7a894}.toast-warning{border-color:#ff7d8b9e}.toast-rare{border-color:#ffd85acc;background:linear-gradient(180deg,#4e3712f7,#0e111ffa)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rarity-common{border-left-color:#9ca3af}.rarity-rare{border-left-color:var(--blue)}.rarity-epic{border-left-color:#cf8cff}.rarity-legendary{border-left-color:var(--gold)}@media(max-width:380px){.app-shell{padding-inline:10px}.status-grid,.action-subgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-item.has-action,.arena-status-grid,.arena-opponent-stats,.result-summary,.reward-box{grid-template-columns:1fr}}
