:root{--ink:#332a2b;--ink-2:#6a5a56;--ink-3:#9b8a85;--paper:#fff8ea;--card:#fff;--line:#f0e3d2;--line-2:#e0cdb5;--red:#e11d48;--red-d:#b0123a;--red-w:#ffe4ec;--save:#12a37e;--save-w:#e2f8f1;--spend:#e8890c;--spend-w:#fff3dd;--share:#3b82f6;--share-w:#e5efff;--gold:#f5b73c;--ok:#12a37e;--blue:#2e7dd1;--shadow:0 14px 30px -18px #50342847;--r:16px;--rail:232px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%}body{background:var(--paper);color:var(--ink);letter-spacing:.01em;-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,PingFang TC,Hiragino Sans CNS,Noto Sans TC,Microsoft JhengHei,sans-serif;font-size:16px;line-height:1.6;overflow:hidden}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:800}p{margin:0}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:0}ul{margin:0;padding:0;list-style:none}.num{font-variant-numeric:tabular-nums;letter-spacing:0}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}#app{height:100dvh;min-height:0;display:flex}.rail{width:var(--rail);flex:0 0 var(--rail);background:var(--card);border-right:1.5px solid var(--line);flex-direction:column;gap:10px;padding:18px 14px 14px;display:flex;overflow-y:auto}.brand{align-items:center;gap:11px;padding:2px 4px 14px;display:flex}.brand img{object-fit:contain;background:#fff;border:1px solid #f0e3d2;border-radius:10px;width:auto;max-width:46px;height:42px;padding:5px}.brand .t{font-size:15.5px;font-weight:800;line-height:1.22}.brand .t span{color:var(--ink-3);letter-spacing:.08em;font-size:11px;font-weight:600;display:block}.nav{flex-direction:column;gap:2px;display:flex}.nav a{min-height:46px;color:var(--ink-2);border-radius:11px;align-items:center;gap:10px;padding:0 10px;font-size:14.5px;font-weight:600;text-decoration:none;display:flex;position:relative}.nav a .ic{width:20px;height:20px;color:var(--ink-3);flex:0 0 20px}.nav a:hover{color:var(--ink);background:#fff2e0}.nav a.on{background:var(--red-w);color:var(--red-d);font-weight:700}.nav a.on .ic{color:var(--red)}.nav a .dot{background:var(--red);color:#fff;border-radius:10px;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11.5px;font-weight:700;display:grid}.nav a:first-child .ic{color:#e11d48}.nav a:nth-child(2) .ic{color:#e8890c}.nav a:nth-child(3) .ic{color:#12a37e}.nav a:nth-child(4) .ic{color:#3b82f6}.nav a:nth-child(5) .ic{color:#7a4f9e}.nav a:nth-child(6) .ic{color:#0f9ea8}.nav a:nth-child(7) .ic{color:#e5488f}.nav a:nth-child(8) .ic{color:#12a37e}.nav a:nth-child(9) .ic{color:#6b7fa8}.rail-foot{color:var(--ink-3);border-top:1px solid var(--line);margin-top:auto;padding:12px 10px 2px;font-size:11.5px;line-height:1.5}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--paper);border-bottom:1.5px solid var(--line);z-index:20;align-items:center;gap:12px;padding:12px 24px;display:flex;position:sticky;top:0}.who{align-items:baseline;gap:8px;min-width:0;display:flex}.who b{font-size:16px}.who span{color:var(--ink-3);font-size:12.5px}.chips{align-items:center;gap:8px;margin-left:auto;display:flex}.chip{background:var(--card);border:1.5px solid var(--line);border-radius:19px;align-items:center;gap:7px;height:38px;padding:0 12px;font-size:13px;font-weight:700;display:flex}.chip .d{border-radius:50%;width:9px;height:9px}.chip.save .d{background:var(--save)}.chip.spend .d{background:var(--spend)}.chip.share .d{background:var(--share)}.chip.save{color:var(--save)}.chip.spend{color:var(--spend)}.chip.share{color:var(--share)}.daybtn{background:var(--blue);color:#fff;border-radius:20px;align-items:center;gap:8px;height:40px;padding:0 14px;font-size:13px;font-weight:700;display:flex;box-shadow:0 6px 14px -8px #2e7dd1e6}.daybtn:hover{background:#2568b4}.view{scroll-behavior:smooth;flex:1;padding:22px 24px 44px;overflow-y:auto}.view-in{flex-direction:column;gap:18px;max-width:1080px;margin:0 auto;display:flex}.card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:20px}.card.tight{padding:16px}.card-h{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.card-h h3{font-size:17px}.card-h .sub{color:var(--ink-3);margin-top:2px;font-size:12.5px}.card-h .r{align-items:center;gap:8px;margin-left:auto;display:flex}.btn{border:1.5px solid var(--blue);background:var(--blue);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:14.5px;font-weight:700;transition:transform .12s,background .16s;display:inline-flex}.btn:active{transform:scale(.97)}.btn.red{background:var(--red);border-color:var(--red)}.btn.red:hover{background:var(--red-d)}.btn.ghost{color:var(--ink);border-color:var(--line-2);background:0 0}.btn.ghost:hover{background:#fff2e0}.btn.buy{color:var(--red);background:#fff;border-color:#ffc2d1}.btn.buy:hover{background:var(--red);border-color:var(--red);color:#fff}.btn.sm{border-radius:10px;min-height:38px;padding:0 13px;font-size:13px}.btn[disabled]{opacity:.45;cursor:not-allowed}.tag{height:26px;color:var(--ink-2);background:#fdf1e0;border-radius:13px;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.tag.need{background:var(--save-w);color:var(--save)}.tag.want{background:var(--spend-w);color:#8f5205}.tag.sec{color:#5b4690;background:#ece7f5}.tag.red{background:var(--red-w);color:var(--red-d)}.tag.blue{background:var(--share-w);color:var(--share)}.money{font-variant-numeric:tabular-nums;font-weight:800}.muted{color:var(--ink-3);font-size:13px}.rule{background:var(--line);height:1.5px;margin:14px 0}.hero{color:#123a5c;background:linear-gradient(120deg,#a9ddff 0%,#cfeeff 48%,#ffedc6 100%);border-radius:22px;grid-template-columns:1fr 300px;align-items:center;min-height:230px;padding:30px 34px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 69% 11%,#ffffffb3 0 44px,#0000 45px),radial-gradient(circle at 102% 90%,#ffa3ba70 0 84px,#0000 85px),radial-gradient(circle at 44% 112%,#ffd68a61 0 78px,#0000 79px);position:absolute;inset:0}.hero .eyebrow{letter-spacing:.14em;color:#1c6b9b;margin-bottom:10px;font-size:12px;font-weight:800;position:relative}.hero h1{letter-spacing:-.02em;color:#10344f;text-wrap:balance;max-width:15em;font-size:32px;line-height:1.28;position:relative}.hero h1 em{color:var(--red);font-style:normal}.hero .lead{color:#2c5c7c;max-width:26em;margin-top:12px;font-size:14px;line-height:1.65;position:relative}.hero .acts{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex;position:relative}.hero .btn.red{background:var(--red);border-color:#c9143e;box-shadow:0 8px 18px -10px #e11d48cc}.hero .btn.ghost{color:#11405f;background:#ffffffeb;border-color:#fff}.hero .btn.ghost:hover{background:#fff}.hero .art{place-items:end center;height:100%;display:grid;position:relative}.hero .art img{filter:drop-shadow(0 14px 20px #18466e4d);width:196px;position:relative}.hero .art .coins{pointer-events:none;position:absolute;inset:0}.jars{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.jar{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);grid-template-columns:64px 1fr;align-items:center;gap:12px;padding:16px 16px 14px;display:grid;position:relative;overflow:hidden}.jar .jl{letter-spacing:.02em;font-size:12px;font-weight:800}.jar .jv{margin-top:2px;font-size:24px;font-weight:800;line-height:1.1}.jar .jm{color:var(--ink-3);margin-top:3px;font-size:11.5px}.jar.save .jl{color:var(--save)}.jar.spend .jl{color:var(--spend)}.jar.share .jl{color:var(--share)}.jar.save .jv{color:var(--save)}.jar.spend .jv{color:var(--spend)}.jar.share .jv{color:var(--share)}.jar svg{width:64px;height:76px}.jarrow{background:#f4e8d5;border-radius:2px;height:4px;margin-top:9px;display:block;overflow:hidden}.jar.save{background:linear-gradient(#f3fdf9,#eafaf4);border-color:#c6ecdd}.jar.spend{background:linear-gradient(#fffdf4,#fff4e0);border-color:#f7dfb4}.jar.share{background:linear-gradient(#f6faff,#eaf2ff);border-color:#cbe0fb}.jarrow i{border-radius:2px;height:100%;display:block}.jar.save .jarrow i{background:var(--save)}.jar.spend .jarrow i{background:var(--spend)}.jar.share .jarrow i{background:var(--share)}.two{grid-template-columns:1.15fr .85fr;align-items:start;gap:16px;display:grid}.task{border-bottom:1px dashed var(--line);align-items:center;gap:12px;padding:11px 0;display:flex}.task:last-child{border-bottom:0;padding-bottom:0}.task .bx{border:1.5px solid var(--line-2);width:26px;height:26px;color:var(--ink-3);border-radius:8px;flex:0 0 26px;place-items:center;display:grid}.task.done .bx{background:var(--save);border-color:var(--save);color:#fff}.task b{font-size:14.5px;font-weight:700;display:block}.task span{color:var(--ink-3);font-size:12.5px}.task .go{color:var(--red);white-space:nowrap;margin-left:auto;font-size:13px;font-weight:700}.mini{border-bottom:1px dashed var(--line);align-items:center;gap:10px;padding:10px 0;font-size:13.5px;display:flex}.mini:last-child{border-bottom:0}.mini .k{background:var(--gold);border-radius:50%;width:8px;height:8px}.mini .v{margin-left:auto;font-weight:800}.income-row{border-bottom:1px dashed var(--line);align-items:center;gap:10px;padding:11px 0;display:flex}.income-row:last-child{border-bottom:0}.income-row .ib{width:34px;height:34px;color:var(--ink-2);background:#fff1dc;border-radius:10px;flex:0 0 34px;place-items:center;display:grid}.income-row b{font-size:14px;display:block}.income-row span{color:var(--ink-3);font-size:12px}.income-row .amt{color:var(--save);margin-left:auto;font-size:15px;font-weight:800}.income-row .claim{margin-left:10px}.seg{background:#fff3e2;border-radius:14px;gap:2px;padding:4px;display:inline-flex}.seg button{min-height:40px;color:var(--ink-2);border-radius:11px;padding:0 16px;font-size:13.5px;font-weight:700}.seg button.on{background:var(--card);color:var(--red);box-shadow:0 1px #0000000a,inset 0 0 0 1.5px #ffd7e1}.band-note{border:1.5px solid var(--line);color:var(--ink-2);background:#fdf1e0;border-radius:14px;align-items:flex-start;gap:14px;padding:14px 16px;font-size:13.5px;display:flex}.band-note b{color:var(--ink)}.units{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.units.u4{grid-template-columns:repeat(2,1fr)}.unit{text-align:left;background:var(--card);border:1.5px solid var(--line);border-left:5px solid var(--c,var(--red));border-radius:14px;flex-direction:column;gap:8px;padding:16px 16px 16px 14px;transition:box-shadow .16s,transform .12s;display:flex;position:relative}.unit:hover{transform:translateY(-1px);box-shadow:0 10px 20px -16px #5034288c}.unit .n{color:var(--ink-3);letter-spacing:.1em;font-size:11.5px;font-weight:800}.unit h4{font-size:16px;line-height:1.35}.unit p{color:var(--ink-3);font-size:12.5px;line-height:1.5}.unit .st{color:var(--ink-3);align-items:center;gap:6px;margin-top:auto;font-size:12px;font-weight:700;display:flex}.unit.done{background:#fbfdfc;border-color:#bfd9d0}.unit.done .st{color:var(--save)}.unit .badge-done{background:var(--save);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:12px;right:12px}.progress-ring{flex:0 0 52px;width:52px;height:52px}.mall-head{background:var(--card);border:1.5px solid var(--line);border-radius:16px;align-items:center;gap:14px;display:flex;overflow:hidden}.mall-head img{object-fit:cover;border-right:1.5px solid var(--line);flex:0 0 220px;width:220px;height:118px}.mall-head .txt{min-width:0;padding:14px 16px}.mall-head h3{font-size:17px}.mall-head .season{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.goods{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.good{background:var(--card);border:1.5px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:14px;display:flex}.good .art{background:var(--ab,#fff4e2);height:82px;color:var(--ac,var(--ink-2));border-radius:12px;place-items:center;display:grid}.good .art svg{width:46px;height:46px}.good h4{font-size:14.5px;line-height:1.35}.good .pr{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.good .pr b{font-size:18px}.good .pr s{color:var(--ink-3);font-size:12px}.good .note{color:var(--ink-3);font-size:11.5px;line-height:1.45}.good .acts{gap:8px;margin-top:auto;display:flex}.good .acts .btn{flex:1;min-height:40px;padding:0 8px;font-size:13px}.opt-row{color:var(--ink-2);align-items:center;gap:10px;padding:10px 0;font-size:13px;display:flex}.switch{background:#e8dcc9;border-radius:14px;flex:0 0 48px;width:48px;height:28px;transition:background .16s;position:relative}.switch i{background:#fff;border-radius:50%;width:22px;height:22px;transition:left .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.switch.on{background:var(--save)}.switch.on i{left:23px}.cool-row{border:1.5px solid var(--line);background:var(--card);border-radius:14px;align-items:center;gap:14px;padding:14px;display:flex}.cool-row+.cool-row{margin-top:10px}.cool-row .cd{width:56px;height:56px;color:var(--ink-2);background:#fff1dc;border-radius:12px;flex:0 0 56px;place-items:center;display:grid}.cool-row b{font-size:15px}.cool-row .meta{color:var(--ink-3);margin-top:2px;font-size:12px}.cool-row .bar{background:#f4e8d5;border-radius:3px;max-width:280px;height:5px;margin-top:8px;overflow:hidden}.cool-row .bar i{background:var(--red);border-radius:3px;height:100%;display:block}.cool-row .r{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.done-flag{background:var(--save-w);color:var(--save);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700}.tabs{border-bottom:1.5px solid var(--line);gap:6px;padding-bottom:0;display:flex}.tabs button{color:var(--ink-3);border-bottom:3px solid #0000;margin-bottom:-1.5px;padding:10px 4px;font-size:14.5px;font-weight:700}.tabs button.on{color:var(--red);border-bottom-color:var(--red)}.pick-list{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.pick{background:var(--card);border:1.5px solid var(--line);text-align:left;border-radius:12px;flex-direction:row;align-items:center;gap:10px;padding:12px 14px;transition:border-color .14s,background .14s;display:flex;position:relative}.pick .ico{background:var(--ab,#fff1dc);width:36px;height:36px;color:var(--ac,var(--ink-2));border-radius:10px;flex:0 0 36px;place-items:center;display:grid}.pick .ico svg{width:22px;height:22px}.pick .txt{min-width:0}.pick .txt b{font-size:14px;line-height:1.3;display:block}.pick .txt span{color:var(--ink-2);margin-top:2px;font-size:14px;font-weight:800;display:block}.pick.on{border-color:var(--red);background:#fff7f8}.pick .tick{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;display:none;position:absolute;top:10px;right:10px}.pick.on .tick{display:grid}.pick b{font-size:14px}.pick .p{font-size:15px;font-weight:800}.buget-bar{background:#f7ecdb;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-size:13px;display:flex}.buget-bar .bar{background:#f0e4d3;border-radius:4px;flex:1;height:8px;overflow:hidden}.buget-bar .bar i{background:var(--share);border-radius:4px;height:100%;display:block}.buget-bar .bar i.over{background:var(--red)}.shop-row{border-bottom:1px dashed var(--line);grid-template-columns:1fr 92px 110px 150px;align-items:center;gap:10px;padding:12px 0;font-size:13.5px;display:grid}.shop-row .nm{align-items:center;gap:8px;display:flex}.shop-row .calc{color:var(--ink-3);text-align:right;font-size:12px}.shop-row:last-child{border-bottom:0}.mini-choice{justify-content:flex-end;gap:8px;display:flex}.lab{grid-template-columns:1fr 1fr;gap:16px;display:grid}.alloc{flex-direction:column;gap:14px;display:flex}.sl{align-items:center;gap:14px;display:flex}.sl .lb{width:64px;font-size:13px;font-weight:800}.sl.save .lb{color:var(--save)}.sl.spend .lb{color:var(--spend)}.sl.share .lb{color:var(--share)}.sl input[type=range]{appearance:none;background:0 0;flex:1;height:30px;margin:0}.sl input[type=range]::-webkit-slider-runnable-track{background:#f2e6d4;border-radius:3px;height:6px}.sl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#1c5a8a;border:3px solid #fff;border-radius:50%;width:26px;height:26px;margin-top:-10px;box-shadow:0 2px 8px #1c5a8a47}.sl.save input[type=range]::-webkit-slider-thumb{background:var(--save);box-shadow:0 2px 8px #12a37e4d}.sl.spend input[type=range]::-webkit-slider-thumb{background:var(--spend);box-shadow:0 2px 8px #e8890c4d}.sl.share input[type=range]::-webkit-slider-thumb{background:var(--share);box-shadow:0 2px 8px #3b82f64d}.sl input[type=range]:focus-visible{outline:2px solid var(--red);outline-offset:4px;border-radius:6px}.sl .vv{text-align:right;font-variant-numeric:tabular-nums;width:52px;font-weight:800}.stackbar{border:1.5px solid var(--line);border-radius:10px;height:38px;display:flex;overflow:hidden}.stackbar i{color:#fff;white-space:nowrap;place-items:center;min-width:0;height:100%;font-size:12px;font-weight:800;display:grid;overflow:hidden}.metrics{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px;display:grid}.metric{background:#fff7e8;border-radius:12px;padding:12px}.metric .k{color:var(--ink-3);font-size:11.5px;font-weight:700}.metric .v{margin-top:2px;font-size:19px;font-weight:800}.presets{flex-wrap:wrap;gap:8px;display:flex}.presets button{border:1.5px solid var(--line-2);background:var(--card);border-radius:20px;padding:8px 12px;font-size:12.5px;font-weight:700}.presets button:hover{border-color:var(--red);background:#fff2e0}.ledger{grid-template-columns:1fr 1fr;gap:16px;display:grid}.tbl{border-collapse:collapse;width:100%;font-size:13.5px}.tbl th{text-align:left;color:var(--ink-3);letter-spacing:.06em;padding:0 8px 8px;font-size:11.5px;font-weight:700}.tbl td{border-top:1px solid var(--line);padding:9px 8px}.tbl td.r,.tbl th.r{text-align:right}.tbl .pos{color:var(--save);font-weight:800}.tbl .neg{color:var(--spend);font-weight:800}.filters{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.filters button{color:var(--ink-2);background:#fff3e2;border-radius:16px;padding:7px 11px;font-size:12px;font-weight:700}.filters button.on{background:var(--blue);color:#fff}.chart-box{width:100%}.legend{flex-direction:column;gap:6px;font-size:12.5px;display:flex}.legend div{align-items:center;gap:8px;display:flex}.legend .d{border-radius:3px;width:10px;height:10px}.legend .v{margin-left:auto;font-weight:700}.journal-row{border:1.5px solid var(--line);background:var(--card);border-radius:14px;gap:12px;padding:14px;display:flex}.journal-row+.journal-row{margin-top:10px}.mood{background:#fff1dc;border-radius:12px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.journal-row .pt{color:var(--ink-2);font-size:13px;font-style:italic}.journal-row .tx{margin-top:6px;font-size:14px}.journal-row .mt{color:var(--ink-3);margin-top:6px;font-size:11.5px}.badges{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.badge-card{background:var(--card);border:1.5px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:14px;display:flex;position:relative}.badge-card.locked{background:#fffaf0}.badge-card .bk{width:42px;height:42px;color:var(--ink-3);background:#fff1dc;border-radius:50%;place-items:center;display:grid}.badge-card.unl .bk{background:var(--bc,var(--red));color:#fff}.badge-card.unl .tickmark{background:var(--save);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:14px;right:14px}.badge-card h4{font-size:14.5px}.badge-card p{color:var(--ink-3);font-size:12px}.badge-card .pb{background:#f0e4d3;border-radius:3px;height:5px;margin-top:auto;overflow:hidden}.badge-card .pb i{background:var(--bc,var(--red));height:100%;display:block}.badge-card.locked .pb i{background:var(--ink-3)}.set-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{margin-bottom:14px}.field label{color:var(--ink-3);margin-bottom:6px;font-size:12.5px;font-weight:700;display:block}.input{border:1.5px solid var(--line-2);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:11px;padding:10px 14px;font-family:inherit;font-size:16px}.input:focus{border-color:var(--red);outline:none}textarea.input{resize:vertical;min-height:92px;line-height:1.55}.safety{flex-direction:column;gap:0;display:flex}.safety li{border-bottom:1px dashed var(--line);gap:12px;padding:13px 0;font-size:13.5px;line-height:1.6;display:flex}.safety li:last-child{border-bottom:0}.safety .n{background:var(--red-w);width:24px;height:24px;color:var(--red-d);border-radius:50%;flex:0 0 24px;place-items:center;font-size:12px;font-weight:800;display:grid}.src{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.src span{color:var(--ink-2);background:#fff1dc;border-radius:8px;padding:6px 9px;font-size:11.5px}.scrim{opacity:0;pointer-events:none;z-index:60;background:#12324e80;place-items:center;padding:26px;transition:opacity .2s;display:grid;position:fixed;inset:0}.scrim.on{opacity:1;pointer-events:auto}.sheet{background:var(--card);width:min(760px,100%);max-height:calc(100dvh - 52px);box-shadow:var(--shadow);border-radius:22px;padding:26px 28px 24px;transition:transform .22s;position:relative;overflow-y:auto;transform:translateY(10px)scale(.985)}.scrim.on .sheet{transform:none}.sheet.wide{width:min(940px,100%)}.sheet .x{width:44px;height:44px;color:var(--ink-2);background:#fff1dc;border-radius:12px;place-items:center;display:grid;position:absolute;top:16px;right:16px}.sheet h2{padding-right:52px;font-size:23px;line-height:1.3}.sheet .sub{color:var(--ink-3);margin-top:5px;font-size:13px}.steps{gap:6px;margin:18px 0 4px;display:flex}.steps i{background:#f0e4d3;border-radius:3px;flex:1;height:5px}.steps i.on{background:var(--red)}.story{color:var(--ink);background:#fff7e6;border-radius:14px;padding:16px 18px;font-size:15.5px;line-height:1.85}.hintbox{color:var(--ink-2);border-left:2px solid #e2cdb0;margin-top:12px;padding:2px 0 2px 12px;font-size:12.5px;line-height:1.7}.concept{font-size:15px;line-height:1.8}.concept b{color:var(--red-d)}.hkbox{border:1.5px dashed var(--line-2);color:var(--ink-2);border-radius:12px;margin-top:12px;padding:13px 15px;font-size:13.5px}.hkbox b{color:var(--ink)}.quiz-op{flex-direction:column;gap:9px;display:flex}.qo{text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:10px;min-height:48px;padding:13px 15px;font-size:14.5px;display:flex}.qo:hover{border-color:var(--line-2)}.qo.right{border-color:var(--save);background:var(--save-w)}.qo.wrong{border-color:var(--red);background:var(--red-w)}.qo .mk{background:#fff3e2;border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:grid}.qo.right .mk{background:var(--save);color:#fff}.qo.wrong .mk{background:var(--red);color:#fff}.fb{border-radius:11px;margin-top:12px;padding:12px 14px;font-size:13.5px;line-height:1.7}.fb.ok{background:var(--save-w);color:#0a4d40}.fb.no{background:var(--red-w);color:var(--red-d)}.q3{border:1.5px solid var(--line);border-radius:12px;margin-bottom:9px;padding:13px 15px}.q3 .qq{margin-bottom:9px;font-size:14px;font-weight:700}.q3 .ops{gap:8px;display:flex}.q3 .ops button{border:1.5px solid var(--line-2);background:#fff;border-radius:9px;flex:1;min-height:42px;font-size:13.5px;font-weight:700}.q3 .ops button.on{background:var(--red);color:#fff;border-color:var(--red)}.moods{gap:10px;display:flex}.moods button{border:1.5px solid var(--line);background:#fff;border-radius:14px;place-items:center;width:56px;height:56px;display:grid}.moods button.on{border-color:var(--red);background:var(--red-w)}.toast-wrap{z-index:90;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.toast{color:#fff;box-shadow:var(--shadow);background:#1e4f7a;border-radius:12px;max-width:78vw;padding:11px 18px;font-size:13.5px;font-weight:600;animation:.25s ease-out tin}.toast.good{background:var(--save)}.toast.warn{background:var(--red-d)}@keyframes tin{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}#app.solo .rail,#app.solo .topbar{display:none}#app.solo .view{padding:0}#app.solo .view-in{max-width:none;height:100%}.landing{background:linear-gradient(158deg,#b6e4ff 0%,#ddf4ff 38%,#fff8e4 68%,#ffe3ec 100%);grid-template-rows:1fr auto;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:center;gap:18px 26px;min-height:100%;padding:38px 52px 26px;display:grid;position:relative;overflow:hidden}.landing:before{content:"";pointer-events:none;background:radial-gradient(circle at 84% 14%,#ffffffe6 0 74px,#0000 75px),radial-gradient(circle at 92% 30%,#ffffff9e 0 40px,#0000 41px),radial-gradient(circle at 10% 96%,#ffd05c73 0 118px,#0000 119px),radial-gradient(circle at 98% 98%,#ff8aa85c 0 146px,#0000 147px);position:absolute;inset:0}.land{z-index:1;min-width:0;position:relative}.brandrow{align-items:center;gap:13px;margin-bottom:24px;display:flex}.brandrow img{border-radius:15px;width:54px;height:54px;box-shadow:0 12px 24px -14px #b0123a99}.brandrow .bn{letter-spacing:.01em;color:#123a5c;font-size:19px;font-weight:800;line-height:1.15}.brandrow .bs{letter-spacing:.14em;color:#53809f;margin-top:4px;font-size:11px;font-weight:700}.land h1{letter-spacing:-.01em;color:#0d3452;margin:0 0 15px;font-size:clamp(28px,3.2vw,40px);font-weight:800;line-height:1.26}.land h1 em{color:#e11d48;background:linear-gradient(#0000 62%,#ffcc5c8c 62% 92%,#0000 92%);font-style:normal}.land .lp{color:#2d5d80;max-width:33em;margin:0 0 24px;font-size:15px;line-height:1.9}.land .lp b{color:#0d3452;font-weight:700}.choose{margin-bottom:24px;display:block}.choose .lab{color:#4a7c9e;letter-spacing:.04em;margin-bottom:10px;font-size:12px;font-weight:800;display:block}.pills{flex-wrap:wrap;gap:9px;display:flex}.bandpill{color:#1c4c72;background:#ffffffdb;border:1.5px solid #2e7dd142;border-radius:999px;align-items:center;gap:7px;min-height:44px;padding:0 16px;font-size:13.5px;font-weight:700;display:inline-flex}.bandpill small{color:#7d99ad;font-size:11.5px;font-weight:600}.bandpill .dt{background:#c9d6de;border-radius:50%;width:8px;height:8px}.bandpill.on{color:#0d3452;background:#fff;border-color:#2e7dd1;box-shadow:0 10px 20px -14px #2e7dd1d9}.bandpill.on .dt{background:#e11d48}.land .acts{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn-enter{color:#fff;letter-spacing:.01em;background:#e11d48;border:0;border-radius:16px;align-items:center;gap:10px;min-height:58px;padding:0 30px;font-size:17px;font-weight:800;display:inline-flex;box-shadow:0 18px 32px -18px #e11d48cc}.btn-enter:hover{background:#c8163f}.btn-lite{color:#14507d;background:#ffffffbf;border:1.5px solid #2e7dd14d;border-radius:14px;min-height:52px;padding:0 20px;font-size:14px;font-weight:700}.btn-lite:hover{background:#fff}.facts{flex-wrap:wrap;gap:9px;margin-top:28px;display:flex}.facts div{background:#ffffff9e;border:1px solid #ffffffe6;border-radius:12px;flex:1;min-width:104px;padding:11px 14px}.facts b{color:#0d3452;letter-spacing:-.01em;margin-bottom:2px;font-size:21px;font-weight:800;display:block}.facts span{color:#4c7a97;font-size:11.5px;font-weight:600}.landart{z-index:1;place-items:center;min-width:0;display:grid;position:relative}.landart .mascot{filter:drop-shadow(0 26px 36px #78501e33);width:min(100%,340px)}.landart .tag{background:#fff;border-radius:999px;padding:7px 13px;font-size:12px;font-weight:800;position:absolute;box-shadow:0 12px 24px -16px #14325099}.landart .t1{color:#0a7a5e;border:1.5px solid #b7ecd9;top:14%;left:-2%}.landart .t2{color:#b1650a;border:1.5px solid #ffe0b0;top:44%;right:-2%}.landart .t3{color:#1b5cae;border:1.5px solid #c9ddfb;bottom:8%;left:6%}.landfoot{z-index:1;color:#5b7f96;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;padding-top:6px;font-size:11.5px;font-weight:600;display:flex;position:relative}.landfoot i{background:#9fbfd2;border-radius:50%;width:5px;height:5px;display:inline-block}@media (width<=1080px){:root{--rail:196px}.hero{grid-template-columns:1fr 220px}.hero .art img{width:160px}.units,.goods,.badges{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){body{overflow:auto}#app{flex-direction:column;height:auto;min-height:100dvh}.rail{border-right:0;border-bottom:1.5px solid var(--line);z-index:30;background:var(--card);flex-flow:wrap;flex:none;align-items:center;gap:6px;width:100%;padding:10px 12px;position:sticky;top:0}.brand{flex:none;padding:0 8px 0 0}.brand .t span{display:none}.nav{flex-flow:wrap;gap:4px}.nav a{white-space:nowrap;min-height:44px;padding:0 12px;font-size:13px}.rail-foot{display:none}.topbar{flex-wrap:wrap;padding:10px 14px}.who{order:1}.daybtn{order:2;margin-left:auto}.chips{order:3;width:100%;margin-left:0;padding-bottom:2px;overflow-x:auto}.view{padding:16px 14px 40px;overflow:visible}.hero{grid-template-columns:1fr;padding:24px 22px}.hero .art{display:none}.jars,.two,.lab,.ledger,.set-grid{grid-template-columns:1fr}.units,.goods,.badges,.pick-list{grid-template-columns:1fr 1fr}.mall-head{flex-direction:column;align-items:stretch}.mall-head img{border-right:0;border-bottom:1.5px solid var(--line);flex:none;width:100%;height:120px}}@media (width<=1080px) and (width>=601px){.badges{grid-template-columns:repeat(2,1fr)}.badges>.badge-card:last-child:nth-child(3){grid-column:span 2}}@media (width<=900px) and (width>=700px){.jars{grid-template-columns:repeat(3,1fr)}.hero{grid-template-columns:1fr 150px;padding:24px 22px}.hero .art{display:grid}.hero .art img{width:128px}}@media (width<=900px){.landing{grid-template-rows:auto auto auto;grid-template-columns:1fr;align-content:center;gap:10px;min-height:100dvh;padding:20px 20px 16px}.landart{order:-1;margin:0 auto}.landart .mascot{width:180px}.landart .t1{top:6%;left:-34%}.landart .t2{top:42%;right:-34%}.landart .t3{bottom:4%;left:-26%}.land h1{margin-bottom:12px;font-size:31px}.brandrow{margin-bottom:16px}.brandrow img{width:46px;height:46px}.choose{margin-bottom:18px}.facts{margin-top:20px}.facts div{min-width:calc(50% - 5px)}.landfoot{padding-top:4px;font-size:11px}}@media (width<=900px) and (height<=840px){.landing{align-content:start}}@media (width<=600px){.units,.goods,.badges,.pick-list{grid-template-columns:1fr}.shop-row{grid-template-columns:1fr;gap:6px}.landing{padding:16px 14px 14px}.landart .mascot{width:120px}.land h1{font-size:27px}.btn-enter{min-height:54px;padding:0 22px;font-size:16px}.facts div{min-width:calc(50% - 5px);padding:9px 11px}.facts b{font-size:18px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
