:root{--bg: #0b0c10;--panel: rgba(255, 255, 255, .045);--panel-2: rgba(255, 255, 255, .08);--line: rgba(255, 255, 255, .09);--text: #f3f1ec;--muted: rgba(243, 241, 236, .58);--faint: rgba(243, 241, 236, .36);--gold: #f4d58d;--gold-2: #c9962e;--green: #4cd98f;--red: #ff7a7a;--accent: #f4d58d;color-scheme:dark}.theme-platinum{--accent: #d9dde6;--accent-2: #8d93a3}.theme-gold{--accent: #f4d58d;--accent-2: #c9962e}.theme-reserve{--accent: #7fb3ff;--accent-2: #2c56a8}.theme-freedom{--accent: #5fd3e0;--accent-2: #1a7f9c}.theme-bilt{--accent: #b8b8c6;--accent-2: #3a3a46}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{min-height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,system-ui,sans-serif;color:var(--text);background:var(--bg);background-image:radial-gradient(900px 500px at 10% -10%,rgba(244,213,141,.1),transparent 60%),radial-gradient(800px 500px at 100% 0%,rgba(127,179,255,.1),transparent 60%);background-attachment:fixed;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}b{font-weight:650}.page{max-width:640px;margin:0 auto;padding:max(14px,env(safe-area-inset-top)) 16px calc(84px + env(safe-area-inset-bottom))}.top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.brand{font-size:28px;font-weight:750;letter-spacing:-.03em;background:linear-gradient(90deg,#fff,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.date{color:var(--muted);font-size:14px;margin-top:2px}.menu-wrap{position:relative}.icon-btn{width:38px;height:38px;border-radius:50%;background:var(--panel-2);border:1px solid var(--line);font-size:20px;line-height:1}.menu{position:absolute;right:0;top:46px;z-index:20;min-width:220px;padding:6px;border-radius:16px;background:#15161c;border:1px solid var(--line);box-shadow:0 20px 50px #00000080;display:flex;flex-direction:column}.menu button{text-align:left;padding:12px 14px;border-radius:10px;font-size:15px}.menu button:hover{background:var(--panel-2)}.menu .danger,.ghost.danger{color:var(--red)}.seg{display:flex;gap:4px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-bottom:14px;position:sticky;top:8px;z-index:10;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.seg button{flex:1;padding:9px 2px;border-radius:10px;font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:4px}.seg button.on{background:var(--panel-2);color:var(--text);box-shadow:inset 0 1px #ffffff14}.seg .dot{min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#f4d58d2e;color:var(--gold);font-size:10px;font-weight:800;line-height:16px}.seg button.on .dot{background:var(--gold-2);color:#0b0c10}.summary{display:flex;align-items:center;gap:16px;padding:18px;border-radius:22px;background:linear-gradient(160deg,#ffffff14,#ffffff08);border:1px solid var(--line);margin-bottom:14px}.ring{position:relative;width:84px;height:84px;flex:none}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:7}.ring-bg{stroke:#ffffff14}.ring-fg{stroke:var(--gold);stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.2,1)}.ring-txt{position:absolute;inset:0;display:grid;place-items:center;font-weight:700;font-size:17px}.sum-period{font-size:13px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.sum-days{text-transform:none;letter-spacing:0;font-weight:500}.sum-big{font-size:32px;font-weight:750;letter-spacing:-.03em;margin:2px 0}.sum-big span{font-size:15px;font-weight:500;color:var(--muted);letter-spacing:0}.sum-sub{font-size:13px;color:var(--muted)}.faint{color:var(--faint)!important}.soon{margin-bottom:16px}.soon-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text);margin:0 2px 8px}.soon-val{margin-left:auto;color:var(--gold);font-weight:600}.pulse{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 #ff7a7a99;animation:pulse 1.6s infinite}@keyframes pulse{to{box-shadow:0 0 0 10px #ff7a7a00}}.soon-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;margin:0 -16px;padding-left:16px;padding-right:16px}.soon-row::-webkit-scrollbar{display:none}.chip{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:14px;background:var(--panel);border:1px solid var(--line);text-align:left;min-width:150px;max-width:200px}.chip-card{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.chip-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chip-meta{font-size:12px;color:var(--muted)}.chip-platinum{--accent: #d9dde6}.chip-gold{--accent: #f4d58d}.chip-reserve{--accent: #7fb3ff}.chip-freedom{--accent: #5fd3e0}.chip-bilt{--accent: #b8b8c6}.group{border-radius:20px;background:var(--panel);border:1px solid var(--line);margin-bottom:12px;overflow:hidden}.group-head{width:100%;display:flex;align-items:center;gap:10px;padding:14px 16px;text-align:left}.swatch{width:10px;height:10px;border-radius:3px;background:linear-gradient(135deg,var(--accent),var(--accent-2));flex:none}.group-name{font-weight:700;font-size:16px;flex:1}.group-meta{font-variant-numeric:tabular-nums;font-weight:650;font-size:14px}.group-meta .of{color:var(--muted);font-weight:500}.chev{color:var(--muted);font-size:20px;transform:rotate(90deg);transition:transform .2s;display:inline-block}.chev.up{transform:rotate(-90deg)}.bar{height:3px;background:#ffffff12}.bar>div{height:100%;background:linear-gradient(90deg,var(--accent-2),var(--accent));transition:width .5s cubic-bezier(.2,.8,.2,1);border-radius:2px}.bar.big{height:8px;border-radius:4px;margin:8px 0}.rows{display:flex;flex-direction:column}.row{border-top:1px solid var(--line)}.row-main{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer}.row-main:active{background:#ffffff08}.check{width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(255,255,255,.28);flex:none;display:grid;place-items:center;font-size:15px;font-weight:800;color:#0b0c10;transition:all .15s}.check.on{background:var(--green);border-color:var(--green)}.check.half{background:linear-gradient(90deg,var(--accent) 50%,transparent 50%);border-color:var(--accent);color:transparent}.check:hover{border-color:var(--accent)}.row-text{flex:1;min-width:0}.row-name{font-weight:600;font-size:15px;display:flex;align-items:center;gap:6px}.cat{font-size:13px}.row-sub{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-top:3px;min-width:0}.merch{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag{flex:none;padding:1px 6px;border-radius:6px;background:#ffffff14;font-size:11px;font-weight:600;color:var(--text)}.tag-urgent{background:#ff7a7a2e;color:var(--red)}.tag-partial{background:#f4d58d26;color:var(--gold)}.tag-exp{background:transparent;color:var(--faint);border:1px solid var(--line);font-weight:500}.row-amt{flex:none;text-align:right}.amt{font-weight:700;font-variant-numeric:tabular-nums;font-size:15px}.amt.faint{font-weight:500;font-size:12px}.row.done .row-name,.row.done .amt{color:var(--muted);text-decoration:line-through;text-decoration-color:#ffffff4d}.row.done .row-sub{opacity:.6}.row.open{background:#ffffff06}.row-detail{padding:0 16px 14px 56px;animation:drop .18s ease-out}@keyframes drop{0%{opacity:0;transform:translateY(-4px)}}.tip{margin:0 0 8px;font-size:14px;line-height:1.45;color:var(--text)}.detail-meta{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.partial{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px}.partial-lbl{font-size:13px;color:var(--muted)}.partial-ctl{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.partial-ctl button{padding:7px 10px;border-radius:9px;background:var(--panel-2);font-size:13px;font-weight:600}.partial-ctl button:disabled{opacity:.4;cursor:default}.partial-ctl input{width:84px;padding:6px 10px;border-radius:9px;background:#0000004d;border:1px solid var(--line);font-size:13px;outline:none}.partial-ctl input:focus{border-color:var(--accent)}.detail-actions{display:flex;gap:14px}.ghost{font-size:13px;font-weight:600;color:var(--accent)}.empty{text-align:center;color:var(--muted);padding:40px 20px}.foot{text-align:center;color:var(--faint);font-size:12px;line-height:1.5;margin:24px 10px 0}.lede{color:var(--muted);font-size:14px;line-height:1.45;margin:0 2px 14px}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:4px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:#0b0c10cc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--line);z-index:15}.tabbar button{flex:1;max-width:200px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;border-radius:12px;font-size:11px;font-weight:600;color:var(--muted)}.tabbar button.on{color:var(--gold)}.tabbar .ico{font-size:18px;line-height:1}.cardbox{border-radius:22px;background:var(--panel);border:1px solid var(--line);margin-bottom:14px;overflow:hidden}.cardbox.off{opacity:.6}.art{aspect-ratio:1.586 / .7;padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;position:relative;background:linear-gradient(135deg,var(--accent-2) 0%,color-mix(in srgb,var(--accent-2) 40%,#0b0c10) 60%,#15161c 100%)}.art:after{content:"";position:absolute;inset:0;background:radial-gradient(400px 160px at 80% 0%,rgba(255,255,255,.22),transparent 60%);pointer-events:none}.theme-platinum .art{background:linear-gradient(135deg,#e6e9f0,#9ea4b3 45%,#5b6070);color:#15161c}.theme-gold .art{background:linear-gradient(135deg,#f7dd9a,#d5a53b,#8c6516);color:#1e1500}.theme-reserve .art{background:linear-gradient(135deg,#2a3350,#121726 60%,#0b0c10)}.theme-freedom .art{background:linear-gradient(135deg,#1e6f8a,#113a4a 60%,#0b0c10)}.theme-bilt .art{background:linear-gradient(135deg,#3a3a46,#1a1a20 60%,#0b0c10)}.art-top,.art-bot{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.85;position:relative}.art-name{font-size:22px;font-weight:750;letter-spacing:-.02em;position:relative}.switch{display:flex;align-items:center;gap:6px;text-transform:none;letter-spacing:0;font-size:12px;cursor:pointer}.switch input{accent-color:var(--green);width:16px;height:16px;margin:0}.cardbox-body{padding:14px 16px 16px}.fee-line{display:flex;justify-content:space-between;font-size:14px}.fee-sub{font-size:13px;color:var(--muted);line-height:1.4}.earn{margin:14px 0 4px;display:grid;grid-template-columns:52px 1fr;row-gap:6px;column-gap:8px;font-size:13px}.earn-row{display:contents}.earn-row b{color:var(--accent);font-variant-numeric:tabular-nums}.earn-row span{color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:13px}.field small{color:var(--muted);font-weight:400}.field select{padding:9px 10px;border-radius:10px;background:#0000004d;border:1px solid var(--line)}.hidden-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.pill{padding:6px 10px;border-radius:999px;border:1px dashed var(--line);color:var(--muted);font-size:12px}.pill small{opacity:.7}.pill-on{border-style:solid;color:var(--text);background:var(--panel-2)}.guide-row{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 14px;border-radius:16px;background:var(--panel);border:1px solid var(--line);margin-bottom:8px}.guide-what{font-weight:700;font-size:15px}.guide-card{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--accent);white-space:nowrap}.guide-why{grid-column:1 / -1;font-size:13px;color:var(--muted);line-height:1.4}.guide-note{margin-top:18px;padding:14px 16px;border-radius:16px;background:var(--panel);border:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--muted)}.guide-note b{color:var(--text);display:block;margin-bottom:6px}.guide-note ul{margin:0;padding-left:18px}.guide-note li+li{margin-top:6px}@media(min-width:560px){.page{padding-left:24px;padding-right:24px}.soon-row{margin:0;padding-left:0;padding-right:0;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
