:root{--bg: #12151c;--panel: #1a1f29;--panel-2: #222836;--line: #2e3646;--text: #e6e9f0;--muted: #96a0b5;--accent: #4ade80;--accent-dim: #1e4032;--danger: #f87171;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;-webkit-text-size-adjust:100%}.app{max-width:1000px;margin:0 auto;padding:16px 16px calc(24px + env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}h1{font-size:20px;margin:0;letter-spacing:.2px;flex:none}h2{font-size:15px;margin:0;color:var(--muted);font-weight:600}button{font:inherit;color:inherit;cursor:pointer}.ghost{background:transparent;border:1px solid var(--line);border-radius:8px;padding:6px 12px;color:var(--muted)}.ghost:hover{border-color:var(--accent);color:var(--accent)}.ghost.wide{width:100%;margin-top:10px}.ghost.danger:hover{border-color:var(--danger);color:var(--danger)}.primary{background:var(--accent);color:#08130d;border:none;border-radius:8px;padding:9px 16px;font-weight:600}.primary.small{padding:6px 12px}.primary:disabled{opacity:.5;cursor:not-allowed}.app.loading{color:var(--muted);padding-top:40px}.account{display:flex;align-items:center;gap:10px;min-width:0}.account>button{flex:none}.who{display:block;text-align:right;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who em{display:block;color:var(--muted);font-style:normal;font-size:11px}.notice-actions{display:flex;gap:8px;margin-top:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#06080cbf;display:flex;align-items:center;justify-content:center;padding:16px;z-index:10}.modal{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;width:min(380px,100%);display:grid;gap:12px}.modal h2{color:var(--text);font-size:17px}.modal .hint{color:var(--muted);font-size:13px;margin:0}.modal label{display:grid;gap:5px;font-size:13px;color:var(--muted)}.modal input{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:9px 11px;color:var(--text);font:inherit;font-size:16px}.modal input:focus{outline:none;border-color:var(--accent)}.notice{background:var(--accent-dim);border:1px solid #2f6b4f;border-radius:10px;padding:10px 14px;margin-bottom:14px;cursor:pointer}.notice small{display:block;color:var(--muted);margin-top:2px}.notice.error{background:#3a1f24;border-color:#6b2f39;cursor:default}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tab{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:7px 14px;display:inline-flex;align-items:center;gap:8px}.tab.active{border-color:var(--accent);color:var(--accent)}.tab .lvl{background:var(--panel-2);border-radius:999px;padding:0 8px;font-size:12px;color:var(--muted)}main{display:grid;gap:14px;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}@media(max-width:720px){main{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}.skill-head{margin-bottom:12px}.xp{margin-top:8px}.xp small{color:var(--muted)}.xp-bar{height:6px;background:var(--panel-2);border-radius:999px;overflow:hidden;margin-bottom:6px}.xp-bar span{display:block;height:100%;background:var(--accent)}.actions{display:grid;gap:8px}.action{position:relative;overflow:hidden;text-align:left;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.action:hover:not(:disabled){border-color:var(--accent)}.action.active{border-color:var(--accent)}.action.locked{opacity:.45;cursor:not-allowed}.action-bar{position:absolute;inset:0 auto 0 0;background:var(--accent-dim)}.action-text{position:relative;display:flex;flex-direction:column}.action-text small{color:var(--muted)}.action-state{position:relative;color:var(--accent);font-size:12px}.bank ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.bank li{display:flex;justify-content:space-between;padding:7px 10px;background:var(--panel-2);border-radius:8px}.empty{color:var(--muted);margin:0}
