:root{--bg:#0f1020;--bg-2:#171833;--card:#ffffff0f;--card-solid:#1c1d3a;--line:#ffffff1a;--text:#f2f3ff;--muted:#9ea3c9;--gold:#ffd166;--hot:#ff5f6d;--good:#43e97b;--bad:#ff6b81;--warn:#ffb347;--radius:18px;--tap:48px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:radial-gradient(1100px 600px at 15% -10%, #3a1d6e 0%, transparent 55%), radial-gradient(900px 500px at 100% 0%, #7a2b4d 0%, transparent 50%), var(--bg);color:var(--text);min-height:100dvh;padding-bottom:calc(84px + env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased;background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}input,textarea,select{font-size:16px}.wrap{width:100%;max-width:720px;margin:0 auto;padding:0 14px}.hero{text-align:center;padding:26px 0 18px}.hero h1{letter-spacing:2px;background:linear-gradient(100deg,#ffd166 0%,#ff8fab 45%,#7cc4ff 100%);color:#0000;filter:drop-shadow(0 4px 18px #ff8fab4d);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(34px,11vw,54px);font-weight:900}.hero p{color:var(--muted);margin:8px 0 0;font-size:15px}.hero .sevens{letter-spacing:6px;color:var(--gold);opacity:.75;margin-top:6px;font-size:13px}.section{margin:22px 0}.section-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.section-head h2{margin:0;font-size:19px;font-weight:800}.section-head a{color:var(--muted);font-size:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.muted{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:34px 16px;font-size:15px}.empty .big{margin-bottom:10px;font-size:40px;display:block}.board{flex-direction:column;gap:10px;display:flex}.row{border-radius:var(--radius);background:var(--card);border:1px solid var(--line);align-items:center;gap:12px;padding:14px;transition:transform .15s;display:flex;position:relative;overflow:hidden}.row:active{transform:scale(.985)}.row:before{content:"";background:linear-gradient(var(--c1), var(--c2));width:4px;position:absolute;inset:0 auto 0 0}.row.rank-1{background:linear-gradient(100deg,#ffd16629,#ffffff0d);border-color:#ffd16666}.medal{text-align:center;flex:none;width:34px;font-size:26px}.avatar{background:linear-gradient(135deg, var(--c1), var(--c2));border-radius:14px;flex:none;place-items:center;width:46px;height:46px;font-size:24px;display:grid}.row .who{flex:1;min-width:0}.row .name{font-size:17px;font-weight:800;line-height:1.25;display:block}.row .sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.3;display:block;overflow:hidden}.row .amount{text-align:right;flex:none}.row .amount .n{color:var(--gold);font-variant-numeric:tabular-nums;font-size:21px;font-weight:900;line-height:1.2;display:block}.row .amount .t{color:var(--muted);font-size:12px;line-height:1.2;display:block}.people{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:560px){.people{grid-template-columns:repeat(3,1fr)}}.pcard{border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(150deg, color-mix(in srgb, var(--c1) 22%, transparent), transparent 70%), var(--card);padding:16px;display:block}.pcard .top{align-items:center;gap:10px;margin-bottom:12px;display:flex}.pcard .name{flex:1;font-size:17px;font-weight:800}.pcard .stat{justify-content:space-between;padding:3px 0;font-size:14px;display:flex}.pcard .stat b{font-variant-numeric:tabular-nums}.pcard .money{color:var(--gold);font-size:18px}.pcard .more{text-align:center;color:var(--muted);border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:13px}.grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (min-width:560px){.grid{grid-template-columns:repeat(3,1fr)}}.tile{border:1px solid var(--line);background:var(--card-solid);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.tile .ph{aspect-ratio:1;background:#000;position:relative}.tile .ph img{object-fit:cover;width:100%;height:100%}.tile .body{flex-direction:column;flex:1;gap:5px;padding:9px 10px 11px;display:flex}.tile .cap{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.tile .meta{color:var(--muted);justify-content:space-between;gap:6px;margin-top:auto;font-size:11px;display:flex}.tile .meta .u{color:var(--text);font-weight:700}.badge{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;border:1px solid #ffffff38;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;position:absolute;top:7px;left:7px}.badge.pending{color:#3a2400;background:#ffb347e6}.badge.approved{color:#05340f;background:#43e97beb}.badge.rejected{color:#3d0009;background:#ff6b81eb}.btn{min-height:var(--tap);border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;text-align:center;border-radius:14px;justify-content:center;align-items:center;gap:7px;padding:0 18px;font-size:15px;font-weight:700;transition:transform .12s,opacity .12s;display:inline-flex}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{color:#2b1400;background:linear-gradient(100deg,#ffd166,#ff8fab);border-color:#0000}.btn.go{color:#042a17;background:linear-gradient(100deg,#43e97b,#2bb6a4);border-color:#0000}.btn.no{color:#ffb3bd;background:#ff6b8129;border-color:#ff6b8173}.btn.block{width:100%}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn-row>*{flex:auto}.field{margin-bottom:18px}.label{margin-bottom:9px;font-size:15px;font-weight:800;display:block}.input,.textarea{width:100%;min-height:var(--tap);border:1px solid var(--line);background:#00000040;border-radius:14px;outline:none;padding:13px 14px}.input:focus,.textarea:focus{border-color:var(--gold)}.textarea{resize:vertical;min-height:76px}.picker{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.pick{border:2px solid var(--line);background:var(--card);text-align:center;cursor:pointer;border-radius:16px;min-height:92px;padding:14px 6px;transition:all .15s}.pick .e{font-size:28px;line-height:1.2}.pick .n{margin-top:4px;font-size:14px;font-weight:800}.pick[aria-pressed=true]{border-color:var(--c1);background:linear-gradient(150deg, color-mix(in srgb, var(--c1) 34%, transparent), transparent);transform:translateY(-2px)}.dropzone{border:2px dashed var(--line);text-align:center;cursor:pointer;color:var(--muted);background:#00000040;border-radius:16px;padding:26px 16px}.dropzone:active{border-color:var(--gold)}.dropzone .big{font-size:40px}.preview{border:1px solid var(--line);border-radius:16px;position:relative;overflow:hidden}.preview img{object-fit:contain;background:#000;width:100%;max-height:min(46dvh,420px)}.nav{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:#0f1020eb;display:flex;position:fixed;bottom:0;left:0;right:0}.nav a{min-height:62px;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex}.nav a .i{font-size:21px;line-height:1}.nav a.on{color:var(--gold)}.stats{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.stat-box{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:14px;padding:13px 10px}.stat-box .n{font-variant-numeric:tabular-nums;font-size:21px;font-weight:900}.stat-box .l{color:var(--muted);margin-top:2px;font-size:11px}.review{border-radius:var(--radius);border:1px solid var(--line);background:var(--card);margin-bottom:14px;overflow:hidden}.review .shot{object-fit:contain;background:#000;width:100%;max-height:min(54dvh,460px)}.review .info{padding:12px 14px}.review .acts{flex-direction:column;gap:8px;padding:0 14px 14px;display:flex}.log{flex-direction:column;gap:9px;display:flex}.log-item{background:var(--card);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.log-item .amt{color:var(--good);font-variant-numeric:tabular-nums;flex:none;font-size:17px;font-weight:900}.log-item .txt{flex:1;min-width:0}.log-item .txt .c{text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.35;display:block;overflow:hidden}.log-item .txt .d{color:var(--muted);font-size:12px;line-height:1.3;display:block}.note{border:1px solid var(--line);background:var(--card);border-radius:13px;padding:11px 14px;font-size:13.5px}.note.err{background:#ff6b8124;border-color:#ff6b8180}.note.ok{background:#43e97b24;border-color:#43e97b80}@keyframes pop-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}.pop{animation:.32s cubic-bezier(.2,.9,.3,1.2) both pop-in}@keyframes float-up{0%{opacity:0;transform:translate(-50%,20px)scale(.7)}18%{opacity:1;transform:translate(-50%,-6px)scale(1.12)}32%{transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-110px)scale(1.02)}}.toast{z-index:200;pointer-events:none;white-space:nowrap;text-shadow:0 6px 26px #0009;font-size:40px;font-weight:900;animation:1.7s ease-out forwards float-up;position:fixed;top:42dvh;left:50%;transform:translate(-50%)}.toast.small{color:var(--gold)}.toast.crit{background:linear-gradient(100deg,#fff36b,#ff5f6d,#ff9a3c);color:#0000;filter:drop-shadow(0 0 22px #ff5f6da6);-webkit-background-clip:text;background-clip:text;font-size:46px}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px,3px)}40%{transform:translate(6px,-3px)}60%{transform:translate(-4px,-2px)}80%{transform:translate(4px,2px)}}.shaking{animation:.42s ease-in-out 2 shake}@keyframes fall{0%{opacity:0;transform:translateY(-12dvh)rotate(0)}12%{opacity:1}to{opacity:0;transform:translateY(105dvh)rotate(540deg)}}.confetti{z-index:199;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti span{font-size:24px;animation:linear forwards fall;position:absolute;top:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sheet-bg{z-index:300;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000009e;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (min-width:560px){.sheet-bg{align-items:center}}.sheet{background:var(--card-solid);border:1px solid var(--line);width:100%;max-width:460px;padding:20px 18px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;animation:.24s both pop-in}@media (min-width:560px){.sheet{border-radius:22px;margin:0 14px}}.sheet h3{margin:0 0 14px;font-size:18px}
