: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;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.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.open{cursor:zoom-in;width:100%;font:inherit;color:inherit;border:0;padding:0;display:block}.tile .ph.open:active img{transform:scale(.97)}.tile .ph.open img{transition:transform .16s}.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);align-items:center;gap:4px;min-width:0;font-weight:700;display:flex}.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 .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}.tile .ops{gap:6px;margin-top:8px;display:flex}.tile .ops .btn{white-space:nowrap;border-radius:11px;flex:1 1 0;min-width:0;min-height:38px;padding:0 8px;font-size:12.5px}.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}.log-item .txt .d .kind{border:1px solid var(--line);border-radius:999px;margin-right:6px;padding:1px 7px;font-weight:700;display:inline-block}.log-item .txt .d .kind.achievement{color:var(--gold);border-color:color-mix(in srgb, var(--gold) 45%, transparent);background:color-mix(in srgb, var(--gold) 12%, transparent)}.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}.lb{z-index:400;background:#000;flex-direction:column;height:100dvh;animation:.18s both lb-in;display:flex;position:fixed;inset:0}@keyframes lb-in{0%{opacity:0}}.lb-bar{padding:calc(8px + env(safe-area-inset-top)) 12px 8px;color:#fff;flex:none;justify-content:space-between;align-items:center;gap:10px;display:flex}.lb-bar .ct{opacity:.75;font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.lb-bar .x{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:999px;width:40px;height:40px;font-size:17px}.lb-stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:4px 10px;display:flex;position:relative}.lb-stage img{object-fit:contain;border-radius:10px;max-width:100%;max-height:100%}.lb-nav{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;cursor:pointer;background:#00000073;border:1px solid #fff3;border-radius:999px;width:44px;height:44px;padding-bottom:3px;font-size:26px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.lb-nav.prev{left:8px}.lb-nav.next{right:8px}.lb-info{padding:12px 16px calc(14px + env(safe-area-inset-bottom));color:#fff;border-top:1px solid #ffffff1a;flex:none;max-height:34dvh;overflow-y:auto}@media (min-width:560px){.lb-info>*{max-width:760px;margin-inline:auto}}.lb-info .who{align-items:center;gap:8px;font-size:14px;display:flex}.lb-info .badge{margin-left:auto;position:static}.lb-info .cap{white-space:pre-wrap;margin:8px 0 0;font-size:14.5px;line-height:1.5}.lb-info .d{opacity:.6;margin-top:6px;font-size:12px}.nudge{color:var(--muted);background:var(--card);border:1px dashed var(--line);border-radius:14px;align-items:center;gap:9px;margin:0 0 18px;padding:10px 13px;font-size:14px;display:flex}.nudge .t{flex:1;min-width:0}.champion{text-align:center;background:color-mix(in srgb, var(--gold) 13%, transparent);border:1px solid color-mix(in srgb, var(--gold) 34%, transparent);border-radius:12px;margin-bottom:10px;padding:9px 14px;font-size:14px}.champion b{color:var(--gold)}.bar{background:var(--line);border-radius:999px;height:7px;margin-top:7px;display:block;overflow:hidden}.bar>span{background:linear-gradient(90deg, var(--gold), #ff9a3c);border-radius:999px;height:100%;transition:width .4s;display:block}.ach-list{flex-direction:column;gap:9px;display:flex}.ach{border:1px solid var(--line);background:var(--card);border-radius:15px;align-items:flex-start;gap:12px;padding:13px 14px;display:flex}.ach.on{border-color:color-mix(in srgb, var(--gold) 40%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--gold) 11%, transparent), transparent 62%), var(--card)}.ach.off{opacity:.62}.ach .ic{text-align:center;flex:none;width:38px;font-size:30px;line-height:1.1}.ach .tx{flex:1;min-width:0}.ach .nm{align-items:center;gap:6px;font-size:15px;font-weight:800;display:flex}.ach .tag{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 6px;font-size:10.5px;font-weight:700}.ach .ds{color:var(--muted);margin-top:2px;font-size:12.5px;line-height:1.45;display:block}.ach .cmt{color:var(--text);margin-top:5px;font-size:12.5px;font-style:italic;display:block}.ach .ft{color:var(--muted);margin-top:5px;font-size:11.5px;display:block}.ach .amt{font-variant-numeric:tabular-nums;color:var(--muted);flex:none;font-size:14.5px;font-weight:900}.ach.on .amt{color:var(--gold)}.ach-with-photo{align-items:stretch;gap:9px;display:flex}.ach-with-photo .ach{flex:1;min-width:0}.ach-photo{object-fit:cover;border:1px solid var(--line);border-radius:14px;flex:none;width:74px}.unlock-bg{z-index:320;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a8;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (min-width:560px){.unlock-bg{align-items:center}}.unlock{width:100%;max-width:460px;padding:22px 18px calc(20px + env(safe-area-inset-bottom));text-align:center;background:var(--card-solid);border:1px solid color-mix(in srgb, var(--gold) 40%, transparent);border-radius:24px 24px 0 0;animation:.28s both pop-in}@media (min-width:560px){.unlock{border-radius:24px;margin:0 14px}}.unlock .spark{letter-spacing:4px;font-size:30px}.unlock h3{color:var(--gold);margin:6px 0 14px;font-size:21px}.unlock .items{flex-direction:column;gap:8px;display:flex}.unlock .item{text-align:left;background:color-mix(in srgb, var(--gold) 12%, transparent);border:1px solid color-mix(in srgb, var(--gold) 30%, transparent);border-radius:14px;align-items:center;gap:11px;padding:11px 13px;display:flex}.unlock .item .ic{flex:none;font-size:27px}.unlock .item .tx{flex:1;min-width:0}.unlock .item .tx b{font-size:15.5px;display:block}.unlock .item .tx .d{color:var(--muted);margin-top:1px;font-size:12px;line-height:1.35;display:block}.unlock .item .amt{color:var(--good);font-variant-numeric:tabular-nums;flex:none;font-weight:900}.unlock .bonus{color:var(--gold);margin:14px 0 4px;font-size:16px;font-weight:800}.unlock .bonus .sub{color:var(--muted);margin-top:3px;font-size:11.5px;font-weight:400;display:block}.grant-picks{flex-direction:column;gap:8px;display:flex}.grant-pick{text-align:left;border:2px solid var(--line);background:var(--card);width:100%;color:inherit;font:inherit;cursor:pointer;border-radius:14px;align-items:center;gap:11px;padding:11px 13px;transition:all .15s;display:flex}.grant-pick[aria-pressed=true]{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 14%, transparent)}.grant-pick:disabled{opacity:.45;cursor:not-allowed}.grant-pick .ic{flex:none;font-size:26px}.grant-pick .tx{flex:1;min-width:0}.grant-pick .tx b{font-size:14.5px;display:block}.grant-pick .tx .d{color:var(--muted);font-size:12px;line-height:1.35;display:block}.grant-pick .amt{color:var(--gold);flex:none;font-size:13px;font-weight:800}.grant-photos{flex-wrap:wrap;gap:8px;display:flex}.gp{border:2px solid var(--line);cursor:pointer;background:#000;border-radius:12px;width:66px;height:66px;padding:0;overflow:hidden}.gp[aria-pressed=true]{border-color:var(--gold)}.gp img{object-fit:cover;width:100%;height:100%;display:block}.task-score{background:var(--card);border:1px solid var(--line);border-radius:15px;margin-bottom:12px;padding:12px 14px}.task-score .who{flex-wrap:wrap;gap:8px;display:flex}.task-score .one{border:1px solid var(--line);background:#ffffff0a;border-radius:11px;flex:auto;justify-content:center;align-items:center;gap:6px;min-width:0;padding:7px 10px;font-size:13.5px;display:flex}.task-score .one.has{border-color:color-mix(in srgb, var(--gold) 42%, transparent);background:color-mix(in srgb, var(--gold) 12%, transparent)}.task-score .one b{font-variant-numeric:tabular-nums;font-size:16px}.task-score .one.has b{color:var(--gold)}.task-score .prog{margin-top:11px}.task-score .prog .ptxt{color:var(--muted);font-size:13px}.task-score .prog .ptxt b{color:var(--text);font-variant-numeric:tabular-nums}.tasks{flex-direction:column;gap:10px;display:flex}.task{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:13px 14px}.task.done{border-color:color-mix(in srgb, var(--gold) 40%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--gold) 10%, transparent), transparent 62%), var(--card)}.task.pending{border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.task .head{align-items:flex-start;gap:11px;display:flex}.task .head .ic{flex:none;font-size:26px;line-height:1.15}.task .head .tx{flex:1;min-width:0}.task .ti{font-size:15px;font-weight:800;line-height:1.35;display:block}.task .ds{color:var(--muted);margin-top:2px;font-size:12.5px;line-height:1.45;display:block}.task .foot{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.task .shot{object-fit:cover;background:#000;border-radius:11px;flex:none;width:52px;height:52px}.task .info{flex:1;min-width:0}.task .st{flex-wrap:wrap;align-items:center;gap:5px;font-size:13.5px;font-weight:700;display:flex}.task .st.open{color:var(--muted);font-weight:400}.task .st.pending{color:var(--warn)}.task .st.done{color:var(--gold)}.task .sub{color:var(--muted);margin-top:3px;font-size:11.5px;display:block}.day-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;font-size:14.5px;display:flex}.task-picks{flex-direction:column;gap:8px;display:flex}.task-pick{text-align:left;border:2px solid var(--line);background:var(--card);width:100%;color:inherit;font:inherit;cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:11px 12px;transition:all .15s;display:flex}.task-pick[aria-pressed=true]{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 14%, transparent)}.task-pick:disabled{opacity:.45;cursor:not-allowed}.task-pick .ic{flex:none;font-size:22px}.task-pick .tx{flex:1;min-width:0}.task-pick .tx b{font-size:14px;line-height:1.35;display:block}.task-pick .tx .d{color:var(--muted);font-size:11.5px;line-height:1.4;display:block}.task-pick .st{flex:none;font-size:12.5px;font-weight:700}
