:root{--bg: #f4f1fb;--card: #ffffff;--ink: #1c1340;--muted: #8a82a6;--accent: #7c4dff;--accent-2: #ff4d9d;--good: #19c37d;--warn: #ff7a45;--radius: 22px;--shadow: 0 8px 24px rgba(60, 30, 120, .1);--gradient: linear-gradient(135deg, var(--accent), var(--accent-2))}*{box-sizing:border-box}body{margin:0;font-family:Nunito,SF Pro Rounded,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent}.screen{min-height:100vh;max-width:560px;margin:0 auto;padding-bottom:32px}.screen.center{display:flex;align-items:center;justify-content:center;padding:24px}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#f4f1fbd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:19px}.brand-logo{width:28px;height:28px;object-fit:cover;border-radius:50%}.balance-chip{font-weight:800;background:var(--gradient);color:#fff;padding:8px 14px;border-radius:999px;box-shadow:var(--shadow)}.content{padding:8px 16px;display:flex;flex-direction:column;gap:14px}.section{margin:8px 4px -4px;font-size:15px;color:var(--muted);font-weight:700}.card{background:var(--card);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);border:none;text-align:left;width:100%;color:var(--ink);font:inherit}.card.soft{text-align:center}.event-card{cursor:pointer;transition:transform .12s ease}.event-card:active{transform:scale(.98)}.event-title{font-weight:800;font-size:17px;margin-bottom:6px}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.empty{padding:32px 18px}.emoji-xl{font-size:44px;margin-bottom:8px}.btn{border:none;border-radius:16px;padding:14px 18px;font:inherit;font-weight:800;cursor:pointer;transition:transform .1s ease,opacity .1s ease}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5}.btn.primary{background:var(--gradient);color:#fff;box-shadow:var(--shadow)}.btn.ghost{background:transparent;color:var(--accent);padding:8px 0}.btn.block{width:100%}.back{align-self:flex-start}.detail-top{display:flex;justify-content:space-between;align-items:center}.small-btn{align-self:flex-start;font-size:14px}.event-image{width:100%;border-radius:var(--radius);object-fit:cover;max-height:200px}.event-h{margin:4px 0 0;font-size:22px}.event-meta{display:flex;gap:8px;flex-wrap:wrap}.pill{background:#efe9fb;color:var(--accent);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}.pill.warn{background:#ffe9df;color:var(--warn)}.outcomes{display:flex;flex-direction:column;gap:12px}.outcome{background:var(--card);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow)}.outcome-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.outcome-label{font-weight:800}.outcome-coef{font-weight:800;color:var(--accent)}.bar{height:8px;background:#ece6f7;border-radius:999px;overflow:hidden;margin-bottom:6px}.bar-fill{height:100%;background:var(--gradient);border-radius:999px;transition:width .5s cubic-bezier(.34,1.56,.64,1)}.hint{margin-top:8px}.outcome.as-button{width:100%;text-align:left;border:2px solid transparent;font:inherit;color:var(--ink);cursor:pointer;transition:transform .1s ease,border-color .15s ease}.outcome.as-button:active{transform:scale(.99)}.outcome.as-button:disabled{cursor:default}.outcome.selected{border-color:var(--accent)}.outcome-coef.pop{display:inline-block;animation:pop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}.bet-panel{display:flex;flex-direction:column;gap:10px;margin-top:4px}.chips{display:flex;gap:8px}.chip{flex:1;padding:12px 0;border-radius:14px;border:2px solid #e7e0f5;background:#fff;font:inherit;font-weight:800;color:var(--ink);cursor:pointer}.chip.on{border-color:var(--accent);color:var(--accent);background:#f3eefe}.amount-input{font:inherit;font-weight:800;text-align:center;font-size:20px;padding:13px;border-radius:14px;border:2px solid #e7e0f5;background:#fff;color:var(--ink)}.amount-input:focus{outline:none;border-color:var(--accent)}.banner{background:#efe9fb;color:var(--ink);border-radius:16px;padding:16px;text-align:center;font-weight:800;font-size:17px}.banner.win{background:linear-gradient(135deg,#19c37d,#14a86a);color:#fff}.outcome.winner{outline:2px solid var(--good)}.admin-panel{display:flex;flex-direction:column;gap:10px;background:#fff;border:2px dashed #e0d8f3;border-radius:18px;padding:16px;margin-top:8px}.resolve-row{display:flex;flex-wrap:wrap;gap:8px}.resolve-row .chip{flex:0 1 auto;padding:10px 14px}.confirm{display:flex;flex-direction:column;gap:8px;background:#f7f3ff;border-radius:14px;padding:12px;font-weight:700}.confirm-btns{display:flex;gap:8px}.confirm-btns .btn{flex:1}.btn.danger{color:var(--accent-2)}.btn.danger-solid{background:var(--accent-2);color:#fff}.greeting{font-size:22px;font-weight:800;margin:4px 4px 0}.greeting .muted{font-weight:600}.event-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px}.status-dot{flex:none;font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px;background:#ece6f7;color:var(--muted);white-space:nowrap}.status-dot.st-open{background:#def7ec;color:var(--good)}.status-dot.st-closed{background:#ffe9df;color:var(--warn)}.status-dot.st-settled{background:#efe9fb;color:var(--accent)}.status-dot.st-void{background:#f0f0f4;color:var(--muted)}.coin-rain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:50}.coin{position:absolute;top:-40px;font-size:26px;animation-name:coinfall;animation-timing-function:ease-in;animation-iteration-count:1}@keyframes coinfall{0%{transform:translateY(-40px) rotate(0);opacity:0}10%{opacity:1}to{transform:translateY(110vh) rotate(360deg);opacity:1}}.banner.win{animation:bannerin .45s cubic-bezier(.34,1.56,.64,1)}@keyframes bannerin{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.upload-btn{border:2px dashed #e0d8f3;border-radius:14px;text-align:center;padding:13px;cursor:pointer}.upload-btn.disabled{opacity:.6;cursor:default}.img-preview{position:relative;margin-top:6px}.img-preview img{width:100%;border-radius:14px;max-height:200px;object-fit:cover;display:block}.img-preview .small-btn{position:absolute;top:8px;right:8px;background:#ffffffeb;border-radius:10px;padding:6px 10px}.del-btn{align-self:center;margin-top:4px}.actions{display:flex;flex-wrap:wrap;gap:8px}.action{flex:1 1 calc(50% - 4px);padding:12px;border-radius:14px;border:none;background:#fff;box-shadow:var(--shadow);font:inherit;font-weight:800;color:var(--ink);cursor:pointer}.action:disabled{opacity:.55}.action:active{transform:scale(.98)}.lb{display:flex;flex-direction:column;gap:8px}.lb-row{display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:12px 14px;box-shadow:var(--shadow)}.lb-row.me{outline:2px solid var(--accent)}.lb-rank{font-weight:800;min-width:34px;text-align:center;font-size:18px}.lb-name{flex:1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-balance{font-weight:800;color:var(--accent);white-space:nowrap}.tab-content.with-nav{padding-bottom:88px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;max-width:560px;margin:0 auto;display:flex;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -4px 20px #3c1e7814;border-radius:20px 20px 0 0;padding:8px 6px calc(8px + env(safe-area-inset-bottom,0px));z-index:20}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;border:none;background:none;font:inherit;color:var(--muted);cursor:pointer;padding:4px 0}.nav-item.on{color:var(--accent)}.nav-icon{font-size:22px;position:relative}.nav-label{font-size:11px;font-weight:700}.nav-dot{position:absolute;top:-2px;right:-6px;width:9px;height:9px;border-radius:50%;background:var(--accent-2)}.profile-balance{text-align:center}.big-balance{font-size:34px;font-weight:800;margin-top:4px}.tx-list{display:flex;flex-direction:column;gap:6px}.tx-row{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:12px;padding:11px 14px;box-shadow:var(--shadow)}.tx-label{font-weight:700;font-size:14px}.tx-amount{font-weight:800;white-space:nowrap}.tx-amount.plus{color:var(--good)}.tx-amount.minus{color:var(--muted)}.shop-soon{margin-top:30px}.field{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px}.field>span{margin-left:4px;color:var(--muted)}.field input,.field select{font:inherit;font-weight:600;padding:13px 14px;border-radius:14px;border:2px solid #e7e0f5;background:#fff;color:var(--ink)}.field input:focus,.field select:focus{outline:none;border-color:var(--accent)}.outcome-input{margin-bottom:8px}.error{color:var(--accent-2);font-weight:700;text-align:center}.spinner{width:34px;height:34px;border-radius:50%;border:4px solid #e7e0f5;border-top-color:var(--accent);animation:spin .8s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.prizes{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.prize-row{display:flex;align-items:center;gap:10px;padding:11px 13px;background:var(--card);border-radius:13px;box-shadow:0 1px 6px #5032a00f}.prize-place{font-size:19px;min-width:24px}.prize-text{font-weight:600;flex:1}.prize-winner{color:var(--accent);font-size:13px;font-weight:700;white-space:nowrap}.my-tickets{text-align:center;margin-bottom:14px}.donut-card{margin-bottom:14px}.donut-title{margin-bottom:10px}.donut-wrap{display:flex;align-items:center;gap:16px}.donut{position:relative;width:150px;height:150px;border-radius:50%;flex-shrink:0}.donut-hole{position:absolute;top:26px;right:26px;bottom:26px;left:26px;background:var(--card);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-center-num{font-weight:800;font-size:19px;line-height:1}.donut-center-cap{font-size:9px;letter-spacing:1.5px;color:var(--muted);margin-top:3px}.donut-legend{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.legend-row{display:flex;align-items:center;gap:8px;font-size:13px}.legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.legend-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-pct{color:var(--muted);font-variant-numeric:tabular-nums}
