:root{--bg:#0E0F12;--card:#17191E;--line:#2A2E36;--soft:#22252C;--ink:#F4F1EA;--muted:#A39E93;--faint:#8C877D;--gold:#C9A45C;--gold2:#E2C487;--goldbg:#221D12;--goldline:#5A4826;--green:#6FBF8E;--greenbg:#16261D;--red:#F08A8A;--redbg:#2A1414;--redline:#7A3535}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:15px;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font-family:inherit;font-size:15px}
.splash{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--muted)}
.shell{max-width:520px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding-bottom:calc(84px + env(safe-area-inset-bottom))}
.top{display:flex;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top)) 18px 10px}
.top h1{flex:1;margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;font-weight:600}
.pill{height:28px;padding:0 10px;border-radius:14px;background:var(--card);border:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;white-space:nowrap}
.dot{width:6px;height:6px;border-radius:3px;background:var(--green)}
main{padding:4px 18px 24px;display:flex;flex-direction:column;gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px}
.card.gold{border-color:var(--goldline)}
.card.warn{background:var(--redbg);border-color:var(--redline);color:#F6C9C9}
.row{display:flex;align-items:center;gap:10px}
.between{display:flex;justify-content:space-between;align-items:center;gap:10px}
.col{display:flex;flex-direction:column;gap:10px}
.wrap{display:flex;flex-wrap:wrap;gap:8px}
.label{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
.label.gold{color:var(--gold)}
.small{font-size:12px;color:var(--muted)}
.tiny{font-size:11px;color:var(--faint)}
.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600}
.big{font-size:34px;line-height:1}
.btn{min-height:52px;border-radius:26px;border:none;background:var(--gold);color:#17130A;font-weight:600;font-size:16px;cursor:pointer;padding:0 20px}
.btn.ghost{background:var(--card);color:var(--ink);border:1px solid var(--line);font-weight:500}
.btn.small{min-height:40px;font-size:13px;border-radius:20px;padding:0 14px}
.btn:disabled{background:#23262D;color:var(--faint)}
.chip{min-height:40px;border-radius:20px;padding:0 14px;font-size:13px;cursor:pointer;background:var(--card);color:var(--ink);border:1px solid var(--line)}
.chip.on{background:var(--gold);color:#17130A;border-color:var(--gold);font-weight:600}
.chip.danger.on{background:var(--redline);border-color:var(--redline);color:#fff}
.round{width:42px;height:42px;border-radius:21px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:18px;cursor:pointer;flex-shrink:0}
.round.gold{border:none;background:var(--gold);color:#17130A}
.input{width:100%;height:50px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:0 14px}
textarea.input{height:auto;padding:12px 14px;resize:none}
.list-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:18px;color:var(--ink);text-align:left;cursor:pointer}
.sec-btn{display:flex;align-items:center;gap:12px;width:100%;padding:13px 0;background:transparent;border:none;border-top:1px solid var(--soft);color:var(--ink);text-align:left;cursor:pointer}
.avatar{width:40px;height:40px;border-radius:20px;background:#2A2418;border:1.5px solid var(--gold);color:var(--gold2);font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px}
.badge{font-size:11px;padding:4px 9px;border-radius:10px;background:#23262D;color:#C9C4B9;white-space:nowrap}
.badge.gold{background:#2A2418;color:var(--gold2)}
.badge.green{background:var(--greenbg);color:#9FD8B4}
.badge.red{background:var(--redbg);color:#F6C9C9}
.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;background:#0B0C0F;border-top:1px solid #1E2127;padding-bottom:env(safe-area-inset-bottom)}
.tabs-in{display:flex;width:100%;max-width:520px}
.tab{flex:1;height:68px;border:none;background:transparent;color:var(--faint);font-size:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;position:relative}
.tab.on{color:var(--ink);font-weight:600}
.tab .bar{width:22px;height:3px;border-radius:2px;background:transparent}
.tab.on .bar{background:var(--gold)}
.tab .count{position:absolute;top:8px;right:calc(50% - 26px);min-width:18px;height:18px;border-radius:9px;background:var(--gold);color:#17130A;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}
.footer{position:fixed;left:0;right:0;bottom:0;padding:10px 18px calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid #1E2127;display:flex;justify-content:center}
.footer .btn{width:100%;max-width:484px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(96px + env(safe-area-inset-bottom));background:#23262D;color:var(--ink);padding:12px 16px;border-radius:14px;font-size:13px;z-index:20;max-width:90vw;border:1px solid var(--line)}
.step{display:flex;gap:14px;min-height:38px}
.step .d{width:12px;height:12px;border-radius:6px;margin-top:4px;flex-shrink:0;border:1.5px solid #3A3F48}
.step.done .d{background:var(--green);border-color:var(--green)}
.step.cur .d{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px #3A3020}
.step .t{font-size:14px;color:#6E6A62}
.step.done .t,.step.cur .t{color:var(--ink);font-weight:500}
input[type=range]{width:100%;accent-color:var(--gold);height:32px}
a{color:var(--gold)}
