:root{color:#2d3136;font-synthesis:none;background:#dff8fc;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:#dff8fc;min-width:320px;min-height:100vh;margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.phone-shell{width:min(100%,430px);min-height:100vh;padding-bottom:max(10px,env(safe-area-inset-bottom));background:linear-gradient(#9decf6 0,#ddf8fc 26%,#edfafd 69%,#e8fafd 100%);border-radius:clamp(0px,1000vw - 4300px,28px);margin:auto;position:relative;overflow:hidden}.phone-shell:before{content:"";pointer-events:none;opacity:.15;background-image:linear-gradient(#27a6d314 1px,#0000 1px),linear-gradient(90deg,#27a6d314 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 32%,#0000 82%);mask-image:linear-gradient(#0000,#000 32%,#0000 82%)}.hero{height:201px;position:relative}.hero:after{content:"";pointer-events:none;background:radial-gradient(circle at 48% 5%,#27ddef73,#0000 35%),linear-gradient(125deg,#fff3,#0000 46%);position:absolute;inset:0}.status-bar,.nav,.balance,.ship{z-index:1}.status-bar{color:#05080a;justify-content:space-between;align-items:flex-start;height:43px;padding:18px 31px 0 32px;display:flex}.status-bar strong{letter-spacing:-.3px;font-size:15px;line-height:18px}.status-icons{align-items:center;gap:6px;height:17px;display:flex}.signal{align-items:flex-end;gap:1.5px;height:10px;display:flex}.signal i{background:#05080a;border-radius:2px;width:2.3px}.signal i:first-child{height:4px}.signal i:nth-child(2){height:6px}.signal i:nth-child(3){height:8px}.signal i:nth-child(4){height:10px}.wifi{fill:none;stroke:#05080a;stroke-width:2px;stroke-linecap:round;width:14px;height:11px}.wifi circle{fill:#05080a;stroke:none}.battery{border:1.2px solid #33434a;border-radius:3px;width:22px;height:11px;padding:1.5px;position:relative}.battery:after{content:"";background:#728187;border-radius:0 2px 2px 0;width:2px;height:4px;position:absolute;top:3px;right:-3px}.battery i{background:#05080a;border-radius:1px;height:100%;display:block}.nav{justify-content:center;align-items:center;height:55px;padding:0 20px;display:flex;position:relative}.nav h1{letter-spacing:.3px;margin:0;font-size:19px;font-weight:700;line-height:1}.nav button{font-size:13px;position:absolute;top:20px}.nav .back{color:#485760;font-family:Arial;font-size:30px;font-weight:200;top:8px;left:18px}.nav button:last-child{right:23px}.balance{flex-direction:column;align-items:flex-start;display:flex;position:absolute;top:119px;left:32px}.balance button{font-size:14px;line-height:18px}.balance button span{color:#657179;vertical-align:-2px;margin-left:2px;font-size:21px}.balance strong{color:#030508;letter-spacing:-1px;font-size:41px;line-height:43px}.ship{object-fit:cover;object-position:right bottom;width:144px;height:113px;position:absolute;bottom:0;right:14px}.card{background:#fffffff0;border-radius:10px;margin:0 20px 13px;position:relative}.checkin{height:218px;padding:17px 12px 16px}.checkin-head{justify-content:space-between;align-items:center;display:flex}.checkin h2,.tasks h2{margin:0;font-size:17px;font-weight:700;line-height:21px}.checkin h2 span,.tasks h2 span{color:#399cff;margin-left:3px}.checkin-head label{color:#5a6066;align-items:center;gap:8px;font-size:12px;display:flex}.switch{background:#cbd0d4;border-radius:11px;width:30px;height:17px;padding:2px;transition:all .2s}.switch i{background:#fff;border-radius:50%;width:13px;height:13px;transition:all .2s;display:block;box-shadow:0 1px 3px #0003}.switch.on{background:#2e9eff}.switch.on i{transform:translate(13px)}.rewards{grid-template-columns:repeat(6,1fr);gap:6px;margin-top:15px;display:grid}.reward{color:#979797;background:#f0f0f0;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;height:50px;display:flex}.reward.active{color:#333;background:#eaf7ff}.coin{background:linear-gradient(135deg,#e4e4e4,#b5b5b5);border:1.5px solid #a5a5a5;border-radius:50%;place-items:center;width:25px;height:25px;display:grid;box-shadow:inset 0 0 0 2px #d3d3d3}.reward.active .coin{background:linear-gradient(135deg,#ffd865,#ffab1f);border-color:#f4a400;box-shadow:inset 0 0 0 2px #ffc444}.coin span{opacity:.65;font-size:12px;line-height:1;transform:rotate(180deg)}.reward small{margin-top:1px;font-size:11px;line-height:13px}.timeline{grid-template-columns:repeat(6,1fr);height:43px;margin:5px 2px 0;display:grid;position:relative}.timeline .line{background:#d2d2d2;height:1.5px;position:absolute;top:5px;left:19px;right:19px}.day{z-index:1;color:#929292;white-space:nowrap;flex-direction:column;align-items:center;gap:6px;font-size:11px;display:flex}.day i{background:#d4d4d4;border-radius:50%;width:6px;height:6px}.day i.active{background:#2e9eff}.day span{line-height:15px}.day:has(i.active){color:#4b4d50}.sign-button{color:#fff;background:linear-gradient(#123873,#183c70);border:1px solid #64b7ec;border-radius:24px;width:100%;height:48px;font-size:14px;font-weight:500;box-shadow:0 1px 8px #1f77ad88,inset 0 0 9px #00143680}.sign-button:active{transform:scale(.992)}.sign-button.signed{background:linear-gradient(#7399bf,#6483a6)}.tasks{min-height:354px;padding:18px}.task-list{flex-direction:column;gap:21px;display:flex}.task{grid-template-columns:40px minmax(0,1fr) 59px;align-items:center;gap:14px;display:grid}.task-icon{background:#e8f7ff;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.task-icon svg{stroke-width:1.6px;filter:drop-shadow(0 3px 3px #60b6ef55);background:linear-gradient(145deg,#9bdcff,#117cf6);border-radius:5px;width:27px;height:27px;padding:3px}.task-icon svg path,.task-icon svg circle,.task-icon svg rect{fill:none;stroke:#e7f8ff}.task-icon.compass svg{border-radius:50%}.task-copy{min-width:0}.task-copy h3{white-space:nowrap;margin:0 0 2px;font-size:14px;font-weight:600;line-height:18px}.task-copy p{color:#8a8d91;white-space:nowrap;margin:0;font-size:10px;line-height:15px}.task>button{color:#fff;background:linear-gradient(100deg,#52c0ff,#319cf7);border-radius:14px;height:27px;font-size:11px}.task>button.done{color:#999;background:#f0f0f0}.safe-area{justify-content:center;align-items:flex-end;height:24px;display:flex}.safe-area i{background:#000;border-radius:5px;width:99px;height:5px}.toast{z-index:9;color:#fff;background:#111d;border-radius:18px;max-width:300px;padding:9px 14px;font-size:12px;animation:.2s ease-out rise;position:fixed;bottom:55px;left:50%;transform:translate(-50%);box-shadow:0 5px 16px #0003}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}}@media (width<=350px){.card{margin-left:14px;margin-right:14px}.tasks{padding-left:14px;padding-right:14px}.task{gap:10px}.task-copy h3{font-size:13px}.rewards{gap:4px}}@media (width>=431px){body{padding:18px 0}.phone-shell{min-height:810px;box-shadow:0 18px 50px #244a5b35}.safe-area{display:none}}.coin-image{object-fit:contain;width:25px;height:25px;display:block}.ship{object-fit:contain;object-position:center bottom;z-index:0;width:151px;height:auto;bottom:-17px;right:12px}.checkin{z-index:2;height:270px;padding-top:20px;padding-bottom:20px}.streak-copy{color:#70777d;margin:7px 0 2px;font-size:10px;line-height:15px}.streak-copy strong{color:#268eea;font-size:12px}.reward{position:relative}.reward-state{z-index:1;color:#fff;background:#2f9df8;border-radius:50%;place-items:center;width:12px;height:12px;font-size:8px;font-weight:800;display:grid;position:absolute;top:2px;right:3px}.reward.locked .reward-state{background:#d1d4d7;border-radius:2px;width:8px;height:7px;top:7px;right:6px}.reward.locked .reward-state:before{content:"";border:1.5px solid #a5aaae;border-bottom:0;border-radius:4px 4px 0 0;width:4px;height:5px;position:absolute;top:-5px;left:2px}.timeline{height:50px;margin-top:15px}.timeline .line-progress{z-index:0;width:calc(var(--progress) - 19px);background:#2e9eff;height:1.5px;position:absolute;top:5px;left:19px}.timeline .current-marker{z-index:3;left:var(--progress);flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:1px;transform:translate(-50%)}.current-marker>i{background:#2e9eff;border:2px solid #fff;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 2px #a9ddff}.current-marker>b{color:#288edc;white-space:nowrap;font-size:8px;font-weight:600;position:absolute;top:-14px}.day>i{color:#fff;place-items:center;font-size:6px;font-style:normal;display:grid}.sign-button:disabled{cursor:default;opacity:.82}.rewards{margin-top:17px}.reward{height:54px}.card{margin-bottom:18px}.tasks{min-height:0;padding-top:24px;padding-bottom:20px}.tasks h2{margin-bottom:28px}.task-list{gap:34px}.task-status{color:#747b81;white-space:nowrap;background:#eef1f3;border-radius:14px;place-items:center;height:27px;font-size:11px;display:grid}.task-status.done{color:#238bdc;background:#e7f5ff}.rules-entry{place-items:center;min-width:58px;min-height:44px;display:grid;top:6px!important;right:15px!important}.balance-entry{flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;min-width:145px;min-height:70px;display:flex}.balance-entry .balance-label{font-size:13px;font-weight:400;line-height:12px}.balance-entry .balance-label small{font-size:13px;font-weight:400}.task-icon img{object-fit:contain;width:40px;height:40px;display:block}.balance-entry>strong{color:#030508;font-size:41px;line-height:43px}.reminder-control{align-items:center;gap:7px;display:flex}.reminder-time{color:#555d63;flex-direction:column;justify-content:center;align-items:flex-end;min-height:36px;font-size:11px;line-height:14px;display:flex}.reminder-time small{color:#268fdf;font-size:9px}.sign-button{justify-content:center;align-items:center;gap:7px;display:flex}.spinner{border:2px solid #fff5;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.task{grid-template-columns:40px minmax(0,1fr) 78px;gap:12px}.sheet-backdrop{z-index:30;background:#07182557;justify-content:center;align-items:flex-end;animation:.18s ease-out fade-in;display:flex;position:fixed;inset:0}.bottom-sheet{width:min(100%,430px);padding:9px 20px max(24px, env(safe-area-inset-bottom));background:#fff;border-radius:20px 20px 0 0;animation:.22s ease-out sheet-up;box-shadow:0 -8px 30px #24516b2b}.bottom-sheet:before{content:"";background:#d7dde1;border-radius:4px;width:38px;height:4px;margin:0 auto 7px;display:block}.bottom-sheet header{justify-content:space-between;align-items:center;min-height:44px;display:flex}.bottom-sheet header h2{margin:0;font-size:18px}.bottom-sheet header button{color:#798189;width:44px;height:44px;font-size:28px}.mileage-total{background:#eaf7ff;border-radius:12px;justify-content:space-between;align-items:center;margin:5px 0 12px;padding:14px 16px;display:flex}.mileage-total span{color:#65727a;font-size:13px}.mileage-total strong{color:#157fd2;font-size:20px}.record-list,.rules-list{margin:0;padding:0}.record-list{list-style:none}.record-list li{border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:center;padding:12px 2px;font-size:14px;display:flex}.record-list li span{flex-direction:column;gap:3px;display:flex}.record-list li small{color:#9aa0a5;font-size:10px}.record-list li b{color:#238edc}.record-list li b.expense{color:#62686d}.rules-list{color:#4e565c;padding:5px 0 8px 22px}.rules-list li{padding:7px 0 7px 4px;font-size:13px;line-height:20px}.sheet-help,.permission-note{color:#7b8389;font-size:12px}.time-options{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;display:grid}.time-options button{background:#f7fafc;border:1px solid #dbe4ea;border-radius:10px;height:42px;font-size:14px}.time-options button.selected{color:#1683d8;background:#e9f6ff;border-color:#309cf2;font-weight:600}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{opacity:.6;transform:translateY(20px)}}button:focus-visible{outline-offset:2px;outline:2px solid #187fd5}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
