*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#1c1a17;color:#e8dcc8;font-family:Segoe UI,Microsoft YaHei,sans-serif;display:flex;justify-content:center}main{width:min(560px,94vw);padding:20px 0 40px}h1{text-align:center;font-size:1.5rem;letter-spacing:.12em;margin:24px 0 16px}.boot{text-align:center;padding-top:30vh}.card{background:#26221d;border:1px solid #3a332a;border-radius:10px;padding:16px;margin-bottom:14px}.auth label{display:block;font-size:.82rem;color:#9a8f7d;margin:10px 0 4px}.auth input{width:100%;padding:10px 12px;background:#1c1a17;border:1px solid #4a4234;border-radius:6px;color:#e8dcc8;font-size:.95rem}.auth input:focus{outline:none;border-color:#b89a5a}.auth .bad{color:#d97f7f;font-size:.85rem}button{cursor:pointer;border:none;border-radius:6px;padding:11px 16px;font-size:.92rem;background:#4a4234;color:#e8dcc8;margin-top:10px}button.primary{background:#7a5f2a}button.ghost{background:transparent;border:1px solid #4a4234}button.small{padding:5px 10px;font-size:.78rem;margin:0}button:hover{filter:brightness(1.15)}button:disabled{opacity:.45;cursor:not-allowed}.topbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.topbar .title{font-weight:600;letter-spacing:.08em;margin-right:auto}.topbar .who{color:#9a8f7d;font-size:.85rem}.ws-dot{width:9px;height:9px;border-radius:50%;background:#555}.ws-open{background:#7fc97f}.ws-connecting{background:#d9b96f}.ws-closed,.ws-idle{background:#d97f7f}.coins-card{text-align:center}.coins-label{color:#9a8f7d;font-size:.8rem;letter-spacing:.2em}.coins{font-size:2.6rem;font-weight:700;color:#e8c56a;margin:6px 0 10px}.section-title{color:#9a8f7d;font-size:.82rem;margin-bottom:8px}.log-list{list-style:none;margin:0;padding:0;max-height:300px;overflow-y:auto;font-size:.82rem;line-height:1.7}.log-time{color:#6d6353;margin-right:8px;font-variant-numeric:tabular-nums}.log-event{color:#c9d9a8}.log-command{color:#a8c9d9}.log-error{color:#d97f7f}.log-system{color:#9a8f7d}
