@import url('https://fonts.googleapis.com/css2?family=Unbounded:wght@600;700;800;900&family=Barlow:wght@400;500;600;700;800&display=swap');
:root{font-family:Barlow,system-ui,sans-serif;color:#f4f1ec;background:#080808;--accent:#ff7629;--paper:#121212;--muted:#93918e;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid #ffac76;outline-offset:4px}button:disabled{opacity:.4;cursor:default}#app{max-width:460px;min-height:100dvh;margin:auto;background:var(--paper);padding:calc(env(safe-area-inset-top) + 18px) 22px calc(env(safe-area-inset-bottom) + 100px)}header{display:flex;justify-content:flex-end;margin-bottom:22px}.round{width:43px;height:43px;border-radius:13px;border:1px solid #333;background:#202020;color:#aaa;font-size:22px;display:inline-grid;place-items:center}h1,h2,.count,.add,.toggle,.goal-label output{font-family:Unbounded,system-ui,sans-serif}h1{font-size:clamp(21px,5.4vw,28px);font-weight:900;line-height:1.25;letter-spacing:-1.2px;text-transform:uppercase;margin:10px 0 18px}h2{font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:-.5px;margin:0 0 20px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-weight:600}.streak{display:inline-block;background:#2c2018;color:#ff975b;font-size:11px;font-weight:800;letter-spacing:1px;padding:9px 12px;border-radius:7px}.week{display:flex;justify-content:space-between;margin:24px 0}.weekday{display:flex;flex-direction:column;align-items:center;gap:9px;font-size:11px;color:#777}.weekday span{display:grid;place-items:center;background:#202020;border-radius:10px;width:33px;height:35px;color:#999;font-weight:700;font-size:13px}.weekday.today span{background:var(--accent);color:#17110d}.weekday.done span{background:#7d3715;color:#ffd9bf}.weekday.rest span{color:#777;border:1px solid #363636}.card{text-align:center;border:1px solid #292929;border-radius:24px;background:#191919;padding:24px 18px 20px}.card h2{margin-bottom:18px}.ring{width:210px;height:210px;margin:0 auto 24px;border-radius:50%;padding:8px;background:conic-gradient(var(--accent) var(--progress),#2d2d2d 0)}.ring-inner{height:100%;border-radius:50%;background:#191919;display:flex;flex-direction:column;align-items:center;justify-content:center}.count{font-size:64px;font-weight:900;letter-spacing:-4px;line-height:1.15}.goal{font-weight:600;color:#85827e;font-size:18px;margin-top:8px}.add{width:100%;border:0;border-radius:16px;background:var(--accent);color:#1a100a;font-size:56px;font-weight:900;min-height:112px;box-shadow:0 6px 0 #a54410;margin-bottom:20px}.add:active{transform:translateY(4px);box-shadow:0 2px 0 #a54410}.actions{display:flex;gap:12px}.textbtn{background:#2b2b2b;color:#e3ddd6;border:1px solid #3b3b3b;border-radius:11px;min-height:44px;padding:11px 18px;font-size:13px;font-weight:700}.actions .textbtn{flex:1}.bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);max-width:460px;width:100%;display:flex;gap:6px;padding:12px 15px calc(env(safe-area-inset-bottom) + 15px);border-top:1px solid #2b2b2b;background:#121212f5;backdrop-filter:blur(16px)}.bottom:empty{display:none}.tab{flex:1;display:flex;align-items:center;flex-direction:column;gap:6px;border:0;background:none;color:#777;border-radius:12px;padding:10px 3px;font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.3px}.tab.active{color:var(--accent);background:#2d211a}.tab svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.section{padding:22px 17px;background:#1c1c1c;border:1px solid #2d2d2d;border-radius:20px;margin:18px 0}.section h2{font-size:15px;letter-spacing:-.3px}.goal-label{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px;font-weight:700;font-size:16px}.goal-label output{font-size:20px;color:var(--accent)}input[type=range]{width:100%;height:28px;margin:0;accent-color:var(--accent);cursor:pointer}input[type=checkbox]{accent-color:var(--accent);width:19px;height:19px;vertical-align:middle;margin-right:8px}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.toggle{border:1px solid #3b3b3b;background:#2c2c2c;color:#9c9893;border-radius:9px;min-height:48px;font-size:9px;font-weight:700;padding:4px 0;box-shadow:0 3px 0 #0e0e0e}.toggle[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#1d130c;box-shadow:0 3px 0 #9d410f}.hours{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px 7px}.hours .toggle{font-size:11px;min-height:43px}.muted{font-size:12px;color:var(--muted);line-height:1.5}.frequency-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:24px 0 15px;font-size:14px;font-weight:700}.frequency-label output{color:var(--accent)}.range-ends{display:flex;justify-content:space-between;font-size:10px;color:#9e9892;margin-top:4px}.notification-toggle{display:block;margin:24px 0 12px}.secondary,.primary{width:100%;padding:14px;min-height:46px;font-weight:700;border-radius:12px;margin:10px 0}.secondary{background:#282828;color:#e7e1dc;border:1px solid #414141}.primary{border:0;background:var(--accent);color:#18100b}.history-row{padding:16px 0;border-bottom:1px solid #383838;display:flex;justify-content:space-between;gap:10px}.history-row p{font-size:12px;color:var(--muted);line-height:1.5}.badge{align-self:center;background:#32251d;color:#ff995d;border-radius:7px;padding:7px;font-size:11px;white-space:nowrap}.login{margin-top:80px}.login label{display:block;margin:30px 0 12px}.login input{width:100%;background:#242424;border:1px solid #444;border-radius:12px;padding:16px;color:white}#toast{display:none;position:fixed;bottom:105px;left:50%;transform:translateX(-50%);background:#ff7629;color:#18100b;padding:14px 20px;border-radius:12px;max-width:90%;width:max-content;font-size:13px;z-index:10}#toast.visible{display:block}#save-status{color:#ffab76}@media(max-width:360px){#app{padding-left:15px;padding-right:15px}.ring{width:185px;height:185px}.days{gap:3px}.toggle{font-size:8px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,transform .1s}}
.home-header{align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px}.app-title{font-size:20px;line-height:1.18;letter-spacing:-.6px;margin:0}.header-actions{display:flex;align-items:center;gap:10px}.xp-button{display:flex;align-items:center;gap:7px;border:1px solid #493323;border-radius:13px;padding:6px 10px;background:#241c16;color:#f4d4bc;font-weight:800;font-size:12px;text-align:left}.xp-button small{display:block;color:#ad8e77;font-size:10px;margin-top:3px}.medal{width:30px;height:36px;color:#b6a18b}.tier-1{color:#c5864c}.tier-2{color:#d3dce6}.tier-3{color:#ffc85c}.tier-4{color:#6ed2c4}.tier-5{color:#91bdff}.tier-6{color:#bf90ff}.tier-7{color:#ff915e}.menu-header{justify-content:flex-start;margin-bottom:22px}.menu-header .round{font-size:32px;font-weight:400;color:#eae6e0}.fullscreen-menu{padding-bottom:32px!important}.streak{display:flex;position:relative;overflow:hidden;align-items:center;gap:13px;margin-top:11px;padding:13px 17px;background:linear-gradient(110deg,#432318,#241811 70%);border:1px solid #71401f;border-radius:15px;color:#ff8a3c;isolation:isolate}.streak svg{height:39px;width:31px;filter:drop-shadow(0 0 8px #ff6d2660);flex-shrink:0}.streak div{display:flex;align-items:baseline;gap:10px}.streak strong{font:800 26px Unbounded,sans-serif;color:#ffa15d}.streak span{font-weight:800;font-size:10px;letter-spacing:1.4px}.flame-glow{position:absolute;width:90px;height:90px;border-radius:50%;background:#ff6c2014;right:-5px;top:-10px;z-index:-1}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:23px 0}.weekday{gap:9px;min-width:0}.weekday span{width:100%;height:55px;border-radius:12px;display:flex;flex-direction:column;justify-content:center;gap:2px;font-size:16px;background:#212121;color:#888;border:1px solid transparent}.weekday.today span,.weekday.done span{background:var(--accent);color:#1d120c}.weekday.missed span{background:#232323;color:#656565}.weekday.rest span{background:transparent;border:1px solid #8a8279;color:#bcb2a7}.weekday.rest small{font-size:8px;font-weight:500;text-transform:uppercase;letter-spacing:.1px}.weekday.current>span{outline:2px solid #ffc79b;outline-offset:3px}.weekday.future span{background:#1a1a1a;color:#63605d}.rank-card{text-align:center;border:1px solid #59402b;border-radius:24px;padding:25px 20px;background:radial-gradient(ellipse at top,#3c2a1b,#191919 75%);margin-bottom:18px}.rank-card>.medal{width:91px;height:99px;filter:drop-shadow(0 4px 14px #e39a4830)}.rank-card .eyebrow{color:#dfb68d;margin:14px 0 10px}.rank-card h2{font-size:24px}.xp-track{height:9px;background:#3b332c;border-radius:10px;overflow:hidden}.xp-track span{display:block;height:100%;background:linear-gradient(90deg,#ed5b17,#ffad55);border-radius:10px}.rank-card p{font-size:12px;color:#ffc390}.rank-card p span,.rank-card small{color:#988c81;font-size:11px}.stat-periods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:24px 0 16px}.stat-periods .toggle{font-size:10px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:20px 17px;background:#1d1d1d;border:1px solid #333;border-radius:17px;display:flex;flex-direction:column;gap:8px}.stat-card svg{width:25px;height:25px;stroke:var(--accent);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.stat-card strong{font:800 28px Unbounded,sans-serif}.stat-card span{font-size:13px;color:#bbb}.stat-card small{font-size:11px;color:#777}summary{font-weight:700;font-size:14px;cursor:pointer}.xp-rules p{font-size:13px;line-height:1.6;color:#aaa}.quiet-label{display:flex;justify-content:space-between;align-items:center;gap:15px;font-weight:600;font-size:14px;margin:22px 0}.quiet-label input{min-width:0;background:#2c2c2c;border:1px solid #48413c;border-radius:10px;color:#ffae7b;padding:12px;font:600 16px Barlow,sans-serif}.smart-reminders{padding:15px;margin-top:22px;border-radius:12px;background:#24211e;border-left:3px solid #ad592e}.smart-reminders strong{font-size:13px;color:#e6b08a}.smart-reminders p{font-size:12px;line-height:1.5;color:#a69c93;margin:8px 0 0}@media(max-width:360px){.app-title{font-size:17px}.header-actions{gap:6px}.xp-button{padding:5px 7px}.week{gap:5px}.weekday span{height:49px}.quiet-label{font-size:12px}}
@media(max-height:850px){.home-header{margin-bottom:19px}.week{margin:18px 0}.card{padding-top:20px}.ring{width:180px;height:180px;margin-bottom:18px}.card h2{margin-bottom:14px}.count{font-size:58px}}

.stat-card{height:165px;min-width:0;display:grid;grid-template-rows:25px 34px 18px 28px;gap:6px;padding:16px}.stat-card strong{font-size:clamp(20px,6vw,28px);overflow-wrap:anywhere}.stat-card small{min-height:28px;font-size:10px;line-height:1.35}.stat-periods .toggle{font-family:Barlow,sans-serif;font-size:12px;line-height:1.15;padding:5px}.history-row{padding:9px 0;gap:8px}.history-row strong{font-size:12px}.history-row p{font-size:11px;line-height:1.4;margin:4px 0 0}.history-row .badge{padding:5px;font-size:10px}.overdrive{border-color:#ff883b;box-shadow:0 0 20px #ff671b25,inset 0 0 25px #ff8a1812}.overdrive .ring{background:conic-gradient(#fff2a1,#ffae32,#ff4d13,#ff9a26,#fff2a1);box-shadow:0 -8px 20px #ff6b3255,0 4px 20px #ff380833}.overdrive .count{color:#ffd297}.overdrive .goal{color:#ffb367;font-size:13px;display:flex;align-items:center;gap:5px}.overdrive .goal svg{height:22px;width:18px}.goal-confirm{max-width:min(360px,90vw);border:1px solid #825132;border-radius:22px;background:#201c18;color:#f4eee8;padding:25px}.goal-confirm::backdrop{background:#000b;backdrop-filter:blur(4px)}.goal-confirm h2{font-size:20px}.goal-confirm p{line-height:1.5;color:#c6b6a7}.goal-confirm strong{display:block;color:#ff9854;margin:20px 0}.goal-confirm .primary{margin:0;width:auto;flex:1}.goal-confirm .textbtn{flex:1}#undo{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}@media(prefers-reduced-motion:no-preference){.overdrive .ring{animation:fire-glow 1.5s ease-in-out infinite alternate}@keyframes fire-glow{to{box-shadow:0 -10px 26px #ff742b99,0 4px 22px #ff441855}}}

.app-title{display:flex;align-items:center;flex:1;min-width:0}.app-title img{display:block;width:clamp(130px,40vw,180px);max-width:100%;height:auto}.home-header #settings{border:0;background:transparent;box-shadow:none;font-size:33px;width:46px;height:48px;color:#bab7b2}.home-header #settings:hover{color:#ff9a56}.tab.inactive{color:#595959;opacity:.65;background:transparent}.tab.inactive.active{color:#a39b93;opacity:1;background:#242220}.activation-offer{padding:8px 4px}.activation-offer p{font:700 22px Unbounded,sans-serif;margin:12px 0 26px}.activation-offer label{font-size:13px;color:#aaa;display:block}.activation-offer output{display:block;font:900 58px Unbounded,sans-serif;color:var(--accent);margin:18px 0}.activation-offer .primary{margin-top:24px}.later{display:block;width:100%;border:0;background:transparent;color:#a69d95;font-size:13px;padding:16px 5px}.later small{display:block;font-size:10px;color:#68615b;margin-top:6px}
