@import "https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@500;600;700&family=Inter:wght@400;500;600&display=swap";
:root{--bg:#04060f;--bg-soft:#070c18;--panel:#0a1120;--surface:#b4ff2e09;--surface-2:#b4ff2e12;--surface-3:#b4ff2e1f;--border:#1a2440;--border-2:#2b3a60;--text:#e0e8ff;--muted:#7f8cb0;--accent:#b4ff2e;--accent-2:#7ee081;--neon:#b4ff2e;--neon-2:#7ee081;--violet:#6f5cff;--violet-2:#a08cff;--clean:#7ee081;--relapse:#ff4d6d;--gold:#ffd23f;--radius:0px;--radius-sm:0px;--shadow:6px 6px 0 #000000bf;--ring:0 0 0 2px #b4ff2e73;--glow:0 0 12px #b4ff2e61;--font-head:"Chakra Petch", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-long:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif}[data-theme=light]{--bg:#eef1e6;--bg-soft:#f8faf2;--panel:#fff;--surface:#101a1009;--surface-2:#101a1012;--surface-3:#101a101c;--border:#bcc6ad;--border-2:#94a382;--text:#10190f;--muted:#5b6a51;--accent:#4a7a00;--accent-2:#6f9c1a;--neon:#4a7a00;--neon-2:#6f9c1a;--violet:#4b3fbf;--violet-2:#6a5be0;--clean:#2f855a;--relapse:#c92a43;--gold:#a8730a;--shadow:5px 5px 0 #101a1029;--ring:0 0 0 2px #4a7a0073;--glow:none}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(900px 600px at 12% -8%,#7c6cff38,#0000 60%),radial-gradient(800px 520px at 92% 4%,#3b9dff29,#0000 62%),radial-gradient(900px 700px at 50% 110%,#22c98a21,#0000 65%);position:fixed;inset:0}h1,h2,h3,h4{font-family:var(--font-head);letter-spacing:-.02em;margin:0}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}svg{width:100%;height:100%;display:block}::selection{background:#7c6cff59}.app{width:min(1220px,100%);margin-inline:auto;padding:22px clamp(14px,3vw,30px) 40px}.topbar{z-index:40;border-radius:var(--radius);border:1px solid var(--border);background:color-mix(in srgb, var(--bg-soft) 78%, transparent);-webkit-backdrop-filter:blur(20px)saturate(150%);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 16px;display:flex;position:sticky;top:12px}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.topbar{background:var(--bg-soft)}}.brand{align-items:center;gap:12px;margin-right:auto;display:flex}.brand-logo{color:#fff;background:linear-gradient(135deg,#7c6cff,#3b9dff 55%,#22c98a);border-radius:13px;flex:none;place-items:center;width:42px;height:42px;padding:9px;display:grid;box-shadow:0 12px 26px -12px #7c6cfff2}.brand-text h1{font-size:1.22rem;font-weight:800;line-height:1.05}.brand-text p{color:var(--muted);font-size:.74rem;font-weight:500}.tabs{border:1px solid var(--border);background:var(--surface);border-radius:999px;gap:4px;padding:4px;display:flex}.tab{color:var(--muted);white-space:nowrap;border-radius:999px;padding:9px 16px;font-size:.86rem;font-weight:600;transition:background .2s,color .2s,transform .2s}.tab:hover{color:var(--text);background:var(--surface-2)}.tab.is-active{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));box-shadow:0 10px 22px -12px #7c6cfff2}[data-theme=light] .tab.is-active{color:#fff}.topbar-actions{align-items:center;gap:8px;display:flex}.icon-btn{width:40px;height:40px;color:var(--muted);border:1px solid var(--border);background:var(--surface);border-radius:12px;flex:none;padding:10px;transition:color .2s,background .2s,border-color .2s,transform .15s}.icon-btn:hover{color:var(--text);background:var(--surface-3);border-color:var(--border-2)}.icon-btn:active{transform:scale(.94)}[data-theme=dark] .i-sun,[data-theme=light] .i-moon{display:none}.btn{font-size:.88rem;font-weight:600;font-family:var(--font-head);white-space:nowrap;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;transition:transform .15s,box-shadow .2s,background .2s,opacity .2s;display:inline-flex}.btn svg{flex:none;width:17px;height:17px}.btn:active{transform:translateY(1px)scale(.99)}.btn-primary{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));box-shadow:0 14px 30px -14px #7c6cfff2}.btn-primary:hover{box-shadow:0 18px 36px -14px #7c6cff}.btn-ghost{color:var(--muted);border-color:var(--border);background:var(--surface)}.btn-ghost:hover{color:var(--text);background:var(--surface-3);border-color:var(--border-2)}.btn-soft{color:var(--text);background:var(--surface-2);border-color:var(--border)}.btn-soft:hover{background:var(--surface-3)}.btn.is-danger{color:var(--relapse)}.btn.is-danger:hover{background:#ff5b6e24;border-color:#ff5b6e66}.menu-wrap{position:relative}.menu{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-soft) 92%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);min-width:210px;box-shadow:var(--shadow);z-index:50;border-radius:16px;flex-direction:column;gap:2px;padding:7px;animation:.16s ease-out pop;display:flex;position:absolute;top:calc(100% + 10px);right:0}.menu button{text-align:left;color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.86rem;transition:background .15s;display:flex}.menu button svg{opacity:.85;flex:none;width:16px;height:16px}.menu button:hover{background:var(--surface-2)}.menu button.is-danger{color:var(--relapse)}.menu button.is-danger:hover{background:#ff5b6e21}@keyframes pop{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:none}}.summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px;margin-bottom:30px;display:grid}.stat{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);animation:.5s cubic-bezier(.22,1,.36,1) both rise;animation-delay:calc(var(--i,0) * 60ms);padding:16px 18px;position:relative;overflow:hidden}.stat:after{content:"";background:var(--accent);opacity:.85;width:3px;position:absolute;inset:0 auto 0 0}.stat[data-tone=clean]:after{background:var(--clean)}.stat[data-tone=relapse]:after{background:var(--relapse)}.stat[data-tone=gold]:after{background:var(--gold)}.stat-label{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-size:.72rem;font-weight:600}.stat-value{font-family:var(--font-head);margin-top:4px;font-size:1.7rem;font-weight:700;line-height:1.15}.stat-value small{color:var(--muted);margin-left:3px;font-size:.82rem;font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.section-head{margin:30px 0 16px}.section-head h2{font-size:1.28rem;font-weight:700}.section-head p{color:var(--muted);margin-top:3px;font-size:.86rem}.habits-grid{grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));gap:16px;display:grid}.habit-card{border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 9%, transparent), transparent 45%), var(--surface);animation:.55s cubic-bezier(.22,1,.36,1) both rise;animation-delay:calc(var(--i,0) * 70ms);padding:20px;transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s,box-shadow .25s;position:relative;overflow:hidden}.habit-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.9;height:2px;position:absolute;inset:-1px -1px auto}.habit-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:0 26px 50px -30px color-mix(in srgb, var(--accent) 85%, transparent);transform:translateY(-4px)}.hc-top{align-items:center;gap:12px;display:flex}.hc-icon{width:44px;height:44px;color:var(--accent);background:color-mix(in srgb, var(--accent) 20%, transparent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:14px;flex:none;place-items:center;display:grid}.hc-icon svg{width:22px;height:22px}.hc-name{font-family:var(--font-head);font-size:1.04rem;font-weight:700;line-height:1.2}.hc-since{color:var(--muted);margin-top:2px;font-size:.75rem}.hc-note{color:var(--muted);border-left:2px solid color-mix(in srgb, var(--accent) 50%, transparent);margin-top:12px;padding-left:10px;font-size:.8rem;font-style:italic}.hc-counter{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:18px;display:flex}.hc-days{font-family:var(--font-head);letter-spacing:-.04em;background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 45%, #fff));color:#0000;font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.4rem,8vw,3.2rem);font-weight:800;line-height:1}.hc-unit{font-family:var(--font-head);color:var(--muted);font-size:1rem;font-weight:600}.hc-clock{font-family:var(--font-head);color:var(--muted);font-variant-numeric:tabular-nums;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;margin-left:auto;padding:5px 10px;font-size:.95rem;font-weight:600}.hc-dayline{color:var(--muted);margin-top:6px;font-size:.78rem;font-weight:500}.hc-progress{margin-top:16px}.hc-progress-top{color:var(--muted);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px;font-size:.76rem;display:flex}.hc-progress-top b{color:var(--text);font-weight:600}.bar{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:8px;overflow:hidden}.bar>i{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 40%, #fff));width:0;height:100%;box-shadow:0 0 14px color-mix(in srgb, var(--accent) 70%, transparent);border-radius:999px;transition:width .8s cubic-bezier(.22,1,.36,1);display:block}.hc-strip{gap:5px;margin-top:16px;display:flex}.hc-strip .dp{background:var(--surface-2);border:1px solid var(--border);border-radius:7px;flex:1;height:26px;transition:transform .15s;position:relative}.hc-strip .dp:hover{transform:scale(1.14)}.hc-strip .dp.clean{background:var(--clean);opacity:.85;border-color:#0000}.hc-strip .dp.relapse{background:var(--relapse);border-color:#0000}.hc-strip .dp.before{opacity:.28}.hc-strip .dp.today{outline:2px solid color-mix(in srgb, var(--accent) 80%, transparent);outline-offset:1px}.hc-strip-cap{color:var(--muted);letter-spacing:.04em;margin-top:6px;font-size:.68rem}.hc-stats{border-top:1px dashed var(--border);grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;padding-top:16px;display:grid}.hc-stat{text-align:center}.hc-stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.68rem;font-weight:600;display:block}.hc-stat b{font-family:var(--font-head);font-size:1.05rem;font-weight:700}.hc-actions{gap:8px;margin-top:16px;display:flex}.hc-actions .btn{flex:1;padding:10px 12px;font-size:.83rem}.empty{text-align:center;border-radius:var(--radius);border:1px dashed var(--border-2);background:var(--surface);grid-column:1/-1;padding:54px 24px;animation:.5s both rise}.empty-icon{color:var(--accent);justify-content:center;margin-bottom:12px;display:flex}.empty-icon svg{stroke-width:1.6px;width:46px;height:46px}.empty h3{margin-bottom:6px;font-size:1.15rem}.empty p{color:var(--muted);max-width:420px;margin:0 auto;font-size:.88rem}.empty-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;display:flex}.cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.cal-toolbar .section-head{margin-bottom:0}.filter{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:13px;align-items:center;gap:9px;margin-top:24px;padding:8px 12px;font-size:.8rem;display:inline-flex}.filter select{color:var(--text);background:0 0;border:none;outline:none;max-width:190px;font-size:.84rem;font-weight:600}.filter select option{background:var(--bg-soft);color:var(--text)}.calendar-wrap{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);align-items:start;gap:18px;margin-top:18px;display:grid}.cal-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow);padding:18px;animation:.5s both rise}.cal-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.cal-title{font-family:var(--font-head);border-radius:12px;padding:8px 14px;font-size:1.06rem;font-weight:700;transition:background .2s}.cal-title:hover{background:var(--surface-2)}.cal-scroll{min-width:0;padding-bottom:2px;overflow-x:auto}.cal-grid{grid-template-columns:30px repeat(7,minmax(0,1fr));gap:6px;min-width:300px;display:grid}.cal-wn-head,.cal-wd{text-align:center;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:4px 0;font-size:.68rem;font-weight:700}.cal-wn{color:var(--muted);opacity:.7;font-variant-numeric:tabular-nums;place-items:center;font-size:.66rem;font-weight:600;display:grid}.cal-day{aspect-ratio:1;background:var(--surface);font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:46px;transition:background .18s,border-color .18s,transform .15s;display:flex;position:relative}.cal-day:hover{background:var(--surface-3);transform:translateY(-2px)}.cal-day.is-out{opacity:.32}.cal-day.is-before{opacity:.45}.cal-day .n{font-family:var(--font-head);font-size:.86rem;font-weight:600}.cal-day.is-today{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent)}.cal-day.is-today .n{color:var(--text);font-weight:800}.cal-day.is-weekend .n{color:var(--muted)}.cal-dots{align-items:center;gap:3px;height:7px;display:flex}.cal-dots i{background:var(--c,var(--clean));width:6px;height:6px;box-shadow:0 0 6px color-mix(in srgb, var(--c,var(--clean)) 70%, transparent);border-radius:50%}.cal-dots .more{color:var(--muted);font-size:.58rem;line-height:1}.cal-flag{color:var(--relapse);align-items:center;display:flex}.cal-flag svg{stroke-width:2.6px;width:10px;height:10px}.cal-legend{border-top:1px dashed var(--border);color:var(--muted);flex-wrap:wrap;gap:8px 18px;margin-top:16px;padding-top:14px;font-size:.74rem;display:flex}.cal-legend span{align-items:center;gap:7px;display:inline-flex}.lg{border-radius:4px;width:11px;height:11px;display:inline-block}.lg-clean{background:var(--clean)}.lg-relapse{background:var(--relapse)}.lg-today{border:2px solid var(--accent);background:0 0}.lg-before{background:var(--surface-3)}.day-panel{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow);padding:20px;animation:.5s 80ms both rise;position:sticky;top:100px}.dp-date{font-family:var(--font-head);font-size:1.06rem;font-weight:700}.dp-sub{color:var(--muted);margin-top:3px;font-size:.78rem}.dp-list{flex-direction:column;gap:9px;margin-top:16px;display:flex}.dp-row{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;align-items:center;gap:11px;padding:11px 12px;display:flex}.dp-row .em{color:var(--muted);flex:none;align-items:center;display:flex}.dp-row .em svg{width:18px;height:18px}.dp-row .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.86rem;font-weight:600;overflow:hidden}.chip{letter-spacing:.03em;white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:.68rem;font-weight:700}.chip-clean{color:var(--clean);background:#22c98a26}.chip-relapse{color:var(--relapse);background:#ff5b6e26}.chip-future{color:var(--muted);background:var(--surface-3)}.dp-row .mini{border-radius:9px;flex:none;width:30px;height:30px;padding:7px}.dp-empty{color:var(--muted);margin-top:14px;font-size:.84rem;line-height:1.6}.prog-list{flex-direction:column;gap:12px;display:flex}.prog-row{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);animation:.5s both rise;animation-delay:calc(var(--i,0) * 60ms);padding:16px 18px}.prog-head{align-items:center;gap:11px;margin-bottom:13px;display:flex}.prog-head .prog-name{font-family:var(--font-head);flex:1;font-size:.95rem;font-weight:700}.prog-head .prog-days{font-family:var(--font-head);font-size:1.05rem;font-weight:700}.prog-bars{flex-direction:column;gap:8px;display:flex}.prog-line{color:var(--muted);grid-template-columns:92px 1fr 62px;align-items:center;gap:10px;font-size:.76rem;display:grid}.prog-line .track{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:9px;overflow:hidden}.prog-line .track>i{border-radius:999px;height:100%;transition:width .8s cubic-bezier(.22,1,.36,1);display:block}.prog-line.now .track>i{background:linear-gradient(90deg, var(--accent), var(--accent-2))}.prog-line b{color:var(--text);font-variant-numeric:tabular-nums;text-align:right}.modal{z-index:100;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#04060c9e;animation:.22s ease-out fade;position:absolute;inset:0}.modal-panel{border-radius:var(--radius);border:1px solid var(--border-2);background:color-mix(in srgb, var(--bg-soft) 94%, transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);overscroll-behavior:contain;width:min(520px,100%);max-height:calc(100vh - 40px);padding:22px;animation:.28s cubic-bezier(.22,1,.36,1) slideUp;position:relative;overflow-y:auto;box-shadow:0 40px 90px -30px #000000e6}.modal-panel.is-small{width:min(420px,100%)}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:none}}.modal-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.modal-head h3{font-size:1.14rem;font-weight:700}.form{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:8px;display:flex}.field>label{color:var(--muted);letter-spacing:.02em;font-size:.78rem;font-weight:600}.field .hint{color:var(--muted);opacity:.85;font-size:.72rem}.field input[type=text],.field input[type=datetime-local],.field textarea{border:1px solid var(--border);background:var(--surface);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:13px;outline:none;width:100%;padding:12px 14px;font-size:.9rem;transition:border-color .2s,box-shadow .2s,background .2s}[data-theme=light] .field input,[data-theme=light] .field textarea{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:var(--ring);background:var(--surface-2)}.field textarea{resize:vertical;min-height:62px;font-family:inherit}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(min(44px,100%),1fr));gap:7px;display:grid}.icon-grid button{aspect-ratio:1;border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:12px;place-items:center;transition:transform .15s,border-color .2s,background .2s,color .2s;display:grid}.icon-grid button:hover{background:var(--surface-3);color:var(--text);transform:translateY(-2px)}.icon-grid button.is-sel{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:var(--ring)}.icon-grid svg{width:19px;height:19px}.color-grid{flex-wrap:wrap;gap:9px;display:flex}.color-grid button{background:var(--c);border:2px solid #0000;border-radius:11px;width:32px;height:32px;transition:transform .15s,box-shadow .2s}.color-grid button:hover{transform:translateY(-2px)scale(1.06)}.color-custom{border:2px dashed var(--border-2);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:11px;flex:none;place-items:center;transition:border-color .18s,color .18s,box-shadow .18s;display:grid;position:relative}.color-custom:hover{border-color:var(--neon);color:var(--neon)}.color-custom svg{pointer-events:none;width:16px;height:16px}.color-custom input{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.color-custom.is-sel{border-style:solid;border-color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb, var(--c) 45%, transparent)}.relapse-list{flex-direction:column;gap:7px;display:flex}.relapse-item{background:#ff5b6e17;border:1px solid #ff5b6e33;border-radius:11px;align-items:center;gap:10px;padding:9px 12px;font-size:.82rem;display:flex}.relapse-item span{flex:1}.relapse-item button{width:26px;height:26px;color:var(--relapse);border-radius:8px;padding:5px;transition:background .2s}.relapse-item button:hover{background:#ff5b6e33}.relapse-none{color:var(--muted);font-size:.8rem}.modal-foot{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:9px;margin-top:22px;padding-top:16px;display:flex}.spacer{flex:1}.confirm-text{color:var(--muted);font-size:.88rem;line-height:1.6}.toast{z-index:200;border:1px solid var(--border-2);background:color-mix(in srgb, var(--bg-soft) 92%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:10px;max-width:min(520px,100vw - 32px);padding:13px 20px;font-size:.87rem;font-weight:500;animation:.3s cubic-bezier(.22,1,.36,1) toastIn;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%)}}#confetti{z-index:300;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.foot{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:center;gap:10px;margin-top:40px;padding-top:20px;font-size:.76rem;display:flex}.foot-dot{opacity:.5}.foot span{align-items:center;gap:6px;display:inline-flex}.foot svg{opacity:.8;width:13px;height:13px}@media (max-width:1020px){.calendar-wrap{grid-template-columns:minmax(0,1fr)}.day-panel{position:static}.summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.app{padding:12px 12px 32px}.topbar{border-radius:18px;gap:10px;padding:10px 12px;top:8px}.brand{width:100%;margin-right:0}.brand-text p{display:none}.tabs{order:3;justify-content:space-between;width:100%}.tab{text-align:center;flex:1;padding:9px 6px;font-size:.8rem}.topbar-actions{margin-left:auto}.topbar-actions .btn-primary span{display:none}.topbar-actions .btn-primary{padding:11px 13px}.section-head{margin-top:24px}.habits-grid{grid-template-columns:minmax(0,1fr)}.cal-card{padding:14px}.cal-grid{grid-template-columns:18px repeat(7,minmax(0,1fr));gap:4px;min-width:0}.cal-wn{font-size:.6rem}.cal-day{border-radius:11px;min-height:40px}.cal-day .n{font-size:.78rem}.cal-dots i{width:5px;height:5px}.summary{gap:10px}.stat{padding:13px 14px}.stat-value{font-size:1.4rem}}@media (max-width:420px){.hc-clock{text-align:center;width:100%;margin-left:0}.hc-stats{grid-template-columns:repeat(3,1fr);gap:4px}.hc-stats b{font-size:.95rem}.relapse-item{font-size:.76rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.boot{min-height:70vh;color:var(--muted);place-items:center;font-size:.95rem;display:grid}.summary:empty{display:none}.habit-card .hc-note{word-break:break-word}.btn-danger{color:#fff;background:linear-gradient(135deg,#ff5b6e,#ff7a45);box-shadow:0 14px 30px -14px #ff5b6ef2}.btn-danger:hover{box-shadow:0 18px 36px -14px #ff5b6e}.hc-goals{margin-top:16px}.goal-list{flex-wrap:wrap;gap:6px;display:flex}.goal-badge{letter-spacing:.01em;white-space:nowrap;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.goal-badge svg{flex:none;width:12px;height:12px}.goal-badge small{opacity:.75;font-variant-numeric:tabular-nums;font-weight:600}.goal-badge.done{color:var(--clean);background:#22c98a21;border-color:#22c98a52}.goal-badge.next{color:var(--text);background:color-mix(in srgb, var(--accent) 16%, transparent);border-color:color-mix(in srgb, var(--accent) 52%, transparent)}.goal-banner{color:var(--text);background:linear-gradient(135deg,#ffb02033,#22c98a29);border:1px solid #ffb02057;border-radius:14px;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;font-size:.82rem;font-weight:600;line-height:1.3;animation:.4s both rise;display:flex}.goal-banner svg{width:18px;height:18px;color:var(--gold);flex:none}.goal-banner button{font-family:var(--font-head);color:var(--accent);white-space:nowrap;margin-left:auto;font-size:.76rem;font-weight:700}.goal-banner button:hover{text-decoration:underline}.hc-tag{vertical-align:1px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.62rem;font-weight:700;display:inline-block}.hc-checkin{border:1px solid var(--border);background:var(--surface-2);border-radius:15px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;padding:13px 14px;animation:.4s both rise;display:flex}.hc-checkin.is-active{background:#22c98a1a;border-color:#22c98a66}.hc-checkin.is-broken{background:#ff5b6e1a;border-color:#ff5b6e66}.hc-ck-ico{width:30px;height:30px;color:var(--muted);background:var(--surface-3);border-radius:10px;flex:none;place-items:center;display:grid}.hc-checkin.is-active .hc-ck-ico{color:var(--clean);background:#22c98a29}.hc-checkin.is-broken .hc-ck-ico{color:var(--relapse);background:#ff5b6e29}.hc-ck-ico svg{width:16px;height:16px}.hc-ck-text{flex:1;min-width:130px;font-size:.84rem;line-height:1.45}.hc-ck-btn{z-index:2;font-family:var(--font-head);color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:12px;flex:none;padding:10px 15px;font-size:.82rem;font-weight:700;transition:transform .15s,box-shadow .2s,background .2s,color .2s;position:relative;box-shadow:0 12px 24px -14px #7c6cfff2}.hc-ck-btn:hover{box-shadow:0 16px 30px -14px #7c6cff}.hc-ck-btn:active{transform:translateY(1px)}.hc-ck-btn.is-ghost{color:var(--muted);background:var(--surface);border:1px solid var(--border);box-shadow:none}.hc-ck-btn.is-ghost:hover{color:var(--text);background:var(--surface-3)}.hc-checkin+.hc-progress{margin-top:14px}.seg{border:1px solid var(--border);background:var(--surface);border-radius:13px;gap:4px;padding:4px;display:flex}.seg button{font-family:var(--font-head);color:var(--muted);border-radius:10px;flex:1;padding:10px 12px;font-size:.82rem;font-weight:600;transition:background .2s,color .2s}.seg button:hover{color:var(--text)}.seg button.on{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));box-shadow:0 10px 22px -12px #7c6cfff2}.goal-gen{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.goal-gen label{color:var(--muted);flex-direction:column;gap:5px;font-size:.72rem;font-weight:600;display:flex}.goal-gen input{width:84px}.goal-gen .btn{padding:10px 14px}.goal-editor{flex-direction:column;gap:8px;display:flex}.goal-row{grid-template-columns:86px 1fr 34px;align-items:center;gap:8px;display:grid}.goal-row .icon-btn{width:34px;height:34px;padding:8px}.goal-row input[type=text]{padding:10px 11px;font-size:.85rem}.form input[type=number]{border:1px solid var(--border);background:var(--surface);font-variant-numeric:tabular-nums;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:11px;outline:none;width:100%;padding:10px 11px;font-size:.85rem;transition:border-color .2s,box-shadow .2s,background .2s}[data-theme=light] .form input[type=number]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.form input[type=number]:focus{border-color:var(--accent);box-shadow:var(--ring);background:var(--surface-2)}.goal-preview{color:var(--muted);font-size:.75rem;line-height:1.7}.prog-head .prog-ico{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex:none;place-items:center;width:32px;height:32px;display:grid}.prog-head .prog-ico svg{width:18px;height:18px}.relapse-item svg{flex:none;width:14px;height:14px}@media (max-width:420px){.goal-row{grid-template-columns:72px 1fr 34px}.goal-banner{flex-wrap:wrap}.goal-banner button{margin-left:28px}}.card-link,.row-link{z-index:1;border-radius:inherit;position:absolute;inset:0}.habit-card .hc-actions,.habit-card .hc-checkin{z-index:2;position:relative}.hc-go,.prog-go{color:var(--muted);flex:none;align-items:center;margin-left:auto;transition:transform .2s,color .2s;display:flex}.hc-go svg,.prog-go svg{width:18px;height:18px}.habit-card:hover .hc-go,.prog-row:hover .prog-go{color:var(--accent);transform:translate(3px)}.prog-row{transition:border-color .25s,background .25s;position:relative}.prog-row:hover{border-color:color-mix(in srgb, var(--accent) 38%, var(--border))}.prog-head .prog-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chip{align-items:center;gap:5px;display:inline-flex}.chip svg{width:11px;height:11px}.chip-gold{color:var(--gold);background:#ffb02026}.detail{flex-direction:column;gap:16px;display:flex}.detail-bar{align-items:center;gap:10px;display:flex}.detail-bar .icon-btn{margin-left:auto}.back-link{border:1px solid var(--border);background:var(--surface);color:var(--muted);font-family:var(--font-head);border-radius:12px;align-items:center;gap:7px;padding:9px 15px 9px 10px;font-size:.85rem;font-weight:600;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.back-link svg{width:17px;height:17px}.back-link:hover{color:var(--text);background:var(--surface-3);border-color:var(--border-2)}.detail-hero{border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 13%, transparent), transparent 55%), var(--surface);padding:22px;animation:.5s cubic-bezier(.22,1,.36,1) both rise;position:relative;overflow:hidden}.detail-hero:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);height:3px;position:absolute;inset:-1px -1px auto}.dh-top{flex-wrap:wrap;align-items:center;gap:13px;display:flex}.dh-title{min-width:0}.dh-name{font-family:var(--font-head);font-size:1.28rem;font-weight:700;line-height:1.2}.dh-since{color:var(--muted);margin-top:3px;font-size:.8rem}.dh-actions{gap:8px;margin-left:auto;display:flex}.hero-counter{flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:22px;display:flex}.hero-stats{border-top:1px dashed var(--border);grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;padding-top:20px;display:grid}.hero-stats .hc-stat{text-align:left;border-left:2px solid color-mix(in srgb, var(--accent) 50%, transparent);padding-left:13px}.hero-stats .hc-stat b{font-size:1.3rem}.detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.detail-col{flex-direction:column;gap:16px;min-width:0;display:flex}.panel{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);padding:20px;animation:.5s cubic-bezier(.22,1,.36,1) both rise}.panel-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.panel-head h3{align-items:center;gap:8px;font-size:.98rem;font-weight:700;display:flex}.panel-head h3 svg{width:17px;height:17px;color:var(--accent)}.panel-meta{color:var(--muted);font-size:.75rem}.panel-head .btn.tiny{margin-left:auto;padding:7px 11px;font-size:.76rem}.panel-note{color:var(--muted);font-size:.82rem;line-height:1.65}.detail-note{color:var(--text);border-left:3px solid color-mix(in srgb, var(--accent) 55%, transparent);padding-left:12px;font-size:.9rem;font-style:italic;line-height:1.7}.next-goal{margin-bottom:16px}.next-goal-top{color:var(--muted);justify-content:space-between;gap:10px;margin-bottom:7px;font-size:.79rem;display:flex}.next-goal-top b{color:var(--text)}.eta{color:var(--muted);margin-top:9px;font-size:.76rem}.detail-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.detail-list li{color:var(--muted);border-bottom:1px dashed var(--border);justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;font-size:.84rem;display:flex}.detail-list li:last-child{border-bottom:none;padding-bottom:0}.detail-list b{color:var(--text);font-family:var(--font-head);white-space:nowrap;font-weight:700}.streak-list{flex-direction:column;gap:8px;max-height:430px;padding-right:4px;display:flex;overflow-y:auto}.streak-row{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;align-items:center;gap:11px;padding:11px 12px;display:flex}.streak-row.is-current{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.streak-ico{color:var(--muted);flex:none;display:flex}.streak-ico svg{width:16px;height:16px}.streak-row.is-current .streak-ico{color:var(--accent)}.streak-info{flex:1;min-width:0}.streak-range{font-size:.84rem;font-weight:600}.streak-sub{color:var(--muted);margin-top:3px;font-size:.72rem}.streak-days{font-family:var(--font-head);white-space:nowrap;font-size:.95rem;font-weight:700}.streak-row .icon-btn.mini{flex:none;width:30px;height:30px;padding:7px}.heat-card{padding-bottom:4px;overflow-x:auto}.heat-grid{grid-template-rows:auto 1fr;grid-template-columns:auto 1fr;gap:6px 8px;min-width:max-content;display:grid}.heat-months{color:var(--muted);gap:3px;font-size:.63rem;display:grid}.heat-months span{white-space:nowrap}.heat-days{color:var(--muted);grid-template-rows:repeat(7,12px);gap:3px;font-size:.58rem;display:grid}.heat-days span{height:12px;line-height:12px}.heat{grid-template-rows:repeat(7,12px);gap:3px;display:grid}.heat-cell{background:var(--surface-2);border:1px solid var(--border);border-radius:3px;width:12px;height:12px}.heat-cell.relapse{background:var(--relapse);border-color:#0000}.heat-cell.before{opacity:.32}.heat-cell.future{opacity:.16}.heat-cell.today{outline:2px solid color-mix(in srgb, var(--text) 70%, transparent);outline-offset:1px}.heat-legend{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin-top:14px;font-size:.72rem;display:flex}.heat-legend span{align-items:center;display:inline-flex}.heat-legend i{border-radius:3px;width:11px;height:11px;margin-right:6px;display:inline-block}@media (max-width:980px){.detail-grid{grid-template-columns:1fr}}@media (max-width:700px){.detail-hero{padding:18px}.hero-stats{grid-template-columns:repeat(2,1fr);gap:14px}.hero-stats .hc-stat b{font-size:1.15rem}.dh-actions{width:100%;margin-left:0}.dh-actions .btn{flex:1}.panel{padding:16px}.detail-list li{font-size:.8rem}}.cal-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px;display:flex}.cal-controls .filter{margin-top:0}.chip-toggle{border:1px solid var(--border);background:var(--surface);color:var(--muted);font-family:var(--font-head);border-radius:13px;align-items:center;gap:8px;padding:10px 14px;font-size:.8rem;font-weight:600;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.chip-toggle svg{width:16px;height:16px}.chip-toggle:hover{color:var(--text);background:var(--surface-3)}.chip-toggle.on{color:var(--text);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.cal-dots i.note-dot{background:var(--accent);box-shadow:0 0 6px #7c6cffd9}.lg-note{background:var(--accent)}.cal-upcoming{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding-top:14px;display:flex}.cu-title{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);align-items:center;gap:7px;font-size:.7rem;font-weight:700;display:inline-flex}.cu-title svg{width:14px;height:14px}.cu-item{border:1px solid var(--border);background:var(--surface-2);max-width:100%;color:var(--text);border-radius:999px;align-items:center;gap:7px;padding:6px 11px;font-size:.76rem;transition:background .2s,border-color .2s;display:inline-flex}.cu-item:hover{background:var(--surface-3);border-color:var(--border-2)}.cu-item b{font-family:var(--font-head);color:var(--accent);white-space:nowrap;font-weight:700}.cu-item span{text-overflow:ellipsis;white-space:nowrap;max-width:200px;color:var(--muted);overflow:hidden}.cu-item i{color:var(--muted);font-size:.68rem;font-style:normal}.dp-nav{align-items:center;gap:10px;display:flex}.dp-nav-mid{flex:1;min-width:0}.dp-nav .icon-btn{flex:none;width:34px;height:34px;padding:8px}.dp-section{margin-top:18px}.dp-section.is-separated{border-top:1px dashed var(--border);margin-top:20px;padding-top:18px}.dp-sec-head{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);align-items:center;gap:8px;margin-bottom:12px;font-size:.74rem;font-weight:700;display:flex}.dp-sec-head svg{width:15px;height:15px;color:var(--accent);flex:none}.dp-sec-head .panel-meta{text-transform:none;letter-spacing:0;margin-left:auto}.dp-section .dp-empty{margin-top:0;font-size:.82rem}.note-list{flex-direction:column;gap:7px;display:flex}.note-row{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:center;gap:9px;padding:9px 10px;display:flex}.note-time{font-family:var(--font-head);font-variant-numeric:tabular-nums;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:7px;flex:none;padding:4px 7px;font-size:.72rem;font-weight:700}.note-time.is-empty{display:none}.note-text{text-align:left;min-width:0;color:var(--text);overflow-wrap:anywhere;border-radius:6px;flex:1;padding:2px 4px;font-size:.85rem;line-height:1.45;transition:background .2s}.note-text:hover{background:var(--surface-3)}.note-edit{border:1px solid var(--accent);background:var(--surface);min-width:0;box-shadow:var(--ring);border-radius:10px;outline:none;flex:1;padding:8px 10px;font-size:.85rem}.note-row .icon-btn.mini{flex:none;width:28px;height:28px;padding:6px}.note-add{gap:7px;margin-top:10px;display:flex}.note-add input[type=text]{border:1px solid var(--border);background:var(--surface);border-radius:11px;outline:none;flex:1;min-width:0;padding:10px 12px;font-size:.84rem;transition:border-color .2s,box-shadow .2s}.note-add input[type=text]:focus{border-color:var(--accent);box-shadow:var(--ring)}.note-time-input{border:1px solid var(--border);background:var(--surface);width:96px;color:var(--muted);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:11px;outline:none;flex:none;padding:10px 8px;font-size:.78rem}[data-theme=light] .note-time-input{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.note-add .btn{flex:none;padding:10px 12px}.note-add .btn:disabled{opacity:.45;cursor:not-allowed}@media (min-width:1021px){.day-panel{max-height:calc(100vh - 118px);overflow-y:auto}}@media (max-width:760px){.cal-controls{width:100%;margin-top:16px}.cal-controls .filter{flex:1}.chip-toggle{flex:1;justify-content:center}.note-time-input{width:84px}}@supports (padding:env(safe-area-inset-top)){.app{padding-top:calc(22px + env(safe-area-inset-top));padding-bottom:calc(40px + env(safe-area-inset-bottom))}.toast{bottom:calc(26px + env(safe-area-inset-bottom))}.modal{padding-top:max(18px, env(safe-area-inset-top));padding-bottom:max(18px, env(safe-area-inset-bottom));padding-left:max(18px, env(safe-area-inset-left));padding-right:max(18px, env(safe-area-inset-right))}}@media (max-width:760px){@supports (padding:env(safe-area-inset-top)){.app{padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:calc(32px + env(safe-area-inset-bottom))}}}.icon-btn.is-on{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.modal-panel code{background:var(--surface-3);color:var(--text);word-break:break-all;border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em}.np-block{border:1px solid var(--border);background:var(--surface);border-radius:15px;margin-top:16px;padding:14px 15px}.np-block:first-of-type{margin-top:0}.np-block.is-warn{background:linear-gradient(135deg,#ffb02021,#ffb0200a);border-color:#ffb02061}.np-block.is-info{border-color:color-mix(in srgb, var(--accent) 40%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.np-block-head{font-family:var(--font-head);align-items:center;gap:9px;margin-bottom:9px;font-size:.86rem;font-weight:700;display:flex}.np-block-head svg{width:17px;height:17px;color:var(--accent);flex:none}.np-block.is-warn .np-block-head svg{color:var(--gold)}.np-block p{color:var(--muted);font-size:.82rem;line-height:1.65}.np-muted{opacity:.85;margin-top:10px!important;font-size:.78rem!important}.np-steps,.np-list{color:var(--muted);margin:10px 0 0;padding-left:20px;font-size:.82rem;line-height:1.8}.np-steps b,.np-list b{color:var(--text);font-weight:600}.np-status{border:1px dashed var(--border-2);background:var(--surface);border-radius:15px;align-items:center;gap:12px;margin-bottom:14px;padding:13px 15px;display:flex}.np-status.is-on{background:#22c98a1a;border-style:solid;border-color:#22c98a61}.np-status>svg{width:20px;height:20px;color:var(--muted);flex:none}.np-status.is-on>svg{color:var(--clean)}.np-status b{font-family:var(--font-head);font-size:.9rem;display:block}.np-status span{color:var(--muted);margin-top:2px;font-size:.77rem;line-height:1.5;display:block}.np-status .np-check-ico{color:var(--clean);width:18px;height:18px;margin-left:auto}.np-actions{flex-wrap:wrap;gap:9px;margin-bottom:16px;display:flex}.np-actions .btn{flex:1;min-width:150px}.np-settings{flex-direction:column;gap:12px;display:flex}.np-row{border:1px solid var(--border);background:var(--surface);border-radius:13px;align-items:center;gap:10px;padding:11px 13px;font-size:.84rem;display:flex}.np-row>svg{width:17px;height:17px;color:var(--accent);flex:none}.np-row>span{flex:1}.np-row input[type=time]{border:1px solid var(--border);background:var(--surface-2);font-family:var(--font-head);color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:10px;outline:none;flex:none;padding:8px 10px;font-size:.85rem;font-weight:600}[data-theme=light] .np-row input[type=time]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.np-row input[type=time]:focus{border-color:var(--accent);box-shadow:var(--ring)}.np-check{color:var(--muted);cursor:pointer;align-items:flex-start;gap:10px;font-size:.82rem;line-height:1.5;display:flex}.np-check input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex:none;margin-top:1px}.np-check span{flex:1}.np-check input:checked+span{color:var(--text)}.auth-wrap{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-card{border-radius:var(--radius);border:1px solid var(--border);background:color-mix(in srgb, var(--bg-soft) 84%, transparent);-webkit-backdrop-filter:blur(20px)saturate(150%);backdrop-filter:blur(20px)saturate(150%);width:min(460px,100%);box-shadow:var(--shadow);padding:28px;animation:.5s cubic-bezier(.22,1,.36,1) both rise}.auth-brand{align-items:center;gap:12px;margin-bottom:22px;display:flex}.auth-brand b{font-family:var(--font-head);font-size:1.05rem;font-weight:800;display:block}.auth-brand span{color:var(--muted);margin-top:1px;font-size:.74rem;display:block}.auth-title{letter-spacing:-.02em;font-size:1.45rem;font-weight:800}.auth-sub{color:var(--muted);margin-top:9px;font-size:.86rem;line-height:1.65}.auth-alert{background:#ffb0201a;border:1px solid #ffb0205c;border-radius:13px;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 13px;font-size:.79rem;line-height:1.55;display:flex}.auth-alert svg{width:16px;height:16px;color:var(--gold);flex:none;margin-top:2px}.auth-alert code{background:var(--surface-3);border-radius:5px;padding:1px 5px;font-size:.85em}.btn-google{border:1px solid var(--border-2);background:var(--surface-2);width:100%;color:var(--text);font-family:var(--font-head);border-radius:14px;justify-content:center;align-items:center;gap:11px;margin-top:22px;padding:14px 18px;font-size:.95rem;font-weight:700;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;display:flex}.btn-google svg{flex:none;width:18px;height:18px}.btn-google:hover:not(:disabled){background:var(--surface-3);box-shadow:0 16px 34px -20px #000000d9}.btn-google:active:not(:disabled){transform:translateY(1px)}.btn-google:disabled{opacity:.55;cursor:not-allowed}.auth-list{flex-direction:column;gap:11px;margin:24px 0 0;padding:0;list-style:none;display:flex}.auth-list li{color:var(--muted);align-items:flex-start;gap:10px;font-size:.79rem;line-height:1.55;display:flex}.auth-list svg{width:15px;height:15px;color:var(--accent);flex:none;margin-top:2px}.auth-foot{border-top:1px solid var(--border);color:var(--muted);text-align:center;margin-top:22px;padding-top:16px;font-size:.74rem;line-height:1.6}.auth-foot a{color:var(--accent);font-weight:600;text-decoration:none}.auth-foot a:hover{text-decoration:underline}.legal{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);max-width:780px;margin:0 auto;padding:28px 26px 40px}.legal h1{font-size:1.6rem}.legal-updated{color:var(--muted);margin-top:6px;margin-bottom:10px;font-size:.78rem}.legal h2{margin:26px 0 8px;font-size:1.02rem}.legal p,.legal li{color:var(--muted);font-size:.87rem;line-height:1.78}.legal ul{margin:8px 0 0;padding-left:20px}.legal li{margin-bottom:4px}.legal b{color:var(--text);font-weight:600}.legal a{color:var(--accent);text-decoration:none}.legal a:hover{text-decoration:underline}.legal code{background:var(--surface-3);color:var(--text);border-radius:6px;padding:2px 6px;font-size:.85em}.account-btn{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:5px 8px 5px 5px;transition:background .2s,border-color .2s;display:flex}.account-btn:hover{background:var(--surface-3);border-color:var(--border-2)}.account-btn>svg{width:15px;height:15px;color:var(--muted);flex:none}.avatar{background-color:var(--surface-3);border:1px solid var(--border);background-position:50%;background-size:cover;border-radius:50%;flex:none;width:30px;height:30px}.avatar.is-initial{font-family:var(--font-head);color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));place-items:center;font-size:.82rem;font-weight:700;display:grid}.menu.is-account{min-width:252px}.account-info{border-bottom:1px solid var(--border);margin-bottom:6px;padding:9px 12px 12px}.account-info b{font-family:var(--font-head);font-size:.88rem;display:block}.account-info span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.74rem;display:block;overflow:hidden}.menu a{color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.86rem;text-decoration:none;transition:background .15s;display:flex}.menu a:hover{background:var(--surface-2)}.menu a svg{opacity:.85;flex:none;width:16px;height:16px}.menu button:disabled{opacity:.5;cursor:not-allowed}.alert-bar{border-radius:var(--radius-sm);background:#ffb0201a;border:1px solid #ffb0205c;align-items:center;gap:12px;margin-top:20px;padding:14px 16px;font-size:.84rem;line-height:1.5;animation:.4s both rise;display:flex}.alert-bar svg{width:18px;height:18px;color:var(--gold);flex:none}.avisos-bar{border:1px solid var(--neon);background:color-mix(in srgb, var(--neon) 10%, transparent);flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;padding:14px 16px;animation:.4s both rise;display:flex}.avisos-bar>svg{width:18px;height:18px;color:var(--neon);flex:none}.avisos-bar>span{flex:1;min-width:200px;font-size:.84rem;line-height:1.55}.avisos-bar>span b{color:var(--text)}.avisos-actions{flex-wrap:wrap;gap:8px;display:flex}.avisos-bar .icon-btn{flex:none;width:30px;height:30px;padding:6px}.uni-acciones{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.uni-vacio{color:var(--muted);font-size:.86rem}.uni-aviso{border:1px dashed var(--neon);color:var(--neon);align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:.84rem;display:flex}.uni-aviso svg{flex:none;width:16px;height:16px}.uni-aviso.is-now{border-color:var(--clean);color:var(--clean)}.clase-list{flex-direction:column;gap:9px;display:flex}.clase-row{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--panel);box-shadow:var(--shadow);align-items:center;gap:12px;padding:11px 13px;display:flex;position:relative}.clase-row.is-now{border-color:color-mix(in srgb, var(--clean) 60%, var(--border))}.clase-hora{min-width:52px;font-family:var(--font-head);color:var(--accent);flex:none;font-size:.95rem;font-weight:700}.clase-hora small{color:var(--muted);font-size:.7rem;font-weight:600;display:block}.clase-mid{flex:1;min-width:0}.clase-nombre{font-family:var(--font-head);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;font-size:.98rem;font-weight:700;display:flex;overflow:hidden}.clase-sub{color:var(--muted);margin-top:1px;font-size:.76rem}.clase-estado{color:var(--muted);text-transform:lowercase;flex:none;font-size:.74rem;font-weight:700}.clase-estado.is-now{color:var(--clean)}.cal-day.has-clases{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.cal-day.has-clases:after{content:"";background:var(--accent);border-radius:1px;width:5px;height:5px;position:absolute;bottom:3px;left:4px}.semana-list{flex-direction:column;gap:8px;display:flex}.semana-dia{border:1px solid var(--border);background:var(--panel);align-items:flex-start;gap:12px;padding:9px 12px;display:flex}.semana-dia.is-hoy{border-color:var(--neon)}.semana-dia.is-libre{opacity:.55}.semana-nombre{width:38px;font-family:var(--font-head);text-transform:uppercase;color:var(--muted);flex:none;padding-top:4px;font-size:.78rem;font-weight:700}.semana-dia.is-hoy .semana-nombre{color:var(--neon)}.semana-clases{flex-wrap:wrap;flex:1;gap:6px;min-width:0;display:flex}.semana-clase{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface-2);max-width:100%;color:var(--text);font-size:.8rem;font-family:var(--font-body);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;align-items:center;gap:7px;padding:4px 10px;display:inline-flex;overflow:hidden}.semana-clase:hover{border-color:var(--neon)}.semana-clase b{font-family:var(--font-head);color:var(--accent)}.semana-libre{color:var(--muted);padding-top:4px;font-size:.78rem}.materia-list{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:10px;display:grid}.materia-row{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);align-items:flex-start;gap:11px;padding:12px 13px;display:flex;position:relative}.materia-row:before{content:"";border-top:2px solid var(--accent);border-left:2px solid var(--accent);width:11px;height:11px;position:absolute;top:0;left:0}.materia-card{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);position:relative}.materia-card .materia-row{box-shadow:none;background:0 0;border:none}.materia-card:before{content:"";border-top:2px solid var(--accent);border-left:2px solid var(--accent);z-index:1;width:11px;height:11px;position:absolute;top:0;left:0}.materia-card .materia-row:before{display:none}.notas{border-top:1px dashed var(--border);flex-direction:column;gap:9px;padding:11px 13px 13px;display:flex}.notas-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.notas-titulo{font-family:var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:700}.notas-titulo small{letter-spacing:0;text-transform:none;color:var(--muted);opacity:.8;margin-left:6px;font-size:.68rem}.notas-resumen{color:var(--muted);gap:12px;margin-left:auto;font-size:.76rem;display:flex}.notas-resumen b{color:var(--text)}.notas-barra{height:6px}.notas-barra>i{background:var(--accent)}.notas-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.notas-form input[type=text]{flex:1;min-width:120px}.notas-form input[type=number]{width:74px}.notas-form label{color:var(--muted);align-items:center;gap:3px;font-size:.78rem;display:inline-flex}.notas-form input,.notas-form select{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 9px;font-size:.84rem}.notas-form input[type=date]{width:140px}.notas-vacio{color:var(--muted);font-size:.78rem}.notas-list{flex-direction:column;gap:6px;display:flex}.nota-row{border:1px solid var(--border);background:var(--surface-2);align-items:center;gap:9px;padding:8px 10px;display:flex}.nota-row.is-pendiente{border-style:dashed}.nota-peso{min-width:44px;font-family:var(--font-head);color:var(--accent);flex:none;font-size:.8rem;font-weight:700}.nota-nombre{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.86rem;overflow:hidden}.nota-fecha{color:var(--muted);white-space:nowrap;flex:none;font-size:.74rem}.nota-valor{text-align:right;min-width:34px;font-family:var(--font-head);flex:none;font-size:.95rem;font-weight:700}.nota-row.is-pendiente .nota-valor{color:var(--muted);font-weight:600}.nota-acciones{flex:none;gap:4px;display:flex}.notas-ojo{color:var(--gold);font-size:.74rem}.notas-compacta{color:var(--muted);flex-wrap:wrap;gap:4px 14px;font-size:.8rem;display:flex}.notas-compacta b{color:var(--text)}.notas-compacta b.is-mal,.notas-metas .is-mal{color:var(--relapse)}.notas-vermas{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-family:var(--font-head);cursor:pointer;align-self:flex-start;padding:6px 12px;font-size:.76rem;font-weight:700;transition:border-color .18s,color .18s}.notas-vermas:hover{border-color:var(--neon);color:var(--neon)}.notas-metas{border:1px dashed var(--border-2);color:var(--muted);flex-direction:column;gap:3px;padding:9px 11px;font-size:.78rem;display:flex}.notas-metas b{color:var(--text)}.notas-metas .is-mal{color:var(--relapse)}.notas-max{opacity:.85}.materia-color{background:var(--accent);flex:none;width:12px;height:12px;margin-top:5px}.materia-mid{flex:1;min-width:0}.materia-nombre{font-family:var(--font-head);font-size:.98rem;font-weight:700}.materia-sub{color:var(--muted);margin-top:2px;font-size:.78rem}.materia-meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:.74rem;display:flex}.materia-meta span{align-items:center;gap:5px;display:inline-flex}.materia-meta svg{flex:none;width:13px;height:13px}.materia-acciones{flex:none;gap:6px;display:flex}.bloque-editor{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.bloque-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.bloque-row select,.bloque-row input[type=time]{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:9px 10px;font-size:.86rem}.bloque-row select{flex:1;min-width:90px}.bloque-sep{color:var(--muted);font-size:.78rem}.bloque-row .icon-btn{flex:none;width:34px;height:34px;padding:8px}@media (max-width:760px){.clase-row{gap:9px;padding:10px 11px}.clase-hora{min-width:46px;font-size:.88rem}.semana-dia{gap:8px;padding:8px 10px}.semana-nombre{width:32px;font-size:.7rem}.materia-list{grid-template-columns:1fr}}.auth-card.is-wide{width:min(700px,100%)}.auth-or{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:12px;margin:20px 0 4px;font-size:.72rem;font-weight:600;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--border);flex:1;height:1px}.auth-form{flex-direction:column;gap:13px;margin-top:14px;display:flex}.auth-form label{flex-direction:column;gap:6px;display:flex}.auth-form label>span{color:var(--muted);font-size:.76rem;font-weight:600}.auth-input{border:1px solid var(--border);background:var(--surface);border-radius:13px;align-items:center;gap:9px;padding:0 12px;transition:border-color .2s,box-shadow .2s;display:flex}.auth-input:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.auth-input>svg{width:16px;height:16px;color:var(--muted);flex:none}.auth-input input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:12px 0;font-size:.9rem}.auth-submit{width:100%;margin-top:4px}.auth-forgot{color:var(--accent);align-self:flex-end;margin-top:-4px;font-size:.76rem;font-weight:600;text-decoration:none}.auth-forgot:hover{text-decoration:underline}.welcome-head{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.welcome-head>svg{width:26px;height:26px;color:var(--accent);flex:none;margin-top:3px}.welcome-head h1{font-size:1.35rem}.welcome-head p{color:var(--muted);margin-top:7px;font-size:.85rem;line-height:1.65}.welcome-head b{color:var(--text)}.profile{flex-direction:column;gap:18px;display:flex}.profile-photo{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.avatar.is-big{width:84px;height:84px;font-size:1.7rem}.profile-photo>div{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.profile-photo>div .btn{padding:9px 14px;font-size:.82rem}.profile-hint{color:var(--muted);font-size:.74rem;line-height:1.55}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px;display:grid}.profile-field{flex-direction:column;gap:6px;display:flex}.profile-field>span{color:var(--muted);font-size:.76rem;font-weight:600}.profile-field small{color:var(--muted);font-size:.72rem;line-height:1.5}.req{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-left:6px;font-size:.66rem;font-weight:700}.profile-field textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);resize:vertical;border-radius:13px;outline:none;padding:12px 14px;font-family:inherit;font-size:.88rem;transition:border-color .2s,box-shadow .2s}.profile-field textarea:focus{border-color:var(--accent);box-shadow:var(--ring)}.profile-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.topbar-spacer{flex:1}.lp{width:min(1080px,100%);margin:0 auto;padding:18px clamp(14px,3vw,30px) 40px}.lp-nav{justify-content:space-between;align-items:center;gap:14px;padding:10px 0 30px;display:flex}.lp-brand{align-items:center;gap:11px;display:flex}.lp-logo{color:#fff;background:linear-gradient(135deg,#7c6cff,#3b9dff 55%,#22c98a);border-radius:13px;place-items:center;width:40px;height:40px;padding:9px;display:grid;box-shadow:0 12px 26px -12px #7c6cfff2}.lp-brand b{font-family:var(--font-head);font-size:1.2rem;font-weight:800}.lp-nav-actions{align-items:center;gap:8px;display:flex}.lp-link{font-family:var(--font-head);color:var(--muted);border-radius:11px;padding:10px 13px;font-size:.88rem;font-weight:600;text-decoration:none;transition:color .2s,background .2s}.lp-link:hover{color:var(--text);background:var(--surface-2)}.lp-hero{text-align:center;padding:clamp(18px,6vw,58px) 0 clamp(26px,6vw,54px);animation:.6s cubic-bezier(.22,1,.36,1) both rise}.lp-badge{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:.78rem;font-weight:600;display:inline-flex}.lp-badge svg{width:14px;height:14px;color:var(--accent)}.lp-hero h1{letter-spacing:-.035em;margin-top:22px;font-size:clamp(2rem,6.4vw,3.5rem);font-weight:800;line-height:1.06}.lp-lead{max-width:620px;color:var(--muted);margin:20px auto 0;font-size:clamp(.94rem,2.4vw,1.06rem);line-height:1.72}.lp-cta{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.lp-btn{padding:15px 24px;font-size:.95rem}.lp-points{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:26px 0 0;padding:0;font-size:.82rem;list-style:none;display:flex}.lp-points li{align-items:center;gap:7px;display:inline-flex}.lp-points svg{width:15px;height:15px;color:var(--clean)}.lp-section{margin-top:clamp(40px,8vw,78px)}.lp-section h2{text-align:center;letter-spacing:-.03em;font-size:clamp(1.32rem,3.6vw,1.95rem)}.lp-grid{grid-template-columns:repeat(auto-fit,minmax(min(255px,100%),1fr));gap:16px;margin-top:28px;display:grid}.lp-grid.is-three{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.lp-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);padding:22px;transition:transform .25s,border-color .25s}.lp-card:hover{border-color:var(--border-2);transform:translateY(-4px)}.lp-ico{width:44px;height:44px;color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:14px;place-items:center;margin-bottom:14px;display:grid}.lp-ico svg{width:21px;height:21px}.lp-card h3{font-size:1rem;font-weight:700}.lp-card p{color:var(--muted);margin-top:7px;font-size:.85rem;line-height:1.65}.lp-steps{grid-template-columns:repeat(auto-fit,minmax(min(255px,100%),1fr));gap:16px;margin:28px 0 0;padding:0;list-style:none;display:grid}.lp-steps li{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);gap:15px;padding:22px;display:flex}.lp-step-n{width:36px;height:36px;font-family:var(--font-head);color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:12px;flex:none;place-items:center;font-weight:800;display:grid}.lp-steps b{font-family:var(--font-head);font-size:.98rem}.lp-steps p{color:var(--muted);margin-top:6px;font-size:.84rem;line-height:1.6}.lp-priv{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);gap:14px;padding:20px;display:flex}.lp-priv>svg{width:20px;height:20px;color:var(--clean);flex:none;margin-top:3px}.lp-priv b{font-family:var(--font-head);font-size:.95rem}.lp-priv p{color:var(--muted);margin-top:5px;font-size:.83rem;line-height:1.6}.lp-faq{flex-direction:column;gap:10px;max-width:720px;margin:26px auto 0;display:flex}.lp-faq details{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);padding:2px 16px}.lp-faq summary{cursor:pointer;font-family:var(--font-head);justify-content:space-between;align-items:center;gap:10px;padding:14px 0;font-size:.92rem;font-weight:600;list-style:none;display:flex}.lp-faq summary::-webkit-details-marker{display:none}.lp-faq summary:after{content:"+";color:var(--muted);font-size:1.25rem;line-height:1}.lp-faq details[open] summary:after{content:"−"}.lp-faq p{color:var(--muted);padding-bottom:14px;font-size:.85rem;line-height:1.7}.lp-faq b{color:var(--text)}.lp-final{text-align:center;border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 13%, transparent), transparent 60%), var(--surface);margin-top:clamp(44px,9vw,90px);padding:clamp(30px,6vw,54px) clamp(18px,4vw,40px)}.lp-final p{color:var(--muted);margin-top:12px;font-size:.92rem}.lp-foot{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:40px;padding-top:22px;font-size:.78rem;display:flex}.lp-foot span{align-items:center;gap:16px;display:inline-flex}.lp-foot a{color:var(--muted);text-decoration:none}.lp-foot a:hover{color:var(--text);text-decoration:underline}@media (max-width:620px){.lp-nav{padding-bottom:16px}.lp-hero{padding-top:14px}.lp-cta{flex-direction:column}.lp-btn{width:100%}.lp-foot{text-align:center;justify-content:center}}.bottom-nav,.fab{display:none}.sheet{z-index:90;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#04060c9e;animation:.2s ease-out fade;position:absolute;inset:0}.sheet-panel{width:100%;max-width:560px;max-height:88vh;padding:10px 16px calc(22px + env(safe-area-inset-bottom));border:1px solid var(--border-2);background:var(--bg-soft);overscroll-behavior:contain;border-bottom:none;border-radius:24px 24px 0 0;animation:.3s cubic-bezier(.22,1,.36,1) sheetUp;position:relative;overflow-y:auto;box-shadow:0 -30px 70px -30px #000000e6}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:none}}.sheet-grab{background:var(--border-2);border-radius:999px;width:44px;height:4px;margin:4px auto 14px;display:block}.sheet-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding-bottom:14px;display:flex}.sheet-user{min-width:0;color:var(--text);flex:1;align-items:center;gap:11px;text-decoration:none;display:flex}.sheet-user-text{min-width:0}.sheet-user-text b{font-family:var(--font-head);font-size:.95rem;display:block}.sheet-user-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:.74rem;display:block;overflow:hidden}.sheet-new{width:100%;font-family:var(--font-head);color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:14px;justify-content:center;align-items:center;gap:9px;margin-top:14px;padding:14px;font-size:.95rem;font-weight:700;display:flex;box-shadow:0 14px 30px -14px #7c6cfff2}.sheet-new svg{width:18px;height:18px}.sheet-section{flex-direction:column;gap:2px;margin-top:20px;display:flex}.sheet-title{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:0 12px 7px;font-size:.67rem;font-weight:700}.sheet-section button,.sheet-section a{color:var(--text);text-align:left;border-radius:12px;align-items:center;gap:12px;padding:13px 12px;font-size:.9rem;text-decoration:none;transition:background .15s;display:flex}.sheet-section button:active,.sheet-section a:active{background:var(--surface-2)}.sheet-section button.on{background:color-mix(in srgb, var(--accent) 14%, transparent);font-weight:600}.sheet-section svg{width:18px;height:18px;color:var(--muted);flex:none}.sheet-section button.on svg{color:var(--accent)}.sheet-section .is-danger,.sheet-section .is-danger svg{color:var(--relapse)}.collapse-head{border:1px solid var(--border);background:var(--surface);width:100%;font-family:var(--font-head);text-align:left;border-radius:13px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:.86rem;font-weight:600;display:flex}.collapse-head svg{width:17px;height:17px;color:var(--muted);flex:none}.collapse-head .hc-icon{border-radius:10px;width:32px;height:32px}.collapse-head .hc-icon svg{width:17px;height:17px;color:var(--accent)}.collapse-preview{align-items:center;gap:10px;display:flex}.collapse-body{flex-direction:column;gap:16px;margin-top:14px;display:flex}@media (max-width:760px){.tabs,.topbar-actions{display:none}.topbar{z-index:70;border-top:none;border-left:none;border-right:none;border-bottom:1px solid var(--border);padding:calc(9px + env(safe-area-inset-top)) 14px 9px;border-radius:0;justify-content:space-between;margin:0;position:fixed;top:0;left:0;right:0;box-shadow:0 14px 30px -24px #000000f2}.app{padding-top:calc(68px + env(safe-area-inset-top))}.brand-logo{border-radius:12px;width:38px;height:38px;padding:8px}.brand-text h1{font-size:1.14rem}.bottom-nav{z-index:60;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb, var(--bg-soft) 92%, transparent);-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{font-family:var(--font-head);color:var(--muted);border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:7px 4px;font-size:.66rem;font-weight:600;transition:color .2s,background .2s;display:flex}.bottom-nav button svg{width:21px;height:21px}.bottom-nav button.on{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.fab{right:16px;bottom:calc(86px + env(safe-area-inset-bottom));z-index:61;color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:50%;place-items:center;width:56px;height:56px;transition:transform .15s;display:grid;position:fixed;box-shadow:0 18px 34px -12px #7c6cffe6}.fab svg{width:24px;height:24px}.fab:active{transform:scale(.93)}.app{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.habit-card{border-radius:18px;padding:16px}.habit-card .hc-note,.habit-card .hc-strip,.habit-card .hc-strip-cap,.habit-card .hc-stats,.habit-card .goal-list{display:none}.habit-card .hc-days{font-size:clamp(2.2rem,12vw,2.8rem)}.habit-card .hc-actions{margin-top:14px}.hc-checkin{padding:12px}.hc-ck-btn{text-align:center;flex:1}.summary{gap:8px;margin-top:14px}.stat{border-radius:14px;padding:11px 12px}.stat-label{letter-spacing:.06em;font-size:.62rem}.stat-value{margin-top:2px;font-size:1.3rem}.section-head{margin:18px 0 12px}.section-head h2{font-size:1.12rem}.section-head p{display:none}}.note-add{margin-top:0;margin-bottom:12px}.cal-legend{gap:6px 14px;margin-top:12px;padding-top:12px;font-size:.72rem}.cal-upcoming{gap:6px;margin-top:12px;padding-top:12px}.cu-item{padding:5px 10px}.dp-sec-head{margin-bottom:10px}@media (max-width:760px){.calendar-wrap{gap:12px;margin-top:12px}.cal-card{padding:12px}.cal-legend,.cal-upcoming{margin-top:10px;padding-top:10px}.day-panel{padding:15px}.dp-section{margin-top:14px}.dp-section.is-separated{margin-top:15px;padding-top:13px}.note-add{margin-bottom:10px}}body{font-family:var(--font-body);letter-spacing:0;font-size:1rem;line-height:1.55}body:before{background:radial-gradient(circle at 1px 1px,#b4ff2e1a 1px,#0000 0) 0 0/24px 24px,radial-gradient(900px 600px at 10% -10%,#6f5cff38,#0000 60%),radial-gradient(760px 500px at 95% 2%,#b4ff2e14,#0000 62%),radial-gradient(900px 700px at 50% 118%,#7ee08112,#0000 65%)}[data-theme=light] body:before{background:radial-gradient(circle at 1px 1px,#101a101a 1px,#0000 0) 0 0/24px 24px,radial-gradient(900px 600px at 10% -10%,#6f5cff1f,#0000 60%),radial-gradient(760px 500px at 95% 2%,#4a7a001a,#0000 62%)}.legal p,.legal li,.lp-lead,.auth-sub,.panel-note,.confirm-text,.np-block p,.np-list li,.np-steps li,.profile-hint{font-family:var(--font-long);letter-spacing:0;line-height:1.7}h1,h2,h3,h4{letter-spacing:-.015em}h1{font-size:1.45rem;line-height:1.25}h2{font-size:1.2rem;line-height:1.3}h3{font-size:1.02rem;line-height:1.35}.brand-text h1{font-size:1.16rem}.brand-text p{letter-spacing:.05em;font-size:.74rem}.section-head h2{font-size:1.18rem}.panel-head h3{font-size:.96rem}.hc-name{font-size:1.06rem;line-height:1.3}.hc-since,.panel-meta,.dp-sub,.prog-line,.detail-list li,.streak-sub{font-size:.82rem}.stat-label{letter-spacing:.08em;font-size:.7rem}.stat-value{font-size:1.5rem}.hc-unit{font-size:.95rem}.hc-dayline{font-size:.84rem}.cal-title{font-size:1.02rem}.cal-wd,.cal-wn,.cal-wn-head{font-size:.7rem}.chip,.goal-badge,.cu-item,.hc-clock,.note-time{font-size:.74rem}.hc-tag{font-size:.62rem}.btn{font-size:.85rem}.btn svg{width:16px;height:16px}.tab{font-size:.85rem}.lp-hero h1{font-size:clamp(2rem,6vw,3.1rem);line-height:1.08}.lp-lead{font-size:1.05rem}.lp-section h2{font-size:clamp(1.28rem,3.4vw,1.8rem)}.lp-card h3,.lp-priv b,.lp-steps b{font-size:1rem}.lp-faq summary{font-size:.95rem}.lp-final h2{font-size:clamp(1.25rem,3.2vw,1.7rem)}.auth-title,.welcome-head h1{font-size:1.35rem;line-height:1.25}.profile-field>span,.field>label,.auth-form label>span{font-size:.8rem}.field input,.field textarea,.auth-input input,.note-add input,.note-time-input,.profile-field textarea{font-size:.95rem}.dp-date{font-size:1.05rem}.prog-name{font-size:.95rem}.prog-days{font-size:1.05rem}.streak-range{font-size:.88rem}.streak-days{font-size:.95rem}.np-status b,.np-block-head{font-size:.92rem}.np-status span,.note-text,.detail-note{font-size:.88rem}.sheet-title{letter-spacing:.1em;font-size:.68rem}.sheet-nota{border:1px dashed var(--neon);color:var(--neon);margin:2px 0 6px;padding:9px 11px;font-size:.76rem;line-height:1.5}.sheet-section button,.sheet-section a{font-size:.92rem}.sheet-user-text b{font-size:1rem}.bottom-nav button span{font-size:.68rem}.collapse-head,.seg button,.goal-banner,.eta,.goal-preview{font-size:.86rem}.panel,.habit-card,.stat,.cal-card,.day-panel,.modal-panel,.auth-card,.lp-card,.lp-final,.detail-hero,.empty,.prog-row,.cal-upcoming{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);border-radius:0}.panel:before,.habit-card:before,.stat:before,.cal-card:before,.day-panel:before,.modal-panel:before,.auth-card:before,.lp-card:before,.detail-hero:before,.prog-row:before,.empty:before{content:"";border-top:2px solid var(--neon);border-left:2px solid var(--neon);pointer-events:none;opacity:.85;background:0 0;width:13px;height:13px;position:absolute;inset:0 auto auto 0}.panel,.habit-card,.stat,.cal-card,.day-panel,.modal-panel,.auth-card,.lp-card,.detail-hero,.prog-row,.empty,.cal-upcoming{position:relative}.stat:after{opacity:.55;background:currentColor;width:2px}.stat{color:var(--muted)}.stat[data-tone=clean]{color:var(--clean)}.stat[data-tone=relapse]{color:var(--relapse)}.stat[data-tone=gold]{color:var(--gold)}.stat[data-tone=accent]{color:var(--neon)}.stat-label,.stat-value{color:var(--text)}.stat-value{color:var(--neon)}.hc-checkin,.next-goal,.note-add input,.empty,.alert-bar{border-style:dashed}.btn{border:2px solid var(--border-2);box-shadow:none;letter-spacing:.04em;border-radius:0}.btn-primary{color:#05090a;background:var(--neon);border-color:var(--neon);box-shadow:4px 4px #00000080}[data-theme=dark] .btn-primary{box-shadow:4px 4px #000}.btn-primary:hover{background:var(--neon-2);border-color:var(--neon-2)}.btn:active{transform:translate(2px,2px);box-shadow:2px 2px #00000080!important}.btn-soft,.btn-ghost{background:var(--surface-2);border:2px solid var(--border)}.btn-soft:hover,.btn-ghost:hover{border-color:var(--neon);color:var(--neon);background:var(--surface-3)}.btn-ghost.is-danger:hover,.btn.is-danger:hover{border-color:var(--relapse);color:var(--relapse)}.btn-danger{color:#fff;background:var(--relapse);border-color:var(--relapse);box-shadow:4px 4px #00000080}.btn-google{border:2px solid var(--border-2);background:var(--surface-2);border-radius:0}.btn-google:hover:not(:disabled){border-color:var(--neon)}.icon-btn{border:2px solid var(--border);border-radius:0}.icon-btn:hover{border-color:var(--neon);color:var(--neon)}.hc-ck-btn{color:#05090a;background:var(--neon);border-radius:0;box-shadow:3px 3px #00000080}.hc-ck-btn.is-ghost{color:var(--text);border:2px solid var(--border);background:0 0}.hc-ck-btn.is-ghost:hover{color:var(--neon);border-color:var(--neon)}.hc-days{-webkit-text-fill-color:currentColor;color:#e8ffb4;font-family:var(--font-head);letter-spacing:-.02em;text-shadow:0 0 16px #b4ff2e2e;background:0 0;font-size:clamp(2.5rem,10vw,3.4rem);font-weight:700;line-height:1}.hero-counter .hc-days{font-size:clamp(3rem,13vw,4.4rem)}.hero-counter .hc-clock{margin-left:0}[data-theme=light] .hc-days{color:var(--accent);text-shadow:none}.hc-clock,.hc-tag,.chip,.goal-badge,.cu-item,.note-time,.lg{border-radius:0}.hc-clock{border:1px solid var(--border);background:var(--surface);color:var(--neon);font-size:.86rem}.hc-tag{color:var(--neon);border:1px solid var(--neon);background:0 0}.chip{background:0 0;border:1px solid;border-radius:0}.chip-clean{color:var(--clean)}.chip-relapse{color:var(--relapse)}.chip-future{color:var(--muted)}.chip-gold{color:var(--gold)}.goal-badge{border:1px solid var(--border);background:0 0;border-radius:0}.goal-badge.done{border-color:var(--clean);color:var(--clean);background:0 0}.goal-badge.next{border-color:var(--neon);color:var(--neon);background:0 0}.goal-banner{border:1px dashed var(--gold);color:var(--gold);background:0 0;border-radius:0}.goal-banner svg{color:var(--gold)}.bar,.prog-line .track{border:1px solid var(--border-2);background:repeating-linear-gradient(90deg, var(--surface-3) 0 6px, transparent 6px 9px);border-radius:0;height:12px}.bar>i,.prog-line .track>i{background:repeating-linear-gradient(90deg, var(--neon) 0 6px, transparent 6px 9px);box-shadow:none;border-radius:0}.prog-line.best .track>i{background:repeating-linear-gradient(90deg, var(--gold) 0 6px, transparent 6px 9px)}.cal-day,.heat-cell,.hc-strip .dp{border-radius:0}.cal-day{border:1px solid var(--border);background:var(--panel)}.cal-day:hover{border-color:var(--neon);background:var(--surface-2)}.cal-day.is-today{border:2px solid var(--neon);box-shadow:var(--glow);background:#b4ff2e1a}.cal-day.is-selected{outline:2px solid var(--violet);outline-offset:0}.cal-day.has-relapse{background:#ff4d6d1f}.cal-dots i,.note-dot{border-radius:0}.cal-flag svg{color:var(--relapse)}.cal-legend .lg{border:1px solid var(--border-2)}.heat-cell{border:1px solid var(--border)}.heat-cell.clean{background:var(--neon-2);border-color:#0000}.heat-cell.relapse{background:var(--relapse)}.hc-strip .dp.clean{background:var(--neon-2);opacity:1}.bottom-nav{border-top:2px solid var(--border-2);background:color-mix(in srgb, var(--bg) 94%, transparent)}.bottom-nav button{border-radius:0}.bottom-nav button.on{color:var(--neon);box-shadow:inset 0 -2px 0 var(--neon);background:#b4ff2e1a}.fab{color:#05090a;background:var(--neon);border-radius:0;box-shadow:4px 4px #0009}.sheet-panel{border:2px solid var(--border-2);border-bottom:none;border-radius:0}.sheet-grab{background:var(--border-2);border-radius:0;height:3px}.sheet-new{color:#05090a;background:var(--neon);border-radius:0;box-shadow:4px 4px #0000008c}.sheet-section{border-top:1px dashed var(--border);padding-top:14px}.sheet-section:first-of-type{border-top:none}.sheet-section button,.sheet-section a{border-radius:0}.sheet-section button.on{box-shadow:inset 2px 0 0 var(--neon);background:#b4ff2e1a}.sheet-user-text b{font-family:var(--font-head);font-size:1rem}.modal-panel{border:2px solid var(--border-2)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.avatar,.brand-logo,.hc-icon,.lp-logo,.prog-ico,.lp-ico,.hc-ck-ico,.streak-ico,.empty-icon svg{border-radius:0}.avatar{border:2px solid var(--border-2)}.avatar.is-initial{color:#05090a;background:var(--neon);border-color:var(--neon)}.brand-logo{color:#05090a;background:var(--neon);border:2px solid var(--neon);box-shadow:3px 3px #0009}.hc-icon{border:2px solid color-mix(in srgb, var(--accent) 70%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.field input[type=text],.field input[type=datetime-local],.field input[type=number],.field textarea,.auth-input,.note-add input[type=text],.note-time-input,.note-edit{background:var(--bg-soft);border-width:2px;border-radius:0}.icon-grid button,.color-grid button{border-width:2px;border-radius:0}.color-grid button{background:var(--c)}.color-grid button.is-sel{border-color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb, var(--c) 45%, transparent)}.icon-grid button{background:var(--surface)}.icon-grid button.is-sel,.color-grid button.is-sel{border-color:var(--neon);box-shadow:var(--glow)}.seg{border-width:2px;border-radius:0}.seg button{border-radius:0}.seg button.on{color:#05090a;background:var(--neon)}.np-status,.np-row,.note-row,.dp-row,.streak-row,.cal-legend,.heat-legend{border-radius:0}.np-row,.note-row,.dp-row,.streak-row{border-width:1px}.dp-row,.note-row,.streak-row{background:var(--panel)}.goal-list .goal-badge small{color:inherit;opacity:.8}.collapse-head{border-width:2px;border-radius:0}.lp-badge{border:1px solid var(--neon);color:var(--neon);background:0 0;border-radius:0}.lp-link,.lp-cta .btn,.lp-btn{border-radius:0}.lp-points svg{color:var(--neon)}.lp-ico,.lp-step-n{border-radius:0}.lp-step-n{color:#05090a;background:var(--neon)}.lp-faq details{border-width:1px;border-radius:0}.lp-faq summary:after{color:var(--neon)}.lp-foot{border-top:1px dashed var(--border)}.topbar{border-bottom:2px solid var(--border-2);background:color-mix(in srgb, var(--bg) 88%, transparent)}.account-btn,.menu,.menu.is-account{border-width:2px;border-radius:0}.menu button,.menu a{border-radius:0}.toast{border:2px solid var(--neon);color:var(--neon);background:color-mix(in srgb, var(--bg) 94%, transparent);border-radius:0}.modal-panel code,.legal code{border-radius:0}.back-link{border-width:2px;border-radius:0}.avatar.is-big{border-radius:0}.hero-stats .hc-stat{border-left:2px solid color-mix(in srgb, var(--neon) 55%, transparent)}.detail-hero{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 10%, transparent), transparent 55%), var(--panel)}.habit-card{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 8%, transparent), transparent 45%), var(--panel)}.alert-bar{border-color:var(--gold);color:var(--gold);background:0 0}.legal{border-radius:0}.lp-final{background:var(--panel)}[data-theme=light] .btn-primary{color:#f6fff0}[data-theme=light] .hc-days{-webkit-text-fill-color:var(--accent);color:var(--accent);text-shadow:2px 2px #0000001f}[data-theme=light] .btn-primary,[data-theme=light] .hc-ck-btn,[data-theme=light] .sheet-new,[data-theme=light] .fab,[data-theme=light] .avatar.is-initial,[data-theme=light] .brand-logo,[data-theme=light] .seg button.on,[data-theme=light] .lp-step-n{color:#f6fff0}[data-theme=light] .stat-value{color:var(--accent)}[data-theme=light] .panel,[data-theme=light] .habit-card,[data-theme=light] .stat,[data-theme=light] .cal-card,[data-theme=light] .day-panel,[data-theme=light] .modal-panel,[data-theme=light] .auth-card,[data-theme=light] .lp-card,[data-theme=light] .lp-final,[data-theme=light] .detail-hero,[data-theme=light] .empty,[data-theme=light] .prog-row{background:var(--panel)}.home-hello{margin:26px 0 16px}.home-hello h2{font-size:1.5rem;line-height:1.2}.home-hello p{color:var(--muted);margin-top:3px;font-size:.86rem}.home-block{margin-top:22px}.home-block-head{border-bottom:1px dashed var(--border);font-family:var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;font-size:.74rem;font-weight:700;display:flex}.home-block-head svg{width:16px;height:16px;color:var(--neon);flex:none}.home-block-head .panel-meta{text-transform:none;letter-spacing:0;margin-left:auto}.home-block-note{color:var(--muted);margin:-4px 0 12px;font-size:.82rem}.pending-list{flex-direction:column;gap:8px;display:flex}.pending-row{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--panel);box-shadow:var(--shadow);align-items:center;gap:10px;padding:10px 12px;display:flex;position:relative}.pending-row:before{content:"";border-top:2px solid var(--neon);border-left:2px solid var(--neon);opacity:.8;pointer-events:none;width:10px;height:10px;position:absolute;top:0;left:0}.pr-icon{width:28px;height:28px;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent);flex:none;place-items:center;display:grid}.pr-icon svg{width:15px;height:15px}.pr-name{min-width:0;font-family:var(--font-head);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.95rem;font-weight:700;overflow:hidden}.pr-days{color:var(--muted);white-space:nowrap;flex:none;font-size:.78rem}.pending-row .hc-ck-btn{flex:none;padding:7px 12px}.habits-list{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:10px;display:grid}.habits-list.is-clipped{max-height:212px;position:relative;overflow:hidden}.habits-list.is-clipped:after{content:"";background:linear-gradient(to bottom, transparent, var(--bg) 88%);pointer-events:none;height:92px;position:absolute;bottom:0;left:0;right:0}.list-more{justify-content:center;margin-top:14px;display:flex}.list-more .btn{padding:9px 20px;font-size:.84rem}.habit-row{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);align-items:center;gap:12px;padding:12px 14px;transition:border-color .2s;display:flex;position:relative}.habit-row:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.habit-row:before{content:"";border-top:2px solid var(--accent);border-left:2px solid var(--accent);opacity:.9;pointer-events:none;width:11px;height:11px;position:absolute;top:0;left:0}.hc-icon.is-small{flex:none;width:30px;height:30px}.hc-icon.is-small svg{width:16px;height:16px}.hr-mid{flex:1;min-width:0}.hr-name{font-family:var(--font-head);align-items:center;gap:6px;font-size:.98rem;font-weight:700;line-height:1.2;display:flex}.hr-sub{color:var(--muted);margin-top:1px;font-size:.78rem}.hr-days{text-align:right;flex:none}.hr-days b{font-family:var(--font-head);color:#e8ffb4;font-size:1.45rem;font-weight:700;line-height:1;display:block}[data-theme=light] .hr-days b{color:var(--accent)}.hr-days small{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.6rem}.hr-actions{z-index:2;flex:none;gap:6px;display:flex;position:relative}.hr-btn{border:2px solid var(--border);background:var(--surface-2);width:32px;height:32px;color:var(--text);cursor:pointer;place-items:center;transition:border-color .18s,color .18s,background .18s;display:grid}.hr-btn svg{width:15px;height:15px}.hr-btn:hover{border-color:var(--neon);color:var(--neon);background:var(--surface-3)}.hr-btn:active{transform:translate(1px,1px)}.hr-btn.is-ghost{color:var(--muted)}.hr-btn.is-danger:hover{border-color:var(--relapse);color:var(--relapse)}.goals-soon{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:10px;display:grid}.goal-soon{border:1px solid var(--border);border-left:3px solid var(--gold);background:var(--panel);box-shadow:var(--shadow);align-items:center;gap:10px;padding:10px 12px;display:flex;position:relative}.goal-soon:before{content:"";border-top:2px solid var(--gold);border-left:2px solid var(--gold);opacity:.85;pointer-events:none;width:10px;height:10px;position:absolute;top:0;left:0}.goal-soon .pr-icon{color:var(--gold);border-color:color-mix(in srgb, var(--gold) 55%, transparent);background:color-mix(in srgb, var(--gold) 12%, transparent)}.gs-mid{flex:1;min-width:0}.gs-name{font-family:var(--font-head);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:700;line-height:1.25;overflow:hidden}.gs-sub{color:var(--muted);margin:1px 0 6px;font-size:.74rem}.goal-soon .bar{height:6px}.gs-left{text-align:right;flex:none}.gs-left b{font-family:var(--font-head);color:var(--gold);font-size:1.3rem;font-weight:700;line-height:1;display:block}.gs-left small{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.58rem}.notes-preview{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:10px;display:grid}.note-preview{border:1px solid var(--border);background:var(--panel);color:var(--text);font-family:var(--font-body);text-align:left;cursor:pointer;box-shadow:var(--shadow);align-items:center;gap:10px;padding:10px 12px;transition:border-color .18s;display:flex;position:relative}.note-preview:hover{border-color:var(--neon)}.note-preview b{font-family:var(--font-head);color:var(--neon);white-space:nowrap;flex:none;font-size:.8rem}.note-preview span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.86rem;overflow:hidden}.note-preview i{color:var(--muted);flex:none;font-size:.7rem;font-style:normal}.note-preview svg{width:15px;height:15px;color:var(--muted);flex:none}@media (max-width:760px){.home-hello{margin:18px 0 12px}.home-hello h2{font-size:1.32rem}.home-block{margin-top:18px}.home-block-note{font-size:.78rem}.habits-list{grid-template-columns:1fr}.habits-list.is-clipped{max-height:196px}.goals-soon{grid-template-columns:1fr}.habit-row{gap:10px;padding:10px 11px}.hr-name{font-size:.92rem}.hr-sub{font-size:.72rem}.hr-days b{font-size:1.3rem}.hr-days small{font-size:.56rem}.pr-days{font-size:.72rem}.pending-row{flex-wrap:wrap}.pending-row .hc-ck-btn{flex:100%}.notes-preview{grid-template-columns:1fr}}.cal-day.is-holiday{border-color:color-mix(in srgb, var(--gold) 55%, transparent);background:color-mix(in srgb, var(--gold) 12%, transparent)}.cal-day.is-holiday .n{color:var(--gold);font-weight:800}.cal-day.is-holiday.is-out{opacity:.3}.cal-dots .cal-hol{color:var(--gold);align-items:center;display:flex}.cal-dots .cal-hol svg{stroke-width:2.6px;width:10px;height:10px}.cal-legend .lg-holiday{background:var(--gold)}.dp-feriado{border:1px solid var(--gold);background:color-mix(in srgb, var(--gold) 12%, transparent);color:var(--gold);font-family:var(--font-head);align-items:center;gap:6px;margin-top:8px;padding:4px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.dp-feriado svg{flex:none;width:12px;height:12px}.cal-upcoming.is-holidays .cu-title,.cal-upcoming.is-holidays .cu-title svg{color:var(--gold)}.cal-upcoming.is-holidays .cu-item{border-color:color-mix(in srgb, var(--gold) 45%, var(--border));background:color-mix(in srgb, var(--gold) 10%, transparent)}.cal-upcoming.is-holidays .cu-item:hover{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 18%, transparent)}.cal-upcoming.is-holidays .cu-item b{color:var(--gold)}.cal-upcoming.is-holidays .cu-item span{color:var(--text)}@media (max-width:760px){.dp-feriado{padding:3px 8px;font-size:.68rem}.cal-upcoming.is-holidays .cu-item span{max-width:150px}}.auth-switch{border:2px solid var(--border-2);background:var(--surface-2);grid-template-columns:1fr 1fr;margin-top:20px;display:grid}.auth-switch button{color:var(--muted);font-family:var(--font-head);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:11px 8px;font-size:.8rem;font-weight:700;transition:background .18s,color .18s}.auth-switch button:hover{background:var(--surface-3);color:var(--text)}.auth-switch button.on{color:#05090a;background:var(--neon)}.auth-switch button.on:hover{background:var(--neon-2);color:#05090a}.auth-switch button:focus-visible{outline:2px solid var(--neon);outline-offset:-3px}[data-theme=light] .auth-switch button.on{color:#f6fff0}.auth-switch+.auth-form{margin-top:14px}.auth-or{margin:18px 0 10px}.btn-google{margin-top:0}.auth-forgot.is-block{text-align:center;margin-top:16px;font-size:.78rem;display:block}.verify-card{text-align:center}.verify-ico{border:2px solid var(--gold);width:54px;height:54px;color:var(--gold);background:color-mix(in srgb, var(--gold) 12%, transparent);place-items:center;margin:0 auto 16px;display:grid}.verify-ico svg{width:26px;height:26px}.verify-ico.is-ok{border-color:var(--clean);color:var(--clean);background:color-mix(in srgb, var(--clean) 12%, transparent)}.verify-ico.is-warn{border-color:var(--relapse);color:var(--relapse);background:color-mix(in srgb, var(--relapse) 12%, transparent)}.verify-card .auth-sub b{color:var(--text)}.verify-live{border:1px dashed var(--border-2);color:var(--muted);align-items:center;gap:9px;margin-top:16px;padding:8px 13px;font-size:.78rem;display:inline-flex}.verify-dot{background:var(--neon);border-radius:50%;flex:none;width:8px;height:8px;animation:1.4s ease-in-out infinite verify-pulse}@keyframes verify-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.verify-actions{flex-direction:column;gap:10px;margin-top:18px;display:flex}.verify-actions .btn{justify-content:center;width:100%}.verify-card .auth-list{text-align:left;margin-top:22px}.verify-card .btn-primary,.verify-open{justify-content:center;width:100%;margin-top:18px}.verify-hint{max-width:330px;color:var(--muted);margin:12px auto 0;font-size:.74rem;line-height:1.6}.auth-input.is-locked{border-style:dashed;border-color:var(--border-2);background:var(--surface-2);color:var(--text)}.auth-input.is-locked>svg{color:var(--muted)}.locked-value{color:var(--text);padding:12px 0;font-size:.9rem}.req.is-locked{color:var(--muted);background:var(--surface-3);border-color:var(--border)}@media (prefers-reduced-motion:reduce){.verify-dot{animation:none}}@media (max-width:900px),(hover:none) and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{line-height:1.35;font-size:16px!important}}.prueba-list{flex-direction:column;gap:8px;display:flex}.prueba-row{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--panel);box-shadow:var(--shadow);cursor:pointer;text-align:left;align-items:center;gap:12px;padding:10px 12px;display:flex}.prueba-row:hover{border-color:var(--neon)}.prueba-dias{text-align:center;min-width:48px;font-family:var(--font-head);color:var(--accent);flex:none;font-size:.95rem;font-weight:700}.prueba-dias small{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.6rem;display:block}.prueba-mid{flex-direction:column;flex:1;min-width:0;display:flex}.prueba-nombre{font-family:var(--font-head);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}.prueba-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.prueba-min{color:var(--neon);margin-top:2px;font-size:.76rem}.prueba-min.is-mal{color:var(--relapse)}#view-habits{flex-direction:column;display:flex}#view-habits .home-hello{order:-2}#view-habits .home-block.es-rachas{order:-1}.summary .stat-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.stat-ico{color:var(--neon);display:flex}.stat-ico svg{width:18px;height:18px}.stat[data-tone=clean] .stat-ico{color:var(--clean)}.stat[data-tone=relapse] .stat-ico{color:var(--relapse)}.stat[data-tone=gold] .stat-ico{color:var(--gold)}.stat-aro{background:conic-gradient(var(--neon) var(--p,0deg), color-mix(in srgb, var(--border) 45%, transparent) 0);border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:relative}.stat[data-tone=clean] .stat-aro{background:conic-gradient(var(--clean) var(--p,0deg), color-mix(in srgb, var(--border) 45%, transparent) 0)}.stat[data-tone=relapse] .stat-aro{background:conic-gradient(var(--relapse) var(--p,0deg), color-mix(in srgb, var(--border) 45%, transparent) 0)}.stat[data-tone=gold] .stat-aro{background:conic-gradient(var(--gold) var(--p,0deg), color-mix(in srgb, var(--border) 45%, transparent) 0)}.stat-aro:after{content:"";background:var(--panel);border-radius:50%;position:absolute;inset:6px}.stat-aro b{z-index:1;font-family:var(--font-head);font-size:.68rem;font-weight:700;position:relative}.stat-barra{height:6px;margin-top:10px}.stat-nota{color:var(--muted);margin-top:7px;font-size:.74rem}.boot{align-content:center;place-items:center;gap:16px;min-height:78vh;display:grid}.boot-panel{border:2px solid var(--border-2);background:color-mix(in srgb, var(--panel) 88%, transparent);box-shadow:var(--shadow);justify-items:center;gap:14px;padding:26px 30px 22px;animation:.45s cubic-bezier(.22,1,.36,1) both boot-entra;display:grid;position:relative;overflow:hidden}.boot-panel:before,.boot-panel:after{content:"";border:2px solid var(--neon);opacity:.9;width:14px;height:14px;position:absolute}.boot-panel:before{border-bottom:0;border-right:0;top:0;left:0}.boot-panel:after{border-top:0;border-left:0;bottom:0;right:0}.boot-panel>.boot-lineas{content:"";opacity:.5;pointer-events:none;background:repeating-linear-gradient(0deg,#00000029 0 1px,#0000 1px 3px);position:absolute;inset:0}.boot-logo-wrap{place-items:center;padding:10px;display:grid;position:relative}.boot-anillo{border:2px dashed color-mix(in srgb, var(--neon) 60%, transparent);border-radius:50%;animation:7s linear infinite boot-gira;position:absolute;inset:-2px}.boot-anillo.is-2{border-style:dotted;border-color:color-mix(in srgb, var(--accent) 55%, transparent);animation-duration:11s;animation-direction:reverse;inset:6px}.boot-logo{animation:2.4s ease-in-out infinite boot-latido}.boot-marca{gap:6px;display:flex}.boot-marca span{font-family:var(--font-head);letter-spacing:.04em;color:var(--text);text-shadow:0 0 14px color-mix(in srgb, var(--neon) 45%, transparent);opacity:0;animation:.5s cubic-bezier(.22,1,.36,1) both boot-letra;animation-delay:calc(var(--i) * 90ms + .12s);font-size:1.4rem;font-weight:800}.boot-barra{border:2px solid var(--border-2);background:var(--surface-2);width:min(280px,68vw);height:12px;position:relative;overflow:hidden}.boot-barra>i{background:var(--neon);width:4%;height:100%;animation:6s cubic-bezier(.25,.8,.3,1) forwards boot-rellena;display:block}.boot-barra:after{content:"";background:repeating-linear-gradient(90deg, transparent 0 7px, color-mix(in srgb, var(--bg) 85%, transparent) 7px 9px);pointer-events:none;position:absolute;inset:0}.boot-brillos{pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff8c,#0000);width:60px;animation:1.8s ease-in-out infinite boot-brillo;position:absolute;top:0;bottom:0}.boot-frases{text-align:center;width:100%;height:18px;position:relative}.boot-frase{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);opacity:0;animation:2.6s ease-in-out both boot-frase;animation-delay:calc(var(--f) * 2.6s);font-size:.78rem;position:absolute;inset:0}.boot-frase:last-child{animation-name:boot-frase-fin}.boot-pie{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);opacity:.8;font-size:.7rem}@keyframes boot-entra{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@keyframes boot-gira{to{transform:rotate(360deg)}}@keyframes boot-latido{0%,to{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--neon) 30%, transparent));transform:scale(1)}50%{filter:drop-shadow(0 0 16px color-mix(in srgb, var(--neon) 55%, transparent));transform:scale(1.05)}}@keyframes boot-letra{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes boot-rellena{0%{width:4%}30%{width:52%}to{width:94%}}@keyframes boot-brillo{0%{left:-60px}to{left:105%}}@keyframes boot-frase{0%{opacity:0;transform:translateY(5px)}14%{opacity:1;transform:none}86%{opacity:1;transform:none}to{opacity:0;transform:translateY(-4px)}}@keyframes boot-frase-fin{0%{opacity:0;transform:translateY(5px)}14%{opacity:1;transform:none}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.boot-panel,.boot-marca span,.boot-frase{animation-duration:.3s;animation-delay:0s}.boot-anillo,.boot-logo,.boot-brillos{animation:none}.boot-barra>i{animation-duration:1.2s}}@media (hover:none) and (pointer:coarse){a,button,label,input,select,textarea,[role=button]{touch-action:manipulation}}.brand-logo.is-picture,.lp-logo.is-picture,.boot-logo{object-fit:cover;background:0 0;padding:0;display:block}.brand-logo.is-picture{border:2px solid var(--neon);border-radius:12px;width:44px;height:44px;box-shadow:3px 3px #0000008c}.lp-logo.is-picture{border:2px solid var(--neon);border-radius:10px;width:34px;height:34px}.boot-logo{border:2px solid var(--neon);border-radius:16px;width:64px;height:64px;box-shadow:4px 4px #00000080}.boot{text-align:center;gap:14px}.boot-msg{color:var(--muted);font-size:.92rem;animation:none}.boot-bar{border:2px solid var(--border-2);background:var(--surface-2);width:min(240px,62vw);height:10px;overflow:hidden}.boot-bar>i{background:var(--neon);width:5%;height:100%;animation:5.5s cubic-bezier(.25,.8,.3,1) forwards boot-fill;display:block}@keyframes boot-fill{0%{width:5%}35%{width:56%}to{width:93%}}@media (prefers-reduced-motion:reduce){.boot-bar>i{animation-duration:1s;animation-timing-function:linear}}@media (max-width:420px){.cal-wn-head{visibility:hidden}}
