@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e0f11;--bg-elev:#121316;--surface:#17181c;--surface-2:#1e1f24;--surface-hover:#23252b;--border:#25272d;--border-strong:#33363d;--text:#ececef;--text-2:#a3a6ae;--text-3:#70737c;--accent:#8f9cf7;--accent-strong:#aab4ff;--accent-soft:#8f9cf724;--on-accent:#0e0f11;--success:#6fcf97;--success-soft:#6fcf9721;--danger:#f08484;--danger-soft:#f084841f;--c-work:#7aa2f7;--c-study:#b392f0;--c-english:#e5b567;--c-health:#6fcf97;--c-personal:#e889a8;--c-rest:#7d8590;--c-teal:#5ec4c4;--c-coral:#e8876a;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--shadow:0 1px 2px #0000004d, 0 12px 32px #00000047}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f6f4;--bg-elev:#fbfbfa;--surface:#fff;--surface-2:#f2f2f0;--surface-hover:#ececea;--border:#e6e6e2;--border-strong:#d6d6d1;--text:#17181b;--text-2:#55585f;--text-3:#868991;--accent:#5466d6;--accent-strong:#3f51c4;--accent-soft:#5466d61a;--on-accent:#fff;--success:#23885a;--success-soft:#23885a1a;--danger:#c94545;--danger-soft:#c9454517;--c-work:#4a74d4;--c-study:#8a5ad6;--c-english:#c98a1c;--c-health:#2f9e62;--c-personal:#cc5a83;--c-rest:#8a9099;--c-teal:#2a9d9d;--c-coral:#d0603f;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--shadow:0 1px 2px #14141e0d, 0 12px 32px #14141e14}:root{--radius:16px;--radius-sm:10px;--radius-xs:7px;--sidebar-w:244px;--ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}button,a,.chip{touch-action:manipulation}button,.mobile-nav,.sidebar,.week-strip{-webkit-user-select:none;user-select:none}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";overscroll-behavior-y:none;margin:0;font-family:Inter Variable,Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}ul,ol{margin:0;padding:0;list-style:none}.muted{color:var(--text-2)}.small{font-size:13px}.spacer{flex:1}.stack{flex-direction:column;gap:16px;min-width:0;display:flex}.stack-sm{flex-direction:column;gap:4px;display:flex}.row-gap{align-items:center;gap:4px;display:flex}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{background:var(--bg-elev);border-right:1px solid var(--border);flex-direction:column;gap:24px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.01em;align-items:center;gap:10px;padding:0 10px;font-size:17px;font-weight:650;display:flex}.logo{align-items:center;gap:10px;display:inline-flex}.logo-mark{border-radius:28%;flex-shrink:0;box-shadow:0 4px 14px #7484f047}.logo-word,.about-title{letter-spacing:-.02em;font-weight:700}.logo-word>span,.about-title>span:first-child{color:var(--accent)}.brand .logo-mark{transition:transform .25s var(--ease)}.brand:hover .logo-mark{transform:rotate(-8deg)scale(1.05)}.logo-mark.is-animated .logo-arc,.brand .logo-arc{animation:logo-draw 1.1s .15s var(--ease) both}@keyframes logo-draw{0%{stroke-dashoffset:40.06px}}.nav-list{flex-direction:column;gap:2px;display:flex}.nav-link{border-radius:var(--radius-sm);width:100%;color:var(--text-2);align-items:center;gap:12px;padding:9px 12px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.is-active{background:var(--accent-soft);color:var(--text)}.nav-link.is-active svg{color:var(--accent)}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:12px}.main{min-width:0}.page{max-width:1600px;animation:page-in .2s var(--ease);margin:0 auto;padding:36px 40px 56px}.page-loading{min-height:60vh}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}.mobile-header,.mobile-nav{display:none}.mobile-nav{z-index:40;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg-elev) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);position:fixed;inset:auto 0 0}.mobile-nav-link{border-radius:var(--radius-sm);color:var(--text-3);flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:11px;font-weight:500;display:flex}.mobile-nav-link.is-active{color:var(--accent)}.sheet-backdrop{z-index:50;background:#00000073;align-items:flex-end;animation:.18s fade-in;display:flex;position:fixed;inset:0}.sheet{width:100%;padding:16px 16px calc(20px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);animation:sheet-up .24s var(--ease);border-radius:20px 20px 0 0}.sheet-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sheet-header h2{font-size:16px}.sheet-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.sheet-link{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;font-size:12px;display:flex}.sheet-link.is-active{background:var(--accent-soft);color:var(--text)}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(100%)}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-header h1{letter-spacing:-.02em;font-size:26px;font-weight:650}.page-subtitle{color:var(--text-2);margin-top:4px;font-size:14px}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;min-width:0;padding:20px;display:flex}.card.is-emphasis{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:linear-gradient(var(--accent-soft), var(--accent-soft)), var(--surface)}.card-header{justify-content:space-between;align-items:center;gap:12px;min-height:28px;display:flex}.card-title{color:var(--text);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.card-title svg{color:var(--text-3)}.card-link{color:var(--text-3);align-items:center;gap:4px;font-size:13px;transition:color .15s;display:inline-flex}.card-link:hover{color:var(--accent)}.card-sub{margin-top:-6px}.empty{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-3);align-items:center;gap:8px;padding:14px;font-size:14px;display:flex}.big-number{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:650;line-height:1.15}.stat-line{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.strong-line{font-size:15px;font-weight:600}.section-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-top:6px;font-size:12px;font-weight:600}.success-note{border-radius:var(--radius-sm);background:var(--success-soft);color:var(--success);animation:page-in .25s var(--ease);padding:10px 12px;font-size:14px;font-weight:500}.btn{border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 14px;font-size:14px;font-weight:550;transition:background .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn-sm{height:30px;padding:0 10px;font-size:13px}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-primary.is-saved{background:var(--success)}.btn-ghost{background:var(--surface-2);border-color:var(--border);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover{border-color:var(--danger)}.btn-success{background:var(--success-soft);color:var(--success)}.btn-icon{width:32px;height:32px;color:var(--text-3);border-radius:9px;flex-shrink:0;place-items:center;transition:background .15s,color .15s;display:inline-grid}.btn-icon:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-icon-danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.btn-icon-accent{background:var(--accent-soft);color:var(--accent)}.button-row{flex-wrap:wrap;gap:8px;display:flex}.form{flex-direction:column;gap:14px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1.4fr}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{color:var(--text-2);font-size:13px;font-weight:500}.field-error{color:var(--danger);font-size:12px}.input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-width:0;height:38px;color:var(--text);padding:0 12px;font-size:14px;transition:border-color .15s,background .15s}textarea.input{resize:vertical;height:auto;padding:10px 12px;line-height:1.55}.input::placeholder{color:var(--text-3)}.input:hover{border-color:var(--border-strong)}.input:focus{border-color:var(--accent);background:var(--surface);outline:none}.input-sm{width:84px;height:32px}.input-xs{flex:none;width:64px}.input-compact{flex:none;width:auto}.input-title{font-weight:600}.inline-field{color:var(--text-3);white-space:nowrap;align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}.inline-add{flex-wrap:wrap;gap:8px;display:flex}.inline-add .input{flex:180px}.inline-add .input-xs,.inline-add .input-compact{flex:none}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:11px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.segmented button{color:var(--text-2);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.segmented button.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000026}.chips,.day-picker{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--border-strong);color:var(--text-2);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.chip:hover{border-color:var(--text-3);color:var(--text)}.chip.is-done{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 55%, transparent);color:var(--text);animation:pop .25s var(--ease)}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.tag{color:var(--text-2);align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.time-chip{background:var(--surface-2);min-width:48px;color:var(--text-2);font-variant-numeric:tabular-nums;text-align:center;border-radius:6px;flex-shrink:0;padding:2px 7px;font-size:12px;font-weight:550}.checkbox{border:1.5px solid var(--border-strong);background:var(--surface);color:#0000;border-radius:7px;flex-shrink:0;place-items:center;width:22px;height:22px;transition:background .18s,border-color .18s,color .18s;display:grid;position:relative}.checkbox:after{content:"";position:absolute;inset:-9px}.checkbox:hover:not(:disabled){border-color:var(--accent)}.checkbox.is-checked{background:var(--accent);border-color:var(--accent);color:var(--on-accent);animation:pop .28s var(--ease)}@keyframes pop{40%{transform:scale(1.18)}}.list{flex-direction:column;gap:2px;display:flex}.list-lg .check-row{padding:11px 10px}.check-row,.session-row{border-radius:var(--radius-sm);align-items:center;gap:12px;padding:8px;transition:background .15s;display:flex}.check-row:hover,.session-row:hover{background:var(--surface-2)}.check-row.is-highlight{background:var(--accent-soft)}.check-row-body{cursor:pointer;flex-direction:column;flex:1;min-width:0;display:flex}.session-row .check-row-body{cursor:default}.check-row-text{overflow-wrap:anywhere;transition:color .2s}.check-row-meta{color:var(--text-3);align-items:center;gap:5px;font-size:12px;display:inline-flex}.check-row.is-done .check-row-text{color:var(--text-3);text-decoration:line-through;-webkit-text-decoration-color:var(--text-3);text-decoration-color:var(--text-3)}.check-row .btn-icon-danger,.session-row .btn-icon-danger{opacity:.6}.check-row:hover .btn-icon-danger,.session-row:hover .btn-icon-danger{opacity:1}.ring{flex-shrink:0;position:relative}.ring-track{stroke:var(--surface-2)}.ring-value{stroke:var(--accent);transition:stroke-dashoffset .6s var(--ease), stroke .3s}.ring.is-complete .ring-value{stroke:var(--success)}.ring-center{flex-direction:column;justify-content:center;align-items:center;line-height:1.1;display:flex;position:absolute;inset:0}.ring-center strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:650}.ring-center span{color:var(--text-3);margin-top:2px;font-size:12px}.bar{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.bar-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .5s var(--ease), background .3s}.bar-fill.is-complete{background:var(--success)}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;place-items:center;padding:16px;animation:.16s fade-in;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);width:min(520px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow);animation:modal-in .22s var(--ease);border-radius:18px;flex-direction:column;display:flex}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}.modal-header{justify-content:space-between;align-items:center;padding:16px 16px 4px 20px;display:flex}.modal-header h2{font-size:17px;font-weight:600}.modal-body{padding:12px 20px 20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);gap:8px;padding:14px 20px;display:flex}.legend-list{flex-direction:column;gap:12px;display:flex}.legend-list li{grid-template-columns:1fr auto;align-items:center;gap:6px 10px;display:grid}.legend-name{align-items:center;gap:8px;min-width:0;font-size:14px;display:flex}.legend-bar{background:var(--surface-2);border-radius:999px;grid-column:1/-1;height:5px;overflow:hidden}.legend-bar span{border-radius:inherit;background:var(--accent);height:100%;transition:width .5s var(--ease);display:block}.dash-grid,.content-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.span-2{grid-column:span 2}.span-3,.span-full{grid-column:1/-1}.row-span-2{grid-row:span 2}.hero{flex-direction:row;justify-content:space-between;align-items:center;gap:24px;padding:28px}.hero-text{flex-direction:column;gap:6px;display:flex}.hero h1{letter-spacing:-.025em;font-size:30px;font-weight:650}.eyebrow{color:var(--text-3);font-size:13px;font-weight:500}.hero-badge{background:var(--success-soft);color:var(--success);animation:pop .4s var(--ease);border-radius:999px;align-self:flex-start;margin-top:6px;padding:5px 11px;font-size:13px;font-weight:550}.now-block{flex-direction:column;gap:12px;display:flex}.now-title{align-items:center;gap:12px;display:flex}.now-title>div{flex-direction:column;flex:1;min-width:0;display:flex}.now-title strong{font-size:16px;font-weight:600}.now-accent{border-radius:3px;align-self:stretch;width:3px}.next-block{border-top:1px solid var(--border);color:var(--text-2);padding-top:12px;font-size:13px}.next-block strong{color:var(--text);font-weight:550}.study-line{flex-direction:column;gap:8px;padding:4px 0;display:flex}.study-line-head{justify-content:space-between;gap:8px;font-size:14px;font-weight:500;display:flex}.study-line:hover .bar-fill{background:var(--accent-strong)}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.week-day{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;font-size:12px;transition:border-color .15s,background .15s;display:flex}.week-day strong{color:var(--text);font-size:17px;font-weight:600}.week-day:hover{border-color:var(--border-strong)}.week-day.is-today{color:var(--accent)}.week-day.is-active{border-color:var(--accent);background:var(--accent-soft)}.week-day-bar{background:var(--surface-2);border-radius:3px;width:60%;height:3px;margin-top:6px;overflow:hidden}.week-day-bar span{background:var(--accent);height:100%;transition:width .4s var(--ease);display:block}.week-day-mark{background:var(--border-strong);border-radius:50%;width:6px;height:6px;margin-top:6px}.week-day-mark.is-done{background:var(--success)}.week-day-mark.is-rest{border:1px solid var(--border-strong);background:0 0}.timeline{flex-direction:column;gap:8px;display:flex}.timeline-item{grid-template-columns:52px minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.timeline-time{font-variant-numeric:tabular-nums;flex-direction:column;padding-top:10px;line-height:1.3;display:flex}.timeline-time strong{font-size:14px;font-weight:600}.timeline-time span{color:var(--text-3);font-size:12px}.timeline-card{background:var(--surface-2);border:1px solid #0000;border-left:3px solid var(--cat);border-radius:12px;align-items:center;gap:8px;padding:12px 12px 12px 14px;transition:border-color .15s,opacity .2s;display:flex}.timeline-body{flex-direction:column;flex:1;min-width:0;display:flex}.timeline-title{overflow-wrap:anywhere;font-weight:550}.timeline-item.is-current .timeline-card{border-color:color-mix(in srgb, var(--accent) 50%, transparent);border-left-color:var(--cat);background:var(--accent-soft)}.timeline-item.is-done .timeline-card{opacity:.6}.timeline-item.is-done .timeline-title{text-decoration:line-through}.now-pill{background:var(--accent);color:var(--on-accent);border-radius:999px;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:600}.center-card{text-align:center;align-items:center}.center-card .card-header{align-self:stretch}.streak{color:var(--text-2);align-items:center;gap:6px;font-size:13px;display:flex}.streak svg{color:var(--c-english)}.history-dots{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.history-dot{color:var(--text-3);flex-direction:column;align-items:center;gap:6px;display:flex}button.history-dot{font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:6px 0}button.history-dot:hover{background:var(--surface-2)}button.history-dot.is-active{border-color:var(--accent);color:var(--text)}.history-dot-fill{background:conic-gradient(var(--accent) calc(var(--pct) * 360deg), var(--surface-2) 0);border-radius:50%;width:26px;height:26px;position:relative}.history-dot-fill:after{content:"";background:var(--surface);border-radius:50%;position:absolute;inset:5px}.history-dot-fill[data-complete=true]{background:var(--success)}.goal-summary{align-items:center;gap:18px;display:flex}.mini-bars{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.mini-bar{color:var(--text-3);flex-direction:column;align-items:center;gap:4px;font-size:11px;display:flex}.mini-bar.is-today{color:var(--accent);font-weight:600}.mini-bar-track{background:var(--surface-2);border-radius:6px;align-items:flex-end;width:100%;max-width:22px;height:56px;display:flex;overflow:hidden}.mini-bar-fill{background:var(--accent);width:100%;transition:height .5s var(--ease);border-radius:4px 4px 0 0}.topic-list{flex-direction:column;gap:2px;display:flex}.topic{border-radius:var(--radius-sm);align-items:center;gap:12px;padding:9px 8px;display:flex}.topic:hover{background:var(--surface-2)}.topic-index{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:12px}.topic-title{flex:1;min-width:0}.topic-done .topic-title{color:var(--text-3)}.status-pill{border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:12px;font-weight:550;transition:transform .1s}.status-pill:active{transform:scale(.95)}.status-todo{background:var(--surface-2);color:var(--text-2)}.status-doing{background:var(--accent-soft);color:var(--accent)}.status-done{background:var(--success-soft);color:var(--success)}.vocab-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.vocab{background:var(--surface-2);border-radius:12px;align-items:center;gap:8px;padding:10px 10px 10px 14px;display:flex}.vocab>div{flex-direction:column;flex:1;min-width:0;display:flex}.vocab.is-learned strong{color:var(--text-2)}.compact-list .session-row{padding:4px 6px}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.day-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;min-width:0;min-height:220px;padding:12px 10px;display:flex}.day-col.is-today{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.day-col.is-past{opacity:.72}.day-col-header{justify-content:space-between;align-items:center;padding:0 2px;display:flex}.day-col-header>div{align-items:baseline;gap:6px;display:flex}.day-col-weekday{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:500}.day-col.is-today .day-col-weekday{color:var(--accent)}.day-col-header strong{font-size:18px;font-weight:600}.day-items{flex-direction:column;gap:6px;display:flex}.agenda-item{background:var(--surface-2);border-radius:10px;align-items:flex-start;gap:8px;padding:8px;display:flex}.agenda-item .checkbox{border-radius:6px;width:18px;height:18px;margin-top:1px}.agenda-item.is-task{border:1px dashed var(--border-strong);background:0 0}.agenda-item-body{text-align:left;flex-direction:column;flex:1;min-width:0;display:flex}.agenda-time{color:var(--text-3);font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:11px;font-weight:550;display:inline-flex}.agenda-title{overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.35}.agenda-item.is-done .agenda-title{color:var(--text-3);text-decoration:line-through}.day-empty{color:var(--text-3);text-align:center;margin-top:auto;font-size:12px}.habit-table{flex-direction:column;gap:4px;display:flex;overflow-x:auto}.habit-row{grid-template-columns:minmax(130px,1fr) repeat(7,38px) 40px;align-items:center;gap:6px;padding:4px 0;display:grid}.habit-head{color:var(--text-3);font-size:12px;font-weight:500}.habit-head span{flex-direction:column;align-items:center;line-height:1.2;display:flex}.habit-head span:first-child{align-items:flex-start}.habit-head small{font-size:11px}.habit-head .is-today{color:var(--accent)}.habit-name{align-items:center;gap:4px;min-width:0;font-size:14px;display:flex}.habit-row>span[role=cell]:not(.habit-name){place-items:center;display:grid}.habit-cell{background:var(--surface-2);border:1px solid var(--border);width:32px;height:32px;color:var(--on-accent);border-radius:9px;place-items:center;transition:background .15s,border-color .15s;display:grid}.habit-cell:hover:not(:disabled){border-color:var(--accent)}.habit-cell.is-today{border-color:var(--border-strong)}.habit-cell.is-done{background:var(--accent);border-color:var(--accent);animation:pop .25s var(--ease)}.habit-cell:disabled{opacity:.3}.habit-streak{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.planning-text{font-size:14px}.goal-card{gap:10px}.goal-card.is-complete{border-color:color-mix(in srgb, var(--success) 45%, var(--border))}.goal-head{justify-content:space-between;align-items:center;margin:-4px -6px -4px 0;display:flex}.goal-title{letter-spacing:-.01em;font-size:16px;font-weight:600}.goal-progress{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;display:flex}.goal-progress strong{font-size:20px;font-weight:650}.goal-actions{justify-content:space-between;align-items:center;display:flex}.tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.tile{gap:4px}.tile-icon{color:var(--text-3);margin-bottom:6px}.chart{width:100%;height:260px}.recharts-legend-item-text{color:var(--text-2)!important}.about-card{flex-direction:row;align-items:center;gap:18px}.about-title{font-size:18px}.install-steps{color:var(--text-2);flex-direction:column;gap:8px;padding-left:20px;font-size:14px;list-style:decimal;display:flex}.install-steps strong{color:var(--text);font-weight:600}.success-note{align-items:center;gap:8px;display:flex}.toast{z-index:70;background:var(--surface);border:1px solid var(--border-strong);width:max-content;max-width:calc(100vw - 32px);box-shadow:var(--shadow);animation:toast-in .3s var(--ease);border-radius:14px;align-items:center;gap:12px;padding:10px 10px 10px 12px;font-size:14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}}.theme-toggle{cursor:pointer}.auth{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(600px 300px at 50% -10%, var(--accent-soft), transparent 70%), var(--bg);place-items:center;display:grid}.auth-card{width:min(380px,100%);animation:page-in .3s var(--ease);flex-direction:column;align-items:center;gap:20px;display:flex}.auth-brand{flex-direction:column;align-items:center;gap:12px;display:flex}.auth-brand h1{font-size:28px}.auth-form{background:var(--surface);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);border-radius:20px;padding:22px}.auth-title{text-align:center;font-size:16px;font-weight:600}.input-icon{align-items:center;display:flex;position:relative}.input-icon>svg{color:var(--text-3);pointer-events:none;position:absolute;left:12px}.input-icon .input{height:44px;padding-left:38px}.input-icon .btn-icon{position:absolute;right:4px}.btn-block{width:100%;height:44px}.auth-error{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);padding:10px 12px;font-size:14px}.auth-links{justify-content:center;gap:20px;display:flex}.auth-links button{color:var(--text-2);font-size:14px}.auth-links button:hover{color:var(--accent)}.auth-foot{max-width:300px;color:var(--text-3);text-align:center;font-size:12px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sync-indicator.sync-synced svg{color:var(--success)}.sync-indicator.sync-pending svg,.sync-indicator.sync-syncing svg{color:var(--accent)}.sync-indicator.sync-error svg{color:var(--danger)}.account-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.account-row strong{overflow-wrap:anywhere}@media (width<=1180px){.dash-grid,.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-3,.span-2{grid-column:1/-1}.row-span-2{grid-row:auto}.week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.mobile-header{z-index:30;padding:calc(10px + env(safe-area-inset-top)) 12px 10px 6px;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-nav{display:grid}.page{padding:20px 16px calc(96px + env(safe-area-inset-bottom))}.page-header h1{font-size:22px}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.input{font-size:16px}.btn-icon{width:38px;height:38px}.btn{height:42px}.btn-sm{height:34px}.toast{bottom:calc(76px + env(safe-area-inset-bottom))}}@media (width<=640px){.dash-grid,.content-grid{grid-template-columns:minmax(0,1fr)}.big-number{font-size:22px}.hero{flex-direction:column-reverse;align-items:flex-start;padding:22px 20px}.hero h1{font-size:25px}.card{padding:16px}.week-strip{gap:4px}.week-day{border-radius:12px;padding:8px 2px}.week-day strong{font-size:15px}.week-grid{grid-template-columns:minmax(0,1fr)}.day-col{min-height:0}.vocab-list,.form-row,.form-row-3{grid-template-columns:minmax(0,1fr)}.hide-sm{display:none}.habit-row{grid-template-columns:minmax(72px,1fr) repeat(7,26px) 22px;gap:3px}.habit-cell{border-radius:7px;width:25px;height:25px}.habit-name{font-size:13px}.modal-backdrop{align-items:end;padding:0}.modal{border-radius:20px 20px 0 0;width:100%;max-height:92dvh}.modal-footer{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.date-input{flex-direction:column;gap:6px;min-width:0;display:flex}.date-input-row{align-items:center;gap:6px;display:flex;position:relative}.date-input-btn{flex-shrink:0;width:38px;height:38px}.date-input-picker{opacity:0;pointer-events:none;border:0;width:38px;height:1px;padding:0;position:absolute;bottom:0;right:0}.date-input-shortcuts{flex-wrap:wrap;gap:6px;display:flex}.date-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer;border-radius:999px;padding:3px 10px;font-size:12px}.date-chip:hover{border-color:var(--border-strong);color:var(--text)}.date-chip.is-active{border-color:var(--accent);color:var(--accent)}.account-box{align-items:center;gap:10px;min-width:0;padding:8px 6px 2px 10px;display:flex}.account-sheet{border-radius:var(--radius-sm);background:var(--surface-2);margin-top:14px;padding:12px}.avatar{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.account-email{min-width:0;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.level-badge{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;padding:10px 12px;transition:border-color .15s;display:grid}.level-badge:hover{border-color:var(--accent)}.level-number{color:#0e0f11;font-variant-numeric:tabular-nums;background:linear-gradient(135deg,#a3adfb,#7484f0);border-radius:10px;grid-row:span 2;place-items:center;min-width:34px;height:34px;padding:0 6px;font-size:15px;font-weight:750;display:grid}.level-text{flex-direction:column;line-height:1.2;display:flex}.level-text strong{font-size:13px}.level-text span{color:var(--text-3);font-size:12px}.level-bar,.hero-level-bar{background:var(--surface-2);border-radius:4px;height:4px;display:block;overflow:hidden}.level-bar>span,.hero-level-bar>span{border-radius:inherit;background:var(--accent);height:100%;transition:width .6s var(--ease);display:block}.level-badge.is-compact{border-radius:9px;flex-direction:column;gap:3px;padding:4px 8px;display:flex}.level-badge.is-compact .level-number{min-width:0;height:auto;color:var(--accent);background:0 0;padding:0;font-size:12px}.level-badge.is-compact .level-bar{width:34px;height:3px}.hero-level{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;align-self:flex-start;align-items:center;gap:10px;margin-top:8px;padding:6px 12px 6px 6px;display:inline-flex}.hero-level-number{color:#0e0f11;background:linear-gradient(135deg,#a3adfb,#7484f0);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:750}.hero-level-bar{width:90px}.level-hero{flex-direction:row;align-items:center;gap:24px;padding:24px}.level-hero-badge{color:#0e0f11;background:linear-gradient(135deg,#a3adfb,#7484f0);border-radius:28px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:104px;height:104px;display:flex;box-shadow:0 10px 30px #7484f04d}.level-hero-badge span{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600}.level-hero-badge strong{letter-spacing:-.03em;font-size:44px;font-weight:800;line-height:1}.level-hero-body{flex-direction:column;flex:1;justify-content:center;align-self:stretch;gap:8px;min-width:0;display:flex}.level-hero-xp strong{font-size:22px;font-weight:700}.reward-form{grid-template-columns:minmax(0,1fr) 80px 150px auto;align-items:end;gap:8px;display:grid}.rewards{flex-direction:column;gap:8px;display:flex}.reward{background:var(--surface-2);border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.reward:not(.is-unlocked) .reward-body{opacity:.65}.reward.is-unlocked{border-color:color-mix(in srgb, var(--success) 40%, transparent)}.reward-level{min-width:64px;color:var(--text-3);flex-shrink:0;align-items:center;gap:5px;font-size:13px;font-weight:650;display:inline-flex}.reward.is-unlocked .reward-level{color:var(--success)}.reward-body{flex-direction:column;flex:1;min-width:0;display:flex}.input-sm-text{height:32px}.xp-rules{flex-direction:column;gap:10px;display:flex}.xp-rules li{grid-template-columns:1fr auto;align-items:center;gap:0 8px;font-size:14px;display:grid}.xp-rules li>.muted{grid-column:1/-1}.xp-pill{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:650}.achievements{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.achievement{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;flex-direction:column;gap:4px;padding:14px;display:flex}.achievement:not(.is-unlocked) .achievement-emoji{filter:grayscale();opacity:.4}.achievement.is-unlocked{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--accent-soft)}.achievement-emoji{font-size:26px;line-height:1.2}.achievement strong{font-size:14px}.level-up{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.level-up-badge{color:#0e0f11;width:96px;height:96px;animation:level-pop .6s var(--ease);background:linear-gradient(135deg,#a3adfb,#7484f0);border-radius:28px;place-items:center;display:grid;position:relative}.level-up-badge svg{position:absolute;top:8px;right:8px}.level-up-badge strong{font-size:44px;font-weight:800}@keyframes level-pop{0%{opacity:0;transform:scale(.4)rotate(-12deg)}70%{transform:scale(1.1)rotate(3deg)}}.level-up-title{font-size:18px;font-weight:700}.level-up-rewards{background:var(--success-soft);text-align:left;border-radius:12px;align-self:stretch;margin-top:8px;padding:12px}.level-up-reward{color:var(--success);align-items:center;gap:8px;margin-top:6px;font-weight:550;display:flex}.sleep-result{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.verdict{border-radius:12px;gap:12px;padding:14px;font-size:14px;display:flex}.verdict svg{flex-shrink:0;margin-top:1px}.verdict p{color:var(--text-2);margin-top:2px}.verdict-good{background:var(--success-soft);color:var(--success)}.verdict-info{background:var(--accent-soft);color:var(--accent)}.verdict-warning{background:color-mix(in srgb, var(--c-english) 14%, transparent);color:var(--c-english)}.verdict-danger{background:var(--danger-soft);color:var(--danger)}.time-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.time-option{border:1px solid var(--border);background:var(--surface-2);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:14px 8px;display:flex}.time-option strong{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.time-option span{color:var(--text-3);font-size:12px}.time-option em{background:var(--success-soft);color:var(--success);border-radius:999px;margin-top:4px;padding:1px 8px;font-size:11px;font-style:normal;font-weight:600}.time-option.is-ideal{border-color:color-mix(in srgb, var(--success) 50%, transparent)}.sleep-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:8px;display:grid}.sleep-bars{flex-direction:column;gap:10px;display:flex}.sleep-bars li{grid-template-columns:72px minmax(0,1fr) 82px auto;align-items:center;gap:10px;display:grid}.sleep-bars-day,.sleep-bars-value{flex-direction:column;font-size:13px;line-height:1.25;display:flex}.sleep-bars-day small,.sleep-bars-value small{color:var(--text-3);font-size:11px;font-weight:400}.sleep-bars-value{font-variant-numeric:tabular-nums;font-weight:600}.sleep-bars-track{background:var(--surface-2);border-radius:6px;height:10px;position:relative}.sleep-bars-fill{transition:width .5s var(--ease);border-radius:6px;position:absolute;inset:0 auto 0 0}.sleep-bars-ideal{border:1px dashed color-mix(in srgb, var(--success) 70%, transparent);border-radius:6px;position:absolute;top:-3px;bottom:-3px}.tone-good{background:var(--success)}.tone-info{background:var(--accent)}.tone-warning{background:var(--c-english)}.tone-danger{background:var(--danger)}.tips{color:var(--text-2);flex-direction:column;gap:8px;padding-left:18px;font-size:14px;list-style:outside;display:flex}.bedtime{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);padding:10px 12px;font-size:13px}.bedtime strong{color:var(--accent)}.welcome{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.welcome .field{text-align:left;align-self:stretch}.welcome-options{grid-template-columns:1fr 1fr;align-self:stretch;gap:10px;display:grid}.welcome-option{border:1px solid var(--border);background:var(--surface-2);text-align:left;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;transition:border-color .15s;display:flex}.welcome-option:hover{border-color:var(--accent)}.welcome-option svg{color:var(--accent)}.welcome-option span{color:var(--text-3);font-size:13px}.category-list,.page-toggles{flex-direction:column;gap:6px;display:flex}.category-list li{align-items:center;gap:8px;display:flex}.color-dot{border-radius:50%;flex-shrink:0;width:22px;height:22px;box-shadow:inset 0 0 0 2px #00000026}.page-toggles li{justify-content:space-between;align-items:center;gap:10px;padding:4px 0;display:flex}.switch{background:var(--border-strong);border-radius:999px;flex-shrink:0;width:40px;height:24px;transition:background .2s;position:relative}.switch span{width:18px;height:18px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.switch.is-on{background:var(--accent)}.switch.is-on span{transform:translate(16px)}.dialog-backdrop{z-index:90;-webkit-backdrop-filter:blur(6px)}.dialog{background:var(--surface);border:1px solid var(--border);width:min(380px,100%);box-shadow:var(--shadow), 0 30px 80px #00000059;text-align:center;border-radius:22px;flex-direction:column;align-items:center;gap:10px;padding:28px 24px 22px;animation:.28s cubic-bezier(.2,.9,.3,1.2) dialog-in;display:flex}@keyframes dialog-in{0%{opacity:0;transform:translateY(14px)scale(.92)}}.dialog-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:18px;place-items:center;margin-bottom:4px;display:grid}.dialog-danger .dialog-icon{background:var(--danger-soft);color:var(--danger)}.dialog h2{letter-spacing:-.01em;font-size:18px;font-weight:650}.dialog p{color:var(--text-2);font-size:14px;line-height:1.5}.dialog-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:10px;display:grid}.dialog-actions .btn{height:44px}.btn-danger-solid{background:var(--danger);color:#fff}.btn-danger-solid:hover{filter:brightness(1.08)}.toasts{z-index:95;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast-item{background:var(--surface);border:1px solid var(--border-strong);max-width:min(360px,100vw - 32px);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:10px;padding:10px 16px 10px 10px;font-size:14px;font-weight:500;animation:.35s cubic-bezier(.2,.9,.3,1.25) toast-pop,.3s 2.3s forwards toast-out;display:flex}.toast-icon{background:var(--success-soft);width:28px;height:28px;color:var(--success);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.toast-info .toast-icon{background:var(--accent-soft);color:var(--accent)}.toast-danger .toast-icon{background:var(--danger-soft);color:var(--danger)}@keyframes toast-pop{0%{opacity:0;transform:translateY(16px)scale(.9)}}@keyframes toast-out{to{opacity:0;transform:translateY(8px)}}@media (width<=900px){.toasts{left:16px;right:16px;bottom:calc(80px + env(safe-area-inset-bottom));align-items:center}}@media (width<=640px){.dialog-backdrop{align-items:center;padding:16px}.segmented-fill{flex-wrap:wrap;width:100%;display:flex}.segmented-fill button{flex:auto;justify-content:center}.level-hero{flex-direction:column;align-items:flex-start}.reward-form{grid-template-columns:1fr 1fr}.reward-form-title,.reward-form .btn{grid-column:1/-1}.sleep-form{grid-template-columns:1fr 1fr}.sleep-form .field:first-child,.sleep-form .btn{grid-column:1/-1}.sleep-bars li{grid-template-columns:56px minmax(0,1fr) 70px auto;gap:8px}.time-option strong{font-size:20px}.welcome-options{grid-template-columns:1fr}.reward{flex-wrap:wrap}}.error-screen{text-align:center;max-width:460px;color:var(--text);justify-items:center;gap:12px;margin:48px auto;padding:24px;display:grid}.error-screen svg{color:var(--warning,#f59e0b)}.error-screen .button-row{justify-content:center}.reset-undo{border:1px dashed var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-top:12px;padding:10px 12px;display:flex}.desk-topbar{z-index:25;pointer-events:none;justify-content:flex-end;align-items:flex-start;max-width:1600px;margin:0 auto;padding:12px 40px 0;display:flex;position:sticky;top:0}.desk-topbar>*{pointer-events:auto}.desk-topbar+.page{padding-top:14px}.desk-topbar .top-actions{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-elev,var(--surface)) 88%, transparent);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow);border-radius:999px;padding:4px}.top-actions{align-items:center;gap:4px;display:flex}.top-action{position:relative}.top-action-btn{border-radius:999px;position:relative}.top-action-btn.is-open{background:var(--surface-2);color:var(--text)}.top-badge{background:var(--danger);color:#fff;text-align:center;min-width:16px;height:16px;box-shadow:0 0 0 2px var(--bg);border-radius:999px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:1px;right:1px}.top-avatar-btn{border-radius:999px;place-items:center;width:34px;height:34px;transition:transform .15s;display:grid}.top-avatar-btn:hover,.top-avatar-btn.is-open{transform:scale(1.06)}.top-dropdown{z-index:60;border:1px solid var(--border);background:var(--surface);width:min(360px,100vw - 24px);max-height:min(70vh,520px);box-shadow:var(--shadow);animation:page-in .15s var(--ease);border-radius:16px;padding:8px;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto}.top-dropdown-head{justify-content:space-between;align-items:baseline;gap:8px;padding:6px 8px 10px;display:flex}.top-dropdown-head a:hover{color:var(--accent)}.notif-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.notif-item{text-align:left;width:100%;color:var(--text);border-radius:12px;align-items:center;gap:10px;padding:10px 8px;display:flex}.notif-item:hover{background:var(--surface-2)}.notif-icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.notif-item.notif-gift .notif-icon{color:var(--c-english);background:#e5b56729}.notif-item.notif-warning .notif-icon{color:var(--c-coral);background:#e8876a26}.notif-item.notif-danger .notif-icon{background:var(--danger-soft);color:var(--danger)}.notif-item.notif-info .notif-icon{color:var(--c-teal);background:#5ec4c424}.notif-body{flex:1;gap:2px;min-width:0;font-size:13px;display:grid}.notif-body strong{font-weight:600}.notif-body span{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.notif-item.is-unread .notif-body strong:after{content:"";background:var(--accent);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.notif-go{color:var(--text-3);flex-shrink:0}.notif-empty{justify-content:center;align-items:center;gap:8px;padding:24px 8px;display:flex}.profile-head{align-items:center;gap:12px;padding:8px 8px 12px;display:flex}.profile-id{min-width:0;display:grid}.profile-id strong,.profile-id span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-level{background:var(--surface-2);color:var(--text);border-radius:12px;gap:4px;margin:0 4px;padding:10px 12px;font-size:13px;display:grid}.profile-level:hover{background:var(--surface-hover)}.profile-stats{justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.profile-links{border-top:1px solid var(--border);gap:2px;padding-top:6px;display:grid}.profile-links a,.profile-links button{width:100%;color:var(--text-2);text-align:left;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-size:14px;display:flex}.profile-links a:hover,.profile-links button:hover{background:var(--surface-2);color:var(--text)}.profile-links .is-danger:hover{background:var(--danger-soft);color:var(--danger)}@media (width<=900px){.desk-topbar{display:none}.mobile-header .top-dropdown{top:calc(58px + env(safe-area-inset-top));position:fixed;right:12px}.mobile-header .top-avatar-btn{width:34px;height:34px}}.orbi-tips{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.orbi-tip{border:1px solid var(--border);background:var(--surface-2);height:100%;color:var(--text-2);border-radius:12px;align-items:flex-start;gap:10px;padding:12px;font-size:13.5px;line-height:1.45;transition:border-color .15s,color .15s;display:flex}.orbi-tip:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));color:var(--text)}.orbi-tip>span:nth-child(2){flex:1}.orbi-tip-emoji{font-size:18px;line-height:1.2}.orbi-tip-go{color:var(--text-3);flex-shrink:0;margin-top:2px}.orbi-tips-empty{align-items:center;gap:12px;display:flex}.card-link svg{vertical-align:-2px}button.card-link{align-items:center;gap:4px;display:inline-flex}.review-range{margin:0 0 12px}.review-orbi{align-items:center;gap:12px;margin-bottom:16px;display:flex}.review-orbi .mascot-bubble{max-width:none;margin:0}.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.review-stat{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;justify-items:start;gap:2px;padding:12px;display:grid}.review-stat strong{font-size:20px}.review-emoji{font-size:18px}.review-diff{color:var(--text-3);font-size:12px;font-weight:650}.review-diff.is-up{color:var(--success)}.review-diff.is-down{color:var(--danger)}.review-best{margin:14px 0 0;font-weight:600}@media (width<=640px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.goal-link{align-items:center;gap:6px;margin:-4px 0 4px;display:flex}.free-day-row{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.photo-share-row>span{gap:2px;font-size:13px;display:grid}.month-report-preview{aspect-ratio:1080/1350;background:var(--surface-2);margin-top:14px;border-radius:14px;max-height:60vh;margin-inline:auto;overflow:hidden}.month-report-preview img{width:100%;height:100%;display:block}.month-report-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;width:100%;display:flex}.roadmap-subject{resize:none;font-size:15px}.roadmap-examples{margin-top:-6px}.roadmap-loading{text-align:center;justify-items:center;gap:10px;padding:36px 12px 28px;display:grid}.roadmap-orb{background:var(--accent-soft);width:64px;height:64px;color:var(--accent);border-radius:50%;place-items:center;animation:1.6s ease-in-out infinite roadmap-pulse;display:grid}@keyframes roadmap-pulse{50%{box-shadow:0 0 0 10px color-mix(in srgb, var(--accent) 12%, transparent);transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.roadmap-orb{animation:none}}.roadmap-head{align-items:center;gap:12px;display:flex}.roadmap-head>div{gap:2px;display:grid}.roadmap-emoji{background:var(--surface-2);border-radius:12px;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.roadmap-timeline{gap:0;max-height:300px;margin:0;padding:4px 4px 4px 2px;list-style:none;display:grid;overflow-y:auto}.roadmap-timeline>li{grid-template-columns:14px 1fr;gap:12px;padding-bottom:14px;font-size:13px;display:grid;position:relative}.roadmap-timeline>li:before{content:"";background:var(--border);width:2px;position:absolute;top:14px;bottom:0;left:6px}.roadmap-timeline>li:last-child:before{display:none}.roadmap-dot{border:3px solid var(--accent);background:var(--surface);border-radius:50%;width:14px;height:14px;margin-top:2px}.roadmap-timeline>li:first-child .roadmap-dot{background:var(--accent)}.roadmap-timeline ul{color:var(--text-2);margin:4px 0 0;padding-left:16px}.roadmap-schedule{gap:10px;padding-left:26px;display:grid}.check-line{cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.topic-list .topic-week{color:var(--text-3);margin-top:10px;padding:4px 8px;font-size:12px;font-weight:700}.topic-list .topic-week:first-child{margin-top:0}.topic-note{color:var(--text-3);margin-top:2px;font-size:12px;display:block}.topic.is-next{background:color-mix(in srgb, var(--accent) 10%, transparent);box-shadow:inset 3px 0 0 var(--accent)}.topic-study{flex-shrink:0}.study-line-next{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:12px;display:block;overflow:hidden}.top-orbi-btn{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:var(--accent-soft);height:34px;color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.top-orbi-btn svg{color:var(--accent)}.top-orbi-btn:hover{background:color-mix(in srgb, var(--accent) 22%, transparent)}@media (width<=900px){.top-orbi-btn{justify-content:center;width:34px;padding:0}.top-orbi-btn .top-orbi-text{display:none}}.orbi-panel{margin-top:14px}.capture-input{position:relative}.capture-input textarea{resize:vertical;padding-right:46px}.capture-input .capture-mic{position:absolute;bottom:6px;right:6px}.capture-mic.is-on{background:var(--danger);color:#fff;animation:1.4s ease-in-out infinite roadmap-pulse}.capture-list{gap:8px;max-height:340px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.capture-item{border-radius:var(--radius-sm);background:var(--surface-2);align-items:flex-start;gap:10px;padding:10px;display:flex}.capture-emoji{font-size:20px;line-height:1.4}.capture-body{flex:1;gap:4px;min-width:0;display:grid}.capture-title{width:100%;color:var(--text);font:inherit;background:0 0;border:0;border-bottom:1px dashed #0000;padding:2px 0;font-weight:600}.capture-title:focus{border-bottom-color:var(--border-strong);outline:none}.capture-meta{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.capture-meta select,.capture-amount{border:1px solid var(--border);background:var(--surface);color:var(--text-2);font:inherit;border-radius:6px;padding:2px 6px}.capture-amount{width:96px}.ask{gap:10px;display:grid}.ask-thread{flex-direction:column;gap:8px;min-height:220px;max-height:46vh;display:flex;overflow-y:auto}.ask-empty{text-align:center;justify-items:center;gap:10px;padding:10px 4px;display:grid}.ask-empty .chips{justify-content:center}.ask-bubble{white-space:pre-wrap;border-radius:14px;max-width:88%;margin:0;padding:9px 12px;font-size:14px;line-height:1.45}.ask-bubble.is-me{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px;align-self:flex-end}.ask-bubble.is-orbi{background:var(--surface-2);border-bottom-left-radius:4px;align-self:flex-start}.ask-bubble.is-error{color:var(--danger)}.ask-bubble.is-typing{color:var(--text-3)}.ask-input{gap:8px;display:flex}.ask-input .input{flex:1}.ask-note{margin:0}.review-ai{border-radius:var(--radius-sm);background:var(--accent-soft);margin-top:14px;padding:12px 14px}.review-ai strong{align-items:center;gap:6px;font-size:13px;display:flex}.review-ai p{margin:6px 0 0;font-size:14px;line-height:1.5}.review-ai.is-empty{background:0 0;padding:0}.goal-ai-card{border-radius:var(--radius-sm);background:var(--surface-2);padding:12px}.goal-ai-card .capture-title{font-size:16px}.goal-ai-card p{margin:4px 0 0}.roadmap-source{resize:vertical;font-family:inherit;font-size:13px}.roadmap-timeline ul li{align-items:center;gap:6px;display:flex}.roadmap-remove{width:20px;height:20px;color:var(--text-3);opacity:.55;border-radius:50%;place-items:center;display:inline-grid}.roadmap-remove:hover,.roadmap-remove:focus-visible{background:var(--surface-2);color:var(--danger);opacity:1}.roadmap-adjust{gap:8px;display:flex}.roadmap-adjust .input{flex:1}.top-orbi-btn{gap:7px;height:38px;padding:0 14px 0 4px}.top-orbi-face{background:var(--surface);border-radius:50%;place-items:center;width:30px;height:30px;display:grid;overflow:hidden}.top-orbi-face .orbi{transform:translateY(2px)}.top-orbi-spark{margin-left:-2px}.top-orbi-btn:hover .top-orbi-face .orbi{animation:orbi-hop .5s var(--ease)}@keyframes orbi-hop{40%{transform:translateY(-2px)rotate(-6deg)}}@media (width<=760px){.top-orbi-btn{width:38px;padding:0}.top-orbi-text,.top-orbi-spark{display:none}}.modal.orbi-modal{width:min(780px,100%)}.orbi-layout{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:20px;display:grid}.orbi-side{background:radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%), var(--surface-2);border-radius:16px;justify-items:center;gap:12px;padding:14px 10px 16px;display:grid;position:sticky;top:0}.orbi-stage{place-items:center;animation:3.2s ease-in-out infinite orbi-float;display:grid}.orbi-stage.mood-animado{animation-duration:1.1s}.orbi-stage.mood-preocupado{animation:none}@keyframes orbi-float{50%{transform:translateY(-6px)}}.orbi-say{text-align:left;border-radius:16px;max-width:none;margin:0}.orbi-say:before{content:"";border-top:1px solid var(--border-strong);border-left:1px solid var(--border-strong);background:var(--surface-2);width:12px;height:12px;position:absolute;top:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.orbi-side .orbi-say,.orbi-side .orbi-say:before{background:var(--surface)}.orbi-main{min-width:0}.ask-row{align-items:flex-end;gap:8px;max-width:92%;display:flex}.ask-face{background:var(--surface-2);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid;overflow:hidden}.ask-row .ask-bubble{max-width:none}.typing-dots{gap:4px;padding:3px 2px;display:inline-flex}.typing-dots i{background:var(--text-3);border-radius:50%;width:7px;height:7px;animation:1.2s infinite typing}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes typing{30%{opacity:1;transform:translateY(-3px)}0%,60%,to{opacity:.4;transform:none}}@media (width<=760px){.orbi-layout{grid-template-columns:1fr;gap:12px}.orbi-side{grid-template-columns:64px 1fr;align-items:center;padding:10px 12px;position:static}.orbi-stage .orbi{width:60px;height:auto}.orbi-say:before{top:50%;left:-7px;transform:translateY(-50%)rotate(-45deg)}}@media (prefers-reduced-motion:reduce){.orbi-stage,.typing-dots i,.top-orbi-btn:hover .top-orbi-face .orbi{animation:none}}.sleep-checkin-backdrop{align-items:center}.sleep-checkin{border:1px solid var(--border);background:var(--surface);width:min(420px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow);text-align:center;animation:modal-in .28s var(--ease);border-radius:22px;justify-items:center;gap:14px;padding:0 22px 18px;display:grid;position:relative;overflow:hidden auto}.sleep-checkin-sky{background:linear-gradient(180deg, #121641, color-mix(in srgb, var(--accent) 30%, #1b1f4d) 70%, transparent);width:calc(100% + 44px);height:96px;margin:0 -22px -70px;position:relative}.sleep-moon{border-radius:50%;width:26px;height:26px;position:absolute;top:18px;right:34px;transform:rotate(-20deg);box-shadow:-7px 4px #ffe7a3}.sleep-checkin-sky i{opacity:.7;background:#fff;border-radius:50%;width:3px;height:3px;animation:2.6s ease-in-out infinite twinkle;position:absolute}.sleep-checkin-sky i:nth-child(2){top:22px;left:18%}.sleep-checkin-sky i:nth-child(3){animation-delay:.6s;top:48px;left:30%}.sleep-checkin-sky i:nth-child(4){animation-delay:1.2s;top:16px;left:62%}.sleep-checkin-sky i:nth-child(5){animation-delay:1.8s;top:54px;left:76%}@keyframes twinkle{50%{opacity:.15}}.sleep-checkin-orbi{border:4px solid var(--surface);background:var(--surface-2);border-radius:50%;place-items:center;width:112px;height:112px;display:grid;position:relative}.sleep-checkin h2{margin:0;font-size:20px;line-height:1.3}.sleep-checkin-times{justify-content:center;align-items:flex-end;gap:10px;width:100%;display:flex}.sleep-checkin-times label{max-width:150px;color:var(--text-3);flex:1;gap:4px;font-size:12px;font-weight:600;display:grid}.sleep-checkin-times input{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;text-align:center;border-radius:14px;padding:10px 8px;font-size:22px;font-weight:700}.sleep-checkin-times input:focus{border-color:var(--accent);outline:none}.sleep-checkin-arrow{color:var(--text-3);padding-bottom:14px;font-size:18px}.sleep-checkin-total{background:var(--surface-2);color:var(--text-2);border-radius:999px;margin:0;padding:8px 14px;font-size:13px}.sleep-checkin-total strong{color:var(--text);font-size:15px}.sleep-checkin-total.is-bom{background:color-mix(in srgb, var(--success) 14%, transparent)}.sleep-checkin-total.is-pouco{background:color-mix(in srgb, var(--warning) 16%, transparent)}.sleep-checkin-mood{width:100%;color:var(--text-3);gap:8px;font-size:12px;font-weight:600;display:grid}.sleep-checkin-links{justify-content:center;gap:18px;display:flex}.link-button{color:var(--text-3);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 2px;font-size:13px}.link-button:hover{color:var(--text);text-decoration:underline}@media (prefers-reduced-motion:reduce){.sleep-checkin-sky i{animation:none}}.page:has(.orbi-page){padding-bottom:0}.orbi-page{flex-direction:column;width:min(820px,100%);min-height:calc(100dvh - 130px);margin:0 auto;display:flex}.orbi-page-tools{justify-content:flex-end;display:flex}.orbi-thread{flex-direction:column;flex:1;gap:14px;padding:12px 0 24px;display:flex}.orbi-welcome{text-align:center;justify-items:center;gap:10px;margin:auto 0;padding:24px 0;display:grid}.orbi-welcome-face{background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--accent) 30%, transparent), transparent 70%), var(--surface-2);border-radius:50%;place-items:center;width:112px;height:112px;animation:3.2s ease-in-out infinite orbi-float;display:grid}.orbi-welcome h1{margin:4px 0 0;font-size:26px}.orbi-welcome>p{max-width:460px;margin:0}.orbi-suggestions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(580px,100%);margin-top:14px;display:grid}.orbi-suggestion{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:14px;align-items:flex-start;gap:8px;padding:12px 14px;font-size:14px;font-weight:550;line-height:1.35;transition:border-color .15s,background .15s;display:flex}.orbi-suggestion svg{color:var(--accent);flex-shrink:0;margin-top:2px}.orbi-suggestion:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));background:var(--surface-2)}.orbi-msg{overflow-wrap:anywhere;border-radius:16px;margin:0;padding:10px 14px;font-size:15px;line-height:1.5}.orbi-msg.is-me{background:var(--accent);max-width:78%;color:var(--on-accent);white-space:pre-wrap;border-bottom-right-radius:4px;align-self:flex-end}.orbi-msg-row{align-items:flex-start;gap:10px;max-width:88%;display:flex}.orbi-msg-face{background:var(--surface-2);border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid;overflow:hidden}.orbi-msg.is-orbi{border:1px solid var(--border);background:var(--surface);border-top-left-radius:4px;gap:8px;min-width:0;display:grid}.orbi-msg.is-orbi p,.orbi-msg.is-orbi ul{margin:0}.orbi-msg.is-orbi ul{padding-left:20px;list-style:outside}.orbi-msg.is-orbi li+li{margin-top:2px}.orbi-msg.is-error{color:var(--danger)}.orbi-items{gap:8px;margin-top:4px;display:grid}.orbi-items .capture-list{max-height:none}.orbi-items.is-saved .capture-item,.orbi-items.is-discarded .capture-item{opacity:.6}.orbi-items-status{color:var(--text-3);margin:0;font-size:13px}.orbi-items.is-saved .orbi-items-status{color:var(--success)}.orbi-composer{z-index:5;padding:12px 0 calc(16px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 75%, transparent);align-items:flex-end;gap:8px;display:flex;position:sticky;bottom:0}.orbi-composer textarea{resize:none;field-sizing:content;flex:1;min-height:46px;max-height:160px;padding-top:12px}.orbi-composer .capture-mic{border:1px solid var(--border);width:46px;height:46px}.orbi-send{justify-content:center;width:46px;height:46px;padding:0}@media (width<=900px){.orbi-page{min-height:calc(100dvh - 160px)}.orbi-composer{bottom:calc(62px + env(safe-area-inset-bottom));padding-bottom:10px}.orbi-msg-row,.orbi-msg.is-me{max-width:94%}}@media (width<=560px){.orbi-suggestions{grid-template-columns:1fr}}.orbi-msg-code{color:var(--text-3);font-size:11px}.diet-day-nav{gap:4px;display:flex}.diet-add{gap:10px;margin-bottom:14px;display:grid}.diet-slots,.diet-habits{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.diet-slots .chip,.diet-habits .chip{font:inherit;cursor:pointer;background:0 0;align-items:center;gap:6px;font-size:13px;display:inline-flex}.diet-habits .chip:disabled{cursor:default}.diet-busy{color:var(--text-2);align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.diet-error{color:var(--danger);margin:0;font-size:14px}.diet-results{border:1px solid var(--border);border-radius:12px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.diet-results li+li{border-top:1px solid var(--border)}.diet-results button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:9px 12px;display:flex}.diet-results button:hover{background:var(--surface-2)}.diet-results button>span:first-child{flex:1;min-width:0;display:grid}.diet-results small,.diet-results-num{color:var(--text-3);font-size:12px}.diet-results-num{white-space:nowrap}.diet-manual{justify-self:start;font-size:13px}.diet-preview{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));background:var(--surface-2);border-radius:14px;gap:10px;padding:12px;display:grid}.diet-preview p{margin:0}.diet-qty-head{gap:2px;display:grid}.diet-qty-amount{align-items:center;gap:8px;font-size:.9rem;display:flex}.diet-qty-amount .input{width:90px}.diet-qty-total{font-weight:600}.diet-preview-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.diet-preview-list li{align-items:center;gap:8px;display:flex}.diet-preview-name{flex:1;gap:2px;min-width:0;display:grid}.diet-preview-name small{font-size:12px}.diet-num{color:var(--text-3);white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.diet-num .input{width:64px;padding-inline:8px}.diet-meals{gap:14px;display:grid}.diet-meal header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.diet-meal h3{margin:0;font-size:14px;font-weight:650}.diet-entry{align-items:center;gap:8px;padding:6px 0;display:flex}.diet-entry-body{flex:1;min-width:0;display:grid}.diet-entry-body small{font-size:12px}.diet-entry-num{color:var(--text-2);white-space:nowrap;font-size:13px}.diet-entry-edit{align-items:center;gap:6px;display:flex}.diet-totals{gap:12px;display:grid}.diet-total-line{justify-content:space-between;gap:8px;margin-bottom:6px;font-size:14px;display:flex}.diet-total-line span{color:var(--text-2)}.diet-goals-form{gap:10px;display:grid}.diet-goals-form p{margin:0}.diet-menu-ask{gap:10px;margin-bottom:14px;display:grid}.diet-menu-ask .btn{justify-self:start}.diet-menu{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:10px;display:grid}.diet-menu-day{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:12px}.diet-menu-day h3{margin:0 0 8px;font-size:14px}.diet-menu-day ul{gap:6px;margin:0;padding:0;font-size:13px;line-height:1.4;list-style:none;display:grid}.diet-menu-day li{gap:6px;display:flex}.dash-diet-link{margin-top:10px;display:block}@media (width<=560px){.diet-preview-list li{flex-wrap:wrap}.diet-preview-name{flex-basis:100%}.diet-entry{flex-wrap:wrap}.diet-entry-body{flex-basis:100%}}.diet-macro-inputs,.diet-entry-edit{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.diet-macro-inputs .diet-num .input,.diet-entry-edit .diet-num .input{width:56px}.diet-goals-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.diet-goals-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.diet-calc-open{justify-self:start;margin-top:4px}.diet-calc-result{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));background:var(--surface-2);border-radius:12px;gap:6px;padding:12px;display:grid}.diet-calc-result p{margin:0;font-size:14px}.diet-calc-result strong{font-size:15px}.diet-note{background:var(--surface-2);color:var(--text-2);border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:14px}.diet-menu-form{gap:12px;display:grid}.diet-menu-form p{margin:0}.diet-menu-form .field small{font-size:12px}.diet-week{flex-wrap:wrap;gap:6px;margin:10px 0 12px;display:flex}.diet-week .chip{font:inherit;cursor:pointer;background:0 0;font-size:13px}.diet-week-title{margin:0 0 10px;font-size:16px}.diet-plan{gap:10px;margin:14px 0 10px;display:grid}.diet-plan-meal{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;gap:8px;padding:12px 14px;display:grid}.diet-plan-meal header,.diet-plan-meal footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.diet-plan-meal h4{margin:0;font-size:15px}.diet-plan-time{align-items:center;gap:4px;display:inline-flex}.diet-plan-meal ul{gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.diet-plan-meal li small{font-size:12px}.diet-plan-meal footer{border-top:1px solid var(--border);padding-top:8px}@media (width<=560px){.diet-goals-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}.diet-plan-food-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.diet-plan-food-row .btn.is-active{border-color:var(--accent);color:var(--text)}.diet-swap{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));background:var(--surface);border-radius:12px;gap:8px;margin-top:8px;padding:10px;display:grid}.diet-swap p{margin:0}.diet-swap-options{gap:8px;margin:0;padding:0;list-style:none;display:grid}.diet-swap-options li{background:var(--surface-2);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.diet-swap-options li>div{gap:2px;display:grid}.diet-swap-options small{font-size:12px}.fresh-area{gap:1px;min-width:0;display:grid}.fresh-area strong{font-size:14px;font-weight:600}.fresh-area small{font-size:12px}.modal .page-toggles{margin:12px 0;padding:0;list-style:none}.account-counts{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.account-counts li{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:2px;padding:10px 12px;display:grid}.account-counts li.is-empty{opacity:.5}.account-counts li strong{font-size:15px}.account-counts li small{color:var(--text-3);font-size:12px}.account-list{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.account-list summary{cursor:pointer;font-size:14px;font-weight:600}.account-list .compact-list{margin-top:8px}.install-invite{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:60;border:1px solid var(--border);background:var(--surface);border-radius:16px;align-items:center;gap:12px;width:min(520px,100% - 24px);padding:12px 40px 12px 14px;animation:.3s install-rise;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 32px #00000047}@keyframes install-rise{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.install-invite-logo{flex-shrink:0;place-items:center;display:grid}.install-invite-body{flex:1;gap:2px;min-width:0;display:grid}.install-invite-body strong{font-size:14px}.install-invite-body p{margin:0}.install-invite-ic{vertical-align:-2px;color:var(--accent)}.install-invite .btn{flex-shrink:0}.install-invite-close{width:26px;height:26px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px}.install-invite-close:hover{background:var(--surface-2);color:var(--text)}@media (width<=900px){.install-invite{bottom:calc(74px + env(safe-area-inset-bottom))}}.auth{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 48px calc(24px + env(safe-area-inset-bottom));background:var(--bg);grid-template-columns:minmax(0,1.15fr) minmax(360px,480px);place-items:center stretch;gap:24px;display:grid;position:relative;overflow:hidden}.auth-loading{flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.auth-sky{z-index:0;pointer-events:none;background:radial-gradient(1px 1px at 12% 18%,#ffffffb3,#0000 60%),radial-gradient(1px 1px at 27% 72%,#ffffff80,#0000 60%),radial-gradient(1.5px 1.5px at 38% 34%,#fff9,#0000 60%),radial-gradient(1px 1px at 46% 88%,#ffffff73,#0000 60%),radial-gradient(1px 1px at 58% 12%,#ffffff8c,#0000 60%),radial-gradient(1.5px 1.5px at 8% 52%,#ffffff80,#0000 60%),radial-gradient(1px 1px at 20% 92%,#fff6,#0000 60%),radial-gradient(1px 1px at 52% 58%,#ffffff59,#0000 60%),radial-gradient(1px 1px at 66% 80%,#fff6,#0000 60%),radial-gradient(1px 1px at 92% 8%,#ffffff73,#0000 60%),radial-gradient(900px 640px at 28% 42%,#8f9cf729,#0000 70%),radial-gradient(700px 520px at 100% 100%,#b392f01a,#0000 70%);position:absolute;inset:0}[data-theme=light] .auth-sky{background:radial-gradient(900px 640px at 28% 42%,#5466d61a,#0000 70%),radial-gradient(700px 520px at 100% 100%,#8a5ad614,#0000 70%)}.auth-lang{top:calc(18px + env(safe-area-inset-top));z-index:2;position:absolute;right:24px}.auth-hero,.auth-panel{z-index:1;position:relative}.auth-hero{flex-direction:column;align-items:center;gap:4px;display:flex}.auth-copy{text-align:center;max-width:520px;animation:page-in .6s .2s var(--ease) both;flex-direction:column;align-items:center;gap:18px;display:flex}.auth-copy h1{letter-spacing:-.035em;font-size:36px;font-weight:750;line-height:1.12}.auth-copy h1 span{color:var(--text-3);font-weight:600;display:block}.auth-modules{color:var(--text-2);flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.auth-modules li{align-items:center;gap:6px;display:inline-flex}.auth-modules svg{color:var(--accent)}.auth-panel{justify-content:center;display:flex}.auth .auth-card{width:100%;max-width:400px;animation:page-in .5s .1s var(--ease) both;gap:16px}.auth .auth-brand{flex-direction:row;gap:10px}.auth .auth-brand .logo-word{font-size:24px}.auth .auth-form{background:var(--surface);border:1px solid var(--border-strong);border-radius:24px;gap:14px;padding:24px;box-shadow:0 30px 80px #00000059}[data-theme=light] .auth .auth-form{box-shadow:0 24px 60px #2828501f}.auth-tabs{background:var(--surface-2);border-radius:14px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.auth-tabs button{height:36px;color:var(--text-2);border-radius:10px;font-size:14px;font-weight:600;transition:background .15s,color .15s}.auth-tabs button:hover{color:var(--text)}.auth-tabs button.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000040}.auth-head{flex-direction:column;gap:4px;display:flex}.auth .auth-title{letter-spacing:-.02em;text-align:left;margin:0;font-size:22px;font-weight:700}.auth-head p{color:var(--text-2);margin:0;font-size:14px}.auth-who{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);align-items:center;gap:10px;min-height:52px;padding:8px 8px 8px 10px;display:flex}.auth-who-initial{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.auth-who-email{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:550;overflow:hidden}.auth-who button,.auth-forgot,.auth-back{color:var(--accent);font-size:13px;font-weight:600}.auth-who button{border-radius:8px;padding:6px 10px}.auth-who button:hover{background:var(--accent-soft)}.auth-forgot{align-self:flex-end;margin-top:-6px}.auth-back{color:var(--text-2);align-self:center;align-items:center;gap:6px;display:inline-flex}.auth-forgot:hover,.auth-back:hover{text-decoration:underline}.password-field{flex-direction:column;gap:6px;display:flex}.caps-warn{color:var(--c-english);align-items:center;gap:6px;margin:0;font-size:13px;font-weight:550;display:flex}.auth .input[aria-invalid=true]{border-color:var(--danger)}.auth .auth-error{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.auth .auth-error p{margin:0}.auth .auth-error button{color:var(--danger);text-underline-offset:3px;font-size:13px;font-weight:700;text-decoration:underline}.auth .auth-foot{text-align:left;align-items:flex-start;gap:8px;max-width:340px;display:flex}.auth .auth-foot svg{flex:none;margin-top:1px}.scene-viewport{perspective:1100px;place-items:center;width:100%;height:440px;display:grid}.scene{--rx:-6deg;--ry:16deg;width:360px;height:360px;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));will-change:transform;position:relative}.scene-sway{transform-style:preserve-3d;animation:10s ease-in-out infinite scene-sway;position:absolute;inset:0}@keyframes scene-sway{0%,to{transform:rotateY(-10deg)rotateX(4deg)}50%{transform:rotateY(10deg)rotateX(-4deg)}}.logo-3d{width:120px;height:120px;transform-style:preserve-3d;margin:-60px 0 0 -60px;animation:6s ease-in-out infinite logo-float;position:absolute;top:50%;left:50%}@keyframes logo-float{50%{transform:translateY(-12px)rotate(-3deg)}}.logo-3d-layer{background:linear-gradient(135deg,#5d6ad8,#3c47a8);border-radius:28%;position:absolute;inset:0}.logo-3d-face{position:absolute;inset:0}.logo-3d-face .logo-mark{box-shadow:0 0 60px #8f9cf773}.orbit{transform-style:preserve-3d;border:1.5px solid #a3adfb59;border-radius:50%;position:absolute;top:50%;left:50%}.orbit-1{width:310px;height:310px;margin:-155px 0 0 -155px;animation:16s linear infinite orbit-1}.orbit-2{border-color:#e889a84d;width:220px;height:220px;margin:-110px 0 0 -110px;animation:11s linear infinite orbit-2}@keyframes orbit-1{0%{transform:rotateX(74deg)rotate(0)}to{transform:rotateX(74deg)rotate(360deg)}}@keyframes orbit-2{0%{transform:rotateX(70deg)rotateY(-28deg)rotate(360deg)}to{transform:rotateX(70deg)rotateY(-28deg)rotate(0)}}.planet{background:radial-gradient(circle at 30% 30%,#fff,#a3adfb 55%,#5866d8);border-radius:50%;width:16px;height:16px;margin-left:-8px;position:absolute;top:-8px;left:50%;transform:rotateX(-74deg);box-shadow:0 0 18px #8f9cf7e6}.planet-small{background:radial-gradient(circle at 30% 30%,#fff,#e889a8 60%,#b0476f);width:10px;height:10px;margin-left:-5px;top:-5px;box-shadow:0 0 14px #e889a8e6}.float-card{background:color-mix(in srgb, var(--surface) 92%, transparent);white-space:nowrap;border:1px solid #ffffff17;border-radius:16px;align-items:center;gap:10px;padding:10px 14px 10px 10px;font-size:13px;animation:5s ease-in-out infinite card-bob;display:flex;position:absolute;box-shadow:0 20px 44px #00000059}[data-theme=light] .float-card{border-color:#0000000f;box-shadow:0 20px 44px #28285026}@keyframes card-bob{50%{translate:0 -10px}}.float-card>div{flex-direction:column;gap:3px;line-height:1.2;display:flex}.float-card strong{font-weight:650}.float-card small{color:var(--text-3);font-size:11px}.fc-emoji{background:var(--surface-2);border-radius:10px;place-items:center;width:32px;height:32px;font-size:17px;display:grid}.fc-badge{color:#0e0f11;background:linear-gradient(135deg,#a3adfb,#7484f0);border-radius:10px;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.fc-bar{background:var(--surface-2);border-radius:4px;width:86px;height:4px;display:block;overflow:hidden}.fc-bar span{border-radius:inherit;background:var(--accent);width:64%;height:100%;display:block}.fc-tick{background:var(--success);color:#0e0f11;border-radius:8px;place-items:center;width:24px;height:24px;font-weight:800;display:grid}.fc-streak{top:14px;left:-40px;transform:translateZ(80px)rotateY(-10deg)}.fc-level{animation-delay:-1.6s;top:56px;right:-64px;transform:translateZ(40px)rotateY(12deg)}.fc-sleep{animation-delay:-3.2s;bottom:52px;left:-60px;transform:translateZ(50px)rotateY(-6deg)}.fc-check{animation-delay:-2.2s;bottom:8px;right:-24px;transform:translateZ(100px)rotateY(8deg)}.scene-viewport.is-lite .scene-sway,.scene-viewport.is-lite .logo-3d,.scene-viewport.is-lite .float-card{animation:none}.scene-viewport.is-lite .orbit-1{animation:none;transform:rotateX(74deg)}.scene-viewport.is-lite .orbit-2{animation:none;transform:rotateX(70deg)rotateY(-28deg)}.scene-viewport.is-lite .float-card,.scene-viewport.is-lite .logo-3d-face .logo-mark{box-shadow:none}@media (prefers-reduced-motion:reduce){.scene-sway,.logo-3d,.float-card,.orbit,.auth-copy,.auth .auth-card{animation:none!important}.orbit-1{transform:rotateX(74deg)}.orbit-2{transform:rotateX(70deg)rotateY(-28deg)}}@media (width<=960px){.auth{padding:calc(8px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);align-content:start;gap:0}.auth-lang{top:calc(10px + env(safe-area-inset-top));right:12px}.scene-viewport{height:280px;overflow:visible}.scene{scale:.54}.auth-copy{gap:12px;margin-top:18px}.auth-copy h1{font-size:24px}.auth-modules{gap:4px 14px;font-size:13px}.auth-panel{margin-top:22px}.auth .auth-brand{display:none}.auth .auth-form{padding:18px}.auth .auth-title{font-size:20px}}@media (width<=520px){.auth-modules{display:none}.scene-viewport{height:250px}.scene{scale:.48}}.study-tabs{scrollbar-width:none;gap:8px;margin-bottom:18px;padding-bottom:4px;display:flex;overflow-x:auto}.study-tabs::-webkit-scrollbar{display:none}.study-tab{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:550;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.study-tab:hover{border-color:var(--border-strong);color:var(--text)}.study-tab.is-active{border-color:var(--area);background:color-mix(in srgb, var(--area) 16%, var(--surface));color:var(--text)}.study-area-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.study-area-head h2{letter-spacing:-.01em;font-size:20px;font-weight:650}.study-empty{text-align:center;align-items:center;padding:36px 24px}.study-empty-title{font-size:20px;font-weight:650}.template-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;width:100%;max-width:640px;margin-top:10px;display:grid}.template{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;font-size:14px;font-weight:550;transition:border-color .15s,transform .15s;display:flex}.template span{font-size:28px}.template:hover{border-color:var(--accent);transform:translateY(-2px)}.emoji-picker{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid}.emoji-picker button{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;place-items:center;height:38px;font-size:19px;display:grid}.emoji-picker button.is-active{border-color:var(--accent);background:var(--accent-soft)}.color-picker{flex-wrap:wrap;gap:10px;display:flex}.color-dot.is-active{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text-2)}.toggle-row{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.toggle-row input{width:18px;height:18px;accent-color:var(--accent);margin-top:2px}.toggle-row span{flex-direction:column;gap:2px;display:flex}.toggle-row small{color:var(--text-3);font-size:12px}.study-line-name{align-items:center;gap:6px;display:inline-flex}@media (width<=640px){.emoji-picker{grid-template-columns:repeat(6,minmax(0,1fr))}}.version-badge{border-radius:var(--radius-sm);width:100%;color:var(--text-3);align-items:center;gap:8px;padding:8px 10px;font-size:12px;transition:background .15s,color .15s;display:flex}.version-badge svg{color:var(--accent)}.version-badge:hover{background:var(--surface-2);color:var(--text)}.version-number{color:var(--text-2);font-weight:700}.version-label{color:var(--accent);margin-left:auto}.version-sheet{justify-content:center;margin-top:8px}.version-sheet .version-label{margin-left:0}.version-inline{align-self:flex-start;width:auto;margin:4px 0 0 -10px}.version-inline .version-label{margin-left:4px}.whats-new{background:var(--surface);border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));width:min(440px,100%);max-height:min(680px,100dvh - 32px);box-shadow:var(--shadow), 0 0 0 1px #8f9cf714, 0 30px 90px #7484f02e;border-radius:22px;flex-direction:column;animation:.3s cubic-bezier(.2,.9,.3,1.2) dialog-in;display:flex;overflow:hidden}.whats-new-header{border-bottom:1px solid var(--border);background:linear-gradient(180deg, var(--accent-soft), transparent);align-items:center;gap:10px;padding:18px 16px 16px 20px;display:flex}.whats-new-header h2{letter-spacing:-.02em;font-size:19px;font-weight:800}.whats-new-header h2 span{color:var(--accent)}.version-pill{border:1px solid color-mix(in srgb, var(--accent) 55%, transparent);background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.whats-new-header .btn-icon{margin-left:auto}.whats-new-body{overscroll-behavior:contain;flex:1;padding:6px 20px 8px;overflow-y:auto}.release{border-bottom:1px solid var(--border);padding:16px 0}.release:last-child{border-bottom:0}.release:not(.is-latest){opacity:.78}.release-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.release-head strong{font-size:15px}.release-new{background:var(--success-soft);color:var(--success);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.release-head .muted{margin-left:auto}.release-section h3{color:var(--accent);margin:14px 0 6px;font-size:14px;font-weight:650}.release-section ul{flex-direction:column;gap:8px;display:flex}.release-section li{color:var(--text-2);padding-left:16px;font-size:14px;line-height:1.55;position:relative}.release-section li:before{content:"";background:var(--accent);border-radius:2px;width:6px;height:6px;position:absolute;top:9px;left:2px}.whats-new-footer{padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--border)}.study-area-actions{flex-wrap:wrap;gap:8px;display:flex}.coin{vertical-align:-.12em;background:radial-gradient(circle at 35% 30%,#fff3b0,#f2c14e 45%,#b8860b 100%);border-radius:50%;flex-shrink:0;width:1em;height:1em;display:inline-block;box-shadow:inset 0 0 0 1.5px #78500059,0 0 8px #f2c14e59}.coins{font-variant-numeric:tabular-nums;color:#f2c14e;align-items:center;gap:6px;font-weight:700;display:inline-flex}[data-theme=light] .coins{color:#a87a0c}.coins-sm{font-size:13px}.coins-md{font-size:15px}.coins-lg{font-size:22px}.balance{border:1px solid color-mix(in srgb, #f2c14e 35%, var(--border));background:color-mix(in srgb, #f2c14e 8%, var(--surface));border-radius:14px;flex-direction:column;align-items:flex-end;gap:2px;padding:8px 16px;display:flex}.status-row{flex-wrap:wrap;gap:6px;margin-top:-12px;display:flex}.streak-chip,.coins-chip,.mini-timer{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:10px;align-items:center;gap:6px;height:32px;padding:0 10px;font-size:13px;font-weight:650;transition:border-color .15s;display:inline-flex}.streak-chip:hover,.coins-chip:hover,.mini-timer:hover{border-color:var(--border-strong)}.streak-flame{filter:grayscale();opacity:.55;font-size:15px}.streak-chip.is-on .streak-flame{filter:none;opacity:1;animation:1.6s ease-in-out infinite flame}.streak-chip.is-on{border-color:color-mix(in srgb, #ff8a3d 45%, var(--border))}.streak-chip.is-risk{border-color:var(--danger)}@keyframes flame{50%{transform:scale(1.12)rotate(-4deg)}}.streak-text{flex-direction:column;line-height:1.05;display:flex}.streak-text small{color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:600}.mini-timer{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));color:var(--accent);font-variant-numeric:tabular-nums}.mini-timer.is-break{border-color:color-mix(in srgb, var(--success) 50%, var(--border));color:var(--success)}.mini-timer.is-paused{opacity:.7}.avatar-frame{border-radius:50%;flex-shrink:0;place-items:center;padding:2px;display:inline-grid;position:relative}.avatar-face{background:var(--accent-soft);width:100%;height:100%;color:var(--accent);border-radius:50%;place-items:center;font-weight:700;line-height:1;display:grid}.frame-nenhuma{padding:0}.frame-prata{background:linear-gradient(135deg,#f4f6f8,#9aa3ad,#e6e9ec,#6f7782)}.frame-esmeralda{background:linear-gradient(135deg,#a8f0d0,#1f9e70,#6fe0b4);box-shadow:0 0 10px #4fd1a073}.frame-ouro{background:linear-gradient(135deg,#fff1b8,#e0a91f,#fbe08a,#a8740c);box-shadow:0 0 12px #f2c14e80}.frame-arco-iris,.frame-fogo{overflow:hidden}.frame-arco-iris:before,.frame-fogo:before{content:"";animation:4s linear infinite frame-spin;position:absolute;inset:-50%}.frame-arco-iris:before{background:conic-gradient(#ff6b6b,#ffd93d,#6bcb77,#4d96ff,#b392f0,#ff6b6b)}.frame-fogo{box-shadow:0 0 14px #ff78288c}.frame-fogo:before{background:conic-gradient(#ff3d00,#ffb300,#ff6d00,#ffd54f,#ff3d00);animation-duration:2.2s}.frame-arco-iris .avatar-face,.frame-fogo .avatar-face{background:var(--surface-2);position:relative}@keyframes frame-spin{to{transform:rotate(360deg)}}.avatar-picker{align-items:center;gap:14px;display:flex}.avatar-options{flex:1}.avatar-photo{object-fit:cover;background:var(--surface-2)}.avatar-options-wrap{flex:1;gap:10px;min-width:0;display:grid}.avatar-photo-actions{flex-wrap:wrap;gap:8px;display:flex}.photo-crop{justify-items:center;gap:14px;display:grid}.photo-crop-view{background:var(--surface-2);box-shadow:0 0 0 3px var(--accent-soft);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;position:relative;overflow:hidden}.photo-crop-view:active{cursor:grabbing}.photo-crop-view img{pointer-events:none;max-width:none;position:absolute;top:0;left:0}.photo-crop-zoom{width:min(100%,260px);color:var(--text-3);align-items:center;gap:10px;display:flex}.photo-crop-zoom input{accent-color:var(--accent);flex:1}.avatar-options button:first-child{font-size:13px;font-weight:700}.shop-tabs{margin-bottom:18px}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;display:grid}.shop-item{border:1px solid var(--border);background:var(--surface);border-radius:18px;flex-direction:column;gap:8px;padding:16px;transition:border-color .15s,transform .15s;display:flex}.shop-item:hover{border-color:var(--border-strong);transform:translateY(-2px)}.shop-item.is-equipped{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.shop-item h3{font-size:15px;font-weight:650}.shop-item p{color:var(--text-2);flex:1;font-size:13px}.shop-buy{align-self:stretch}.shop-equipped{color:var(--accent);text-align:center;padding:6px 0;font-size:13px;font-weight:650}.rarity{border:1px solid color-mix(in srgb, var(--rarity) 55%, transparent);color:var(--rarity);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:11px;font-weight:700}.theme-preview{background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--preview) 26%, #0e0f11), #0e0f11 75%);border-radius:14px;place-items:center;height:110px;display:grid;position:relative;overflow:hidden}.theme-preview-ring{background:conic-gradient(var(--preview) 0 72%, #ffffff14 72% 100%);border-radius:50%;width:54px;height:54px;-webkit-mask:radial-gradient(circle,#0000 54%,#000 56%);mask:radial-gradient(circle,#0000 54%,#000 56%)}.theme-preview-bar{background:#ffffff14;border-radius:6px;width:46%;height:6px;position:absolute;bottom:18px;left:18px}.theme-preview-bar span{border-radius:inherit;background:var(--preview);width:65%;height:100%;display:block}.theme-preview-btn{background:var(--preview-strong);border-radius:6px;width:44px;height:14px;position:absolute;bottom:14px;right:16px}.frame-preview,.shield-preview{background:var(--surface-2);border-radius:14px;place-items:center;height:110px;display:grid}.shield-preview{color:#5ea8ff;position:relative}.shield-preview strong{font-size:15px;font-weight:800;position:absolute}.shop-note{margin-top:16px}.treat-form{grid-template-columns:minmax(0,1fr) 140px auto}.timer-card{align-items:stretch}.timer-stage{place-items:center;padding:8px 0;display:grid}.timer-stage .ring-center strong{letter-spacing:-.03em;font-size:52px!important}.timer-stage.is-running .ring-value{filter:drop-shadow(0 0 8px var(--accent))}.timer-stage.is-break .ring-value{stroke:var(--success)}.timer-setup{flex-direction:column;gap:14px;display:flex}.timer-presets{justify-content:center}.timer-label{text-align:center;color:var(--text-2)}.timer-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.timer-main{min-width:220px;height:46px;font-size:15px}.timer-notify{align-self:center}.pace{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:650}.pace.is-ok{background:var(--success-soft);color:var(--success)}.pace.is-behind{background:var(--danger-soft);color:var(--danger)}.water{align-items:center;gap:8px;display:flex}.water-cups{flex-wrap:wrap;flex:1;justify-content:center;gap:6px;display:flex}.cup{border:2px solid color-mix(in srgb, #4fb3e8 55%, var(--border-strong));border-top-width:1px;border-radius:3px 3px 8px 8px;width:22px;height:30px;position:relative;overflow:hidden}.cup span{height:0;transition:height .35s var(--ease);background:linear-gradient(#7ccbf2,#2f8fd0);position:absolute;inset:auto 0 0}.cup.is-full span{height:82%}.moods{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.mood{border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:12px;font-weight:550;transition:border-color .15s,transform .15s;display:flex}.mood span{font-size:26px;line-height:1}.mood:hover{transform:translateY(-2px)}.mood.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--text);animation:pop .3s var(--ease)}.mood-week{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.mood-week div{flex-direction:column;gap:2px;font-size:18px;display:flex}.mood-week small{color:var(--text-3);font-size:11px}.mood-week .is-today small{color:var(--accent);font-weight:650}.day-progress{background:radial-gradient(500px 120px at 0% 0%, #ff8a3d24, transparent 70%), var(--surface);gap:10px}.day-progress.is-kept{background:radial-gradient(500px 120px at 0% 0%, color-mix(in srgb, var(--success) 16%, transparent), transparent 70%), var(--surface)}.day-progress-head{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.day-progress-head h2{font-size:18px;font-weight:650}.day-progress-pct{font-variant-numeric:tabular-nums;font-size:28px;font-weight:750}.day-progress-bar{background:var(--surface-2);border-radius:999px;height:12px;position:relative}.day-progress-fill{border-radius:inherit;transition:width .6s var(--ease);background:linear-gradient(90deg,#ff8a3d,#ffc94d);position:absolute;inset:0 auto 0 0}.day-progress.is-kept .day-progress-fill{background:linear-gradient(90deg,#2fbf7f,#6fcf97)}.day-progress-mark{background:var(--text);opacity:.6;border-radius:2px;width:2px;position:absolute;top:-4px;bottom:-4px}.heatmap-scroll{padding-bottom:4px;overflow-x:auto}.heatmap{flex-direction:column;gap:4px;min-width:max-content;display:inline-flex}.heatmap-months{color:var(--text-3);gap:3px;margin-left:34px;font-size:11px;display:grid}.heatmap-months span{white-space:nowrap}.heatmap-body{gap:6px;display:flex}.heatmap-rows{width:28px;color:var(--text-3);grid-template-rows:repeat(7,12px);gap:3px;font-size:10px;line-height:12px;display:grid}.heatmap-grid{grid-template-rows:repeat(7,12px);grid-auto-flow:column;gap:3px;display:grid}.hm-cell{background:var(--surface-2);border-radius:3px;width:12px;height:12px;display:inline-block}.hm-cell.is-blank{background:0 0}.hm-cell.lv-none{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}.hm-cell.lv-0{background:var(--surface-hover)}.hm-cell.lv-1{background:color-mix(in srgb, var(--accent) 25%, var(--surface-2))}.hm-cell.lv-2{background:color-mix(in srgb, var(--accent) 50%, var(--surface-2))}.hm-cell.lv-3{background:color-mix(in srgb, var(--accent) 78%, var(--surface-2))}.hm-cell.lv-4{background:var(--accent);box-shadow:0 0 6px color-mix(in srgb, var(--accent) 60%, transparent)}.hm-cell.lv-shield{background:var(--surface-2);box-shadow:inset 0 0 0 2px #5ea8ff}.hm-cell.lv-free{background:var(--surface-2);box-shadow:inset 0 0 0 2px #e0b341}.heatmap-legend{color:var(--text-3);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;font-size:11px;display:flex}.heatmap-legend span:not(.hm-cell){margin:0 4px}.guide{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.guide h3{margin-bottom:4px;font-size:15px;font-weight:650}.xp-table{border:1px solid var(--border);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.xp-table-row{grid-template-columns:minmax(0,1fr) 64px 110px;align-items:center;gap:10px;padding:9px 14px;font-size:14px;display:grid}.xp-table-row:nth-child(2n){background:var(--surface-2)}.xp-table-head{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.xp-table-row .xp-pill,.coin-pill{justify-self:start}.coin-pill{color:#f2c14e;font-size:12px;font-weight:650}[data-theme=light] .coin-pill{color:#a87a0c}.show-passwords{align-self:flex-start}@media (width<=900px){.mobile-header .streak-text small{display:none}.mobile-header .streak-chip,.mobile-header .mini-timer{height:30px;padding:0 8px}}@media (width<=640px){.guide{grid-template-columns:minmax(0,1fr)}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shop-item{padding:12px}.treat-form{grid-template-columns:1fr 1fr}.xp-table-row{grid-template-columns:minmax(0,1fr) 48px 84px;padding:8px 10px;font-size:13px}.timer-stage .ring-center strong{font-size:44px!important}.timer-main{flex:1;min-width:0}.avatar-picker{flex-direction:column;align-items:flex-start}.mobile-header .level-badge.is-compact{display:none}}.drag-handle{width:24px;height:32px;color:var(--text-3);cursor:grab;touch-action:none;border-radius:8px;flex-shrink:0;place-items:center;margin-left:-4px;transition:background .15s,color .15s;display:inline-grid}.drag-handle:hover,.drag-handle:focus-visible{background:var(--surface-2);color:var(--text)}.habit-row.is-dragging{background:var(--surface-2);box-shadow:0 12px 30px #00000059, 0 0 0 1px var(--accent);cursor:grabbing;border-radius:12px}.habit-row.is-dragging .drag-handle{color:var(--accent);cursor:grabbing}body:has(.is-dragging){-webkit-user-select:none;user-select:none}.capitalize{text-transform:capitalize}.steps-left{color:var(--text)}.habit-streak-badge{color:#ffb36b;background:#ff8a3d33;border-radius:999px;align-items:center;gap:2px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}[data-theme=light] .habit-streak-badge{color:#c25a12}.chip-count{background:linear-gradient(90deg, var(--accent-soft) var(--fill), transparent var(--fill));align-items:center;gap:2px;padding:3px;display:inline-flex}.chip-count-body{color:inherit;align-items:center;gap:6px;padding:3px 4px;display:inline-flex}.chip-count-body strong{font-variant-numeric:tabular-nums}.chip-step{width:22px;height:22px;color:var(--text-2);border-radius:50%;place-items:center;display:grid}.chip-step:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.habit-create{flex-direction:column;gap:8px;display:flex}.habit-create-count{border-radius:var(--radius-sm);background:var(--surface-2);flex-wrap:wrap;gap:8px 16px;padding:10px 12px;display:flex}.unit-input{width:110px}.habit-title{flex-direction:column;min-width:0;line-height:1.25;display:flex}.habit-title small{color:var(--text-3);font-size:11px}.habit-edit{flex-direction:column;gap:4px;min-width:0;display:flex}.habit-edit-count{gap:4px;display:flex}.habit-edit-count .input-sm{width:64px}.habit-cell.is-count{background:linear-gradient(0deg, color-mix(in srgb, var(--accent) 35%, var(--surface-2)) var(--fill), var(--surface-2) var(--fill))}.habit-cell.is-count.is-done{background:var(--accent)}.habit-cell-n{color:var(--text);font-size:11px;font-weight:700}.habit-table.is-month{overflow-x:auto}.habit-table.is-month .habit-row{grid-template-columns:minmax(150px, 220px) repeat(var(--cols), 24px) 36px;gap:4px;width:max-content}.habit-table.is-month .habit-name{z-index:2;background:var(--surface);padding-right:8px;position:sticky;left:0}.habit-table.is-month .habit-cell{border-radius:6px;width:22px;height:22px}.habit-table.is-month .habit-head small{font-size:10px}.goal-deadline{color:var(--text-2);grid-template-columns:auto minmax(40px,1fr) auto;align-items:center;gap:10px;font-size:12px;display:grid}.goal-deadline-days strong{color:var(--text)}.goal-deadline-bar{background:var(--surface-2);border-radius:4px;height:4px;overflow:hidden}.goal-deadline-bar span{border-radius:inherit;background:var(--text-3);height:100%;display:block}.goal-deadline-status{background:var(--surface-2);white-space:nowrap;border-radius:999px;padding:1px 8px;font-weight:650}.goal-deadline.is-soon .goal-deadline-status{background:color-mix(in srgb, var(--c-english) 16%, transparent);color:var(--c-english)}.goal-deadline.is-late .goal-deadline-status{background:var(--danger-soft);color:var(--danger)}.goal-deadline.is-done .goal-deadline-status{background:var(--success-soft);color:var(--success)}.dash-goal{flex-direction:column;gap:8px;display:flex}.hero-mascot{align-items:center;gap:10px;margin-left:auto;display:flex}.mascot-bubble{border:1px solid var(--border-strong);background:var(--surface-2);max-width:230px;color:var(--text-2);animation:page-in .4s .2s var(--ease) both;border-radius:16px 16px 4px;padding:10px 14px;font-size:13px;line-height:1.45;position:relative}.mascot-bubble.mood-festa,.mascot-bubble.mood-feliz{border-color:color-mix(in srgb, var(--success) 45%, var(--border))}.mascot-bubble.mood-preocupado{border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.orbi{filter:drop-shadow(0 10px 18px #5d6ad859);flex-shrink:0;animation:3.2s ease-in-out infinite orbi-float;overflow:visible}.orbi-festa{animation:.9s ease-in-out infinite orbi-jump}.orbi-sono{animation-duration:5s}.orbi-preocupado .orbi-body{transform-origin:52px 54px;animation:2.6s ease-in-out infinite orbi-shake}.orbi-eyes{transform-origin:52px 48px;animation:4.5s infinite orbi-blink}.orbi-planet{transform-origin:52px 56px;animation:6s linear infinite orbi-planet}.orbi-zz text{animation:2.4s ease-in-out infinite orbi-zz}.orbi-zz text:last-child{animation-delay:.6s}.orbi-confetti{animation:1.4s ease-in-out infinite orbi-twinkle}@keyframes orbi-jump{0%,to{transform:translateY(0)scale(1)}30%{transform:translateY(-12px)scale(.96,1.04)}60%{transform:translateY(0)scale(1.06,.94)}}@keyframes orbi-shake{0%,80%,to{transform:rotate(0)}85%{transform:rotate(-4deg)}90%{transform:rotate(4deg)}95%{transform:rotate(-2deg)}}@keyframes orbi-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes orbi-planet{0%,to{opacity:1}50%{opacity:.55}}@keyframes orbi-zz{0%,to{opacity:.2;transform:translateY(2px)}50%{opacity:1;transform:translateY(-3px)}}@keyframes orbi-twinkle{50%{opacity:.4}}@media (width<=1180px){.mascot-bubble{max-width:180px}}@media (width<=640px){.hero .ring{display:none}.hero-mascot{justify-content:space-between;width:100%;margin-left:0}.mascot-bubble{flex:1;max-width:none}}.tour{background:radial-gradient(320px 160px at 50% 0%, var(--accent-soft), transparent 70%), var(--surface);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow), 0 30px 80px #00000059;text-align:center;border-radius:24px;flex-direction:column;align-items:center;gap:16px;padding:30px 24px 22px;animation:.3s cubic-bezier(.2,.9,.3,1.2) dialog-in;display:flex;position:relative}.tour-close{position:absolute;top:12px;right:12px}.tour-art{height:140px;animation:dialog-in .35s var(--ease);place-items:center;display:grid}.tour-emoji-wrap{place-items:center;display:grid;position:relative}.tour-emoji{background:var(--surface-2);border:1px solid var(--border);border-radius:32px;place-items:center;width:104px;height:104px;font-size:52px;display:grid}.tour-emoji-wrap .orbi{position:absolute;bottom:-12px;right:-40px}.tour-body{min-height:130px;animation:page-in .3s var(--ease);flex-direction:column;align-items:center;gap:8px;display:flex}.tour-body h2{letter-spacing:-.02em;font-size:21px;font-weight:700}.tour-body p{color:var(--text-2);font-size:15px;line-height:1.55}.tour-dots{gap:6px;display:flex}.tour-dots button{background:var(--border-strong);width:8px;height:8px;transition:width .25s var(--ease), background .2s;border-radius:999px}.tour-dots button.is-active{background:var(--accent);width:22px}.tour-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.tour-actions .btn{height:44px}.join-card{max-width:620px}.join-hero{align-items:center;gap:16px;display:flex}.join-title{font-size:17px;font-weight:650}.join-privacy{background:var(--surface-2);color:var(--text-2);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;font-size:14px;display:flex}.join-privacy li{align-items:flex-start;gap:8px;display:flex}.join-privacy svg{color:var(--success);flex-shrink:0;margin-top:2px}.join-name{flex:220px}.join-btn{align-self:flex-end}.ranking-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.podium-card{background:radial-gradient(400px 200px at 50% 0%, #f2c14e29, transparent 70%), var(--surface);padding:28px 20px 0;overflow:hidden}.podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;max-width:560px;margin:0 auto;display:grid}.podium-spot{text-align:center;min-width:0;animation:page-in .5s var(--ease) both;flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.podium-spot.place-1{animation-delay:.1s}.podium-spot.place-3{animation-delay:.2s}.podium-crown{color:#f2c14e;filter:drop-shadow(0 0 8px #f2c14e99);animation:2.4s ease-in-out infinite orbi-float}.podium-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:6px;font-size:14px;overflow:hidden}.podium-score{color:var(--accent);font-size:13px;font-weight:700}.podium-base{background:linear-gradient(180deg, var(--surface-hover), var(--surface-2));width:100%;color:var(--text-2);border-radius:14px 14px 0 0;flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;margin-top:10px;padding-top:12px;font-size:20px;font-weight:800;display:flex}.podium-base span{font-size:26px}.place-1 .podium-base{background:linear-gradient(180deg, color-mix(in srgb, #f2c14e 30%, var(--surface-2)), var(--surface-2));color:#f2c14e;height:110px}.place-2 .podium-base{height:80px}.place-3 .podium-base{height:60px}.podium-spot.is-me .podium-name{color:var(--accent)}.ranking-list{flex-direction:column;gap:4px;display:flex}.ranking-list li{border-radius:12px;grid-template-columns:36px auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px;display:grid}.ranking-list li:nth-child(odd){background:var(--surface-2)}.ranking-list li.is-me{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.ranking-pos{color:var(--text-3);font-variant-numeric:tabular-nums;font-weight:700}.ranking-name{flex-direction:column;min-width:0;line-height:1.25;display:flex}.ranking-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ranking-name small{color:var(--text-3);font-size:12px}.ranking-score{font-variant-numeric:tabular-nums;font-weight:700}.my-rank-body{align-items:center;gap:14px;display:flex}@media (width<=640px){.podium{gap:6px}.place-1 .podium-base{height:90px}.place-2 .podium-base{height:66px}.place-3 .podium-base{height:50px}}.inline-add .field .input{flex:none}.lang-buttons{flex-wrap:wrap;gap:8px;display:flex}.lang-buttons button{border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);border-radius:12px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:550;transition:border-color .15s,color .15s;display:inline-flex}.lang-buttons button.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.lang-buttons.is-compact{align-self:center;gap:4px}.lang-buttons.is-compact button{border-radius:999px;padding:4px 10px;font-size:12px}.app{transition:grid-template-columns .25s var(--ease)}.app.sidebar-collapsed{--sidebar-w:76px}.sidebar{gap:14px;overflow:hidden}.sidebar a{-webkit-user-drag:none}.sidebar-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.sidebar-toggle{flex-shrink:0}.sidebar-scroll{overscroll-behavior:contain;scrollbar-width:none;flex-direction:column;flex:1;gap:14px;min-height:0;margin:0 -6px;padding:0 6px 6px;display:flex;overflow-y:auto}.sidebar-scroll::-webkit-scrollbar{display:none}.nav-section+.nav-section{margin-top:12px}.nav-section-title{color:var(--text-3);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px 12px;font-size:11px;font-weight:700}.sidebar .nav-link.is-active{background:var(--accent);color:var(--on-accent);box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 35%, transparent)}.sidebar .nav-link.is-active svg{color:var(--on-accent)}.sidebar-footer{margin-top:0}.sidebar .nav-list li{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.sidebar .nav-list.is-sorting,.sidebar .nav-list.is-sorting .nav-link{cursor:grabbing}.sidebar .nav-list.is-sorting .nav-link:hover{background:0 0}.sidebar .nav-list li.is-dragging .nav-link{background:var(--surface-2);color:var(--text);outline:1px dashed var(--border-strong);outline-offset:-1px;box-shadow:0 8px 22px #00000040}.sidebar .nav-list li.is-dragging .nav-link.is-active{background:var(--accent);color:var(--on-accent)}.sidebar.is-collapsed{align-items:center;padding-left:10px;padding-right:10px}.sidebar.is-collapsed .sidebar-top{flex-direction:column}.sidebar.is-collapsed .brand{padding:0}.sidebar.is-collapsed .logo-word,.sidebar.is-collapsed .nav-link span,.sidebar.is-collapsed .streak-text small,.sidebar.is-collapsed .account-email{display:none}.sidebar.is-collapsed .sidebar-scroll{align-items:center;width:100%}.sidebar.is-collapsed .status-row{flex-direction:column;align-items:center;margin-top:0}.sidebar.is-collapsed .nav-section-title{background:var(--border-strong);color:#0000;width:24px;height:1px;margin:4px auto 10px;overflow:hidden}.sidebar.is-collapsed .nav-link{justify-content:center;width:46px;height:42px;padding:0}.sidebar.is-collapsed .sidebar-footer{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.sidebar.is-collapsed .account-box{flex-direction:column;padding:6px 0 0}.sidebar.is-collapsed .level-badge.is-compact{padding:6px 8px}.streak-chip.is-compact{gap:3px;padding:0 8px}.streak-number{font-variant-numeric:tabular-nums}.sidebar.is-collapsed .level-badge.is-compact .level-number{white-space:nowrap}.admin-users{flex-direction:column;gap:4px;max-height:520px;display:flex;overflow-y:auto}.admin-user{text-align:left;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:background .15s,border-color .15s;display:flex}.admin-user:hover{background:var(--surface-2)}.admin-user.is-selected{border-color:var(--accent);background:var(--accent-soft)}.admin-user-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-user-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-user-main small{color:var(--text-3);font-size:12px}.admin-user-gift{color:#f2c14e;white-space:nowrap;font-size:13px;font-weight:700}.admin-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.admin-target{overflow-wrap:anywhere;align-items:center;gap:8px;font-weight:600;display:flex}.admin-target svg{color:var(--success);flex-shrink:0}.orbi-zen{animation:5s ease-in-out infinite orbi-float}.orbi-aura{transform-origin:52px 54px;animation:4s ease-in-out infinite orbi-aura}@keyframes orbi-aura{50%{opacity:.5;transform:scale(1.06)}}.focus-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;margin-bottom:16px;display:grid}.focus-side{flex-direction:column;gap:16px;min-width:0;display:flex}.focus-stage{background:radial-gradient(120% 70% at 50% 0%, var(--accent-soft), transparent 65%), var(--surface);flex-direction:column;align-items:center;gap:10px;padding:28px 22px 22px;display:flex;position:relative;overflow:hidden}.focus-stage-menu{z-index:3;position:absolute;top:12px;right:12px}.focus-stage-menu .icon-btn{border:1px solid var(--border);background:var(--surface-2);width:34px;height:34px;color:var(--text-2);cursor:pointer;border-radius:10px;place-items:center;display:grid}.focus-menu{border:1px solid var(--border-strong);background:var(--bg-elev);width:230px;box-shadow:var(--shadow);border-radius:14px;padding:6px;position:absolute;top:40px;right:0}.focus-menu-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:6px 10px;font-size:11px;font-weight:700}.focus-menu-item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;font-size:14px;display:flex}.focus-menu-item span{align-items:center;gap:6px;display:inline-flex}.focus-menu-item small{color:var(--text-3)}.focus-menu-item:hover:not(:disabled),.focus-menu-item.is-active{background:var(--accent-soft)}.focus-menu-item:disabled{opacity:.5;cursor:not-allowed}.focus-menu-item .input-sm{width:72px}.focus-mascot{place-items:center;margin-top:4px;display:grid}.focus-clock{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--text);font-family:ui-monospace,SF Mono,Cascadia Mono,Consolas,monospace;font-size:clamp(64px,11vw,104px);font-weight:700;line-height:1}.focus-stage.is-running .focus-clock{text-shadow:0 0 28px var(--accent-soft)}.focus-status{letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);font-size:12px;font-weight:700}.focus-stage.is-running .focus-status{color:var(--accent)}.focus-stage.is-break .focus-status{color:var(--success)}.focus-progress{background:var(--surface-2);border-radius:999px;width:min(320px,100%);height:4px;overflow:hidden}.focus-progress span{background:var(--accent);height:100%;transition:width .6s linear;display:block}.focus-stage.is-break .focus-progress span{background:var(--success)}.focus-controls{align-items:center;gap:14px;margin-top:8px;display:flex}.focus-round{border:1px solid var(--border-strong);background:var(--surface-2);width:48px;height:48px;color:var(--text-2);cursor:pointer;border-radius:50%;place-items:center;transition:background .15s,color .15s;display:grid}.focus-round:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.focus-round:disabled{opacity:.4;cursor:not-allowed}.focus-main{border-radius:999px;gap:8px;min-width:170px;height:52px;font-size:16px}.focus-project{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:min(460px,100%);margin-top:10px;display:grid}.focus-hint{text-align:center}.focus-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.focus-stat{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;gap:4px;min-width:0;padding:14px;display:flex}.focus-stat span{color:var(--text-3);font-size:12px}.focus-stat strong{letter-spacing:-.02em;font-size:22px}.focus-stat small{color:var(--text-3);font-size:11px}.focus-stat.is-behind strong,.focus-stat.is-behind span{color:var(--danger)}.focus-stat.is-ok strong{color:var(--success)}.focus-hours-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.focus-hours-head .input-sm{width:60px}.focus-goal-bar{background:var(--surface-2);border-radius:999px;height:8px;position:relative}.focus-goal-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-strong));height:100%;display:block}.focus-goal-bar i{background:var(--text-2);border-radius:2px;width:2px;height:14px;position:absolute;top:-3px;transform:translate(-1px)}.focus-bars .mini-bar small{min-height:14px;color:var(--text-3);white-space:nowrap;font-size:10px}.focus-hours-foot p:first-child{align-items:center;gap:8px;font-weight:600;display:flex}.focus-bottom{margin-top:0}@media (width<=960px){.focus-layout{grid-template-columns:1fr}}@media (width<=520px){.focus-project{grid-template-columns:1fr}.focus-stats{gap:8px}.focus-stat{padding:10px}.focus-stat strong{font-size:18px}}.habit-table.is-editing .habit-head{display:none}.habit-table.is-editing .habit-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr);padding:8px 0}.habit-table.is-editing .habit-row>span[role=cell]:not(.habit-name){display:none}.habit-table.is-editing .habit-name{gap:8px}.habit-table.is-editing .habit-edit{flex-flow:wrap;flex:1;align-items:center;gap:6px}.habit-table.is-editing .habit-edit .input-sm-text{flex:160px;width:auto;min-width:0}.habit-table.is-editing .habit-time-input{width:116px;min-width:0}.season-card{background:radial-gradient(circle at 90% 0%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 55%), var(--surface);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:20px;display:grid}.season-head{align-items:center;gap:14px;display:flex}.season-head h2{margin:2px 0;font-size:22px}.season-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.season-me{gap:6px;display:grid}.season-me-title{font-size:18px;font-weight:700}.season-ladder{gap:8px;margin-top:4px;font-size:18px;display:flex}.season-ladder span{filter:grayscale();opacity:.35}.season-ladder span.is-on{filter:none;opacity:1}.season-title{color:var(--text-2);white-space:nowrap;font-size:12px;font-weight:600}.hall-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.hall-card{border:1px solid color-mix(in srgb, #f2c14e 35%, var(--border));background:linear-gradient(160deg, #f2c14e1a, transparent 60%), var(--surface-2);border-radius:14px;gap:10px;padding:14px;display:grid}.hall-card .eyebrow{color:#e5b567;align-items:center;gap:6px;margin:0;display:flex}.hall-champion{align-items:center;gap:12px;display:flex}.hall-champion>div{display:grid}.hall-others{margin:0}@media (width<=760px){.season-card{grid-template-columns:minmax(0,1fr)}}.icon-picker{display:inline-flex;position:relative}.icon-picker-btn{border:1px solid var(--border);background:var(--surface-2);width:40px;height:40px;color:var(--text-3);border-radius:10px;place-items:center;font-size:20px;display:grid}.icon-picker-sm .icon-picker-btn{width:32px;height:32px;font-size:16px}.icon-picker-btn:hover{border-color:var(--accent);color:var(--accent)}.icon-picker-panel{z-index:50;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;grid-template-columns:repeat(6,36px);gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:0}.icon-picker-panel button{border-radius:8px;place-items:center;width:36px;height:36px;font-size:19px;display:grid}.icon-picker-panel button:hover,.icon-picker-panel button.is-active{background:var(--accent-soft)}.icon-picker-panel .icon-picker-none{width:auto;height:30px;color:var(--text-2);grid-column:1/-1;font-size:12px}.habit-today{gap:8px;margin:0;padding:0;list-style:none;display:grid}.habit-today-row{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;align-items:center;gap:12px;padding:10px 12px;transition:border-color .15s,opacity .15s;display:flex}.habit-today-row .habit-cell{border-radius:50%;width:34px;height:34px}.habit-today-row.is-done{border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.habit-today-row.is-done .habit-today-name strong{color:var(--text-3);text-decoration:line-through}.habit-icon{font-size:20px}.habit-today-name{flex:1;gap:2px;min-width:0;display:grid}.habit-today-name small{font-size:12px}.metric-sono{--metric:#8f9cf7}.metric-agua{--metric:#5ea8ff}.metric-humor{--metric:#f2c14e}.metric-sono .hm-cell.lv-1,.metric-agua .hm-cell.lv-1,.metric-humor .hm-cell.lv-1{background:color-mix(in srgb, var(--metric) 25%, var(--surface-2))}.metric-sono .hm-cell.lv-2,.metric-agua .hm-cell.lv-2,.metric-humor .hm-cell.lv-2{background:color-mix(in srgb, var(--metric) 50%, var(--surface-2))}.metric-sono .hm-cell.lv-3,.metric-agua .hm-cell.lv-3,.metric-humor .hm-cell.lv-3{background:color-mix(in srgb, var(--metric) 78%, var(--surface-2))}.metric-sono .hm-cell.lv-4,.metric-agua .hm-cell.lv-4,.metric-humor .hm-cell.lv-4{background:var(--metric);box-shadow:0 0 6px color-mix(in srgb, var(--metric) 60%, transparent)}.heatmap-card .segmented{margin-bottom:12px}.challenges-grid{margin-bottom:18px}.challenges-actions{flex-wrap:wrap;gap:8px;display:flex}.challenge-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:14px;display:grid}.challenge{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.challenge.is-done{opacity:.85}.challenge-head{justify-content:space-between;gap:10px;display:flex}.challenge-head h3{margin-bottom:2px;font-size:16px;font-weight:650}.challenge-tools{flex-shrink:0;align-items:flex-start;gap:4px;display:flex}.challenge-code{border:1px dashed var(--accent);background:var(--accent-soft);color:var(--text);font:inherit;letter-spacing:.08em;cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.challenge-winner{font-size:14px;font-weight:600}.challenge-board{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.challenge-board li{grid-template-columns:18px 28px minmax(0,1fr) minmax(50px,30%) auto;align-items:center;gap:8px;font-size:14px;display:grid}.challenge-board li.is-me .challenge-name{color:var(--accent);font-weight:700}.challenge-pos{color:var(--text-3);text-align:center;font-size:12px}.challenge-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.challenge-bar{background:var(--border);border-radius:99px;height:8px;overflow:hidden}.challenge-bar span{border-radius:inherit;background:var(--accent);height:100%;display:block}.challenge-score{text-align:right;font-variant-numeric:tabular-nums;min-width:34px}.challenge-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.challenge-metric{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:10px;padding:10px 12px;font-size:14px}.challenge-metric.is-active{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.challenge-code-input{letter-spacing:.3em;text-align:center;text-transform:uppercase;font-size:22px;font-weight:700}@media (width<=520px){.challenge-head{flex-direction:column}}.theme-effects{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.theme-effects.is-contained{border-radius:inherit;position:absolute}.sidebar,.main{z-index:1;position:relative}.sidebar{position:sticky}.fx-glow{filter:blur(90px);opacity:.22;border-radius:50%;width:60vmax;height:60vmax;animation:22s ease-in-out infinite alternate fx-glow;position:absolute}.fx-glow-1{background:radial-gradient(circle, var(--fx-glow-1,var(--accent)), transparent 65%);top:-25vmax;left:-15vmax}.fx-glow-2{background:radial-gradient(circle, var(--fx-glow-2,var(--accent)), transparent 65%);animation-delay:-11s;bottom:-25vmax;right:-20vmax}[data-theme=light] .fx-glow{opacity:.18}@keyframes fx-glow{to{transform:translate(8vmax,6vmax)scale(1.15)}}.is-contained .fx-glow{filter:blur(30px);opacity:.35;width:140%;height:140%}.fx-p{left:var(--x);will-change:transform, opacity;position:absolute}.fx-embers .fx-p{width:calc(5px * var(--s));height:calc(5px * var(--s));box-shadow:0 0 calc(10px * var(--s)) #ff6a1a;animation:fx-rise var(--d) linear var(--delay) infinite;background:radial-gradient(circle,#fff3c4,#ff9a3d 45%,#ff4d1a 75%,#0000);border-radius:50%;bottom:-20px}.fx-bubbles .fx-p{width:calc(14px * var(--s));height:calc(14px * var(--s));border:1.5px solid color-mix(in srgb, var(--accent) 60%, white);opacity:.45;animation:fx-rise calc(var(--d) * 1.5) ease-in var(--delay) infinite;background:radial-gradient(circle at 30% 30%,#ffffff59,#0000 55%);border-radius:50%;bottom:-30px}@keyframes fx-rise{0%{opacity:0;transform:translate(0)scale(1)}10%{opacity:.9}70%{opacity:.7}to{transform:translate(var(--drift), -110vh) scale(.4);opacity:0}}.fx-petals .fx-p{width:calc(12px * var(--s));height:calc(9px * var(--s));opacity:.8;animation:fx-fall calc(var(--d) * 1.3) linear var(--delay) infinite;background:linear-gradient(135deg,#ffd1e4,#f28dbb);border-radius:80% 0;top:-30px}@keyframes fx-fall{0%{opacity:0;transform:translate(0)rotate(0)}10%{opacity:.85}50%{transform:translate(calc(var(--drift) * .6), 55vh) rotate(200deg)}to{transform:translate(var(--drift), 110vh) rotate(420deg);opacity:0}}.fx-stars .fx-p{top:var(--y);width:calc(2.4px * var(--s));height:calc(2.4px * var(--s));animation:fx-twinkle calc(var(--d) * .5) ease-in-out var(--delay) infinite;background:#fff;border-radius:50%;box-shadow:0 0 6px #c8beffe6}[data-theme=light] .fx-stars .fx-p{background:var(--accent);box-shadow:none}@keyframes fx-twinkle{0%,to{opacity:.15;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}.fx-fireflies .fx-p{top:var(--y);width:calc(5px * var(--s));height:calc(5px * var(--s));box-shadow:0 0 calc(12px * var(--s)) 2px #d6ff5cb3;animation:fx-wander var(--d) ease-in-out var(--delay) infinite alternate, fx-twinkle calc(var(--d) * .35) ease-in-out var(--delay) infinite;background:#eaff8a;border-radius:50%}@keyframes fx-wander{to{transform:translate(var(--drift), calc(var(--drift) * -.6))}}.fx-sparkles .fx-p{top:var(--y);width:calc(10px * var(--s));height:calc(10px * var(--s));clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:fx-glint calc(var(--d) * .45) ease-in-out var(--delay) infinite;background:linear-gradient(135deg,#fff6d0,#f2c14e)}@keyframes fx-glint{0%,to{opacity:0;transform:scale(.3)rotate(0)}50%{opacity:.9;transform:scale(1)rotate(45deg)}}.fx-band{filter:blur(60px);opacity:.35;mix-blend-mode:screen;border-radius:50%;width:140vw;height:45vh;animation:18s ease-in-out infinite alternate fx-aurora;position:absolute;top:-20vh;left:-20vw}.fx-band-1{background:linear-gradient(90deg,#0000,#2fe0a8,#5ff0c4,#0000)}.fx-band-2{background:linear-gradient(90deg,#0000,#9b6bff,#2fe0a8,#0000);animation-duration:24s;animation-delay:-8s;top:-10vh}.fx-band-3{background:linear-gradient(90deg,#0000,#36c7ff,#0000);height:30vh;animation-duration:30s;animation-delay:-15s;top:0}[data-theme=light] .fx-band{mix-blend-mode:multiply;opacity:.18}@keyframes fx-aurora{0%{transform:translate(-8vw)skewY(-6deg)scaleY(.8)}50%{transform:translate(6vw)skewY(4deg)scaleY(1.15)}to{transform:translate(-4vw)skewY(-2deg)scaleY(.9)}}.is-contained .fx-band{filter:blur(18px);width:200%;height:90%;top:-40%}@media (width<=640px){.theme-effects:not(.is-contained) .fx-p:nth-child(n+18){display:none}}@media (prefers-reduced-motion:reduce){.theme-effects{display:none}}.shop-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;margin:8px 0 12px;display:flex}.shop-section-head+.shop-grid+.shop-section-head{margin-top:28px}.shop-section-title{font-size:17px;font-weight:700}.scene-preview{background:radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--fx-glow-1) 30%, transparent), transparent 60%), radial-gradient(circle at 80% 90%, color-mix(in srgb, var(--fx-glow-2) 25%, transparent), transparent 60%), var(--preview-bg);isolation:isolate;height:130px;position:relative}.scene-card{z-index:1;background:#00000059;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex;position:relative}.scene-card .theme-preview-bar{width:60px;position:static}.scene-card .theme-preview-ring{width:34px;height:34px}.shop-item.is-scene{border-color:color-mix(in srgb, var(--preview) 30%, var(--border))}.shop-item.is-scene:hover{border-color:var(--preview);box-shadow:0 10px 30px color-mix(in srgb, var(--preview) 20%, transparent)}.is-contained .fx-p{--s:.7}.is-contained.fx-embers .fx-p,.is-contained.fx-bubbles .fx-p{bottom:-10px}.is-contained.fx-petals .fx-p{top:-10px}.is-contained .fx-p{animation-duration:calc(var(--d) * .5)!important}@keyframes fx-rise-small{to{transform:translate(calc(var(--drift) * .3), -150px);opacity:0}}.is-contained.fx-embers .fx-p,.is-contained.fx-bubbles .fx-p{animation-name:fx-rise-small}@keyframes fx-fall-small{0%{opacity:.9;transform:translate(0)rotate(0)}to{transform:translate(calc(var(--drift) * .3), 150px) rotate(300deg);opacity:0}}.is-contained.fx-petals .fx-p{animation-name:fx-fall-small}.theme-art{width:100%;height:100%;display:block}.theme-art [class^=art-],.theme-art [class*=\ art-]{transform-box:fill-box;transform-origin:50%}.theme-art.is-animated .art-float{animation:6s ease-in-out infinite art-float}.theme-art.is-animated .art-twinkle{animation:3.2s ease-in-out infinite art-twinkle}.theme-art.is-animated .art-flicker{animation:2.4s ease-in-out infinite art-flicker}.theme-art.is-animated .art-pulse{animation:5s ease-in-out infinite art-pulse}.theme-art.is-animated .art-drift{animation:14s ease-in-out infinite alternate art-drift}.theme-art.is-animated .art-spin{animation:60s linear infinite art-spin}.theme-art.is-animated .art-rise{animation:6s ease-out infinite art-rise}.theme-art.is-animated .art-fall{animation:10s linear infinite art-fall}.theme-art.is-animated .art-sway{transform-origin:50% 100%;animation:7s ease-in-out infinite alternate art-sway}@keyframes art-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes art-twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.7)}}@keyframes art-flicker{0%,to{opacity:1}30%{opacity:.8}55%{opacity:.95}75%{opacity:.72}}@keyframes art-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes art-drift{0%{transform:translate(-8px)}to{transform:translate(8px)}}@keyframes art-spin{to{transform:rotate(360deg)}}@keyframes art-rise{0%{opacity:0;transform:translateY(0)}15%{opacity:1}to{opacity:0;transform:translateY(-120px)}}@keyframes art-fall{0%{opacity:0;transform:translate(0)rotate(0)}10%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(18px,140px)rotate(240deg)}}@keyframes art-sway{0%{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}@media (prefers-reduced-motion:reduce){.theme-art *{animation:none!important}}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.shop-item.theme-card{gap:0;padding:0;overflow:hidden}.theme-card-art{aspect-ratio:16/10;background:#0b0b10;position:relative;overflow:hidden}.theme-card-art>svg{position:absolute;inset:0}.theme-card-art:after{content:"";background:linear-gradient(to bottom, transparent, var(--surface));pointer-events:none;position:absolute;inset:45% 0 0}.theme-card-icon{z-index:1;border:1px solid color-mix(in srgb, var(--preview) 50%, transparent);background:color-mix(in srgb, var(--preview) 22%, #0a0a0ebf);width:36px;height:36px;color:var(--preview-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;place-items:center;display:grid;position:absolute;bottom:10px;left:12px}.theme-card-art .rarity{z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0a0e99;position:absolute;top:10px;right:10px}.theme-card-body{flex-direction:column;flex:1;gap:6px;padding:12px 14px 14px;display:flex}.theme-card-actions{gap:8px;margin-top:auto;padding-top:6px;display:flex}.theme-card-actions>*{flex:1;justify-content:center}.theme-card-actions .shop-buy,.theme-card-actions .shop-equipped{margin-top:0}.theme-preview-bar-float{left:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:60;border:1px solid var(--accent);background:var(--bg-elev);box-shadow:var(--shadow);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:8px 8px 8px 14px;font-size:14px;animation:.22s modal-in;display:flex;position:fixed;transform:translate(-50%)}@media (width>=900px){.theme-preview-bar-float{bottom:24px}}.gym-tabs{margin-bottom:16px}.gym-resume{border:1px solid var(--accent);background:var(--accent-soft);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:14px;margin-bottom:16px;padding:14px 16px;display:flex}.gym-resume>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.gym-resume small{color:var(--text-2)}.gym-resume-dot{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:1.6s infinite gym-pulse}@keyframes gym-pulse{0%{box-shadow:0 0 0 0 var(--accent)}70%,to{box-shadow:0 0 0 10px #0000}}.gym-day-status{background:var(--surface-2);color:var(--text-3);white-space:nowrap;border-radius:999px;align-items:center;gap:2px;margin-top:4px;padding:1px 6px;font-size:10px;font-weight:650;display:inline-flex}.gym-day-status.is-done{background:var(--success-soft);color:var(--success)}.gym-day-status.is-missed{background:var(--danger-soft);color:var(--danger)}.gym-day-status.is-planned{color:var(--accent)}.gym-hero{background:radial-gradient(90% 80% at 100% 0%, var(--accent-soft), transparent 60%), var(--surface);gap:16px}.gym-hero h2{letter-spacing:-.02em;margin:4px 0 6px;font-size:24px}.gym-hero-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.gym-hero-meta{color:var(--text-2);gap:14px;margin-bottom:10px;font-size:13px;display:flex}.gym-hero-meta span{align-items:center;gap:5px;display:inline-flex}.gym-start{border-radius:999px;height:48px;padding:0 22px;font-size:15px}.gym-preview{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.gym-preview li{background:var(--surface-2);border-radius:12px;align-items:center;gap:10px;padding:8px;display:flex}.gym-preview-text,.gym-routine-text,.lib-item-text{flex-direction:column;min-width:0;display:flex}.gym-preview-text strong,.lib-item-text strong,.gym-routine-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.gym-preview-text small,.lib-item-text small,.gym-routine-text small{color:var(--text-3);font-size:12px}.gym-rest{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.gym-rest>div{flex-direction:column;flex:240px;align-items:flex-start;gap:8px;display:flex}.gym-rest h2{margin:0}.gym-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.gym-summary div{background:var(--surface-2);border-radius:12px;flex-direction:column;padding:12px;display:flex}.gym-summary strong{letter-spacing:-.02em;font-size:22px}.gym-summary span{color:var(--text-3);font-size:12px}.ex-thumb{object-fit:cover;background:#fff;border-radius:10px;flex:none}.ex-thumb.is-empty{background:var(--accent-soft);color:var(--accent);place-items:center;font-size:18px;font-weight:700;display:grid}.gym-session-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.gym-session-title{flex:220px;min-width:0}.gym-clock{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-family:ui-monospace,Consolas,monospace;font-weight:650;display:inline-flex}.gym-session-bar{width:100%;margin-bottom:16px}.gym-session-list{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;display:grid}.gym-ex{gap:12px}.gym-ex-head{align-items:center;gap:12px;display:flex}.gym-ex-head>div{flex:1;min-width:0}.gym-ex-head h3{margin:0;font-size:15px}.gym-sets{flex-direction:column;gap:6px;display:flex}.gym-set{border-radius:10px;grid-template-columns:38px minmax(0,1fr) 72px 64px 40px;align-items:center;gap:8px;padding:4px 6px;transition:background .15s;display:grid}.gym-set .input-sm{text-align:center;width:100%}.gym-set-head{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:650}.gym-set.is-done{background:var(--success-soft)}.gym-set-n{background:var(--surface-2);border-radius:8px;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:grid}.gym-check{border:1px solid var(--border-strong);background:var(--surface-2);width:36px;height:36px;color:var(--text-3);cursor:pointer;border-radius:10px;place-items:center;display:grid}.gym-check.is-on{border-color:var(--success);background:var(--success);color:#0e0f11}.gym-session-foot{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:16px;display:flex}.gym-routines{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.gym-routine{background:var(--surface-2);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:10px;display:flex}.gym-routine.is-selected{border-color:var(--accent);background:var(--accent-soft)}.gym-routine-day{width:38px;color:var(--text-2);text-transform:uppercase;font-size:12px;font-weight:700}.gym-plan-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.gym-plan-item{align-items:center;gap:8px;display:flex}.gym-plan-item>.input:not(.input-xs){flex:1;min-width:0}.gym-volume .mini-bar small{min-height:14px;color:var(--text-3);font-size:10px}.gym-volume .mini-bar>span{white-space:nowrap;font-size:10px}.gym-records{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.gym-records li{align-items:center;gap:10px;display:flex}.gym-records li>span{flex-direction:column;flex:1;min-width:0;display:flex}.gym-records strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.gym-records small{color:var(--text-3);font-size:11px}.gym-records b{color:var(--accent)}.modal.lib-modal{width:min(980px,100%);height:min(720px,100vh - 32px)}.lib-body{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:0;display:grid}.lib-list-pane{border-right:1px solid var(--border);flex-direction:column;gap:10px;min-height:0;padding:16px;display:flex}.lib-filters{flex-wrap:wrap;gap:8px;display:flex}.lib-filters .input-sm{flex:130px;width:auto}.lib-list{flex-direction:column;flex:1;gap:4px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.lib-item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:6px;display:flex}.lib-item:hover{background:var(--surface-2)}.lib-item.is-selected{border-color:var(--accent);background:var(--accent-soft)}.lib-item-text{flex:1}.lib-fav-mark{color:var(--danger);fill:var(--danger);flex:none}.lib-empty{text-align:center;padding:20px}.lib-create{justify-content:center}.lib-detail-pane{min-height:0;padding:16px;overflow-y:auto}.lib-placeholder{height:100%;color:var(--text-3);text-align:center;align-content:center;place-items:center;gap:10px;display:grid}.lib-detail{flex-direction:column;gap:12px;display:flex}.lib-detail h3{margin:0;font-size:20px}.lib-back{align-self:flex-start;display:none}.lib-photo{aspect-ratio:4/3;background:#fff;border-radius:16px;place-items:center;display:grid;position:relative;overflow:hidden}.lib-photo img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .45s;position:absolute;inset:0}.lib-photo img.is-visible{opacity:1}.lib-heart{color:#fff;cursor:pointer;background:#0e0f11b3;border:0;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:10px;right:10px}.lib-heart.is-on{color:#f08484}.lib-heart.is-on svg{fill:currentColor}.lib-howto h4{margin:0 0 6px;font-size:14px}.lib-howto ol{color:var(--text-2);flex-direction:column;gap:6px;margin:8px 0 0;padding-left:20px;font-size:14px;line-height:1.5;display:flex}.lib-meta{color:var(--text-2);gap:12px;font-size:13px;display:flex}.lib-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=760px){.modal.lib-modal{height:calc(100vh - 32px)}.lib-body{grid-template-columns:1fr}.lib-list-pane{border-right:0}.lib-detail-pane,.lib-modal.has-detail .lib-list-pane{display:none}.lib-modal.has-detail .lib-detail-pane{display:block}.lib-back{display:inline-flex}.gym-session-list{grid-template-columns:1fr}.gym-set{grid-template-columns:30px minmax(0,1fr) 62px 54px 38px;gap:6px}}.missions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.mission{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;flex-direction:column;gap:10px;padding:12px;transition:border-color .2s,background .2s;display:flex}.mission.is-done:not(.is-claimed){border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}.mission.is-claimed{opacity:.75}.mission-head{align-items:center;gap:10px;display:flex}.mission-head strong{flex:1;min-width:0;font-size:14px;line-height:1.3}.mission-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.mission.is-claimed .mission-icon{background:var(--success-soft);color:var(--success)}.mission-swap{color:var(--text-3);flex:none}.mission-bar{background:var(--surface);border-radius:999px;height:6px;overflow:hidden}.mission-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-strong));height:100%;transition:width .4s;display:block}.mission.is-claimed .mission-bar span{background:var(--success)}.mission-foot{justify-content:space-between;align-items:center;gap:8px;min-height:30px;display:flex}.mission-reward{color:var(--text-2);white-space:nowrap;align-items:center;gap:4px;font-size:12px;font-weight:650;display:inline-flex}.mission-claimed{color:var(--success);align-items:center;gap:4px;font-size:13px;font-weight:650;display:inline-flex}.mission-claim{animation:1.6s ease-in-out infinite mission-pop}@keyframes mission-pop{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.missions-bonus{border:1px dashed var(--border-strong);color:var(--text-2);border-radius:12px;align-items:center;gap:8px;margin-top:4px;padding:10px 12px;font-size:13px;display:flex}.missions-bonus span{flex:1}.missions-bonus.is-done{border-style:solid;border-color:var(--success);background:var(--success-soft);color:var(--success)}@media (prefers-reduced-motion:reduce){.mission-claim{animation:none}}@media (width<=760px){.missions{grid-template-columns:1fr}}.reminders-switch{background:var(--surface-2);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.reminders-switch>div{flex:180px}.reminders-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.reminders-list li{justify-content:space-between;align-items:center;gap:10px;padding:6px 2px;display:flex}.reminders-list li.is-off .reminders-toggle span{opacity:.55}.reminders-toggle{cursor:pointer;flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.reminders-toggle input{accent-color:var(--accent);margin-top:3px}.reminders-toggle span{flex-direction:column;min-width:0;display:flex}.reminders-toggle strong{font-size:14px}.reminders-toggle small{color:var(--text-3);font-size:12px}.reminders-list .input-sm{flex:none;width:104px}.habit-time-input{flex:none;width:112px}.habit-create-time{color:var(--text-2);font-size:13px}.habit-create-time svg{color:var(--accent)}.reminders-list li:has(.reminders-sub){flex-wrap:wrap}.reminders-sub{box-sizing:border-box;background:var(--surface-2);width:calc(100% - 24px);color:var(--text-2);border-radius:10px;flex-wrap:wrap;gap:8px 16px;margin-left:24px;padding:8px 10px;font-size:13px;display:flex}.reminders-sub .input-sm{width:auto}.reminders-sub .inline-field{white-space:normal}.gym-hero-actions{flex-direction:column;align-items:stretch;gap:8px;min-width:200px;display:flex}.gym-hero-actions small{text-align:center;font-size:12px}.gym-quick{justify-content:center}.gym-quick-done{background:var(--success-soft);color:var(--success);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-weight:650;display:flex}.gym-quick-done span{align-items:center;gap:6px;display:inline-flex}@media (width<=760px){.gym-hero-actions{width:100%}}.gym-quick-form{gap:8px;width:100%;max-width:460px;display:grid}.gym-quick-row{align-items:center;gap:8px;display:flex}.gym-quick-row .input{flex:1;min-width:0}.gym-quick-name{opacity:.85;font-style:normal;font-weight:600}.gym-history-row .input-sm{width:100%;max-width:280px}.fin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.fin-month{align-items:center;gap:6px;display:flex}.fin-month strong{text-align:center;min-width:150px;font-size:16px}.fin-currency{align-items:center;gap:8px;display:flex}.fin-currency .input{width:auto;padding-top:6px;padding-bottom:6px}.fin-tile-in .tile-icon{color:var(--success)}.fin-tile-out .tile-icon,.fin-tile-out .big-number{color:var(--danger)}.fin-icon{background:color-mix(in srgb, var(--cat) 18%, transparent);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:15px;line-height:1;display:inline-grid}.fin-cats,.fin-goals{flex-direction:column;gap:14px;display:flex}.fin-goals li{flex-direction:column;gap:6px;display:flex}.fin-cat-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.fin-goals .fin-cat-head{margin-bottom:0}.fin-cat-name{align-items:center;gap:8px;min-width:0;font-weight:550;display:flex}.fin-cat-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}.fin-bar{background:var(--surface-2);border-radius:99px;height:8px;overflow:hidden}.fin-bar span{border-radius:inherit;height:100%;transition:width .4s;display:block}.fin-over,.fin-late{color:var(--danger)}.fin-over{margin-top:4px;display:block}.fin-income,.fin-done{color:var(--success)}.fin-goal-title{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.fin-goal-title:hover{color:var(--accent)}.fin-tx{margin-top:12px}.fin-tx-row{border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:8px;transition:background .15s;display:flex}.fin-tx-row:hover{background:var(--surface-2)}.fin-tx-body{flex-direction:column;flex:1;min-width:0;display:flex}.fin-tx-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fin-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.fin-amount.is-in{color:var(--success)}.fin-budget-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=640px){.fin-month strong{min-width:0}.fin-tiles .big-number{font-size:19px}}.fin-plan{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.fin-plan.is-done{border-color:color-mix(in srgb, var(--success) 45%, transparent);color:var(--success)}.fin-plan.is-late{border-color:color-mix(in srgb, var(--warning,#e0a030) 55%, transparent)}.fin-plan.is-late>.small{color:var(--warning,#d9921f)}.fin-plan-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 10px;display:flex}.fin-streak{white-space:nowrap;color:var(--text);font-size:12px;font-weight:600}.fin-plan-hint{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;display:flex}.fin-days{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fin-days .date-chip{align-items:center;gap:4px;padding:6px 12px;font-size:13px;display:inline-flex}.fin-days .date-chip:disabled{cursor:default}.fin-day-add{width:auto;min-width:150px;padding-top:6px;padding-bottom:6px}
