:root{--ink:#111;--dim:#6a6a6a;--faint:#9a9a9a;--line:#dcdcdc;--bg:#fbfbfb;--panel:#fff;--hair:#efefef}*{box-sizing:border-box}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 -apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}button,.srow,.buyrow{touch-action:manipulation}.modal{user-select:text;-webkit-user-select:text}.num{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.wrap{max-width:1180px;margin:0 auto;padding:0 20px 40px}.hidden{display:none!important}header.top{position:sticky;top:0;z-index:20;background:var(--bg);padding:12px 0 0;border-bottom:1px solid var(--ink)}.brand{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.brand h1{font-size:14px;font-weight:600;margin:0;letter-spacing:.06em}.brand .sub{color:var(--faint);font-size:11.5px}.toprow{display:flex;align-items:flex-end;gap:22px;flex-wrap:wrap;margin-top:4px}.balance .big{font-size:42px;font-weight:600;line-height:1}.balance .big .cur{font-size:17px;font-weight:400;color:var(--dim);margin-right:5px}.rates{color:var(--dim);font-size:11.5px;line-height:1.7;padding-bottom:3px}.rates b{color:var(--ink);font-weight:500}.res{display:flex;gap:18px;flex-wrap:wrap;margin-left:auto;padding-bottom:5px;font-size:11.5px;color:var(--dim)}.res b{color:var(--ink);font-weight:500}.res .cut b{text-decoration:line-through}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:9px 0}button{font:inherit;cursor:pointer;border-radius:0;background:var(--panel);color:var(--ink);border:1px solid var(--ink);padding:8px 18px;transition:background .07s,color .07s}@media(hover:hover){button:hover:not(:disabled){background:var(--ink);color:#fff}}button:disabled{border-color:var(--line);color:var(--faint);cursor:default}button.primary{background:var(--ink);color:#fff;padding:9px 30px;font-size:15px;min-width:130px}@media(hover:hover){button.primary:hover:not(:disabled){background:#000}}button.mini{padding:3px 9px;font-size:11.5px;border-color:var(--line)}button.mini.on{border-color:var(--ink);font-weight:600}.cd{font-size:10.5px;color:var(--faint);margin-left:5px}.bulk{display:flex;gap:4px;align-items:center;font-size:11.5px;color:var(--faint);margin-left:6px}.evbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--ink);background:var(--panel);padding:6px 11px;margin:0 0 8px}.evbar.red{border-width:2px}.evbar .tag{font-size:10.5px;letter-spacing:.12em;color:var(--dim);flex:none}.evbar .txt{font-size:13px;flex:1;min-width:170px}.evbar .clock{font-size:10.5px;color:var(--dim);flex:none}.evbar button{padding:4px 10px;font-size:11.5px;border-color:var(--line);flex:none}.evbar button:disabled{opacity:.45}.layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start;margin-top:14px}@media(max-width:860px){.layout{grid-template-columns:1fr}.balance .big{font-size:34px}.res{margin-left:0}}h2.sec{font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--dim);border-bottom:1px solid var(--line);padding-bottom:5px;margin:0 0 5px}.ledger{overflow:hidden}.entry{display:flex;gap:9px;padding:3.5px 0;border-bottom:1px solid var(--hair);font-size:12.5px}.entry .t{color:var(--faint);font-size:10.5px;white-space:nowrap;padding-top:2px;flex:none}.entry .what{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry .amt{white-space:nowrap;flex:none}.entry.spend .what{color:var(--dim);text-decoration:line-through}.entry.spend .amt,.entry.note .what{color:var(--dim)}.entry.big .what{font-weight:600}.entry.fresh .what{animation:fin .45s ease-out}@keyframes fin{0%{opacity:0}to{opacity:1}}.offline{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed var(--line);background:#f4f4f4;padding:6px 11px;font-size:11.5px;color:var(--dim);margin-top:12px}.offline b{color:var(--ink);font-weight:600}.modal-mask{position:fixed;inset:0;background:#11111152;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--panel);border:1px solid var(--ink);width:100%;max-width:500px;padding:22px 24px 18px;max-height:88vh;overflow:auto}.modal h3{margin:0 0 3px;font-size:15px;font-weight:600;letter-spacing:.06em}.modal .lead{margin:0 0 15px;font-size:12px;color:var(--dim)}.modal .bigrow{display:flex;align-items:baseline;gap:10px;padding:10px 0 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.modal .bigrow .lbl{font-size:11.5px;color:var(--dim);letter-spacing:.1em}.modal .bigrow .from{font-size:15px;color:var(--dim)}.modal .bigrow .arrow{color:var(--faint);font-size:12px}.modal .bigrow .gain{font-size:30px;font-weight:600;line-height:1}.modal .bigrow .delta{font-size:12px;color:var(--ink);margin-left:2px}.modal .warn{margin:10px 0 0;font-size:11.5px;color:var(--ink);border-left:2px solid var(--ink);padding-left:9px;line-height:1.6}.modal .grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin-top:14px}@media(max-width:520px){.modal .grid{grid-template-columns:1fr;gap:0}}.modal h4{margin:0 0 4px;font-size:10.5px;font-weight:600;letter-spacing:.14em;color:var(--dim)}.modal .row{display:flex;justify-content:space-between;gap:10px;font-size:11.5px;padding:3.5px 0;border-bottom:1px solid var(--hair);color:var(--dim)}.modal .row .num{color:var(--ink)}.modal .acts{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.modal .acts .primary{padding:7px 22px;font-size:13.5px}.modal.ending-choice{max-width:430px}.modal.ending-page{max-width:560px}.modal .countdown{margin:0 0 4px;font-size:11.5px;color:var(--dim)}.modal .verdict{margin:0 0 16px;font-size:13.5px;line-height:2;color:var(--ink)}.endstats{border-top:1px solid var(--line);padding-top:4px}.endstats .row{display:flex;justify-content:space-between;gap:14px;font-size:11.5px;padding:4px 0;border-bottom:1px solid var(--hair);color:var(--dim)}.endstats .row .num{color:var(--ink);white-space:nowrap}.modal .seq{margin:12px 0 0;font-size:10.5px;color:var(--faint);letter-spacing:.02em}.lines-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;align-items:start}@media(max-width:1000px){.lines-grid{grid-template-columns:1fr}}.line-card{border-bottom:1px solid var(--hair);padding:5px 0 6px}.line-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:2px}.line-head .nm{font-weight:600;font-size:12.5px;letter-spacing:.02em}.line-head .meta{font-size:11px;color:var(--dim)}.srow{display:flex;align-items:baseline;gap:8px;padding:2.5px 5px;margin:0 -5px;font-size:12.5px;line-height:1.45;cursor:pointer}@media(hover:hover){.srow:hover{background:#f1f1f1}}.srow.dis{opacity:.42;cursor:default}.srow.dis:hover{background:none}.srow.locked{opacity:.33;cursor:default}.srow.locked:hover{background:none}.srow .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow .own{color:var(--dim);font-size:10.5px;margin-left:4px}.srow .unit{color:var(--faint);font-size:10.5px;flex:none}.srow .price{flex:none;min-width:66px;text-align:right;font-size:12px}.achv{margin-top:20px}.achgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px 18px;font-size:11.5px;margin-top:2px}@media(max-width:860px){.achgrid{grid-template-columns:1fr 1fr}}.achgrid div{color:var(--faint);padding:1px 0}.achgrid div.on{color:var(--ink)}.achgrid div.on:before{content:"■ ";font-size:8px}.achgrid div:not(.on):before{content:"□ ";font-size:8px}.foot{margin-top:22px;border-top:1px solid var(--line);padding-top:9px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--faint)}.srow{flex-wrap:wrap;min-height:36px}.srow .milestone{width:100%;font-size:10px;color:var(--dim)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.modal .acts{flex-wrap:wrap}@media(max-width:520px){.wrap{padding:0 12px 28px}.brand{flex-wrap:wrap;gap:2px}.modal{padding:16px}.layout>section:first-child{order:2}.endstats .row .num{white-space:normal;text-align:right}}.goal{font-size:11px;color:var(--dim);margin:5px 0 8px}.actions .bulk{margin-left:auto}.penalty-help{font-size:11px;color:var(--dim);margin:5px 0 8px}.penalty-help summary{cursor:pointer}.mobile-hud{display:none}.quick-actions{display:contents}.secondary-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.secondary-actions:empty{display:none}.line-notes{display:none;font-size:11px;color:var(--dim);margin:6px 0}@media(any-pointer:coarse){.line-notes{display:block}}.line-notes summary{cursor:pointer;padding:6px 0}.line-notes p{margin:4px 0;overflow-wrap:anywhere}body:has(.modal-mask){overflow:hidden}.modal-mask{overscroll-behavior:contain}.modal{overscroll-behavior:contain;overflow-wrap:anywhere}@media(max-width:600px),(max-height:500px)and (pointer:coarse){.wrap{padding:0 max(12px,env(safe-area-inset-right)) calc(146px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}header.top{position:static;padding-top:max(12px,env(safe-area-inset-top))}.brand{display:block}.brand h1{font-size:15px}.brand .sub{display:block;font-size:12px;margin-top:3px}.toprow{display:block;margin-top:12px}.balance .big{font-size:clamp(26px,8vw,38px);overflow-wrap:anywhere}.rates{font-size:12px;margin-top:8px}.res{gap:8px 16px;font-size:12px;margin-top:8px;padding-bottom:8px}.goal{font-size:12px;line-height:1.7}.actions{position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--bg);border-top:1px solid var(--ink);margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.mobile-hud{display:flex;flex-direction:column;min-width:0;font-size:13px;line-height:1.4;overflow-wrap:anywhere;align-self:center}.mobile-hud span{font-size:11px;color:var(--dim)}.actions .bulk{grid-column:2;grid-row:1;margin:0;gap:4px}.bulk>span{font-size:11px}.bulk .mini{min-width:40px;min-height:44px;padding:6px;font-size:13px}.quick-actions{display:grid;grid-column:1/-1;grid-row:2;grid-template-columns:1.4fr 1fr 1fr;gap:8px}.quick-actions button,.quick-actions button.primary{min-width:0;min-height:48px;padding:8px;font-size:15px}.cd{font-size:11px;white-space:nowrap}.secondary-actions{margin:6px 0 10px}button,.evbar button,button.mini{min-height:44px}.secondary-actions button{flex:1;font-size:13px;padding:8px}.layout{grid-template-columns:minmax(0,1fr);gap:18px}.layout>section{min-width:0}.layout>section:first-child{order:2}.lines-grid{grid-template-columns:minmax(0,1fr);gap:12px}.line-card{padding:8px 0}.line-head .nm{font-size:14px}.line-head .meta{font-size:12px}.srow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);align-items:center;gap:3px 8px;min-height:70px;margin:0;padding:9px 4px;border-bottom:1px solid var(--hair)}.srow .nm{grid-column:1;grid-row:1;white-space:normal;overflow:visible;font-size:14px;overflow-wrap:anywhere}.srow .own{display:inline-block;font-size:11px}.srow .price{grid-column:2;grid-row:1/3;min-width:0;max-width:140px;font-size:13px;overflow-wrap:anywhere}.srow .unit{grid-column:1;grid-row:2;font-size:12px;overflow-wrap:anywhere}.srow .milestone{grid-column:1/-1;font-size:11px}.srow.dis{opacity:.65}.srow.locked{opacity:.6}.line-notes{font-size:12px}.line-notes summary{min-height:44px;padding:10px 0}.evbar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:12px;margin-top:10px}.evbar .txt{min-width:0;font-size:14px;overflow-wrap:anywhere}.evbar button{width:100%;font-size:13px;padding:10px;white-space:normal}.penalty-help{font-size:12px}.penalty-help summary{padding:10px 0;min-height:44px}.offline{align-items:flex-start;font-size:12px}.offline button{flex-shrink:0}.entry{font-size:12px}.entry .what{white-space:normal;overflow-wrap:anywhere}.achgrid{font-size:12px;gap:6px 12px}.achgrid div{overflow-wrap:anywhere}.modal-mask{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.modal{max-height:calc(100vh - 20px);max-height:calc(100dvh - max(10px,env(safe-area-inset-top)) - max(10px,env(safe-area-inset-bottom)));padding:16px;min-width:0}.modal .grid{grid-template-columns:minmax(0,1fr)}.modal .bigrow{flex-wrap:wrap}.modal .bigrow .gain{font-size:26px}.modal .row,.endstats .row{font-size:12px;flex-wrap:wrap;gap:4px 10px}.endstats .row .num{white-space:normal;text-align:right;overflow-wrap:anywhere}.modal .acts{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.modal .acts button,.modal .acts .primary{min-height:44px;min-width:0;width:100%;padding:10px;font-size:14px}.modal .lead{font-size:13px}.modal .verdict{font-size:14px}.foot{font-size:12px}}@media(max-width:360px){.bulk>span{display:none}.srow .price{max-width:115px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.ending-progress{margin-top:14px;border:1px solid var(--line);padding:10px 12px;font-size:12px}.ending-progress summary{cursor:pointer;min-height:24px}.ending-progress summary .num{margin-left:8px}.ending-progress p{color:var(--dim);margin:10px 0;overflow-wrap:anywhere}.ending-progress ul{list-style:none;margin:10px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 20px}.ending-progress li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;overflow-wrap:anywhere}.ending-progress li.done{color:var(--dim)}.ending-progress li .num{flex-shrink:0}@media(max-width:600px){.ending-progress ul{grid-template-columns:1fr}.ending-progress summary{min-height:44px;padding:10px 0}.ending-progress button{width:100%}}.requirement-hint{flex-basis:100%;color:var(--dim);font-size:11px}.srow .buy-qty{display:block;font-size:10.5px;color:var(--dim)}.srow .buy-total{display:block;overflow-wrap:anywhere}
