:root{--bg:#0b0b0c;--card:#16161a;--card2:#1e1e24;--line:#2a2a31;--text:#f2f2f3;--muted:#8a8a93;--accent:#b8f135;--accent-dim:#7f9d2c;--warn:#ffb020;--danger:#ff4d4d;--radius:14px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45;overscroll-behavior-y:none}a{text-decoration:none}a,button{color:inherit}button{font:inherit;cursor:pointer}.shell{max-width:480px;margin:0 auto;padding:0 16px calc(120px + env(safe-area-inset-bottom))}.top{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:grid;grid-template-columns:40px 1fr auto;align-items:center;grid-gap:4px;gap:4px;padding:calc(10px + env(safe-area-inset-top)) 0 10px;background:linear-gradient(var(--bg) 75%,transparent)}.top-right{display:flex;gap:2px}.top h1{margin:0;font-size:17px;font-weight:600;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:22px}.icon-btn:active{background:var(--card)}.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 14px;padding:0 16px 2px}.tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto;border:0;background:transparent;color:var(--muted);padding:8px 12px 10px;border-bottom:2px solid transparent;font-size:15px;white-space:nowrap}.tab[data-on="1"]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab[data-done="1"]{color:var(--accent-dim)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.card+.card{margin-top:10px}.card-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}.section-title{margin:22px 0 10px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tile{display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:10px}.tile:active{background:var(--card2)}.tile h3{margin:0 0 4px;font-size:17px;font-weight:600}.tile-num{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:var(--card2);color:var(--muted);font-size:14px;font-weight:600}.tile[data-done="1"] .tile-num{background:var(--accent);color:#101208}.tile[data-locked="1"]{opacity:.4}.banner{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:12px}.banner b{font-size:15px}.banner[data-kind=done]{border-color:var(--accent-dim);background:rgba(184,241,53,.07)}.banner[data-kind=done] b{color:var(--accent)}.banner[data-kind=now]{border-color:var(--accent)}.banner[data-kind=locked]{border-style:dashed}.banner[data-kind=extra]{border-style:dashed;margin-bottom:0}.banner button{flex:0 0 auto;border:1px solid var(--line);background:var(--card2);border-radius:10px;padding:9px 12px;font-size:13px;white-space:nowrap}.days{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 16px;padding:0 16px 4px}.days::-webkit-scrollbar{display:none}.day{flex:0 0 auto;min-width:132px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.day[data-state=current]{border-color:var(--accent-dim)}.day[data-state=locked]{opacity:.4}.day[data-state=done]{background:rgba(184,241,53,.07);border-color:var(--accent-dim)}.day[data-sel="1"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);opacity:1}.day .day-n{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.day .day-extra{margin-left:auto;margin-right:6px;padding:1px 6px;border-radius:999px;background:rgba(184,241,53,.14);color:var(--accent);font-size:11px;font-weight:600;line-height:1.4}.day .day-name{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.desc .level-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:var(--accent);font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:700}.desc h2{margin:2px 0 12px;font-size:20px;font-weight:700;line-height:1.25}.desc-note{border-left:2px solid var(--accent-dim);padding:1px 0 1px 11px;margin-bottom:16px;font-size:14px;color:#c9c9cf}.desc-block+.desc-block{margin-top:12px}.desc-block h4{margin:0 0 3px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600}.desc-block p{margin:0;font-size:15px}.level-nav{display:flex;gap:8px;margin-top:16px}.level-nav button{flex:1 1;border:1px solid var(--line);background:var(--card2);border-radius:11px;padding:11px 8px;font-size:14px}.level-nav button:disabled{opacity:.3}.level-nav button:not(:disabled):active{border-color:var(--accent)}.params{display:grid;grid-template-columns:repeat(3,1fr);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-top:10px;overflow:hidden}.params>div{padding:12px 6px;text-align:center}.params>div+div{border-left:1px solid var(--line)}.params b{display:block;font-size:22px;font-weight:700}.params span{font-size:12px;color:var(--muted)}.sets{margin-top:18px}.set-row,.sets-head{display:grid;grid-template-columns:30px 1fr 1fr 52px;align-items:center;grid-gap:8px;gap:8px}.sets-head{padding:0 2px 8px;font-size:11px;line-height:1.25;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.sets-head span:last-child,.sets-head span:nth-child(2),.sets-head span:nth-child(3){text-align:center}.set-row{padding:9px 0;border-top:1px solid var(--line)}.set-row[data-done="1"]{opacity:.55}.prev,.set-n{color:var(--muted);font-size:14px;text-align:center}.prev{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inputs{display:flex;align-items:center;justify-content:center;gap:4px}.inputs input{width:100%;min-width:0;background:var(--card2);border:1px solid var(--line);border-radius:9px;color:var(--text);font-size:16px;padding:9px 4px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-moz-appearance:textfield}.inputs input::-webkit-inner-spin-button,.inputs input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.inputs input:focus{outline:none;border-color:var(--accent)}.inputs .sep{color:var(--muted);font-size:13px}.check{justify-self:center;width:34px;height:34px;border-radius:50%;border:2px solid var(--accent);background:transparent;display:grid;place-items:center;font-size:17px;color:#101208}.check[data-on="1"]{background:var(--accent)}.sets-foot{border-top:1px solid var(--line);padding-top:12px;font-size:13px;color:var(--muted)}.btn{display:block;width:100%;border:1px solid var(--accent);background:transparent;color:var(--text);border-radius:12px;padding:15px;font-size:16px;font-weight:600;margin-top:18px;text-align:center}.btn:active{background:rgba(184,241,53,.12)}.btn-primary{background:var(--accent);color:#101208}.btn-ghost{border-color:var(--line);font-weight:500}.timer-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(11,11,12,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line)}.timer-inner{max-width:480px;margin:0 auto;display:flex;align-items:center;gap:12px}.timer-count{font-size:40px;font-weight:700;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent);min-width:104px}.timer-bar[data-phase=warn] .timer-count{color:var(--warn)}.timer-label{flex:1 1;min-width:0;font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timer-actions{display:flex;gap:6px}.timer-actions button{border:1px solid var(--line);background:var(--card);border-radius:10px;min-height:44px;padding:10px 14px;font-size:14px;white-space:nowrap}.timer-over{display:flex;flex-direction:column;align-items:stretch;gap:10px}.timer-done{font-size:20px;font-weight:700;line-height:1.2;color:var(--accent)}.timer-done .timer-label{display:block;font-weight:400;margin-top:2px}.timer-big button{flex:1 1;min-height:50px;font-size:15px;font-weight:600}.timer-actions .timer-main{border-color:var(--accent);background:var(--accent);color:#101208}.timer-track{max-width:480px;margin:8px auto 0;height:3px;border-radius:2px;background:var(--line);overflow:hidden}.timer-track i{display:block;height:100%;background:var(--accent);transition:width .2s linear}.timer-bar[data-phase=warn] .timer-track i{background:var(--warn)}.timer-since{max-width:480px;margin:0 auto;font-size:13px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timer-inner~.timer-since{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}body[data-restbar=line] .shell{padding-bottom:calc(170px + env(safe-area-inset-bottom))}body[data-restbar=full] .shell{padding-bottom:calc(250px + env(safe-area-inset-bottom))}.flash{position:fixed;inset:0;z-index:90;pointer-events:none;background:var(--accent);animation:flash 1.4s ease-out forwards}@keyframes flash{0%,22%{opacity:.5}11%{opacity:0}33%,55%{opacity:0}44%{opacity:.5}to{opacity:0}}.chart{width:100%;height:72px;display:block;margin-top:10px}.delta{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:14px}.delta b{color:var(--accent)}.empty{text-align:center;padding:44px 20px;color:var(--muted)}.empty b{display:block;color:var(--text);font-size:17px;margin-bottom:6px}.update-bar{position:fixed;left:0;right:0;top:0;z-index:55;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:rgba(11,11,12,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--accent-dim)}.update-bar b{font-size:15px}.update-bar button{flex:0 0 auto;border:1px solid var(--accent);background:var(--accent);color:#101208;border-radius:10px;padding:11px 15px;font-size:14px;font-weight:600;white-space:nowrap}