:root{color:#f7ecd5;background:#0c100d;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 12% 0%,rgba(216,188,133,.22),transparent 34%),radial-gradient(circle at 90% 12%,rgba(62,124,103,.24),transparent 32%),linear-gradient(180deg,#171d18,#0b100d)}button,input,select{font:inherit}button{border:0}.app-shell{width:min(760px,100%);min-height:100vh;margin:0 auto;padding:18px 14px 108px}.panel{margin:14px 0;padding:18px;border:1px solid rgba(216,188,133,.28);border-radius:18px;background:#1e2721e6;box-shadow:0 16px 42px #00000042;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.auth-panel{margin-top:12vh}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px 2px 4px}.topbar h1,.panel h1,.panel h2,.panel h3{margin:0;letter-spacing:0}.topbar h1{font-size:26px}.panel h1{font-size:32px}.panel h2{font-size:24px}.panel h3{font-size:18px}.panel p{margin:10px 0 0;color:#cabd9e}.eyebrow{margin-bottom:6px;color:#d8bc85;font-size:12px;font-weight:800}.auth-form,.stack{display:grid;gap:12px}.field,.auth-form label{display:grid;gap:8px;margin-top:14px;color:#e7d8b4;font-size:14px;font-weight:700}input,select{width:100%;min-height:46px;padding:0 13px;border:1px solid rgba(255,255,255,.12);border-radius:12px;outline:none;background:#ffffff0f;color:#fff8ea}input:focus,select:focus{border-color:#d8bc85bf}select option{color:#1c211d}.btn,.icon-btn,.segmented button,.mini-actions button{min-height:42px;padding:0 16px;border-radius:999px;color:#fff6e5;font-weight:800;cursor:pointer}.btn{width:100%;margin-top:14px}.primary{background:linear-gradient(135deg,#c79a55,#8e642f)}.danger{background:linear-gradient(135deg,#d06d4d,#8e3e2e)}.ghost,.icon-btn,.mini-actions button{border:1px solid rgba(216,188,133,.3);background:#ffffff12}.btn:disabled{cursor:not-allowed;opacity:.48}.split-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.split-actions .btn{margin-top:14px}.tabbar{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;width:min(760px,100%);margin:0 auto;padding:8px 10px 12px;border-top:1px solid rgba(216,188,133,.2);background:#090d0bf0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.tabbar button{min-height:48px;border-radius:12px;background:transparent;color:#cabd9e;font-size:12px}.tabbar span{display:block;font-size:16px;font-weight:900}.tabbar button.active{background:#d8bc8526;color:#ffe7ad}.hero-panel{display:grid;gap:18px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stats-grid div,.pill{padding:12px;border-radius:14px;background:#ffffff0f}.stats-grid span{display:block;color:#b8aa8f;font-size:12px}.stats-grid strong{font-size:26px}.wheel-panel{text-align:center}.wheel-wrap{position:relative;display:grid;place-items:center;width:min(86vw,520px);aspect-ratio:1;margin:0 auto 16px}.wheel{width:100%;height:100%;border-radius:50%;transition:transform 4.6s cubic-bezier(.12,.82,.18,1);filter:drop-shadow(0 24px 38px rgba(0,0,0,.36))}.wheel.spinning{transition:transform .12s linear}.fallback-wheel{display:grid;place-items:center;border:8px solid rgba(216,188,133,.52);background:conic-gradient(#8e642f,#325d50,#8d3f2d,#c79a55,#8e642f);color:#fff;font-size:34px;font-weight:900}.wheel-pointer{position:absolute;top:-6px;z-index:2;width:0;height:0;border-right:16px solid transparent;border-left:16px solid transparent;border-top:30px solid #ffe0a3;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35))}.wheel-core{position:absolute;display:grid;place-items:center;width:108px;height:108px;border-radius:50%;background:#1f2b24;border:2px solid rgba(255,224,163,.75);color:#ffe0a3;font-size:30px;font-weight:900}.wheel-core small{display:block;margin-top:-12px;font-size:13px}.result-card{margin-top:14px;padding:14px;border-radius:14px;background:#d8bc851f}.result-card strong,.result-card span{display:block}.list-panel h2{margin:0 0 12px}.list-item{display:grid;gap:5px;padding:14px 0;border-top:1px solid rgba(255,255,255,.08)}.list-item:first-of-type{border-top:0}.list-item strong{display:flex;align-items:center;justify-content:space-between;gap:12px}.list-item span,.list-item small,.muted{color:#bdaf92}.list-item em{color:#ffd36a;font-style:normal}code{overflow-wrap:anywhere;color:#a5dbc9}.machine-panel{text-align:center}.slot-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.slot-cell{display:grid;place-items:center;min-height:108px;border:1px solid rgba(216,188,133,.34);border-radius:18px;background:linear-gradient(180deg,#ffffff1f,#ffffff09);color:#ffe0a3;font-size:32px;font-weight:900}.slot-row.rolling .slot-cell{animation:slot-pulse .22s linear infinite alternate}@keyframes slot-pulse{0%{transform:translateY(-4px)}to{transform:translateY(4px)}}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding:4px;border-radius:999px;background:#ffffff0f}.segmented button{background:transparent;color:#cabd9e}.segmented button.active{background:#d8bc8538;color:#ffe7ad}.mini-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.mini-actions button{min-height:34px;padding:0 12px;font-size:13px}.progress{height:8px;overflow:hidden;border-radius:999px;background:#ffffff14}.progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d8bc85,#67c2a2)}.status-panel{text-align:center}.status-mark{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 12px;border-radius:50%;background:#d8bc8524;color:#ffe0a3;font-size:26px;font-weight:900}.toast{position:fixed;right:20px;bottom:92px;left:20px;z-index:40;width:min(420px,calc(100% - 40px));margin:0 auto;padding:13px 16px;border-radius:999px;background:#000000d1;color:#fff;text-align:center}@media(min-width:700px){.app-shell{padding-bottom:32px}.tabbar{position:sticky;top:0;grid-template-columns:repeat(8,1fr);border:1px solid rgba(216,188,133,.18);border-radius:18px;margin:12px auto 18px;padding:8px}.hero-panel{grid-template-columns:1fr auto;align-items:center}}
