:root{--ink:#173653;--muted:#657d95;--blue:#194f91;--accent:#e83248;--soft:#e6effa;--line:#d1deed;--green:#387856;--gold:#ffd76a;--bg:#f0f6fc;font-family:system-ui,-apple-system,"PingFang SC",sans-serif;color:var(--ink);background:#e5eef8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #eaa951;outline-offset:3px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:13px;background:white;color:var(--ink);font-size:16px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}label{display:block;font-size:13px;font-weight:700;margin:20px 0 9px}p{line-height:1.7}h1,h2,h3,h4,p{margin-top:0}h1{font-size:25px;letter-spacing:-.7px}h2{font-size:21px;letter-spacing:-.5px}h3{font-size:16px}svg{display:block;width:100%;height:100%}.icon{display:inline-grid;place-items:center;flex-shrink:0;width:31px;height:34px;font-size:26px}.muted{color:var(--muted)}.note{font-size:12px;color:var(--muted);line-height:1.7;margin:12px 0}.loading{text-align:center;padding:50px}.shell{max-width:480px;margin:24px auto 0;min-height:calc(100dvh - 24px);background:var(--bg);border:1px solid var(--line);border-radius:28px 28px 0 0;position:relative;isolation:isolate;padding-bottom:105px;box-shadow:0 15px 70px #194f9117}.shell:before{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-radial-gradient(circle at 110% 0,transparent 0 55px,#194f9108 56px 57px,transparent 58px 110px);z-index:-1;pointer-events:none}body[data-theme="spider"] .shell:before{background:repeating-radial-gradient(circle at 100% 0,transparent 0 45px,#df334709 46px 47px,transparent 48px 95px),repeating-conic-gradient(from 10deg at 100% 0,transparent 0deg 20deg,#194f9106 21deg 22deg,transparent 23deg 45deg)}body[data-theme="iron"] .shell:before{background:repeating-linear-gradient(130deg,transparent 0 40px,#b57b2110 41px 42px,transparent 43px 85px)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;gap:10px}.topbar h1{font-size:22px;margin:5px 0}.date-caption{font-size:11px;letter-spacing:.5px;color:var(--muted)}.avatar{width:52px;height:55px;background:white;border:1px solid var(--line);border-radius:16px;padding:5px}.page{padding:0 22px}.hero-banner{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(110deg,var(--blue),#153550);color:white;border-radius:17px 7px 17px 7px;box-shadow:3px 3px 0 var(--accent);margin-bottom:22px}.hero-banner .icon{width:43px;height:47px}.hero-banner strong{font-size:15px}.hero-banner small{display:block;color:#d9e8fa;font-size:11px;margin-top:5px}.balance-card{background:var(--blue);color:white;border-radius:25px;padding:24px;position:relative;overflow:hidden;box-shadow:0 10px 20px #194f911c}.balance-card:after{content:"";position:absolute;right:-52px;bottom:-102px;width:210px;height:210px;border:20px solid #ffffff14;box-shadow:0 0 0 12px #ffffff07;border-radius:50%;pointer-events:none}.balance-card .balance-label{font-size:12px;color:#d7e7fa}.balance-card .balance-number{font-size:46px;letter-spacing:-1.6px;line-height:1.25;font-weight:850;margin:12px 0}.balance-number small{font-size:16px;font-weight:500;letter-spacing:0}.balance-card .money{font-size:18px;font-weight:600}.balance-card .rate-tag{font-size:11px;background:#ffffff20;padding:7px 12px;border-radius:22px;display:inline-block;margin-top:16px}.balance-mascot{position:absolute;right:25px;top:29px;font-size:47px;animation:bob 3s ease-in-out infinite}.negative{color:#ffe0a0}.card{background:#ffffffed;border:1px solid var(--line);border-radius:20px;padding:18px;margin-top:20px}.card h3{margin-bottom:13px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:25px 0 14px}.section-head h2{display:flex;align-items:center;gap:8px;font-size:18px;margin:0}.section-head .icon{width:25px;height:28px}.section-head small{font-size:11px;color:var(--muted)}.progress{height:8px;background:#dee7f2;border-radius:20px;overflow:hidden}.progress span{display:block;height:100%;background:var(--accent);transition:width .4s}.task{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:21px;background:white;padding:16px 12px;margin-top:12px}.task .task-icon{width:52px;height:57px;padding:5px;background:var(--soft);border:1px solid var(--line);border-radius:15px;font-size:32px;display:grid;place-items:center;flex-shrink:0}.task .task-text{flex:1;min-width:0}.task strong{display:block;font-size:14px;overflow-wrap:anywhere}.task p{font-size:11px;color:var(--muted);margin:7px 0 0}.task-button{display:flex;gap:5px;align-items:center;justify-content:center;border:0;background:var(--soft);color:var(--blue);padding:10px 9px;border-radius:13px;font-size:12px;font-weight:700;min-height:44px;flex-shrink:0}.task-button .icon{width:23px;height:25px}.task.done{background:#f0f7ed}.task.done .task-button{background:#dfefdb;color:var(--green)}.task.done .task-icon{box-shadow:0 0 0 2px #b0cda2}.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;border-radius:14px;padding:14px;min-height:48px;font-weight:700;font-size:14px}.primary{border:0;background:var(--accent);color:white;box-shadow:0 4px 0 #00000026;margin-top:18px}.secondary{background:white;border:1px solid var(--line);color:var(--ink);margin-top:14px}.exchange-entry{background:var(--soft);border:2px solid var(--blue);margin-top:22px}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(480px,100%);display:flex;background:#fffffff5;backdrop-filter:blur(10px);border:1px solid var(--line);border-bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));z-index:5}.nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;border:0;background:transparent;color:var(--muted);padding:4px}.nav .icon{width:31px;height:34px}.nav button.active{color:var(--accent);font-weight:800}.nav button.active .icon{filter:drop-shadow(0 2px 2px #194f9130);transform:scale(1.08)}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:17px}.calendar-head strong{font-size:14px}.square{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--soft);color:var(--ink);font-size:20px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-week{text-align:center;font-size:10px;color:var(--muted);margin-bottom:8px}.day{border:1px solid transparent;border-radius:10px;background:#f3f6fb;color:var(--ink);min-height:46px;padding:5px 1px;font-size:12px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center}.day small{font-size:8px;line-height:1;color:var(--green)}.day.recorded{background:#edf5e8}.day.selected{border:2px solid var(--blue);background:var(--soft);font-weight:800}.day.today{box-shadow:inset 0 -3px var(--accent)}.calendar-legend{font-size:10px;color:var(--muted);margin:12px 0 0}.date-row{display:flex;gap:8px;align-items:center;margin-top:14px}.date-row input{flex:1;width:0;font-size:13px;padding:10px}.date-row button{border:1px solid var(--line);background:white;border-radius:12px;color:var(--blue);font-size:12px;white-space:nowrap;padding:11px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.stat{background:white;border:1px solid var(--line);border-radius:18px;padding:16px}.stat small{font-size:11px;color:var(--muted)}.stat b{display:block;font-size:25px;margin:10px 0 7px}.week-row{display:flex;align-items:center;gap:9px}.week-row select{font-size:13px;padding:12px 7px}.week-row .square{flex-shrink:0}.wall-row{display:flex;gap:14px;padding:13px 0;border-bottom:1px dashed var(--line)}.wall-row:last-child{border:0}.wall-day{width:33px;flex-shrink:0;font-size:12px;font-weight:700}.wall-day small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}.wall-main{flex:1;min-width:0}.wall-stars{display:flex;gap:5px;flex-wrap:wrap;min-height:28px;align-items:center}.wall-stars>span{font-size:24px;line-height:1.2;animation:star-in .3s ease both}.wall-total{font-size:11px;color:var(--muted);margin-top:7px}.wall-row.current{background:var(--soft);padding:12px 8px;border-radius:12px}.empty{font-size:12px;color:var(--muted);text-align:center;padding:20px 10px;line-height:1.8}.tabs{display:flex;gap:8px;margin:18px 0 12px}.tabs button{flex:1;border:1px solid var(--line);background:white;color:var(--ink);border-radius:11px;min-height:43px;padding:10px;font-size:12px}.tabs button.selected{background:var(--blue);color:white;border-color:var(--blue)}.ledger{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding:15px 0;font-size:13px}.ledger:last-child{border:0}.ledger>div{min-width:0}.ledger b{font-weight:650;overflow-wrap:anywhere}.ledger small{display:block;color:var(--muted);font-size:10px;margin-top:6px;line-height:1.6;overflow-wrap:anywhere}.ledger strong{white-space:nowrap;flex-shrink:0;font-size:13px}.plus{color:var(--green)}.minus{color:#b46142}.preview{background:var(--soft);border-radius:15px;padding:17px;margin-top:18px;font-size:14px;line-height:2}.preview b{font-size:21px}.preview .negative{color:#b75438}.preview span{float:right}.hero-options{display:flex;gap:10px}.hero-option{flex:1;border:1px solid var(--line);border-radius:14px;background:white;padding:12px 5px;color:var(--ink);font-size:11px;display:flex;flex-direction:column;align-items:center;gap:8px}.hero-option .icon{width:38px;height:42px}.hero-option.selected{border:2px solid var(--accent);background:var(--soft)}.rate-inputs{display:flex;gap:10px;align-items:center}.rate-inputs input{width:85px;flex:1}.rate-inputs span{font-size:12px;white-space:nowrap}.management-task{display:flex;gap:12px;align-items:center;border-bottom:1px dashed var(--line);padding:16px 0}.management-task:last-child{border:0}.management-task>div{flex:1;min-width:0}.management-task b{font-size:13px;overflow-wrap:anywhere}.management-task small{display:block;font-size:10px;color:var(--muted);line-height:1.7;margin-top:5px}.management-task button{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:9px;color:var(--blue);font-size:11px}.management-task.inactive{opacity:.65}.icon-preview{display:flex;gap:14px;align-items:center;background:var(--soft);padding:14px;border-radius:16px}.icon-preview .icon{width:45px;height:50px;font-size:35px}.icon-preview b{font-size:13px}.icon-preview small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.icon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.icon-choice{display:flex;flex-direction:column;align-items:center;gap:7px;background:white;border:1px solid var(--line);border-radius:13px;padding:11px 3px;color:var(--ink);min-height:83px}.icon-choice .icon{width:36px;height:39px;font-size:30px}.icon-choice small{font-size:10px}.icon-choice.selected{border:2px solid var(--blue);background:var(--soft)}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.days button{padding:10px 0;border:1px solid var(--line);border-radius:10px;background:white;color:var(--muted);font-size:13px}.days button.selected{background:var(--soft);border-color:var(--blue);color:var(--blue)}.inline-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;border:1px solid var(--line);background:#fff;color:var(--blue);padding:7px 14px 7px 8px;margin:0 0 18px;border-radius:14px;font-size:14px;font-weight:650;box-shadow:0 2px 5px #194f9109;touch-action:manipulation;transition:background .15s,transform .15s,box-shadow .15s}.inline-back .back-arrow{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--soft);flex-shrink:0}.inline-back .back-arrow svg{width:20px;height:20px}.inline-back:active{background:var(--soft);transform:translateY(1px);box-shadow:none}@media(hover:hover){.inline-back:hover{background:#f7faff;border-color:#a9bfd9}}.login-screen{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#e832482d,transparent 45%),linear-gradient(135deg,#0e2846,#194f91);padding:25px}.login-card{width:100%;max-width:375px;background:#f6f9ff;border:1px solid #d4e1ef;border-radius:27px;padding:29px 25px;box-shadow:0 20px 60px #07192e55}.login-heroes{display:flex;justify-content:center;gap:22px;margin:10px 0 27px}.login-heroes .icon{width:57px;height:62px}.login-card h1{font-size:24px;margin-bottom:8px}.login-card .note{margin:0}.login-card .primary{margin-top:26px}.form-error{font-size:12px;color:#b3263d;min-height:20px;margin-top:12px}.logout{color:#b3263d}.badge{font-size:10px;background:var(--soft);color:var(--blue);border-radius:7px;padding:4px 7px}.spark{position:fixed;pointer-events:none;font-size:24px;z-index:30;animation:burst .85s ease-out forwards}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);width:max-content;background:#173653;color:white;padding:12px 18px;border-radius:14px;z-index:40;font-size:12px;line-height:1.7;box-shadow:0 4px 20px #0003;display:none}dialog{border:1px solid var(--line);border-radius:24px;max-width:380px;width:calc(100% - 40px);padding:24px;color:var(--ink)}dialog::backdrop{background:#0b213d88;backdrop-filter:blur(3px)}dialog h2{font-size:21px}.dialog-actions{display:flex;gap:12px}.dialog-actions button{flex:1;margin-top:18px}.status-strip{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin:12px 0 0}.success{color:var(--green)}@keyframes bob{50%{transform:translateY(-5px) rotate(4deg)}}@keyframes burst{to{transform:translate(var(--dx),var(--dy)) rotate(35deg);opacity:0}}@keyframes star-in{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media(max-width:520px){.shell{margin:0;border:0;border-radius:0;min-height:100dvh}.page{padding:0 20px}.topbar{padding:23px 22px 17px}}@media(max-width:360px){.page{padding:0 14px}.task{gap:8px;padding:13px 9px}.task .task-icon{width:44px;height:49px}.task-button{font-size:11px;padding:9px 6px}.task strong{font-size:13px}.task-button .icon{width:20px;height:22px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.reward-symbol{display:inline-flex;width:25px;height:25px;flex-shrink:0;vertical-align:middle;line-height:1}.reward-symbol svg{width:100%;height:100%;overflow:visible}.balance-mascot{width:62px;height:62px;filter:drop-shadow(0 5px 3px #10244f30)}.balance-mascot .reward-symbol{width:100%;height:100%}.stat b{display:flex;align-items:center;gap:7px}.stat b .reward-symbol{width:28px;height:28px}.ledger>strong{display:inline-flex;align-items:center;gap:5px}.ledger .reward-symbol{width:20px;height:20px}.wall-stars>span{display:inline-flex;align-items:center}.wall-stars .reward-symbol{width:27px;height:27px}.spark{width:28px;height:28px}.spark .reward-symbol{width:100%;height:100%}.reward-field{margin:20px 0 0;padding:0;border:0;min-width:0}.reward-field legend{font-size:13px;font-weight:700;margin-bottom:12px}.reward-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reward-choice{position:relative;display:flex;align-items:center;gap:10px;min-height:73px;padding:13px 11px;border:1px solid var(--line);background:#fff;border-radius:16px;color:var(--ink);font-size:13px;font-weight:650;text-align:left;transition:background .2s,border-color .2s,transform .2s}.reward-choice>.reward-symbol{width:36px;height:38px}.reward-choice.selected{border:2px solid var(--blue);background:var(--soft);padding:12px 10px}.reward-check{position:absolute;right:6px;top:6px;display:none;width:16px;height:16px;border-radius:50%;background:var(--blue);color:#fff;font-size:10px;align-items:center;justify-content:center}.reward-choice.selected .reward-check{display:flex}.reward-choice:hover{border-color:var(--blue)}.reward-choice:active{transform:scale(.98)}@media(max-width:360px){.reward-choice{gap:7px;font-size:12px}.reward-choice>.reward-symbol{width:31px;height:33px}}

[hidden]{display:none!important}.calendar-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-summary h3{margin:0;font-size:15px}.calendar-toggle{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:8px 10px;background:var(--soft);border:1px solid var(--line);border-radius:11px;color:var(--blue);font-size:12px;font-weight:650}.calendar-toggle svg{width:16px;height:16px;transition:transform .2s}.calendar-toggle svg.expanded{transform:rotate(180deg)}#calendar-content{margin-top:18px}.calendar-card>.note{margin-bottom:0}

.task-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:13px 0 15px}.task-summary>.note{margin:0;flex:1;min-width:0}.exchange-shortcut{display:flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:46px;padding:10px 13px;background:var(--soft);border:1px solid var(--blue);border-radius:13px;color:var(--blue);font-size:13px;font-weight:750;box-shadow:0 2px 0 #194f9110}.exchange-shortcut .icon{width:25px;height:28px}.exchange-shortcut:active{transform:translateY(1px)}@media(max-width:360px){.task-summary{gap:8px}.task-summary>.note{font-size:11px}.exchange-shortcut{padding:9px 10px;gap:4px;font-size:12px}.exchange-shortcut .icon{width:22px;height:25px}}

.compact-balance{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--soft);border:1px solid var(--line);border-radius:17px;padding:15px 16px}.compact-balance>div:first-child{display:flex;gap:10px;align-items:center}.compact-balance>.compact-money{text-align:right}.compact-balance .reward-symbol{width:36px;height:36px}.compact-balance small{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.compact-balance strong{font-size:17px}.compact-money small{font-size:9px;margin:5px 0 0}.exchange-card h2{font-size:21px;margin-bottom:0}.exchange-card label{font-size:12px}.amount-picker{display:flex;gap:12px;align-items:center}.amount-step{width:42px;height:44px;flex-shrink:0;border:1px solid var(--line);background:var(--soft);color:var(--blue);font-size:23px;border-radius:12px}.amount-field{display:flex;gap:5px;align-items:center;flex:1;min-width:0;background:white;border-bottom:2px solid var(--line)}.amount-field>span{font-size:25px;font-weight:700;color:var(--muted)}.amount-field input{border:0;background:none;border-radius:0;font-size:36px;font-weight:800;letter-spacing:-1px;padding:7px 2px;text-align:center;appearance:textfield;-moz-appearance:textfield}.amount-field input::-webkit-inner-spin-button,.amount-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.exchange-card .range-label{font-weight:400;font-size:11px;color:var(--muted);margin:20px 0 12px}.amount-range{appearance:none;-webkit-appearance:none;width:100%;height:9px;min-height:0;padding:0;border:0;border-radius:20px;background:linear-gradient(to right,var(--blue) 0 var(--range-progress),#dce5f0 var(--range-progress) 100%);cursor:pointer;touch-action:pan-y;margin:12px 0 15px}.amount-range::-webkit-slider-thumb{appearance:none;width:29px;height:29px;border-radius:50%;background:white;border:5px solid var(--blue);box-shadow:0 2px 6px #153a6826}.amount-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:white;border:5px solid var(--blue);box-shadow:0 2px 6px #153a6826}.range-limits{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-bottom:15px}.amount-presets{display:flex;gap:7px}.amount-presets button{flex:1;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);padding:10px 2px;font-size:11px;min-height:40px}.amount-presets button.selected{background:var(--soft);color:var(--blue);border:1px solid var(--blue);font-weight:700}.exchange-cost{margin-top:20px;background:var(--soft);border-radius:17px;padding:16px;text-align:center}.exchange-cost>small{color:var(--muted);font-size:11px}.cost-total{display:flex;gap:8px;align-items:center;justify-content:center;margin:9px 0 15px}.cost-total .reward-symbol{width:38px;height:38px}.cost-total b{font-size:32px;letter-spacing:-1px}.cost-total>span:last-child{font-size:12px}.cost-after{border-top:1px dashed var(--line);padding-top:12px;font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:8px}.cost-after strong{font-size:11px}.exchange-note{margin:17px 0 0;font-size:12px;color:var(--muted)}.exchange-note summary{cursor:pointer;padding:5px 0}.exchange-note label{margin-top:12px}.exchange-note input{font-size:14px}.exchange-card .note{text-align:center;font-size:10px;margin-bottom:0}@media(max-width:360px){.compact-balance{padding:13px 12px;gap:8px}.compact-balance .reward-symbol{width:30px;height:30px}.compact-balance strong{font-size:15px}.compact-money small{font-size:8px}.amount-picker{gap:9px}.amount-field input{font-size:32px}}

.header-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}.sound-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:44px;min-height:48px;padding:5px 2px;background:white;color:var(--blue);border:1px solid var(--line);border-radius:12px;font-size:9px}.sound-toggle svg{width:20px;height:20px}.sound-toggle[aria-pressed="false"]{color:var(--muted);background:var(--soft)}.login-sound{display:flex;justify-content:flex-end}.topbar>div:first-child{min-width:0}.topbar h1{overflow-wrap:anywhere}@media(max-width:360px){.header-tools{gap:5px}.header-tools .avatar{width:42px;height:46px}.topbar h1{font-size:20px}}

.remember-login{display:flex;align-items:center;gap:9px;margin:17px 0 0;font-size:13px;font-weight:500;cursor:pointer}.remember-login input{width:18px;height:18px;padding:0;margin:0;accent-color:var(--blue);flex-shrink:0}

.hero-banner{display:block}.hero-banner-heading{display:flex;align-items:center;gap:12px;min-width:0}.hero-banner-heading>div{min-width:0}.hero-banner-heading strong{overflow-wrap:anywhere}.hero-banner-balance{padding:14px 16px}.hero-balance{margin-top:12px;padding-top:12px;border-top:1px solid #ffffff30}.hero-balance-line{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px}.hero-reward{display:flex;align-items:center;gap:7px;font-size:11px;color:#e4efff}.hero-reward .reward-symbol{width:25px;height:25px}.hero-reward b{font-size:18px;color:white;margin-left:5px;overflow-wrap:anywhere}.hero-balance-line .hero-cash{font-size:19px;overflow-wrap:anywhere}.hero-balance .hero-negative{color:#ffdc85}.hero-balance .hero-rate{font-size:10px;color:#d9e8fa;margin-top:7px}@media(max-width:360px){.hero-banner-balance{padding:13px}.hero-balance-line{gap:6px}.hero-reward{font-size:10px}.hero-reward b{font-size:16px}.hero-balance-line .hero-cash{font-size:17px}}

.calendar-card .date-row{margin-top:0}

/* Keep scrolling and pinch zoom, without double-tap zoom on mobile controls. */
html{touch-action:manipulation}
button,summary{touch-action:manipulation;-webkit-user-select:none;user-select:none}
.amount-range{touch-action:pan-y pinch-zoom}

.ledger-actions{display:flex;flex-direction:column;align-items:flex-end;gap:9px;flex-shrink:0}.ledger-actions strong{display:inline-flex;align-items:center;gap:5px;font-size:13px;white-space:nowrap}.ledger-actions .reward-symbol{width:20px;height:20px}.ledger-actions button{border:1px solid var(--line);background:var(--soft);color:var(--blue);border-radius:9px;padding:8px 10px;min-height:40px;font-size:11px}.reversed-badge{display:inline-block;color:var(--muted);background:#edf1f6;border-radius:6px;font-size:10px;padding:3px 6px;margin-left:6px}.ledger-reversed>.ledger-actions>strong{color:var(--muted)}

.hero-banner-balance{display:flex;align-items:center;gap:13px;padding:17px 15px}.hero-banner-balance>.icon{width:42px;height:48px}.hero-banner-balance .hero-balance{flex:1;min-width:0;margin:0;padding:0;border:0}.hero-banner-balance .hero-reward{gap:5px;flex-wrap:wrap}.hero-banner-balance .hero-reward .reward-symbol{width:22px;height:22px}.hero-banner-balance .hero-reward>span{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.hero-banner-balance .hero-reward b{margin:0}.hero-banner-balance .hero-cash{margin-left:auto}.hero-banner-balance .hero-rate{line-height:1.6;margin-top:6px}@media(max-width:360px){.hero-banner-balance{gap:10px;padding:15px 12px}.hero-banner-balance>.icon{width:35px;height:42px}}

.hero-banner-balance .hero-reward>span.hero-count{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.hero-banner-balance .hero-count small{font-size:10px;margin:0;color:#d9e8fa}.hero-banner-balance .hero-count b{font-size:30px;line-height:1.15;letter-spacing:-.6px}.hero-count em{font-size:14px;font-style:normal;font-weight:500;margin-left:4px;letter-spacing:0}.hero-banner-balance .hero-cash{font-size:15px;color:#d9e8fa;font-weight:600}.hero-banner-balance .hero-reward{gap:8px}.hero-banner-balance .hero-reward .reward-symbol{width:26px;height:26px}

.hero-banner-balance .hero-reward-aligned{display:flex;flex-direction:column;align-items:flex-start;gap:5px;flex-wrap:nowrap}.hero-banner-balance .hero-reward-label{font-size:13px;font-weight:600;margin:0;color:#e4efff}.hero-count-row{display:flex;align-items:center;gap:9px}.hero-banner-balance .hero-count-row .reward-symbol{width:30px;height:30px}.hero-banner-balance .hero-count-row b{font-size:32px;line-height:1.15;white-space:nowrap;margin:0}.hero-count-row em{font-size:15px;font-style:normal;font-weight:500;margin-left:5px}.hero-banner-balance .hero-cash{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:18px;color:white}.hero-banner-balance .hero-cash small{margin:0;font-size:11px;font-weight:400;color:#d9e8fa}

.bonus-shortcut{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0}.bonus-reasons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bonus-reasons button,.bonus-amounts button{border:1px solid var(--line);background:var(--soft);color:var(--blue);border-radius:12px;padding:11px 8px;min-height:44px;font-size:13px}.bonus-reasons button.selected{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:#d9e8fa}.bonus-amounts{display:flex;gap:7px;margin:12px 0;flex-wrap:wrap}.bonus-amounts button{flex:1}.bonus-card .primary{display:flex;align-items:center;justify-content:center;gap:8px}.bonus-card .primary .reward-symbol{width:25px;height:25px}.bonus-badge{color:var(--blue);background:var(--soft);font-size:10px;border-radius:6px;padding:3px 6px}.ledger>div:first-child{min-width:0;overflow-wrap:anywhere}

/* Five theme choices wrap without shrinking labels or keyboard targets. */
.hero-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hero-option{min-width:0;min-height:88px;overflow-wrap:anywhere}
.hero-option:nth-child(n+4){grid-column:span 1}
.hero-option[data-theme="tomJerry"] .icon{width:56px;height:42px}
body[data-theme="tomJerry"] .avatar .icon{width:100%}
body[data-theme="tomJerry"] .hero-banner>.icon{width:57px}
body[data-theme="panther"]{--bg:#f3eff8;--line:#ded4eb}
body[data-theme="tomJerry"]{--bg:#fff9ed;--line:#e8dac2}
body[data-theme="panther"] .shell:before{background:repeating-linear-gradient(60deg,transparent 0 36px,#7951b009 37px 39px,transparent 40px 76px),repeating-linear-gradient(-60deg,transparent 0 36px,#7951b009 37px 39px,transparent 40px 76px)}
body[data-theme="tomJerry"] .shell:before{background:radial-gradient(ellipse at 95% 10%,#efc66b22,transparent 45%)}
.theme-scene{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:8px 14px;margin:-8px 0 20px;border:1px solid var(--line);border-radius:15px;background:var(--soft);pointer-events:none}
.theme-scene-name{font-size:12px;font-weight:650;line-height:1.6;color:var(--blue)}
.theme-scene svg{width:96px;height:58px;flex-shrink:0}
@media(max-width:360px){.hero-options{gap:7px}.hero-option{padding:10px 3px}.theme-scene{padding:8px 10px}.theme-scene-name{font-size:11px}.theme-scene svg{width:80px;height:50px}body[data-theme="tomJerry"] .hero-banner>.icon{width:45px}}

/* Static registration link remains available before and after app rendering. */
.site-footer{max-width:480px;margin:0 auto;text-align:center;padding:20px 16px calc(110px + env(safe-area-inset-bottom));font-size:14px;line-height:1.6;color:#52677d}.site-footer a{color:inherit;text-decoration:underline;text-underline-offset:3px;user-select:text;overflow-wrap:anywhere}
