:root{color-scheme:dark;--bg:#070b11;--surface:#111922;--surface2:#0b1219;--surface3:#1c2632;--line:#2a3542;--text:#f7f8fb;--muted:#8e9aac;--accent:#ffb45f;--accent-soft:#2d1b10;--good:#4ce0aa;--warn:#efbd64;--bad:#ed7b7b;--blue:#5f91ff;--radius:22px;--nav:76px;--shadow:0 18px 45px #0008;font:15px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{min-height:100%;min-height:100dvh;background:var(--bg);scroll-padding-bottom:110px}body{margin:0;min-height:100%;min-height:100dvh;background:radial-gradient(circle at 75% -10%,#482817 0,transparent 26%),radial-gradient(circle at -8% 54%,#092b37 0,transparent 30%),var(--bg);color:var(--text);overscroll-behavior-y:none}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.13;background-image:linear-gradient(#fff1 1px,transparent 1px),linear-gradient(90deg,#fff1 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(#000,transparent 80%)}button,input,select{font:inherit}button{color:inherit}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:var(--blue)}:focus-visible{outline:3px solid #fff;outline-offset:2px}.skip-link{position:fixed;z-index:100;top:8px;left:8px;transform:translateY(-150%);padding:10px 14px;background:#fff;color:#000;border-radius:8px}.skip-link:focus{transform:none}
.app-shell{position:relative;width:100%;max-width:430px;min-height:100%;min-height:100dvh;margin:auto;padding:17px 12px calc(12rem + env(safe-area-inset-bottom,0px))}.topline{display:flex;align-items:center;margin-bottom:15px}.brand{display:flex;align-items:center;gap:10px;border:0;background:none;font-size:13px;letter-spacing:.18em;font-weight:900}.brand span{display:grid;place-items:center;width:29px;height:29px;border:1px solid var(--accent);border-radius:10px;color:var(--accent);box-shadow:0 0 18px #ffae4f55}.card{background:linear-gradient(145deg,#17212bdd,#0a1017ee);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 45px #0008,inset 0 1px #ffffff09}.rank-header{padding:18px;background:radial-gradient(circle at 87% 20%,#b46d3480 0,transparent 25%),linear-gradient(120deg,#52280f,#1b120e 72%);border-color:#ae6931;box-shadow:0 0 35px #d47b2525,inset 0 1px #ffc17b88;overflow:hidden;position:relative}.rank-header:after{content:"◇";position:absolute;right:25px;top:8px;color:#ffc2764a;font-size:100px}.rank-line{display:flex;align-items:center;gap:13px;position:relative;z-index:1}.rank-pill{padding:7px 16px;border:1px solid #ffbe72;border-radius:999px;background:#5b2d13;box-shadow:0 0 18px #f59c4650;font-weight:900;letter-spacing:.09em}.rank-header h1{font-size:clamp(25px,6vw,36px);letter-spacing:-.04em;margin:16px 0;position:relative;z-index:1}.rank-progress{height:13px;border-radius:20px;background:#111419aa;border:1px solid #fff5;overflow:hidden}.rank-progress span{display:block;width:33.33%;height:100%;background:linear-gradient(90deg,#fff1bd,var(--accent));box-shadow:0 0 16px var(--accent)}.rank-foot{display:flex;justify-content:space-between;margin-top:8px;color:#e5ccba}.rank-foot b{color:#fff}main{min-width:0;padding-top:18px}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 2px 14px}.page-head h1{font-size:clamp(25px,7vw,34px);line-height:1.1;letter-spacing:-.03em;margin:0}.page-head p{margin:5px 0 0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-size:11px;font-weight:900}.status,.chip,.tag{display:inline-flex;align-items:center;gap:5px;border-radius:999px;border:1px solid var(--line);white-space:nowrap}.status{padding:5px 9px;font-size:12px}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--warn)}.status.final:before,.status.good:before{background:var(--good)}.status.bad:before{background:var(--bad)}.section{padding:18px;margin-top:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.section-head h2{font-size:20px;margin:0}.section-head p{margin:1px 0 0;color:var(--muted);font-size:13px}.subtle{color:var(--muted);font-size:13px}.week-nav{display:flex;align-items:center;gap:7px;margin-bottom:10px;padding:6px}.week-nav .date-title{min-width:0;flex:1}.icon-btn,.small-btn{min-height:44px;border:1px solid #35414e;border-radius:14px;background:#121a23;padding:8px 11px}.icon-btn{min-width:44px}.button{min-height:46px;border:1px solid #35414e;border-radius:15px;background:#121a23;padding:11px 15px;font-weight:800}.button.primary{color:#241309;border-color:#ffc271;background:linear-gradient(135deg,#a55c27,#efaf68);box-shadow:0 0 23px #e38e3833}.button.danger{color:#ffc3c3;border-color:#754141}.button.linkish{border-color:transparent;background:transparent;color:#ffd2a0}.button-row{display:flex;gap:8px;flex-wrap:wrap}.button-row.end{justify-content:flex-end}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.day{position:relative;min-height:57px;border:1px solid #2e3945;border-radius:13px;background:#101720;padding:7px 2px;color:#aab6c7;font-size:10px}.day strong{display:block;font-size:17px;color:#cbd3df}.day.active{border-color:var(--accent);box-shadow:0 0 18px #f1933633;background:linear-gradient(150deg,#744017,#29170d);color:#ffd4a1}.day .check{position:absolute;top:2px;right:4px;color:var(--good);font-size:10px}.rank-strip{display:none}.progress{height:8px;background:#282e35;border-radius:99px;overflow:hidden;margin-top:7px}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#fff1bd,var(--accent));border-radius:99px}.rank-badge{font-weight:900;color:#e3a86d}
.form-grid,.metric-grid,.balance-grid,.catalog{display:grid;gap:10px}.form-grid.two,.metric-grid,.balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:block;min-width:0}.field>span,.label{display:flex;justify-content:space-between;gap:8px;font-weight:700;margin-bottom:6px}.field small,.label small{font-weight:400;color:var(--muted)}.input-wrap{display:flex;align-items:center;border:1px solid #714c30;border-radius:14px;background:#080f15;min-height:48px;overflow:hidden}.input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #ffb45f20}.input-wrap input,.input-wrap select{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text);padding:11px 12px}.input-wrap em{font-style:normal;color:var(--muted);padding:0 10px}.check-row{display:flex;align-items:center;min-height:54px;gap:10px;border:1px solid #303b47;border-radius:17px;padding:11px 13px;background:var(--surface2)}.check-row input{width:22px;height:22px;accent-color:var(--accent)}.step-row{display:grid;grid-template-columns:minmax(0,1fr) 42px 62px 42px;align-items:center;gap:6px;min-height:54px;border-top:1px solid var(--line);padding:8px 0}.step-row:first-of-type{border-top:0}.step-row button{height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface3);font-size:20px}.step-row input{width:100%;height:42px;text-align:center;border:1px solid var(--line);border-radius:12px;background:#080f15;color:var(--text)}.tasks,.list{display:grid;gap:8px}.list-row,.task{display:flex;align-items:center;gap:11px;min-width:0;padding:12px;border:1px solid #303b47;border-radius:17px;background:var(--surface2)}button.list-row,button.task{width:100%;text-align:left}.list-row>div,.task>div{min-width:0;flex:1}.list-row b,.task b{display:block;overflow-wrap:anywhere}.list-row small,.task small{display:block;color:var(--muted);overflow-wrap:anywhere}.tag,.chip{padding:5px 9px;font-size:11px}.tag{color:#ffd7a8;background:#342719}.tag.good{color:#a8eccf;background:#123529}.tag.bad{color:#ffc2c2;background:#3b2020}.chips{display:flex;gap:7px;overflow:auto;padding-bottom:4px}.chip{min-height:40px;background:var(--surface2);padding:8px 12px}.chip.active{border-color:var(--accent);background:var(--accent-soft);color:#ffd29b}.score-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.score-number{font-size:29px;font-weight:900}.sticky-actions{position:relative;z-index:10;display:flex;gap:8px;justify-content:flex-end;margin:14px -3px 0;padding:9px;background:#0b1118ed;border:1px solid var(--line);border-radius:17px;backdrop-filter:blur(12px)}details{border-top:1px solid var(--line);padding:11px 0}details:first-child{border-top:0}summary{cursor:pointer;font-weight:800}.breakdown{margin:9px 0 0;padding:0;list-style:none}.breakdown li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;color:var(--muted)}.breakdown b{text-align:right}.metric{padding:14px;min-width:0}.metric small{display:block;color:var(--muted)}.metric strong{display:block;font-size:20px;margin-top:3px;overflow-wrap:anywhere}.tabs{display:flex;padding:4px;border:1px solid var(--line);border-radius:15px;background:var(--surface);margin-bottom:12px}.tabs button{flex:1;min-height:42px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-weight:800}.tabs button.active{background:var(--surface3);color:var(--text)}.balance{padding:14px}.balance .amount{display:block;font-size:24px;font-weight:900;overflow-wrap:anywhere}.balance button{margin-top:8px}.empty{text-align:center;padding:28px 14px;color:var(--muted)}.empty strong{display:block;color:var(--text);font-size:17px;margin-bottom:4px}.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.product{display:flex;flex-direction:column;padding:15px;min-height:172px;text-align:left;overflow:hidden}.product .product-icon{font-size:27px}.product h3{margin:10px 0 3px;font-size:16px;overflow-wrap:anywhere}.product p{margin:0;color:var(--muted);flex:1;overflow-wrap:anywhere}.product footer{display:flex;align-items:end;justify-content:space-between;gap:6px;margin-top:12px;flex-wrap:wrap}.product .price{font-weight:900;color:#ffd094}.settings-menu .list-row{min-height:70px}.settings-form{display:grid;gap:12px}.accordion{border:1px solid var(--line);border-radius:15px;padding:0 12px;background:var(--surface2)}.accordion summary{padding:14px 0}.accordion-body{padding:0 0 12px}.rank-row{display:grid;grid-template-columns:minmax(90px,1fr) 80px 96px;gap:7px;align-items:center;padding:7px 0;border-top:1px solid var(--line)}.rank-row input{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;background:#080f15;color:var(--text);padding:8px}.rank-color{border-left:4px solid var(--rank);padding-left:8px}.notice{padding:11px 13px;border:1px solid #6e5535;border-radius:13px;background:#2b2115;color:#f2cc96;font-size:13px}.validation{color:#ff9c9c;font-size:12px;margin-top:4px}.scenario{display:none}.bottom-nav{position:fixed;z-index:30;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:430px;height:calc(var(--nav) + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(5,1fr);padding:7px 7px env(safe-area-inset-bottom,0px);background:#0d141bf2;border:1px solid #2b3540;border-bottom:0;border-radius:22px 22px 0 0;backdrop-filter:blur(20px);box-shadow:0 -12px 38px #0008}.nav-button{border:0;border-radius:13px;background:transparent;color:#94a2b5;font-size:10px;font-weight:800}.nav-button span{display:block;font-size:21px;line-height:1.15}.nav-button.active{color:#ffd59f;background:linear-gradient(#683a18,#2d1b10);box-shadow:inset 0 0 0 1px #b67135,0 0 20px #dc80282f}.modal-backdrop{position:fixed;z-index:50;inset:0;display:flex;align-items:flex-end;justify-content:center;background:#000b}.modal{width:min(100%,620px);max-height:92vh;overflow:auto;background:linear-gradient(145deg,#17212b,#0a1017);border:1px solid var(--line);border-radius:22px 22px 0 0;padding:18px;box-shadow:var(--shadow)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.modal-head h2{margin:0;font-size:21px}.close{width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:var(--surface3)}.review-grid{display:grid;grid-template-columns:1fr auto;gap:7px 12px;padding:10px 0;border-top:1px solid var(--line)}.review-grid span:nth-child(odd){color:var(--muted)}.review-grid b{text-align:right;overflow-wrap:anywhere}.toast{position:fixed;z-index:80;left:50%;bottom:calc(var(--nav) + 14px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 24px);transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#1e1712f5;border:1px solid #745033;color:#ffd6a8;padding:11px 15px;border-radius:999px;box-shadow:var(--shadow);transition:.18s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:390px){.form-grid.two{grid-template-columns:1fr}.metric-grid,.balance-grid{grid-template-columns:1fr 1fr}.catalog{grid-template-columns:1fr 1fr}.rank-row{grid-template-columns:1fr 67px 84px}.step-row{grid-template-columns:minmax(0,1fr) 38px 54px 38px}.sticky-actions .button{flex:1;padding-inline:8px}.rank-header h1{font-size:25px}}
@media(max-width:340px){.catalog,.metric-grid,.balance-grid{grid-template-columns:1fr}.rank-line{align-items:flex-start;flex-direction:column;gap:8px}.rank-foot{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
