:root{--bg-primary: #0a0a0f;--bg-secondary: #111118;--bg-card: #16161f;--text-primary: #e2e4e8;--text-secondary: #8a8d95;--text-muted: #555860;--accent: #3a7bd5;--accent-dim: #2a5ba0;--danger: #c04040;--warning: #c0a040;--success: #40a060;--gold: #d4a846;--border: #252530;--bar-bg: #333340;font-family:Noto Sans JP,Hiragino Sans,system-ui,sans-serif;line-height:1.6;font-weight:400;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:var(--border) transparent}*::-webkit-scrollbar{width:4px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}*::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}body{height:100dvh;min-width:320px;overflow-x:hidden}#root{max-width:480px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden}button{font-family:inherit;font-size:.95rem;cursor:pointer;border:1px solid var(--border);border-radius:8px;padding:.6em 1.2em;background-color:var(--bg-card);color:var(--text-primary);transition:all .2s ease}button:hover{border-color:var(--accent-dim);background-color:var(--bg-secondary)}button:active{transform:scale(.98)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background-color:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background-color:var(--accent-dim)}button.danger{border-color:var(--danger);color:var(--danger)}.screen{flex:1;min-height:0;padding:1rem;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}.screen-title{font-size:1rem;color:var(--text-secondary);margin-bottom:1rem;letter-spacing:.1em}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem;margin-bottom:.75rem}.whisper{color:var(--text-muted);font-size:.85rem;text-align:center;padding:1rem 0;font-style:italic;min-height:3rem}.gold{color:var(--gold);font-weight:500}.rarity-1{color:#888}.rarity-2{color:#5a9}.rarity-3{color:#59d}.rarity-4{color:#c5a}.rarity-5{color:#da5}.emoji-large{font-size:2rem}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;justify-content:center;align-items:center}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.mt-auto{margin-top:auto}.hp-bar{height:4px;background:var(--bar-bg);border-radius:2px;overflow:hidden;margin-top:4px}.hp-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.hp-bar-fill.high{background:var(--success)}.hp-bar-fill.mid{background:var(--warning)}.hp-bar-fill.low{background:var(--danger)}.hunger-bar{height:3px;background:var(--bar-bg);border-radius:2px;overflow:hidden}.hunger-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .5s ease}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.6rem 1.2rem;font-size:.85rem;color:var(--text-secondary);z-index:100;animation:toast-in .3s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;gap:1rem}.loading-dots:after{content:"";animation:dots 1.5s infinite}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.scroll-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;max-width:400px;width:100%;max-height:80dvh;overflow-y:auto}input[type=text]{width:100%;padding:.7rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:1rem;outline:none;transition:border-color .2s}input[type=text]:focus{border-color:var(--accent-dim)}input[type=text]::placeholder{color:var(--text-muted)}
