@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/big-shoulders-display-vietnamese-700-normal-DCH5bIkD.woff2)format("woff2"),url(/assets/big-shoulders-display-vietnamese-700-normal-D5dmK5Ek.woff)format("woff");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:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/big-shoulders-display-latin-ext-700-normal-C8xZtiKd.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-ext-700-normal-D98SaizC.woff)format("woff");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:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/big-shoulders-display-latin-700-normal-KM2fueoL.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-700-normal-CMi6UoP4.woff)format("woff");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}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-vietnamese-800-normal-TfqTMNKp.woff2)format("woff2"),url(/assets/big-shoulders-display-vietnamese-800-normal-zHzF0To4.woff)format("woff");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:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-latin-ext-800-normal-fpv_pHPA.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-ext-800-normal-BQnXNQRw.woff)format("woff");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:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-latin-800-normal-DDUD9Xuh.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-800-normal-CI0lhnTM.woff)format("woff");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}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.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}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/newsreader-vietnamese-400-italic-bZegYFuM.woff2)format("woff2"),url(/assets/newsreader-vietnamese-400-italic-QbB8kb5s.woff)format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-ext-400-italic-BMTE_bNQ.woff2)format("woff2"),url(/assets/newsreader-latin-ext-400-italic-qdgKLcPG.woff)format("woff");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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-400-italic-CEihAR-f.woff2)format("woff2"),url(/assets/newsreader-latin-400-italic-CNZoH1hn.woff)format("woff");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}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.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{--font-display:"Big Shoulders Display", "Arial Narrow", sans-serif;--font-body:"Instrument Sans Variable", "Instrument Sans", system-ui, sans-serif;--font-voice:"Newsreader", Georgia, serif;--font-mono:"JetBrains Mono Variable", ui-monospace, monospace;--radius:18px;--radius-sm:11px;--radius-xs:7px;--rail:248px;--gutter:clamp(16px, 3.4vw, 36px);--ease:cubic-bezier(.2, .8, .2, 1);--green:#36c98a;--yellow:#f1bd3f;--red:#ff5a52;--accent:#ff5a36;--accent-ink:#1a0a05;--c-uni:#6ea8ff;--c-kraft:#ff5a36;--c-kampf:#ff9147;--c-sport:#97d16a;--c-cardio:#56d4c4;--c-meal:#e7b973;--c-study:#4ccfe0;--c-sleep:#6c7a99;--c-routine:#b3a58c;--c-other:#a9b4c6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0f18;--bg-2:#0e1521;--surface:#121b29;--surface-2:#182335;--surface-3:#1f2c41;--line:#ece4d216;--line-strong:#ece4d22b;--text:#ede7d8;--text-2:#c3c7cf;--muted:#8a94a6;--faint:#5c677a;--shadow:0 1px 0 #ffffff08 inset, 0 20px 50px -30px #000c;--glow:var(--c-sleep);--grain-opacity:.06}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2eee4;--bg-2:#ebe6da;--surface:#fbf9f4;--surface-2:#f4f0e7;--surface-3:#e9e3d6;--line:#141c2a17;--line-strong:#141c2a2e;--text:#111926;--text-2:#2f3a4b;--muted:#677286;--faint:#9aa2b0;--shadow:0 1px 0 #ffffffb3 inset, 0 18px 40px -28px #281e0a59;--accent:#e0461f;--green:#1f9e67;--yellow:#c98f0a;--red:#d9372f;--c-uni:#2f6fd6;--c-kampf:#d96a1c;--c-sport:#5f9a2e;--c-cardio:#16968a;--c-meal:#b07d2a;--c-study:#0f8fa3;--c-sleep:#6b7896;--c-routine:#8a7a5b;--c-other:#6b778a;--grain-opacity:.045}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2eee4;--bg-2:#ebe6da;--surface:#fbf9f4;--surface-2:#f4f0e7;--surface-3:#e9e3d6;--line:#141c2a17;--line-strong:#141c2a2e;--text:#111926;--text-2:#2f3a4b;--muted:#677286;--faint:#9aa2b0;--shadow:0 1px 0 #ffffffb3 inset, 0 18px 40px -28px #281e0a59;--accent:#e0461f;--green:#1f9e67;--yellow:#c98f0a;--red:#d9372f;--c-uni:#2f6fd6;--c-kampf:#d96a1c;--c-sport:#5f9a2e;--c-cardio:#16968a;--c-meal:#b07d2a;--c-study:#0f8fa3;--c-sleep:#6b7896;--c-routine:#8a7a5b;--c-other:#6b778a;--grain-opacity:.045}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01", "cv11";margin:0;font-size:15px;line-height:1.5;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}img,svg{display:block}::selection{background:color-mix(in oklab, var(--accent) 35%, transparent)}.ambient{pointer-events:none;z-index:0;background:radial-gradient(1200px 520px at 78% -8%, color-mix(in oklab, var(--glow) 26%, transparent), transparent 70%), radial-gradient(700px 400px at 0% 100%, color-mix(in oklab, var(--accent) 7%, transparent), transparent 70%);transition:background 1.2s var(--ease);position:fixed;inset:0}.ambient:after{content:"";opacity:var(--grain-opacity);mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:-50%}[data-glow=green]{--glow:var(--green)}[data-glow=yellow]{--glow:var(--yellow)}[data-glow=red]{--glow:var(--red)}.shell{z-index:1;grid-template-columns:1fr;min-height:100dvh;display:grid;position:relative}@media (width>=1000px){.shell{grid-template-columns:var(--rail) 1fr}}.rail{border-right:1px solid var(--line);background:color-mix(in oklab, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-direction:column;gap:22px;height:100dvh;padding:26px 16px 20px;display:none;position:sticky;top:0;overflow-y:auto}@media (width>=1000px){.rail{display:flex}}.wordmark{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;align-items:baseline;gap:2px;padding:0 10px;font-size:34px;font-weight:800;line-height:.9;text-decoration:none;display:flex}.wordmark i{color:var(--accent);font-style:normal}.wordmark small{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);margin-left:8px;font-size:10px;font-weight:500}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group>span{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:0 12px 6px;font-size:10px}.nav-link{border-radius:var(--radius-sm);color:var(--text-2);align-items:center;gap:12px;padding:9px 12px;font-size:14.5px;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:flex}.nav-link svg{opacity:.75;width:18px;height:18px}.nav-link:hover{background:var(--surface);color:var(--text)}.nav-link.active{background:var(--surface-2);color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.nav-link.active svg{opacity:1;color:var(--accent)}.rail-foot{border-radius:var(--radius-sm);border:1px dashed var(--line-strong);color:var(--muted);margin-top:auto;padding:12px;font-size:12.5px}.main{min-width:0;padding:0 var(--gutter) calc(110px + env(safe-area-inset-bottom))}@media (width>=1000px){.main{padding-bottom:60px}}.page{max-width:1180px;animation:page-in .5s var(--ease) backwards;margin:0 auto}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.topbar{padding:calc(14px + env(safe-area-inset-top)) 0 10px;justify-content:space-between;align-items:center;gap:12px;display:flex}@media (width>=1000px){.topbar{padding-top:26px}}.topbar .wordmark{padding:0;font-size:26px}@media (width>=1000px){.topbar .wordmark{display:none}}.tabbar{z-index:30;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:color-mix(in oklab, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}@media (width>=1000px){.tabbar{display:none}}.tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font-size:11px;font-weight:600;text-decoration:none;display:flex}.tab svg{width:22px;height:22px}.tab.active{color:var(--text)}.tab.active svg{color:var(--accent)}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:11px;line-height:1.6;display:block}.eyebrow .dot{background:var(--accent);vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.eyebrow .faint{margin:0 6px}.h1{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.005em;margin:6px 0 0;font-size:clamp(40px,7.4vw,76px);font-weight:800;line-height:.88}.h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:26px;font-weight:700;line-height:1}.h3{letter-spacing:-.005em;margin:0;font-size:16px;font-weight:650}.voice{font-family:var(--font-voice);color:var(--text-2);font-size:17px;font-style:italic;line-height:1.45}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:13px}.tiny{font-size:11.5px}.mono{font-family:var(--font-mono);letter-spacing:.02em;font-size:12px}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:700}.tab-nums{font-variant-numeric:tabular-nums}.stack{gap:var(--gap,14px);flex-direction:column;display:flex}.row{align-items:center;gap:var(--gap,10px);display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.top{align-items:flex-start}.grow{flex:1;min-width:0}.grid{gap:var(--gap,16px);display:grid}.cols-2,.cols-3{grid-template-columns:1fr}@media (width>=760px){.cols-2{grid-template-columns:1fr 1fr}.cols-3{grid-template-columns:repeat(3,1fr)}}.today-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=1100px){.today-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}}.span-all{grid-column:1/-1}.section-head{justify-content:space-between;align-items:flex-end;gap:12px;margin:30px 0 12px;display:flex}.divider{background:var(--line);height:1px;margin:6px 0}.hide-mobile{display:none}@media (width>=760px){.hide-mobile{display:initial}.hide-desktop{display:none}}.card{background:linear-gradient(180deg, color-mix(in oklab, var(--surface) 96%, var(--text) 4%), var(--surface));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:18px;position:relative}@media (width>=760px){.card{padding:22px}}.card.flat{background:var(--surface);box-shadow:none}.card.inset{background:var(--bg-2);box-shadow:none}.card.tight{padding:14px}.card-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.card-title .h3{align-items:center;gap:8px;display:flex}.card-title .h3 svg{width:17px;height:17px;color:var(--muted)}.stagger>*{animation:rise .55s var(--ease) backwards}.stagger>:nth-child(2){animation-delay:50ms}.stagger>:nth-child(3){animation-delay:.1s}.stagger>:nth-child(4){animation-delay:.15s}.stagger>:nth-child(5){animation-delay:.2s}.stagger>:nth-child(6){animation-delay:.25s}.stagger>:nth-child(n+7){animation-delay:.3s}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.btn{border:1px solid var(--line-strong);background:var(--surface-2);height:40px;color:var(--text);cursor:pointer;transition:transform .15s var(--ease), background .2s, border-color .2s, opacity .2s;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn svg{width:16px;height:16px}.btn:hover{background:var(--surface-3)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:var(--accent);color:#fff;border-color:#0000}.btn.primary:hover{background:color-mix(in oklab, var(--accent) 88%, white)}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{height:32px;padding:0 12px;font-size:13px}.btn.lg{height:50px;padding:0 22px;font-size:15.5px}.btn.block{width:100%}.btn.danger{color:var(--red)}.icon-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:38px;height:38px;color:var(--text-2);border-radius:50%;place-items:center;transition:background .2s,transform .15s;display:inline-grid}.icon-btn svg{width:17px;height:17px}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn:active{transform:scale(.94)}.icon-btn.sm{width:30px;height:30px}.icon-btn.sm svg{width:15px;height:15px}.seg{background:var(--bg-2);border:1px solid var(--line);scrollbar-width:none;border-radius:999px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;transition:background .2s,color .2s}.seg button.on{background:var(--surface-3);color:var(--text);box-shadow:0 1px 3px #0003}.seg.block{border-radius:18px;flex-wrap:wrap;width:100%;display:flex;overflow:visible}.seg.block button{flex:auto;min-height:36px}.chip{background:var(--surface-2);border:1px solid var(--line);height:26px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.chip svg{width:13px;height:13px}.chip.green{color:var(--green);background:color-mix(in oklab, var(--green) 12%, transparent);border-color:color-mix(in oklab, var(--green) 30%, transparent)}.chip.yellow{color:var(--yellow);background:color-mix(in oklab, var(--yellow) 12%, transparent);border-color:color-mix(in oklab, var(--yellow) 30%, transparent)}.chip.red{color:var(--red);background:color-mix(in oklab, var(--red) 12%, transparent);border-color:color-mix(in oklab, var(--red) 30%, transparent)}.chip.accent{color:var(--accent);background:color-mix(in oklab, var(--accent) 12%, transparent);border-color:color-mix(in oklab, var(--accent) 30%, transparent)}.chip.solid{background:var(--text);color:var(--bg);border-color:#0000}button.chip{cursor:pointer}button.chip.on{background:var(--text);color:var(--bg);border-color:#0000}.dot-c{background:var(--c,var(--muted));border-radius:50%;flex:none;width:9px;height:9px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.label{color:var(--muted);letter-spacing:.01em;font-size:12px;font-weight:600}.input,.select,.textarea{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-2);width:100%;height:42px;color:var(--text);outline:none;padding:0 12px;transition:border-color .2s,box-shadow .2s}.textarea{resize:vertical;height:auto;min-height:76px;padding:10px 12px}.input:focus,.select:focus,.textarea:focus{border-color:color-mix(in oklab, var(--accent) 60%, transparent);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 16%, transparent)}.input.num-input{font-variant-numeric:tabular-nums;text-align:center;font-weight:600}.input.sm{height:36px;padding:0 8px;font-size:14px}.input-suffix{position:relative}.input-suffix .input{padding-right:40px}.input-suffix span{color:var(--muted);pointer-events:none;font-size:12px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.switch{flex:none;width:44px;height:26px;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;margin:0;position:absolute;inset:0}.switch span{background:var(--surface-3);border:1px solid var(--line-strong);border-radius:999px;transition:background .2s;position:absolute;inset:0}.switch span:after{content:"";background:var(--text);width:18px;height:18px;transition:transform .25s var(--ease);border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+span{background:var(--accent);border-color:#0000}.switch input:checked+span:after{background:#fff;transform:translate(18px)}.switch input:focus-visible+span{box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 30%, transparent)}.scale{grid-template-columns:repeat(var(--n,5), 1fr);gap:6px;display:grid}.scale button{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-2);cursor:pointer;height:44px;font-weight:700;font-family:var(--font-display);font-size:19px;transition:all .15s}.scale button.on{background:var(--text);color:var(--bg);border-color:#0000}.check{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--line);background:var(--bg-2);text-align:left;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background .2s,border-color .2s;display:flex}.check:hover{border-color:var(--line-strong)}.check .box{border:1.5px solid var(--line-strong);border-radius:7px;flex:none;place-items:center;width:22px;height:22px;transition:all .2s;display:grid}.check .box svg{opacity:0;width:14px;height:14px;transition:all .2s var(--ease);color:#fff;transform:scale(.6)}.check.on .box{background:var(--green);border-color:#0000}.check.on .box svg{opacity:1;transform:none}.check.on .check-title{text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);color:var(--muted)}.sheet-backdrop{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04070c8c;justify-content:center;align-items:flex-end;animation:.2s both fade;display:flex;position:fixed;inset:0}@media (width>=760px){.sheet-backdrop{align-items:center;padding:30px}}.sheet{overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line-strong);width:100%;max-width:620px;max-height:92dvh;padding:8px 20px calc(24px + env(safe-area-inset-bottom));animation:sheet-up .35s var(--ease) both;border-radius:24px 24px 0 0;overflow-y:auto}@media (width>=760px){.sheet{border-radius:24px;padding:8px 26px 26px}}.sheet.wide{max-width:860px}.sheet-grip{background:var(--line-strong);border-radius:3px;width:42px;height:5px;margin:4px auto 10px}@media (width>=760px){.sheet-grip{display:none}}.sheet-head{background:var(--surface);z-index:2;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0 16px;display:flex;position:sticky;top:-8px}@keyframes fade{0%{opacity:0}}@keyframes sheet-up{0%{opacity:0;transform:translateY(30px)}}.toasts{left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:80;flex-direction:column;gap:8px;width:min(92vw,420px);display:flex;position:fixed;transform:translate(-50%)}@media (width>=1000px){.toasts{bottom:28px}}.toast{background:var(--text);color:var(--bg);animation:sheet-up .3s var(--ease) both;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;font-weight:600;display:flex;box-shadow:0 16px 40px -12px #00000080}.toast svg{flex:none;width:18px;height:18px}.toast button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;font-weight:700;text-decoration:underline}.verdict{background:radial-gradient(600px 300px at 100% 0%, color-mix(in oklab, var(--vc,var(--muted)) 18%, transparent), transparent 70%), linear-gradient(180deg, color-mix(in oklab, var(--surface) 94%, var(--text) 6%), var(--surface));padding:22px;position:relative;overflow:hidden}@media (width>=760px){.verdict{padding:28px}}.verdict[data-color=green]{--vc:var(--green)}.verdict[data-color=yellow]{--vc:var(--yellow)}.verdict[data-color=red]{--vc:var(--red)}.verdict-grid{grid-template-columns:1fr;align-items:center;gap:20px;display:grid}@media (width>=620px){.verdict-grid{grid-template-columns:auto 1fr;gap:28px}}.verdict-headline{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.005em;text-wrap:balance;margin:8px 0 10px;font-size:clamp(34px,5.6vw,56px);font-weight:800;line-height:.9}.verdict-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.verdict-list li{color:var(--text-2);align-items:baseline;gap:10px;font-size:15px;display:flex}.verdict-list li:before{content:"";background:var(--vc,var(--accent));flex:none;width:14px;height:2px;transform:translateY(-4px)}.verdict-stripe{background:var(--vc,var(--muted));width:4px;position:absolute;top:0;bottom:0;left:0}.ring-wrap{flex:none;width:168px;height:168px;margin:0 auto;position:relative}.ring-wrap .ring-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:58px;font-weight:800;line-height:.85}.ring-value small{opacity:.6;font-size:24px}.ring-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:10px}.ring-arc{transition:stroke-dashoffset 1.3s var(--ease)}.reasons{flex-direction:column;gap:8px;display:flex}.reason{border-radius:var(--radius-sm);background:var(--bg-2);border:1px solid var(--line);align-items:flex-start;gap:12px;padding:11px 12px;display:flex}.reason svg{flex:none;width:17px;height:17px;margin-top:2px}.reason.warn{border-color:color-mix(in oklab, var(--yellow) 35%, transparent)}.reason.warn svg{color:var(--yellow)}.reason.stop{border-color:color-mix(in oklab, var(--red) 45%, transparent);background:color-mix(in oklab, var(--red) 8%, var(--bg-2))}.reason.stop svg{color:var(--red)}.reason.info svg{color:var(--muted)}.reason strong{font-size:14px;font-weight:650;display:block}.reason p{color:var(--muted);margin:2px 0 0;font-size:13px}.choices{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=560px){.choices{grid-template-columns:repeat(3,1fr)}}.choice{text-align:left;border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:var(--bg-2);cursor:pointer;transition:all .2s var(--ease);flex-direction:column;gap:4px;padding:14px;display:flex}.choice:hover{border-color:var(--text-2)}.choice.on{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 9%, var(--bg-2))}.choice strong{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-size:22px;font-weight:700}.choice span{color:var(--muted);font-size:12.5px;line-height:1.4}.vitals{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (width>=620px){.vitals{grid-template-columns:repeat(3,1fr)}}.vital{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-2);cursor:pointer;transition:border-color .2s, transform .2s var(--ease);flex-direction:column;gap:6px;min-width:0;padding:14px;display:flex;position:relative}.vital:hover,.vital:focus-visible{border-color:var(--line-strong);outline:none;transform:translateY(-1px)}.vital .v-label{color:var(--muted);justify-content:space-between;gap:6px;font-size:12px;font-weight:600;display:flex}.vital .v-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:.9}.vital .v-value small{color:var(--muted);margin-left:3px;font-size:15px;font-weight:600}.vital .v-sub{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:flex}.vital .v-sub.up{color:var(--green)}.vital .v-sub.down{color:var(--red)}.vital .v-spark{height:26px;margin-top:2px}.vital .v-preview{z-index:5;background:var(--text);color:var(--bg);opacity:0;pointer-events:none;transition:all .2s var(--ease);border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.4;position:absolute;bottom:calc(100% + 6px);left:8px;right:8px;transform:translateY(4px)}.vital:hover .v-preview,.vital:focus-visible .v-preview{opacity:1;transform:none}@media (hover:none){.vital .v-preview{display:none}}.timeline{flex-direction:column;display:flex;position:relative}.tl-item{grid-template-columns:52px 18px 1fr;align-items:stretch;gap:10px;min-height:44px;display:grid}.tl-time{font-family:var(--font-mono);color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;padding-top:11px;font-size:12px}.tl-rail{justify-content:center;display:flex;position:relative}.tl-rail:before{content:"";background:var(--line-strong);width:1px;position:absolute;top:0;bottom:0}.tl-item:first-child .tl-rail:before{top:16px}.tl-item:last-child .tl-rail:before{bottom:calc(100% - 16px)}.tl-rail i{background:var(--bg);border:2.5px solid var(--c,var(--muted));z-index:1;border-radius:50%;width:11px;height:11px;margin-top:13px;position:relative}.tl-body{min-width:0;padding:8px 0 10px}.tl-body strong{font-size:14.5px;font-weight:600;display:block}.tl-body span{color:var(--muted);font-size:12.5px}.tl-item.past{opacity:.5}.tl-item.dim strong{color:var(--muted);text-decoration:line-through}.tl-item.now .tl-rail i{box-shadow:0 0 0 5px color-mix(in oklab, var(--c,var(--accent)) 25%, transparent)}.tl-now{grid-template-columns:52px 18px 1fr;align-items:center;gap:10px;height:18px;display:grid}.tl-now b{font-family:var(--font-mono);color:var(--accent);text-align:right;font-size:11px}.tl-now span{background:var(--accent);border-radius:2px;grid-column:2/4;height:2px;position:relative}.tl-now span:before{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:3px}[data-kind=uni-vl],[data-kind=uni-ue],[data-kind=uni-other]{--c:var(--c-uni)}[data-kind=kraft]{--c:var(--c-kraft)}[data-kind=kampf]{--c:var(--c-kampf)}[data-kind=sport]{--c:var(--c-sport)}[data-kind=cardio]{--c:var(--c-cardio)}[data-kind=meal]{--c:var(--c-meal)}[data-kind=study]{--c:var(--c-study)}[data-kind=sleep]{--c:var(--c-sleep)}[data-kind=commute]{--c:var(--faint)}[data-kind=routine]{--c:var(--c-routine)}[data-kind=other]{--c:var(--c-other)}.main:has(.cal-page){padding-bottom:0}body:has(.cal-page) .fab{display:none}.cal-page{height:calc(100dvh - 76px - env(safe-area-inset-bottom));padding-top:calc(10px + env(safe-area-inset-top));max-width:1480px;animation:page-in .4s var(--ease) backwards;flex-direction:column;gap:10px;margin:0 auto;padding-bottom:10px;display:flex}@media (width>=1000px){.cal-page{height:100dvh;padding-top:18px;padding-bottom:18px}}.cal-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.cal-bar .wordmark{padding:0 4px 0 0;font-size:22px}.cal-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;margin:0 0 0 4px;font-size:24px;font-weight:700;line-height:1;overflow:hidden}@media (width<=640px){.cal-title{font-size:19px}}.hide-mobile-inline{display:none}@media (width>=760px){.hide-mobile-inline{display:inline-flex}}.cal-legend{scrollbar-width:none;flex:none;gap:6px 14px;padding-bottom:2px;display:flex;overflow-x:auto}.cal-legend::-webkit-scrollbar{display:none}.legend-chip{color:var(--text-2);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.legend-chip i{border-radius:3px;width:10px;height:10px}.cal-filters{border-right:1px solid var(--line);flex:none;gap:6px;padding-right:10px;display:inline-flex}.cal-filters .chip{gap:5px;height:24px;padding:0 9px;font-size:11.5px}.cal-filters .chip svg{width:12px;height:12px}.cal-filters .chip:not(.on){color:var(--faint);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklab, var(--faint) 60%, transparent);text-decoration-color:color-mix(in oklab, var(--faint) 60%, transparent);background:0 0}.week{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.week-head{border-bottom:1px solid var(--line);background:var(--surface);flex:none;display:grid}.week-head>div{text-align:center;min-width:0;padding:8px 4px 7px}.week-head>div+div{border-left:1px solid var(--line)}.week-head .wd{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.week-head .dn-inline{font-family:var(--font-display);color:var(--text);letter-spacing:0;margin-left:2px;font-size:19px;font-weight:700}.week-head .today .dn-inline{color:#fff;background:var(--accent);border-radius:8px;padding:0 6px}.week-head .unit{color:var(--muted);white-space:nowrap;justify-content:center;align-items:center;gap:5px;margin-top:3px;font-size:11px;font-weight:600;display:flex;overflow:hidden}.week-scroll{flex:1;min-height:0;overflow-y:auto}.week-body{display:grid;position:relative}.hours{position:relative}.hours div{font-family:var(--font-mono);color:var(--faint);font-size:10px;position:absolute;right:6px;transform:translateY(-6px)}.hours div:first-child{transform:none}.day-col{border-left:1px solid var(--line);position:relative}.day-col.today{background:color-mix(in oklab, var(--accent) 3.5%, transparent)}.hour-line{background:var(--line);height:1px;position:absolute;left:0;right:0}.sleep-shade{background:repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in oklab, var(--c-sleep) 9%, transparent) 6px 7px);pointer-events:none;position:absolute;left:0;right:0}.ev{cursor:pointer;text-align:left;color:var(--text);background:color-mix(in oklab, var(--c) 17%, var(--surface));box-shadow:inset 3px 0 0 var(--c);border:0;border-radius:8px;flex-direction:column;gap:1px;padding:4px 7px;font-size:11px;line-height:1.25;transition:filter .15s,transform .15s;display:flex;position:absolute;overflow:hidden}.ev:hover{filter:brightness(1.1);z-index:4}.ev.strong{background:color-mix(in oklab, var(--c) 32%, var(--surface))}.ev strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:650;display:block;overflow:hidden}.ev .ev-time{color:var(--text-2);opacity:.8;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.ev .ev-badge{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--c);color:#0b1017;border-radius:4px;align-self:flex-start;padding:1px 5px;font-size:9px;font-weight:600;line-height:1.4}.ev.compact{flex-direction:row;align-items:center;gap:5px;padding:1px 6px}.ev.compact strong{font-size:11px}.ev.minor{box-shadow:none;outline:1px dashed color-mix(in oklab, var(--c) 55%, transparent);outline-offset:-1px;color:var(--muted);background:0 0}.ev.minor strong{font-size:11px;font-weight:500}.ev.minor .ev-time{opacity:.7}.ev.transparent{background:repeating-linear-gradient(135deg, color-mix(in oklab, var(--c) 12%, transparent) 0 5px, transparent 5px 10px);box-shadow:none;color:var(--muted)}.ev.transparent strong{font-size:10.5px;font-weight:500}.ev.exam{box-shadow:inset 3px 0 0 var(--c), inset 0 0 0 1.5px var(--c)}.ev.dim{opacity:.4;text-decoration:line-through}.ev.ev-meal{background:color-mix(in oklab, var(--c) 13%, var(--surface));box-shadow:inset 2px 0 0 var(--c);color:var(--text-2);outline:0}.ev.ev-meal strong{flex-shrink:0;max-width:72%;font-weight:550}.ev.ev-meal.compact .ev-time{flex:1;min-width:0}.ev.ev-meal{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.ev.ev-meal.dragging{z-index:8;cursor:grabbing;box-shadow:inset 2px 0 0 var(--c), 0 6px 18px #00000040;filter:brightness(1.08);transition:none}.ev.ev-meal.away{outline:1px dashed color-mix(in oklab, var(--c) 70%, transparent);outline-offset:-1px}.rail-tick{background:var(--c);opacity:.9;pointer-events:auto;border-radius:50%;width:6px;height:6px;position:absolute;right:3px}.rail-label{cursor:pointer;height:15px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;text-align:left;font-variant-numeric:tabular-nums;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:10.5px;display:flex;position:absolute;overflow:hidden}.rail-label i{background:var(--c);border-radius:50%;flex:none;width:6px;height:6px}.rail-label:hover{color:var(--text)}.now-line{background:var(--accent);z-index:5;pointer-events:none;height:2px;position:absolute;left:0;right:0}.now-line:before{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px}.month{flex:1;grid-template-rows:auto;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:5px;min-height:0;display:grid}.month .mh{font-family:var(--font-mono);text-align:center;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;padding-bottom:2px;font-size:10.5px}.mday{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;flex-direction:column;gap:3px;min-width:0;min-height:0;padding:7px;transition:border-color .2s;display:flex;overflow:hidden}.mday:hover{border-color:var(--line-strong)}.mday.out{opacity:.4}.mday.today{border-color:var(--accent)}.mday .d{font-family:var(--font-display);font-size:19px;font-weight:700;line-height:1}.mday .pill{background:color-mix(in oklab, var(--c) 22%, transparent);box-shadow:inset 2px 0 0 var(--c);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;border-radius:5px;padding:1px 6px;font-size:10.5px;font-weight:600;overflow:hidden}@media (width<=600px){.mday{padding:4px}.mday .pill{display:none}.mday .dots{display:flex}}.mday .dots{flex-wrap:wrap;gap:3px;display:none}.mday .dots i{border-radius:50%;width:6px;height:6px}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-strong);padding:8px 10px;font-size:10.5px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px}.table tr:last-child td{border-bottom:0}.table .r{text-align:right;font-variant-numeric:tabular-nums}.table-wrap{margin:0 -4px;padding:0 4px;overflow-x:auto}.block-bar{grid-template-columns:repeat(12,1fr);gap:4px;display:grid}.block-bar button{border:1px solid var(--line);background:var(--bg-2);cursor:pointer;border-radius:9px;flex-direction:column;justify-content:space-between;align-items:center;height:64px;padding:6px 4px;display:flex;position:relative;overflow:hidden}.block-bar button .wk{font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1}.block-bar button .ph{background:var(--pc);border-radius:3px;width:100%;height:5px}.block-bar button.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.block-bar button.past{opacity:.55}.block-bar button .t{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:4px}[data-phase=eingewoehnung]{--pc:#7aa7d9}[data-phase=aufbau]{--pc:var(--accent)}[data-phase=deload]{--pc:var(--green)}[data-phase=intensivierung]{--pc:#9b6cf0}[data-phase=pre],[data-phase=post]{--pc:var(--faint)}.fortnight{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.fn-day{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-2);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:8px 6px;transition:border-color .2s;display:flex}.fn-day:hover{border-color:var(--line-strong)}.fn-day.sel{border-color:var(--text-2);background:var(--surface-2)}.fn-day.today{box-shadow:0 0 0 1.5px var(--accent) inset}.fn-day .wd{font-family:var(--font-mono);color:var(--muted);letter-spacing:.1em;font-size:10px}.fn-day .d{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1}.fn-day .u{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10.5px;font-weight:600;overflow:hidden}.fn-day .st{background:var(--c,var(--line-strong));border-radius:2px;width:18px;height:4px}.exercise{border-top:1px solid var(--line);padding:16px 0}.exercise:first-of-type{border-top:0;padding-top:4px}.ex-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.ex-tag{font-family:var(--font-display);color:var(--accent);flex:none;width:34px;font-size:22px;font-weight:800;line-height:1}.ex-name{font-size:15.5px;font-weight:650}.ex-meta{color:var(--muted);margin-top:2px;font-size:12.5px}.sets{flex-direction:column;gap:6px;display:flex}.set-row{grid-template-columns:26px repeat(var(--cols,3), minmax(0, 1fr)) 40px;align-items:center;gap:6px;display:grid}.set-row .n{font-family:var(--font-mono);color:var(--muted);text-align:center;font-size:12px}.set-row .ok{border:1.5px solid var(--line-strong);background:var(--bg-2);cursor:pointer;border-radius:10px;place-items:center;width:40px;height:36px;transition:all .2s;display:grid}.set-row .ok svg{opacity:.3;width:17px;height:17px}.set-row .ok.on{background:var(--green);color:#fff;border-color:#0000}.set-row .ok.on svg{opacity:1}.set-head{font-family:var(--font-mono);color:var(--faint);letter-spacing:.1em;text-transform:uppercase;text-align:center;font-size:10px}.timer{left:50%;bottom:calc(88px + env(safe-area-inset-bottom));z-index:40;background:var(--text);color:var(--bg);animation:sheet-up .3s var(--ease) both;border-radius:999px;align-items:center;gap:14px;padding:10px 12px 10px 18px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 18px 40px -12px #0000008c}@media (width>=1000px){.timer{bottom:28px}}.timer .t{font-family:var(--font-display);font-variant-numeric:tabular-nums;min-width:70px;font-size:30px;font-weight:800;line-height:1}.timer .icon-btn{border-color:color-mix(in oklab, var(--bg) 25%, transparent);color:var(--bg);background:0 0}.macro-wrap{grid-template-columns:1fr;align-items:center;gap:20px;display:grid}@media (width>=620px){.macro-wrap{grid-template-columns:220px 1fr}}.macro-bars{flex-direction:column;gap:14px;display:flex}.bar{background:var(--bg-2);border:1px solid var(--line);border-radius:4px;height:8px;overflow:hidden}.bar>i{background:var(--c,var(--accent));height:100%;transition:width 1s var(--ease);border-radius:4px;display:block}.meal{border-top:1px solid var(--line);grid-template-columns:54px 1fr auto;align-items:start;gap:12px;padding:12px 0;display:grid}.meal:first-child{border-top:0}.meal .time{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1.1}.meal.done .time,.meal.done .meal-name{color:var(--muted)}.meal-open{text-align:left;cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;padding:0}.meal-where{color:var(--accent);align-items:center;gap:4px;margin-top:3px;display:flex}.meal-items{gap:2px;margin:0;padding-left:18px;font-size:13px;display:grid}.meal-prefs-preview{gap:2px;margin:0;padding-left:18px;display:grid}.my-meal{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.my-meal:first-child{border-top:0;padding-top:0}.meal-name{font-weight:650}.ingredients{color:var(--muted);margin-top:3px;font-size:12.5px;line-height:1.5}.chart{width:100%;height:auto;overflow:visible}.chart text{font-family:var(--font-mono);fill:var(--muted);font-size:10px}.chart .grid-line{stroke:var(--line);stroke-width:1px}.chart .line{fill:none;stroke:var(--c,var(--accent));stroke-width:2.25px;stroke-linejoin:round;stroke-linecap:round}.chart .area{fill:color-mix(in oklab, var(--c,var(--accent)) 14%, transparent)}.chart .mean{stroke:var(--text-2);stroke-dasharray:4 4;stroke-width:1px;opacity:.7}.chart .pt{fill:var(--surface);stroke:var(--c,var(--accent));stroke-width:2px}.chart .hover-line{stroke:var(--line-strong)}.stat-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat{border-radius:var(--radius-sm);background:var(--bg-2);border:1px solid var(--line);padding:12px}.stat .l{color:var(--muted);font-size:11.5px;font-weight:600}.stat .v{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1.05}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:28px 16px;display:flex}.empty svg{opacity:.6;width:30px;height:30px}.note{border-radius:var(--radius-sm);background:color-mix(in oklab, var(--c-uni) 9%, var(--bg-2));border:1px solid color-mix(in oklab, var(--c-uni) 25%, transparent);color:var(--text-2);align-items:flex-start;gap:10px;padding:12px 14px;font-size:13.5px;display:flex}.note svg{width:17px;height:17px;color:var(--c-uni);flex:none;margin-top:1px}.note.warn{background:color-mix(in oklab, var(--yellow) 9%, var(--bg-2));border-color:color-mix(in oklab, var(--yellow) 28%, transparent)}.note.warn svg{color:var(--yellow)}.list{flex-direction:column;display:flex}.list-item{border-top:1px solid var(--line);align-items:center;gap:12px;min-width:0;padding:12px 0;display:flex}.list-item:first-child{border-top:0}.kbd{font-family:var(--font-mono);border:1px solid var(--line-strong);color:var(--muted);border-radius:5px;padding:2px 6px;font-size:11px}.more-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.more-grid a{border-radius:var(--radius-sm);background:var(--bg-2);border:1px solid var(--line);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.more-grid a svg{width:22px;height:22px;color:var(--accent)}.fab{right:18px;bottom:calc(86px + env(safe-area-inset-bottom));z-index:35;background:var(--accent);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:0 14px 30px -10px color-mix(in oklab, var(--accent) 70%, black);transition:transform .2s var(--ease);border:0;border-radius:18px;place-items:center;display:grid;position:fixed}.fab svg{width:26px;height:26px}@media (width>=1000px){.fab{bottom:28px;right:28px}}.skeleton{place-items:center;min-height:100dvh;display:grid}.skeleton .wordmark{font-size:44px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.4}}:focus-visible{outline:2px solid color-mix(in oklab, var(--accent) 70%, transparent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form-grid{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=520px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pair{grid-template-columns:1fr 1fr;gap:6px;display:grid}.allday{background:color-mix(in oklab, var(--c-other) 18%, transparent);white-space:nowrap;text-overflow:ellipsis;border-radius:5px;margin-top:4px;padding:1px 6px;font-size:10.5px;font-weight:600;overflow:hidden}.hide-rail{display:inline-flex}@media (width>=1000px){.hide-rail{display:none}}.rail-foot a{text-decoration:none}.rail-foot svg{width:17px;height:17px}.day-summary{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.sum-item{background:color-mix(in oklab, var(--c,var(--muted)) 14%, var(--bg-2));border:1px solid color-mix(in oklab, var(--c,var(--muted)) 30%, transparent);border-radius:999px;align-items:center;gap:6px;height:30px;padding:0 11px;font-size:12.5px;display:inline-flex}.sum-item i{background:var(--c);border-radius:50%;width:8px;height:8px}.sum-item svg{color:var(--c,var(--muted))}.sum-item span{color:var(--muted)}.sum-item.muted-item{--c:var(--faint);background:var(--bg-2);border-color:var(--line)}.strip{margin-left:30px;position:relative}.strip-hours{width:26px;position:absolute;top:0;bottom:0;left:-30px}.strip-hours span{font-family:var(--font-mono);color:var(--faint);font-size:10px;position:absolute;right:0;transform:translateY(-6px)}.strip-main{border-left:1px solid var(--line-strong);position:absolute;top:0;bottom:0;left:0}.strip-line{background:var(--line);height:1px;position:absolute;left:0;right:0}.strip-edge{border-top:1px dashed color-mix(in oklab, var(--c-sleep) 70%, transparent);height:0;position:absolute;left:0;right:0}.strip-edge span{color:var(--muted);font-size:10.5px;position:absolute;top:-15px;right:0}.strip-edge.night span{top:3px}.strip-rail{border-left:1px dashed var(--line);position:absolute;top:0;bottom:0;right:0}.strip .ev{left:0}.strip .ev.past,.rail-label.past{opacity:.45}.now-tag{font-family:var(--font-mono);background:var(--accent);color:#fff;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:600;position:absolute;top:-9px;left:8px}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin-top:18px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px 11px;font-size:14.5px;font-weight:650;transition:color .2s,border-color .2s}.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.today-cta{cursor:pointer;text-align:left;align-items:center;gap:16px;display:flex;overflow:hidden}.today-cta .cta-bar{background:var(--c);width:5px;position:absolute;top:0;bottom:0;left:0}.goals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width>=1100px){.goals{grid-template-columns:repeat(4,1fr)}}.goal{border-radius:var(--radius-sm);background:color-mix(in oklab, var(--c) 7%, var(--bg-2));border:1px solid color-mix(in oklab, var(--c) 22%, transparent);flex-direction:column;gap:5px;padding:14px;display:flex}.goal-head{align-items:center;gap:8px;display:flex}.goal-icon{background:color-mix(in oklab, var(--c) 22%, transparent);width:26px;height:26px;color:var(--c);border-radius:8px;place-items:center;display:grid}.goal-icon svg{width:15px;height:15px}.goal-value{font-family:var(--font-display);margin-top:4px;font-size:32px;font-weight:800;line-height:1}@media (width<=620px){.goal{padding:11px}.goal-value{font-size:26px}.goal-head .small{font-size:12px}}.goal-target{color:var(--c);font-size:12px;font-weight:600}.goal-bar{background:var(--line);border-radius:4px;height:7px;margin:4px 0 2px;position:relative}.goal-bar i{background:var(--c);transition:width 1s var(--ease);border-radius:4px;position:absolute;top:0;bottom:0;left:0}.goal-bar b{background:var(--text-2);border-radius:1px;width:2px;position:absolute;top:-3px;bottom:-3px}.week-plan{grid-template-columns:1fr;gap:8px;display:grid}@media (width>=700px){.week-plan{grid-template-columns:repeat(7,minmax(0,1fr))}}.wp-day{text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:color-mix(in oklab, var(--c) 9%, var(--bg-2));border:1px solid var(--line);grid-template-columns:30px 1fr auto;grid-template-areas:"wd unit meta""wd focus meta";align-items:center;gap:1px 8px;min-width:0;padding:10px 10px 10px 14px;transition:border-color .2s;display:grid;position:relative}@media (width<=699px){.wp-day{padding:8px 10px 8px 14px}.wp-unit{font-size:17px}.wp-meta{text-align:right}}@media (width>=700px){.wp-day{grid-template-columns:1fr;grid-template-areas:"wd""unit""focus""meta";align-content:start}}.wp-day:before{content:"";background:var(--c);border-radius:2px;width:3px;position:absolute;top:8px;bottom:8px;left:0}.wp-day:hover{border-color:var(--line-strong)}.wp-day.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.wp-wd{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);grid-area:wd;font-size:11px}.wp-unit{font-family:var(--font-display);text-transform:uppercase;grid-area:unit;font-size:20px;font-weight:700;line-height:1.05}.wp-focus{color:var(--text-2);grid-area:focus;font-size:12px}.wp-meta{color:var(--muted);flex-direction:column;grid-area:meta;gap:1px;font-size:11px;display:flex}.wp-meta b{color:var(--text-2);font-weight:600}.phase-track{grid-template-columns:repeat(12,1fr);gap:3px;display:grid}.pt-week{flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.pt-bar{background:var(--pc);opacity:.9;border-radius:3px;width:100%;height:10px}.pt-week.past .pt-bar{opacity:.35}.pt-week.current .pt-bar{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--text)}.pt-num{font-family:var(--font-mono);color:var(--muted);font-size:10.5px}.pt-week.current .pt-num{color:var(--text);font-weight:700}.pt-test{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:-9px}.phase-legend{grid-template-columns:1fr;gap:10px;margin:16px 0;display:grid}@media (width>=760px){.phase-legend{grid-template-columns:repeat(2,1fr)}}.pl-item{align-items:flex-start;gap:10px;display:flex}.pl-item .dot-c{margin-top:5px}.milestones{border-top:1px solid var(--line);flex-direction:column;padding-top:10px;display:flex}.ms{grid-template-columns:76px 1fr;align-items:baseline;gap:10px;padding:5px 0;display:grid}.ms-date{font-family:var(--font-mono);color:var(--muted);font-size:11.5px}.ms.done{opacity:.45}.ms.next .ms-date{color:var(--accent);font-weight:700}.matrix th.cg{color:var(--green)}.matrix th.cy{color:var(--yellow)}.matrix th.cr{color:var(--red)}.matrix td{font-size:13px}.food-list{border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;display:flex;overflow:hidden}.food-row{background:var(--bg-2);align-items:center;gap:6px;padding-right:8px;display:flex}.food-row+.food-row{border-top:1px solid var(--line)}.food-main{text-align:left;cursor:pointer;min-width:0;color:var(--text);background:0 0;border:0;flex:1;padding:10px 12px;font-size:14px;display:flex}.food-main:hover{background:var(--surface-2)}.food-main b{font-weight:600}.food-img{object-fit:contain;background:#fff;border-radius:10px;flex:none;width:56px;height:56px}.basket{border-radius:var(--radius-sm);border:1px solid color-mix(in oklab, var(--accent) 35%, transparent);background:color-mix(in oklab, var(--accent) 6%, var(--bg-2));padding:6px 12px}.basket-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:6px 0;display:flex}.basket-total{color:var(--muted);flex-wrap:wrap;gap:14px;padding:8px 0 4px;font-size:13px;display:flex}.basket-total b{color:var(--text);font-variant-numeric:tabular-nums}.chip-group{display:inline-flex}.chip-group .chip:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.chip-x{color:var(--faint)!important;border-left:0!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important;padding:0 7px!important}.scanner{border-radius:var(--radius);aspect-ratio:4/3;background:#000;max-height:52dvh;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%;display:block}.scanner-frame{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.scanner-frame i{border:2px solid #ffffffe6;border-radius:14px;width:72%;height:34%;position:relative;box-shadow:0 0 0 9999px #00000073}.scanner-frame i:after{content:"";background:var(--accent);height:2px;box-shadow:0 0 12px var(--accent);animation:1.6s ease-in-out infinite scanline;position:absolute;top:50%;left:6%;right:6%}@keyframes scanline{0%,to{transform:translateY(-40px)}50%{transform:translateY(40px)}}.scanner-hint{text-align:center;color:#fff;text-shadow:0 1px 4px #0009;font-size:13px;font-weight:600;position:absolute;bottom:12px;left:0;right:0}.scanner-error{border-radius:var(--radius-sm);background:var(--bg-2);border:1px solid var(--line);color:var(--text-2);align-items:center;gap:10px;padding:16px;font-size:14px;display:flex}.scanner-error svg{color:var(--yellow);flex:none}.sleep-guard{border-radius:var(--radius-sm);color:var(--text-2);background:color-mix(in oklab, var(--c-sleep) 12%, var(--bg-2));border:1px solid color-mix(in oklab, var(--c-sleep) 30%, transparent);align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;font-size:12.5px;display:flex}.sleep-guard svg{color:var(--c-study);flex:none}.scale.rpe button{height:36px;font-size:15px}.scale.rpe button.on{background:hsl(var(--h) 70% 45%);color:#fff}.tip-card{--tc:var(--accent);background:radial-gradient(420px 220px at 100% 0%, color-mix(in oklab, var(--tc) 16%, transparent), transparent 70%), var(--surface);position:relative;overflow:hidden}.tip-card:before{content:"";background:var(--tc);border-radius:0 3px 3px 0;width:3px;position:absolute;top:18px;bottom:18px;left:0}.tip-card[data-goal=schlaf]{--tc:var(--c-study)}.tip-card[data-goal=kraft]{--tc:var(--c-kraft)}.tip-card[data-goal=regeneration]{--tc:var(--c-cardio)}.tip-card[data-goal=ernaehrung]{--tc:var(--c-meal)}.tip-card .eyebrow{align-items:center;gap:6px;display:inline-flex}.tip-bulb{width:14px;height:14px;color:var(--tc)}.tip-title{font-family:var(--font-display);letter-spacing:.005em;text-transform:uppercase;margin:10px 0;font-size:27px;font-weight:700;line-height:1.02}.tip-why{font-family:var(--font-voice);color:var(--text);margin:0 0 10px;font-size:16.5px;line-height:1.45}.tip-why b{font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--tc,var(--accent));margin-right:4px;font-size:12px;font-weight:700}.tip-sources{flex-direction:column;gap:6px;display:flex}.tip-source{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-2);color:var(--text);align-items:center;gap:10px;min-width:0;padding:9px 12px;font-size:13px;text-decoration:none;transition:border-color .2s,background .2s;display:flex}.tip-source:hover{border-color:var(--line-strong);background:var(--surface-2)}.tip-source .kind{width:18px;height:18px;color:var(--tc,var(--accent));flex:none}.tip-source .ext{width:15px;height:15px;color:var(--muted);flex:none}.tip-source small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.tip-source .grow{min-width:0}.habit-row{align-items:center;gap:4px;display:flex}.habit-row .check{flex:1;min-width:0}.streak{color:var(--c-kampf);align-items:center;gap:4px;font-weight:600;display:inline-flex}.streak svg{width:12px;height:12px}.rule-row,.tip-row{text-align:left;width:100%;color:var(--text);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:0;align-items:center;gap:10px;display:flex}.rule-row{padding:6px 4px}.rule-row:hover,.tip-row:hover{background:var(--surface-2)}.tip-row{border:1px solid var(--line);background:var(--bg-2);border-radius:var(--radius-sm);padding:10px;font-size:14px}.tip-row b{font-weight:650}.weight-quick{padding:14px 16px}.wq-row{align-items:center;gap:12px;display:flex}.wq-icon{width:24px;height:24px;color:var(--c-meal);flex:none}.wq-stats{border-top:1px solid var(--line);align-items:center;gap:16px;margin-top:10px;padding-top:10px;display:flex}.wq-stats>span{flex-direction:column;gap:1px;min-width:0;display:flex}.wq-stats small{color:var(--muted);font-size:11px;font-weight:600}.wq-stats b{align-items:center;gap:4px;font-size:14px;display:inline-flex}.wq-trend svg{color:var(--muted)}body:has(.coach-page) .fab{display:none}.coach-page{flex-direction:column;max-width:760px;min-height:calc(100dvh - 130px);display:flex}.coach-thread{flex-direction:column;flex:1;gap:18px;padding:22px 0 18px;display:flex}.coach-empty{flex-direction:column;gap:16px;padding:8px 0;display:flex}.coach-suggest{flex-wrap:wrap;gap:8px;display:flex}.coach-suggest .chip{white-space:normal;text-align:left;height:auto;min-height:32px;padding:6px 12px;font-size:13px;line-height:1.3}.coach-msg{animation:sheet-up .3s var(--ease) both;display:flex}.coach-msg.user{justify-content:flex-end}.coach-bubble{background:var(--surface-3);max-width:82%;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px 18px 6px;padding:10px 14px;font-size:15px;line-height:1.45}.coach-rich{max-width:100%;color:var(--text);border-left:2px solid color-mix(in oklab, var(--accent) 55%, transparent);overflow-wrap:anywhere;padding-left:14px;font-size:15px;line-height:1.6}.coach-rich p{margin:0 0 10px}.coach-rich p:last-child,.coach-rich ul:last-child,.coach-rich ol:last-child{margin-bottom:0}.coach-rich ul,.coach-rich ol{margin:0 0 10px;padding-left:20px}.coach-rich li{margin:3px 0}.coach-rich li::marker{color:var(--accent)}.coach-rich .coach-h{margin-top:4px;font-weight:700}.coach-typing{border-left:2px solid color-mix(in oklab, var(--accent) 55%, transparent);gap:5px;padding:12px 14px;display:inline-flex}.coach-typing i{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite coach-dot}.coach-typing i:nth-child(2){animation-delay:.15s}.coach-typing i:nth-child(3){animation-delay:.3s}@keyframes coach-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.coach-composer{bottom:calc(78px + env(safe-area-inset-bottom));z-index:20;background:color-mix(in oklab, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line-strong);border-radius:22px;align-items:flex-end;gap:8px;padding:8px;display:flex;position:sticky;box-shadow:0 18px 40px -24px #000000b3}@media (width>=1000px){.coach-composer{bottom:18px}}.coach-composer textarea{resize:none;background:0 0;border:0;flex:1;height:auto;min-height:42px;max-height:160px;padding:10px;font-size:15px;line-height:1.4}.coach-composer textarea:focus{box-shadow:none}.coach-send{border-radius:14px;flex:none;place-items:center;width:42px;height:42px;padding:0;display:grid}.coach-send svg{width:18px;height:18px}.coach-foot{text-align:center;margin:8px 0 0}.coach-context{white-space:pre-wrap;font-family:var(--font-mono);color:var(--text-2);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);max-height:60dvh;margin:0;padding:12px;font-size:11.5px;line-height:1.5;overflow:auto}@media (width<=420px){.hide-sm{display:none}}.photo-drop{border-radius:var(--radius);border:1.5px dashed var(--line-strong);background:var(--bg-2);color:var(--text);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:34px 20px;display:flex}.photo-drop svg{width:34px;height:34px;color:var(--accent)}.photo-drop:hover{border-color:color-mix(in oklab, var(--accent) 50%, transparent)}.photo-result{align-items:flex-start;gap:14px;display:flex}@media (width<=520px){.photo-result{flex-direction:column}.photo-thumb{width:100%!important}}.photo-thumb{border-radius:var(--radius-sm);aspect-ratio:4/3;background:#000;flex:none;width:160px;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-scan{color:#fff;background:linear-gradient(#0003,#0000008c);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex;position:absolute;inset:0}.photo-scan svg{width:22px;height:22px;animation:1.2s ease-in-out infinite coach-dot}.photo-scan:after{content:"";background:var(--accent);height:2px;box-shadow:0 0 14px var(--accent);animation:1.8s ease-in-out infinite photo-sweep;position:absolute;left:0;right:0}@keyframes photo-sweep{0%{top:8%}50%{top:90%}to{top:8%}}.today-grid>*,.grid>*{min-width:0}.fit-list{border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;display:flex;overflow:hidden}.fit-row{background:var(--bg-2);color:var(--text);text-align:left;cursor:pointer;border:0;align-items:center;gap:10px;min-width:0;padding:9px 12px;display:flex}.fit-row+.fit-row{border-top:1px solid var(--line)}.fit-row:hover{background:var(--surface-2)}.fit-row.on{background:color-mix(in oklab, var(--accent) 12%, var(--bg-2));box-shadow:inset 3px 0 0 var(--accent)}.fit-dot{border-radius:50%;flex:none;width:10px;height:10px}.fit-day{flex-direction:column;flex:none;width:92px;font-size:13.5px;line-height:1.2;display:flex}.fit-day small{color:var(--muted);font-size:11.5px}.fit-note{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.act-row{align-items:center;gap:10px;min-width:0;display:flex}.act-effects{border-radius:var(--radius-sm);background:color-mix(in oklab, var(--c-sport) 9%, var(--bg-2));border:1px solid color-mix(in oklab, var(--c-sport) 28%, transparent);padding:10px 12px}.detected{border-radius:var(--radius-sm);border:1px dashed color-mix(in oklab, var(--c-sport) 55%, transparent);background:var(--bg-2);padding:12px}.detected-badge{font:700 10px var(--font-mono);letter-spacing:.08em;background:var(--text);color:var(--bg);border-radius:6px;flex:none;margin-top:2px;padding:3px 6px}.carb-meter{flex-direction:column;gap:6px;display:flex}.carb-scale{background:var(--bg-2);border:1px solid var(--line);border-radius:6px;height:12px;position:relative;overflow:hidden}.carb-scale .zone{background:color-mix(in oklab, var(--green) 26%, transparent);position:absolute;top:0;bottom:0}.carb-scale .fill{background:var(--c-meal);transition:width 1s var(--ease);border-radius:3px;position:absolute;top:3px;bottom:3px;left:0}.carb-scale .mark{background:var(--text);opacity:.75;width:2px;margin-left:-1px;position:absolute;top:-1px;bottom:-1px}.fuel-session{--c:var(--accent);border-radius:var(--radius-sm);background:var(--bg-2);border:1px solid var(--line);box-shadow:inset 3px 0 0 var(--c);flex-direction:column;gap:8px;padding:12px 12px 12px 14px;display:flex}.fuel-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fuel-head .dot-c{background:var(--c)}.fuel-win{border-top:1px solid var(--line);flex-direction:column;gap:4px;padding-top:8px;display:flex}.fuel-win-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fuel-win-head .chip{height:22px;margin-left:auto;font-size:10.5px}.fuel-win.done .fuel-win-head b{color:var(--muted)}.card>.stack>.fuel-win:first-child{border-top:0;padding-top:0}.fuel-suggest{border-radius:var(--radius-xs);background:color-mix(in oklab, var(--accent) 8%, var(--surface));border:1px solid color-mix(in oklab, var(--accent) 22%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:4px;padding:8px 10px;display:flex}.howcalc{margin-top:2px}.howcalc>.btn{color:var(--muted);margin-left:-10px}.howcalc-chev{transition:transform .2s var(--ease)}.howcalc-chev.open{transform:rotate(180deg)}.howcalc-body{flex-direction:column;gap:10px;margin-top:6px;display:flex}.howcalc-text p{margin:0 0 8px;line-height:1.5}.howcalc-text p:last-child{margin-bottom:0}.ea-scale{border:1px solid var(--line);border-radius:5px;height:10px;display:flex;position:relative}.ea-zone{opacity:.32;height:100%}.ea-zone:first-child{border-radius:5px 0 0 5px}.ea-zone:nth-child(3){border-radius:0 5px 5px 0}.ea-zone.red{background:var(--red);width:50%}.ea-zone.yellow{background:var(--yellow);width:25%}.ea-zone.green{background:var(--green);width:25%}.ea-mark{background:var(--text);border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:-3px;bottom:-3px}.ea-labels{height:15px;margin:3px 6px 0;position:relative}.ea-labels span{position:absolute;transform:translate(-50%)}.pvt-area{border-radius:var(--radius);border:1px solid var(--line-strong);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;background:#06090f;place-items:center;height:min(52dvh,420px);display:grid;position:relative}.pvt-counter{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:#5a6477;font-size:clamp(64px,16vw,120px);font-weight:800;line-height:1}.pvt-area.on .pvt-counter{color:#ff3b30;text-shadow:0 0 24px #ff3b3073}.pvt-hint{text-align:center;color:#8a94a6;font-size:13px;position:absolute;bottom:14px;left:0;right:0}.choices.four{grid-template-columns:repeat(2,minmax(0,1fr))}.choices.four .choice strong{font-size:20px}.alt-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.alt{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-2);width:100%;color:var(--text);cursor:pointer;flex-direction:column;gap:3px;padding:10px 12px;transition:border-color .2s,background .2s;display:flex}.alt:hover{border-color:var(--line-strong)}.alt.on{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 8%, var(--bg-2))}.alt-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.alt-head .mono{margin-left:auto}.alt-head svg{color:var(--c-study)}.prog-main{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.prog-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.prog-opt{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--bg-2);color:var(--text);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:8px 9px;display:flex}.prog-opt:hover:not(:disabled){border-color:var(--line-strong)}.prog-opt.plan{border-color:var(--text-2);cursor:default}.prog-opt b{font-family:var(--font-display);font-size:20px;line-height:1.1}.prog-opt .tiny{text-overflow:ellipsis;max-width:100%;overflow:hidden}.brief-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;font-size:22px;font-weight:700;line-height:1.05}.coach-answer{flex-direction:column;flex:1;gap:8px;min-width:0;max-width:100%;display:flex}.coach-action{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-2);align-items:center;gap:10px;padding:8px 10px;display:flex}.coach-action-icon{background:color-mix(in oklab, var(--green) 18%, transparent);width:26px;height:26px;color:var(--green);border-radius:50%;flex:none;place-items:center;display:grid}.coach-action-icon svg{width:15px;height:15px}.coach-action.undone{opacity:.6}.coach-action.undone .coach-action-icon{background:var(--bg-2);color:var(--muted)}.coach-action.error .coach-action-icon{background:color-mix(in oklab, var(--yellow) 20%, transparent);color:var(--yellow)}.coach-action .btn svg{width:15px;height:15px}.quick-add{flex-direction:column;gap:8px;display:flex}.quick-add-row{align-items:center;gap:8px;display:flex}.quick-add-row .input{height:46px;font-size:15px}.quick-add.compact .quick-add-row .input{height:40px;font-size:14px}.quick-add-row .btn{flex:none;height:46px}.quick-add.compact .quick-add-row .btn{height:40px}@media (width<=759px){.quick-add-row .btn{width:46px;padding:0}.quick-add.compact .quick-add-row .btn{width:40px}}.quick-parts{flex-wrap:wrap;align-items:center;gap:5px;min-height:22px;display:flex}.qp-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-right:4px;font-size:13px;font-weight:650;overflow:hidden}.qp{background:var(--surface-2);border:1px solid var(--line);height:22px;color:var(--text-2);border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:11.5px;font-weight:600;display:inline-flex}.qp-kind{color:var(--c-study);border-color:color-mix(in oklab, var(--c-study) 35%, transparent)}.qp-course{color:var(--c-uni);border-color:color-mix(in oklab, var(--c-uni) 35%, transparent)}.qp-due,.qp-time{color:var(--yellow);border-color:color-mix(in oklab, var(--yellow) 35%, transparent)}.qp-priority{color:var(--red);border-color:color-mix(in oklab, var(--red) 35%, transparent)}.qp-more{cursor:pointer;background:0 0;border-style:dashed}.qp-hint{color:var(--faint);align-items:center;gap:4px;margin-left:auto;font-size:11px}.task-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.course-scroll{scrollbar-width:none;flex:1;gap:6px;min-width:0;padding:2px 0;display:flex;overflow-x:auto}.course-scroll::-webkit-scrollbar{display:none}.course-chip i{background:var(--c);border-radius:50%;flex:none;width:8px;height:8px}button.chip.course-chip.on{background:color-mix(in oklab, var(--c) 26%, var(--surface));color:var(--text);border-color:var(--c)}.task-list{flex-direction:column;display:flex}.task-row{border-top:1px solid var(--line);align-items:flex-start;gap:10px;min-width:0;padding:10px 0;display:flex}.task-list>.task-row:first-child{border-top:0;padding-top:2px}.task-check{border:1.8px solid color-mix(in oklab, var(--c,var(--line-strong)) 70%, var(--line-strong));cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;margin-top:1px;transition:all .2s;display:grid}.task-check svg{opacity:0;width:13px;height:13px;transition:all .2s var(--ease);color:#fff;transform:scale(.6)}.task-check:hover svg{opacity:.45;color:var(--c,var(--muted));transform:none}.task-check.on{background:var(--green);border-color:#0000}.task-check.on svg{opacity:1;color:#fff;transform:none}.task-check.sm{border-radius:6px;width:20px;height:20px;margin-top:0}.task-body{text-align:left;cursor:pointer;min-width:0;color:inherit;background:0 0;border:0;flex-direction:column;flex:1;gap:3px;padding:0;display:flex}.task-line{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.task-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14.5px;font-weight:620;overflow:hidden}.task-title .prio{color:var(--red);margin-right:5px;font-style:normal;font-weight:800}.task-row.done .task-title{text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);color:var(--muted)}.task-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;font-size:12px;display:flex}.task-meta>span{align-items:center;gap:4px;min-width:0;display:inline-flex}.task-kind{color:var(--text-2)}.task-course i{background:var(--c);border-radius:50%;width:7px;height:7px}.task-next{color:var(--c-study)}.task-warn{color:var(--yellow)}.task-note{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--faint);overflow:hidden}.task-progress{background:var(--bg-2);border-radius:2px;max-width:220px;height:3px;margin-top:3px;display:block;overflow:hidden}.task-progress i{background:var(--c,var(--c-study));border-radius:2px;height:100%;display:block}.task-group.g-overdue .card-title .h3{color:var(--red)}.task-group.g-today .card-title .h3{color:var(--yellow)}.fold{cursor:pointer;color:inherit;background:0 0;border:0;width:100%;padding:0}.kind-pick{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}@media (width>=640px){.kind-pick{grid-template-columns:repeat(6,minmax(0,1fr))}}.kind-pick button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--line-strong);background:var(--bg-2);color:var(--text-2);flex-direction:column;align-items:center;gap:5px;padding:10px 4px;font-size:12px;font-weight:600;display:flex}.kind-pick button.on{background:var(--text);color:var(--bg);border-color:#0000}.step{border-radius:var(--radius-xs);background:var(--bg-2);border:1px solid var(--line);align-items:center;gap:8px;padding:4px 4px 4px 8px;display:flex}.step-text{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:4px 0;font-size:14px}.step.on .step-text{color:var(--muted);text-decoration:line-through}.plan-day{color:inherit;text-decoration:none}.plan-day:hover .grow{color:var(--text)}.exam-row{cursor:pointer;color:inherit;background:0 0;border-bottom:0;border-left:0;border-right:0;width:100%}.exam-count{background:color-mix(in oklab, var(--c) 18%, transparent);width:46px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--c) 40%, transparent);border-radius:10px;flex-direction:column;flex:none;align-items:center;padding:4px 0;display:flex}.exam-count b{font-family:var(--font-display);font-size:22px;line-height:1}.exam-count span{color:var(--muted);font-size:10px}.course-row{color:inherit;text-decoration:none}.course-dot{background:var(--c);border-radius:4px;flex:none;width:12px;height:12px}.course-title{align-items:center;gap:12px;display:inline-flex}.course-title i{background:var(--c);border-radius:5px;flex:none;width:14px;height:14px}.type-badge{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:color-mix(in oklab, var(--c) 22%, transparent);color:var(--text-2);text-align:center;border-radius:5px;flex:none;min-width:34px;padding:3px 6px;font-size:10px;font-weight:600}.type-badge.exam{background:var(--c);color:#0b1017}.course-note{min-height:150px;font-size:14px;line-height:1.5}.today-work{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:4px;padding-top:10px;display:flex}.work-line{color:inherit;text-decoration:none}.allday.deadline{cursor:pointer;width:100%;color:var(--text-2);text-align:left;background:color-mix(in oklab, var(--c) 16%, transparent);box-shadow:inset 2px 0 0 var(--c);border:0;align-items:center;gap:4px;display:flex}.allday.deadline svg{flex:none}.allday.deadline.exam{background:color-mix(in oklab, var(--c) 34%, transparent);color:var(--text);box-shadow:inset 0 0 0 1px var(--c)}.allday.deadline.done{opacity:.5;text-decoration:line-through}.mday .pill.deadline{box-shadow:inset 2px 0 0 var(--c), inset 0 0 0 1px color-mix(in oklab, var(--c) 40%, transparent);background:0 0}.mday .pill.deadline.exam{background:color-mix(in oklab, var(--c) 32%, transparent);color:var(--text)}.mday .dots i.flag{background:var(--yellow);border-radius:1px}.ev.done{opacity:.55}.rail-label.reminder{color:var(--text-2);font-weight:600}.rail-label.reminder svg{color:var(--yellow);flex:none}.rail-label.done{opacity:.6;text-decoration:line-through}a.list-item,.page-header-link{color:inherit;text-decoration:none}a.list-item:hover b{text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.ambient{overflow:hidden}.topbar-title{display:none}@media (width<=999px){html{background:var(--bg);overscroll-behavior:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;overflow-x:clip}body{overscroll-behavior:none;overflow-x:clip}input,textarea,select,.input,.input.sm,.textarea,.select,.step-text,.quick-add-row .input,.quick-add.compact .quick-add-row .input,.coach-composer .input{font-size:16px}.tabbar,.tab,.nav-link,.btn,.chip,.seg button,.icon-btn,.fab,.kind-pick button,.task-check,.wordmark,.more-grid a{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.page-head{display:contents}.topbar{z-index:25;margin:0 calc(-1 * var(--gutter));padding:calc(8px + env(safe-area-inset-top)) var(--gutter) 8px;min-height:calc(54px + env(safe-area-inset-top));background:color-mix(in oklab, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);border-bottom:1px solid #0000;transition:border-color .2s,background .2s;position:sticky;top:0}.topbar.scrolled{border-bottom-color:var(--line);background:color-mix(in oklab, var(--bg) 90%, transparent)}.topbar .wordmark{transition:opacity .2s,transform .2s}.topbar-title{left:var(--gutter);max-width:58%;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;opacity:0;pointer-events:none;font-size:24px;font-weight:800;line-height:1;transition:opacity .2s,transform .2s;display:block;position:absolute;bottom:14px;overflow:hidden;transform:translateY(8px)}.topbar-title .course-title i{display:none}.topbar.scrolled .topbar-title{opacity:1;transform:none}.topbar.scrolled .wordmark{opacity:0;pointer-events:none;transform:translateY(-8px)}.page-head~*{scroll-margin-top:calc(70px + env(safe-area-inset-top))}.eyebrow{margin-top:2px}.tab{transition:transform .15s;position:relative}.tab:active{transform:scale(.94)}.tab svg{z-index:1;position:relative}.tab:before{content:"";background:color-mix(in oklab, var(--accent) 15%, transparent);opacity:0;width:56px;height:32px;transition:opacity .25s, transform .25s var(--ease);border-radius:999px;margin-left:-28px;position:absolute;top:2px;left:50%;transform:scaleX(.5)}.tab.active:before{opacity:1;transform:none}.sheet-backdrop,.sheet{overscroll-behavior:contain}.sheet-grip{width:48px;height:5px;margin:6px auto 8px}.sheet-grip,.sheet-head{touch-action:pinch-zoom}.cal-page[data-slide=next] :is(.week,.month){animation:cal-next .3s var(--ease)}.cal-page[data-slide=prev] :is(.week,.month){animation:cal-prev .3s var(--ease)}}@keyframes cal-next{0%{opacity:.3;transform:translate(28px)}}@keyframes cal-prev{0%{opacity:.3;transform:translate(-28px)}}@media (width<=759px){.cal-bar .hide-rail{display:none}.cal-bar>.row{width:100%}.cal-bar>.row:first-child .cal-title{flex:1;min-width:0}.cal-bar>.row:last-child{--gap:6px}.cal-bar>.row:last-child .seg{flex:1;min-width:0}.cal-bar>.row:last-child .seg button{flex:1;padding-inline:4px}.cal-bar .icon-btn,.cal-bar>.row:last-child .btn.sm{flex:none;width:38px;height:38px;padding:0}.verdict{padding:18px 18px 18px 20px}.verdict-grid{grid-template-columns:92px minmax(0,1fr);grid-template-areas:"ring chips""ring head""list list""act act";align-items:center;gap:0 16px}.verdict-body{display:contents}.verdict-grid>.ring-wrap{grid-area:ring;align-self:center;margin:0;width:92px!important;height:92px!important}.verdict-grid>.ring-wrap svg{width:100%;height:100%}.verdict .ring-value{font-size:32px}.verdict .ring-value small{font-size:14px}.verdict .ring-label{letter-spacing:.1em;margin-top:3px;font-size:8px}.verdict-chips{grid-area:chips;align-self:end;--gap:4px!important}.verdict-chips .chip{height:22px;padding:0 8px;font-size:11px}.verdict-headline{grid-area:head;align-self:start;margin:8px 0 0;font-size:28px}.verdict-list{grid-area:list;margin-top:14px}.verdict-actions{grid-area:act;margin-top:14px!important}.stat-row>*{min-width:0}.stat .l,.stat .v{overflow-wrap:anywhere}.stat .v{font-size:22px}}.tip-card[data-goal=lernen]{--tc:var(--c-uni)}.tip-card[data-kind=neu] .tip-title{font-size:23px}.tip-pod{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tc);margin-top:10px;font-size:11px}.tip-pod+.tip-title{margin-top:4px}.tip-body{color:var(--text-2);margin:0 0 10px}.tip-summary{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tip-foot{margin:12px 0 0}a.tip-row{color:inherit;text-decoration:none}.ev.missed{opacity:.6}.ev.missed strong{text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklab, var(--c) 60%, transparent);text-decoration-color:color-mix(in oklab, var(--c) 60%, transparent)}.task-repeat{color:var(--c-study)}.qp-repeat{color:var(--c-study);border-color:color-mix(in oklab, var(--c-study) 35%, transparent)}.allday.deadline.upcoming{opacity:.65;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--c) 45%, transparent);background:0 0}.lab-row{border-radius:var(--radius-sm);background:var(--bg-2);border:1px solid var(--line);align-items:center;gap:12px;padding:10px 12px;display:flex}.labs-banner{border-style:dashed;border-color:color-mix(in oklab, var(--accent) 45%, transparent)}.labs-icon{width:22px;height:22px;color:var(--accent);flex:none;margin-top:2px}.todo-head{gap:10px;margin-bottom:6px}.list-entry{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:6px 0 12px;display:flex}.list-entry-row{align-items:center;gap:10px;min-width:0;display:flex}.list-entry-dot{border:1.8px dashed var(--line-strong);border-radius:50%;flex:none;width:24px;height:24px}.list-entry-input{min-width:0;height:40px;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:0;font-size:15.5px;font-weight:560}.list-entry-input::placeholder{color:var(--faint);font-weight:500}.list-entry:focus-within .list-entry-dot{border-color:var(--accent);border-style:solid}.list-entry-add:not(:disabled){background:var(--accent);color:#fff;border-color:#0000}.list-entry-chips{flex-wrap:wrap;align-items:center;gap:6px;padding-left:34px;display:flex}.le-chip{cursor:pointer;height:28px;color:var(--muted);border:1px solid var(--line-strong);white-space:nowrap;text-overflow:ellipsis;background:0 0;border-radius:999px;align-items:center;gap:5px;max-width:190px;padding:0 11px;font-size:12.5px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex;position:relative;overflow:hidden}.le-chip:hover{color:var(--text)}.le-chip.on{color:var(--text);background:color-mix(in oklab, var(--accent) 14%, var(--surface));border-color:color-mix(in oklab, var(--accent) 55%, transparent)}.le-chip.course.on{background:color-mix(in oklab, var(--c) 22%, var(--surface));border-color:var(--c)}.le-chip i{background:var(--c);border-radius:50%;flex:none;width:8px;height:8px}.le-chip.prio{padding:0 12px;font-weight:800}.le-chip.prio.on{color:var(--red);background:color-mix(in oklab, var(--red) 14%, transparent);border-color:color-mix(in oklab, var(--red) 50%, transparent)}.le-overlay{opacity:0;cursor:pointer;appearance:none;border:0;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.le-note{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.todo-group{padding-top:14px}.todo-group+.todo-group{margin-top:2px}.todo-group-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:baseline;margin:0 0 4px;padding-left:34px;font-size:12px;font-weight:700;display:flex}.todo-group-title .mono{color:var(--faint);letter-spacing:0;font-size:11px}.todo-group.g-overdue .todo-group-title span:first-child{color:var(--red)}.todo-group.g-today .todo-group-title span:first-child{color:var(--yellow)}.todo-card .empty{padding-top:22px}.uni-links{gap:10px;margin-top:22px;display:flex}.uni-links>.uni-link{flex:1 1 0}.uni-links>.uni-link.edit{flex:0 0 44px}.uni-link{border-radius:var(--radius-sm);min-width:0;color:inherit;background:var(--surface);border:1px solid var(--line);align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.uni-link:hover{border-color:var(--line-strong)}.uni-link:active{transform:scale(.98)}.uni-link-mark{width:34px;height:34px;font-family:var(--font-display);color:var(--c-uni);background:color-mix(in oklab, var(--c-uni) 16%, transparent);border-radius:10px;flex:none;place-items:center;font-size:17px;font-weight:800;display:grid}.uni-link-text{flex-direction:column;min-width:0;display:flex}.uni-link-text b{font-size:14.5px}.uni-link-text span{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.uni-link-ext{color:var(--faint);flex:none;margin-left:auto}.uni-link.edit{cursor:pointer;color:var(--muted);justify-content:center;padding:0}@media (width<=759px){.uni-links{gap:8px;margin-top:16px}.uni-links>.uni-link.edit{flex-basis:40px}.uni-link{text-align:center;flex-direction:column;gap:6px;padding:12px 6px 10px}.uni-link-text span,.uni-link-ext{display:none}.uni-link-text b{font-size:13px}}.uni-tabs{margin-top:18px}.uni-tabs .seg{width:100%;max-width:360px}.uni-tabs .seg button{flex:1}.uni-today{align-items:flex-start}.uni-time{width:64px;box-shadow:inset 2px 0 0 var(--c);flex:none;padding-top:1px;padding-left:8px}.link-edit{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr) auto;align-items:center;gap:8px;display:grid}@media (width<=520px){.link-edit{grid-template-columns:minmax(0,1fr) auto}.link-edit .input:nth-child(2){grid-column:1}.link-edit .icon-btn{grid-area:1/2}}.exam-hero{color:inherit;background:linear-gradient(135deg, color-mix(in oklab, var(--c) 16%, var(--surface)), var(--surface) 70%);border-color:color-mix(in oklab, var(--c) 35%, var(--line));flex-direction:column;gap:12px;text-decoration:none;display:flex}a.exam-hero:hover{border-color:var(--c)}.exam-hero-main{align-items:center;gap:16px;min-width:0;display:flex}.exam-hero-count{background:color-mix(in oklab, var(--c) 22%, transparent);width:76px;height:76px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--c) 45%, transparent);border-radius:18px;flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex}.exam-hero-count b{font-family:var(--font-display);font-size:38px;line-height:1}.exam-hero-count b.sm{font-size:26px}.exam-hero-count span{color:var(--muted);font-size:11px}.exam-hero.compact .exam-hero-count{border-radius:15px;width:60px;height:60px}.exam-hero.compact .exam-hero-count b{font-size:30px}.exam-hero-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;overflow-wrap:anywhere;font-size:22px;font-weight:800;line-height:1.1}.exam-hero.compact .exam-hero-title{font-size:18px}.exam-progress{background:var(--bg-2);border-radius:4px;height:6px;display:block;overflow:hidden}.exam-progress i{background:var(--c,var(--c-study));height:100%;transition:width .3s var(--ease);border-radius:4px;display:block}.exam-progress.sm{max-width:200px;height:3px;margin-top:5px}.exam-row.past{opacity:.7}.exam-row.past .exam-count{background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}.apple-hint{color:inherit;gap:12px;text-decoration:none}.exam-cal-month{text-align:center;min-width:112px;font-weight:650}.exam-cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.exam-cal-wd{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);text-align:center;padding-bottom:2px;font-size:10.5px;font-weight:700}.exam-cal-day{background:var(--bg-2);min-width:0;min-height:66px;color:var(--text-2);font:inherit;text-align:left;cursor:default;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:stretch;gap:3px;padding:5px;display:flex}.exam-cal-day.has{cursor:pointer;background:var(--surface);border-color:var(--line)}.exam-cal-day.has:hover{border-color:var(--line-strong)}.exam-cal-day.out{opacity:.38}.exam-cal-day.today .exam-cal-num{background:var(--accent);color:#fff}.exam-cal-day.picked{border-color:var(--text)}.exam-cal-num{text-align:center;border-radius:10px;align-self:flex-start;min-width:20px;height:20px;padding:0 3px;font-size:12px;font-weight:650;line-height:20px}.exam-cal-pill{min-width:0;color:var(--text);background:color-mix(in oklab, var(--c) 34%, transparent);box-shadow:inset 2px 0 0 var(--c);border-radius:5px;padding:2px 5px;font-size:10.5px;font-weight:650;display:block}.exam-cal-pill.reg{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--c) 70%, transparent);color:var(--text-2);background:0 0}.exam-cal-pill-text{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.exam-cal-more{color:var(--muted);padding-left:3px;font-size:10px}.exam-cal-key{background:color-mix(in oklab, var(--c-uni) 50%, transparent);width:12px;height:8px;box-shadow:inset 2px 0 0 var(--c-uni);border-radius:3px}.exam-cal-key.reg{box-shadow:inset 0 0 0 1px var(--c-uni);background:0 0}@media (width<=600px){.exam-cal{gap:3px}.exam-cal-day{align-items:center;min-height:48px;padding:4px 3px}.exam-cal-num{align-self:center}.exam-cal-pill{border-radius:3px;width:100%;height:5px;padding:0}.exam-cal-pill-text,.exam-cal-more{display:none}}@media (width<=999px){.list-entry-input{font-size:16px}.list-entry-chips,.todo-group-title{padding-left:0}.le-chip{height:32px;padding:0 11px}.list-entry-chips{gap:5px}}@media (width<=420px){.le-chip .le-opt{display:none}}.allday.cal{background:color-mix(in oklab, var(--c) 20%, transparent);box-shadow:inset 2px 0 0 var(--c);color:var(--text-2)}.feed-row{gap:10px}.feed-row .btn{flex:none}.feed-dot{background:var(--muted);border-radius:4px;flex:none;width:12px;height:12px}.feed-dot.exams{background:#e5484d}.feed-dot.uni{background:#5b8def}.feed-dot.training{background:#f76b15}.swatch{cursor:pointer;border:2px solid #0000;border-radius:8px;width:26px;height:26px;padding:0;box-shadow:inset 0 0 0 1px #00000026}.swatch.on{border-color:var(--text)}.steps{flex-direction:column;gap:3px;margin:0;padding-left:18px;display:flex}@media (width<=520px){.feed-row{flex-wrap:wrap}.feed-row .grow{flex-basis:calc(100% - 30px)}.feed-row .btn{margin-left:22px}}.skip-panel{flex-direction:column;gap:8px;margin-top:14px;display:flex}.skip-panel .alt-head .chip{margin-left:auto}.skip-opt .alt-head{flex-wrap:nowrap;align-items:flex-start}.skip-opt .alt-head b{flex:1;min-width:0}.skip-opt .alt-head svg{flex:none;margin-top:2px}.skip-opt .alt-head .chip{flex:none}.preview30{gap:14px;display:grid}.preview30-day{margin-bottom:6px;font-size:14px;font-weight:700}.preview30-item{text-align:left;cursor:pointer;width:100%;color:var(--text);font:inherit;background:var(--surface-2);box-shadow:inset 3px 0 0 var(--c);border:0;border-radius:10px;gap:2px;margin-bottom:6px;padding:8px 10px;display:grid}.preview30-item:hover{filter:brightness(1.05)}.preview30-kind{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--c);font-size:10px;font-weight:700}.preview30-item.k-exam .preview30-kind,.preview30-item.k-register .preview30-kind{color:var(--red)}.preview30-badge{font-family:var(--font-mono);background:color-mix(in oklab, var(--c-study) 18%, transparent);color:var(--muted);border-radius:4px;padding:1px 6px;font-size:9.5px}.ob{z-index:50;background:var(--bg);position:fixed;inset:0}.ob .ambient{position:absolute}.ob-scroll{z-index:1;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100%;position:relative;overflow-y:auto}.ob-frame{max-width:600px;min-height:100%;padding:calc(18px + env(safe-area-inset-top)) var(--gutter) calc(14px + env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.ob-top{align-items:center;gap:16px;min-height:44px;display:flex}.ob-top .wordmark{padding:0;font-size:28px}.ob-progress{flex:auto;justify-content:flex-end;gap:5px;min-width:0;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.ob-progress li{background:var(--line-strong);min-width:6px;height:6px;transition:background .3s var(--ease);border-radius:3px;flex:0 22px}.ob-progress li.on{background:var(--accent)}.ob-body{animation:ob-in .45s var(--ease) backwards;flex-direction:column;flex:1;padding:clamp(28px,7vh,64px) 0 12px;display:flex}@keyframes ob-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.ob-q{font-family:var(--font-display);text-transform:uppercase;text-wrap:balance;letter-spacing:.005em;margin:0;font-size:clamp(40px,11vw,64px);font-weight:800;line-height:.9}.ob-hero{font-size:clamp(54px,15vw,92px)}.ob-lead{font-family:var(--font-voice);color:var(--text-2);max-width:34em;margin:16px 0 0;font-size:18px;font-style:italic;line-height:1.45}.ob-content{flex-direction:column;gap:14px;margin-top:28px;display:flex}.ob-points{flex-direction:column;gap:14px;margin:30px 0 0;padding:0;list-style:none;display:flex}.ob-points li{color:var(--text-2);align-items:flex-start;gap:12px;display:flex}.ob-points svg{width:20px;height:20px;color:var(--accent);flex:none;margin-top:2px}.ob-points b{color:var(--text);font-weight:650}.ob-actions{flex-direction:column;gap:10px;margin-top:auto;padding-top:32px;display:flex}.ob-fine{margin:14px 0 0}.linklike{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.ob-nav{align-items:center;gap:10px;margin-top:auto;padding-top:28px;display:flex}.ob-choices{gap:10px;display:grid}.ob-choices.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ob-choice{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--text);border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:var(--surface);align-items:center;gap:14px;padding:16px;transition:border-color .2s,background .2s,transform .1s;display:flex}.ob-choice:hover{border-color:color-mix(in oklab, var(--accent) 45%, var(--line-strong))}.ob-choice:active{transform:scale(.985)}.ob-choice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ob-choice.on{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 9%, var(--surface))}.ob-choice-icon svg{width:22px;height:22px;color:var(--muted)}.ob-choice.on .ob-choice-icon svg{color:var(--accent)}.ob-choice-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ob-choice-text b{flex-wrap:wrap;align-items:center;row-gap:4px;font-size:15.5px;font-weight:650;display:flex}.ob-choice-text>span{color:var(--muted);font-size:13px;line-height:1.4}.ob-choice-text .chip{align-self:flex-start;margin-top:4px}.ob-choice-mark{border:1.5px solid var(--line-strong);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;transition:all .2s;display:grid}.ob-choice-mark svg{opacity:0;color:#fff;width:13px;height:13px}.ob-choice.on .ob-choice-mark{background:var(--accent);border-color:#0000}.ob-choice.on .ob-choice-mark svg{opacity:1}.ob-choices.two .ob-choice{gap:10px;padding:14px 12px}.ob-choices.two .ob-choice-mark{display:none}.ob-choices.two .ob-choice-text b{font-size:14.5px}.ob-group{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:12px;padding:16px;display:flex}.ob-group .h3{align-items:center;gap:8px;display:flex}.ob-group .h3 svg{color:var(--muted)}.ob-note{border-radius:var(--radius-sm);background:var(--bg-2);border:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:14px 16px;display:flex}.ob-summary{flex-direction:column;margin:0;display:flex}.ob-summary>div{border-bottom:1px solid var(--line);grid-template-columns:92px 1fr;gap:12px;padding:12px 0;display:grid}.ob-summary dt{color:var(--muted);font-size:13px;font-weight:600}.ob-summary dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:14.5px}.ob-summary .todo dd{color:var(--muted)}.ob-legal{flex-wrap:wrap;justify-content:center;gap:4px 16px;padding-top:18px;display:flex}.ob-legal button{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:12px}.ob-legal button:hover{color:var(--text-2)}.consent{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-2);cursor:pointer;align-items:flex-start;gap:12px;padding:12px;display:flex;position:relative}.consent input{opacity:0;cursor:pointer;width:22px;height:22px;margin:0;position:absolute;top:12px;left:12px}.consent-box{border:1.5px solid var(--line-strong);border-radius:7px;flex:none;place-items:center;width:22px;height:22px;transition:all .2s;display:grid}.consent.on .consent-box{background:var(--green);border-color:#0000}.consent.on .consent-box:after{content:"";border:2.5px solid #fff;border-width:0 2.5px 2.5px 0;width:6px;height:11px;transform:translateY(-1px)rotate(45deg)}.consent input:focus-visible+.consent-box{outline:2px solid var(--accent);outline-offset:2px}.consent a{color:var(--text)}.invite-input{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:17px}@media (prefers-reduced-motion:reduce){.ob-body{animation:none}.ob-progress li{transition:none}}.day-pick{flex-wrap:wrap;gap:6px;display:flex}.day-pick button{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);min-width:42px;height:38px;color:var(--text);font:inherit;cursor:pointer;padding:0 10px;font-size:13.5px;font-weight:600;transition:all .15s}.day-pick button.on{background:var(--accent);color:#fff;border-color:#0000}.sport-pick button{align-items:center;gap:6px;display:inline-flex}.sport-pick button svg{flex:none;width:14px;height:14px}.sport-pick button:disabled{cursor:default;opacity:1}.plan-week{border-top:1px solid var(--line);flex-direction:column;display:flex}.plan-day{border-bottom:1px solid var(--line);grid-template-columns:64px minmax(0,1fr);align-items:start;gap:10px;padding:9px 0;display:grid}.plan-day.today .plan-day-head b{color:var(--accent)}.plan-day-head{flex-direction:column;gap:1px;padding-top:3px;display:flex}.plan-day-head b{font-family:var(--font-mono);letter-spacing:.08em;font-size:12px}.plan-day-items{flex-direction:column;gap:6px;min-width:0;padding-top:3px;display:flex}.plan-item{text-align:left;width:100%;min-width:0;font:inherit;color:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}button.plan-item{cursor:pointer;border-radius:var(--radius-sm);width:calc(100% + 12px);margin:-4px -6px;padding:4px 6px}button.plan-item:hover{background:var(--bg-2)}.plan-item .mono{width:44px;color:var(--text-2);flex:none}.plan-item.skipped .grow{color:var(--muted);text-decoration:line-through}.plan-ex{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.plan-ex li{justify-content:space-between;gap:12px;font-size:13.5px;display:flex}.plan-ex .mono{white-space:nowrap;color:var(--text-2)}details.card>summary{cursor:pointer;list-style:none}details.card>summary::-webkit-details-marker{display:none}.plan-ex-edit{grid-template-columns:minmax(0,1fr) 64px 56px 76px auto auto;align-items:center;gap:6px;display:grid}@media (width<=560px){.plan-ex-edit{grid-template-columns:1fr 1fr 1fr auto}.plan-ex-edit>.input:first-child{grid-column:1/-1}}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.meter{background:var(--surface-2);border-radius:6px;height:10px;overflow:hidden}.meter span{border-radius:inherit;background:var(--accent);height:100%;transition:width .5s var(--ease);display:block}.feedback-reply{border-left:2px solid var(--accent);background:var(--surface-2);border-radius:0 var(--radius-xs) var(--radius-xs) 0;margin-top:6px;padding:8px 10px}dialog.sheet-backdrop{width:100%;max-width:none;height:100%;max-height:none;color:var(--text);border:0;margin:0}dialog.sheet-backdrop:not([open]){display:none}dialog.sheet-backdrop::backdrop{background:0 0}.release-tag{color:var(--text-3);white-space:nowrap;font-size:10px;line-height:1.2}.release-notice{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:12px 0;padding:12px}.timer{z-index:56}.wk{z-index:52;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.wk-head{padding:calc(10px + env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:10px;display:flex}.wk-title{font-family:var(--font-display);text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:22px;font-weight:800;line-height:1.05;overflow:hidden}.wk-head .icon-btn.on{color:var(--accent);border-color:var(--accent)}.wk-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.wk-body{max-width:720px;padding:14px 16px calc(150px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;margin:0 auto;display:flex}.wk-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.wk-card.aborted{opacity:.6}.wk-warm{width:100%;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.wk-ex-head{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.wk-sets{flex-direction:column;gap:6px;display:flex}.wk-set{grid-template-columns:30px minmax(0,1.1fr) minmax(0,1fr) 42px;align-items:center;gap:6px;display:grid}.wk-sets.weighted .wk-set{grid-template-columns:30px minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr) 42px}.wk-sets.weighted.rir .wk-set{grid-template-columns:24px minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,.75fr) 40px;gap:5px}.wk-set .need{box-shadow:0 0 0 1.5px var(--accent);border-radius:var(--radius-xs)}.wk-rir-hint{color:var(--accent);margin:-2px 0 10px;font-size:12.5px;line-height:1.4}.wk-pr{border-radius:var(--radius-sm);background:color-mix(in oklab, var(--accent) 12%, transparent);border:1px solid color-mix(in oklab, var(--accent) 45%, transparent);animation:wk-pr-in .6s var(--ease) both;align-items:flex-start;gap:12px;padding:14px;display:flex}.wk-pr-icon{width:28px;height:28px;color:var(--accent);flex:none;margin-top:2px}.wk-pr-row{flex-direction:column;margin-top:4px;display:flex}.wk-pr-row b{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;font-size:21px;font-weight:800;line-height:1}@keyframes wk-pr-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}@media (prefers-reduced-motion:reduce){.wk-pr{animation:none}}.wk-set.head span{font-family:var(--font-mono);color:var(--faint);letter-spacing:.08em;text-transform:uppercase;text-align:center;font-size:10px}.wk-set .n{font-family:var(--font-mono);color:var(--muted);text-align:center;font-size:12px}.wk-set .prev{font-family:var(--font-mono);color:var(--muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.wk-set.done .prev,.wk-set.done .n{color:var(--green)}.wk-set .ok{border:1.5px solid var(--line-strong);background:var(--bg-2);cursor:pointer;border-radius:10px;place-items:center;width:42px;height:36px;transition:all .2s;display:grid}.wk-set .ok svg{opacity:.3;width:17px;height:17px}.wk-set .ok.on{background:var(--green);color:#fff;border-color:#0000}.wk-set .ok.on svg{opacity:1}.wk-preview{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.wk-preview li{border-top:1px solid var(--line);gap:12px;padding:12px 0;display:flex}.wk-preview li:first-child{border-top:0;padding-top:0}.nw-card .nw-title{font-family:var(--font-display);text-transform:uppercase;margin:6px 0 4px;font-size:clamp(28px,6vw,40px);font-weight:800;line-height:1}.nw-list{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.nw-list li{justify-content:space-between;gap:10px;font-size:13.5px;display:flex}.nw-list li .mono{color:var(--text-2);white-space:nowrap}.nw-actions{grid-template-columns:1fr 1.4fr;gap:8px;margin-top:14px;display:grid}.running-pill{left:50%;bottom:calc(86px + env(safe-area-inset-bottom));z-index:34;cursor:pointer;background:var(--accent);color:#fff;white-space:nowrap;text-overflow:ellipsis;border:0;border-radius:999px;align-items:center;gap:10px;max-width:calc(100vw - 150px);padding:9px 16px;font-size:14px;font-weight:650;display:flex;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 14px 34px -12px #0000008c}@media (width>=1000px){.running-pill{bottom:28px}}.running-pill svg{width:16px;height:16px}.hist-row{border:0;border-top:1px solid var(--line);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;padding:12px 0;display:flex}.hist-row:first-child{border-top:0}.hist-date{text-align:center;flex:none;width:46px}.hist-date .d{font-family:var(--font-display);font-size:22px;font-weight:800;line-height:1}.hist-date .m{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;font-size:10px}.prog-row{border:0;border-top:1px solid var(--line);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) 90px;align-items:center;gap:12px;padding:10px 0;display:grid}.prog-row:first-child{border-top:0}.quick-meal{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-2);color:inherit;font:inherit;cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;max-width:100%;padding:9px 12px;display:flex}.quick-meal b{font-size:13.5px}.quick-meal:hover{border-color:color-mix(in oklab, var(--accent) 45%, var(--line-strong))}.quick-meal:active{transform:scale(.98)}.facts{flex-direction:column;display:flex}.fact-row{border:0;border-top:1px solid var(--line);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;display:grid}.fact-row:first-child{border-top:0}.fact-row:hover .fact-value{color:var(--text)}.fact-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px}.fact-value{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.wk-fieldset{border:0;flex-direction:column;gap:12px;min-width:0;margin:0;padding:0;display:flex}:root{--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-sheet:cubic-bezier(.32, .72, 0, 1);--ease-in:cubic-bezier(.4, 0, 1, 1)}.page{animation:none}.page>:not(.page-head),.page-head>:not(.topbar){animation:page-rise .32s var(--ease-out) backwards}.page>:nth-child(3){animation-delay:25ms}.page>:nth-child(n+4){animation-delay:50ms}@keyframes page-rise{0%{opacity:0;transform:translateY(7px)}}.route-loading{min-height:60vh;color:var(--muted);place-items:center;font-size:14px;display:grid}.sheet-backdrop{animation:sheet-fade .24s var(--ease-out) both}.sheet{animation:sheet-in .4s var(--ease-sheet) both}.sheet-grip,.sheet-head{touch-action:pan-x}@keyframes sheet-fade{0%{opacity:0}}@keyframes sheet-in{0%{transform:translateY(100%)}}.sheet-closing,.sheet-ghost{animation:sheet-fade-out .24s var(--ease-in) both}.sheet-closing .sheet,.sheet-ghost .sheet{animation:sheet-out .24s var(--ease-in) both;pointer-events:none}.sheet-ghost{pointer-events:none}.sheet-ghost .sheet *{transition:none!important;animation:none!important}@keyframes sheet-fade-out{to{opacity:0}}@keyframes sheet-out{to{transform:translateY(100%)}}@media (width>=1000px){.sheet{animation:sheet-pop .28s var(--ease-out) both}.sheet-closing,.sheet-ghost{animation-duration:.18s}.sheet-closing .sheet,.sheet-ghost .sheet{animation:sheet-pop-out .18s var(--ease-in) both}.sheet-head{touch-action:auto}@keyframes sheet-pop{0%{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes sheet-pop-out{to{opacity:0;transform:translateY(6px)scale(.98)}}}.btn,.icon-btn,.seg button,.tab,.nav-link,.more-trigger,.fab{-webkit-tap-highlight-color:transparent;transition:transform .18s var(--ease-out), background .18s, border-color .18s, color .18s, box-shadow .18s}.btn:not(:disabled):active,.icon-btn:not(:disabled):active,.seg button:not(:disabled):active,.tab:active,.nav-link:active,.more-trigger:active{transform:scale(.965)}.fab:active{transform:scale(.93)}.seg button{position:relative}.seg button.on{box-shadow:0 1px 4px #0000001a}.toast{animation:toast-in .26s var(--ease-out) both}.toast-leaving{animation:toast-out .18s var(--ease-in) both;pointer-events:none}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes toast-out{to{opacity:0;transform:translateY(5px)scale(.98)}}[tabindex="-1"]:focus,:root[data-input=pointer] :focus-visible{outline:none}@media (prefers-reduced-motion:reduce){.page>:not(.page-head),.page-head>:not(.topbar),.sheet,.sheet-backdrop,.toast{animation:none}.btn,.icon-btn,.seg button,.tab,.nav-link,.more-trigger,.fab{transition:none}.btn:not(:disabled):active,.icon-btn:not(:disabled):active,.seg button:not(:disabled):active,.tab:active,.nav-link:active,.more-trigger:active,.fab:active{transform:none}}.section-intro{max-width:600px;margin:14px 0 20px;line-height:1.6}.insights-destinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.section-destination{color:inherit;align-items:center;gap:14px;min-width:0;text-decoration:none;display:flex}.section-destination .grow{min-width:0}.section-destination strong,.section-destination .grow>span{display:block}.section-destination strong{margin-bottom:4px}.section-destination .small{line-height:1.5}.section-destination>svg{flex:none;width:18px}.section-destination-icon{width:42px;height:42px;color:var(--accent);background:color-mix(in oklab, var(--accent) 9%, transparent);border-radius:12px;flex:none;place-items:center;display:grid}.section-destination-icon svg{width:22px;height:22px}.section-destination:hover{border-color:var(--line-strong);background:var(--surface-2)}.insights-daily{--gap:12px;margin-top:32px}.section-disclosure>summary{align-items:center;gap:12px;display:flex}.section-disclosure>summary>svg{width:18px;height:18px;color:var(--muted);flex:none}.section-disclosure>summary strong,.section-disclosure>summary .tiny{display:block}.section-disclosure>summary .tiny{margin-top:3px;line-height:1.5}.section-disclosure .disclosure-chevron{transition:transform .2s}.section-disclosure[open]>summary .disclosure-chevron{transform:rotate(180deg)}.section-disclosure-content{margin-top:18px}.section-disclosure-content>.card:only-child{box-shadow:none}.training-tools{--gap:12px;margin:16px 0 20px}.training-coach{padding:16px 18px}@media (width<=640px){.insights-destinations{grid-template-columns:minmax(0,1fr)}.section-destination{gap:12px}}.section-menu{padding:16px 18px}.section-menu>summary{cursor:pointer;list-style:none}.section-menu>summary::-webkit-details-marker{display:none}.section-menu>summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:4px}.section-menu .section-menu{box-shadow:none}.nutrition-plan-notes{margin-bottom:14px}.nutrition-plan-notes[open]>summary,.meal-detail[open]>summary{margin-bottom:10px}.meal-detail{margin-top:4px}.day-goals{padding:16px 16px 14px}.dg-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.dg-head .h3{white-space:nowrap;margin:0}.dg-chips{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.dg-chips .chip{gap:4px;height:24px;padding:0 9px;font-size:11.5px}.dg-chips .chip svg{width:13px;height:13px}.dg-streak{color:var(--muted)}.dg-streak.on{color:var(--accent);background:color-mix(in oklab, var(--accent) 14%, transparent);border-color:#0000}.dg-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid}.dg-goal{min-width:0;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:4px 0 2px;display:flex}.dg-goal:hover{background:color-mix(in oklab, var(--surface-2) 70%, transparent)}.dg-goal:active{transform:scale(.96)}.dg-icon{place-items:center;width:48px;height:48px;display:grid;position:relative}.dg-ring{width:100%;height:100%;position:absolute;inset:0}.dg-track{fill:none;stroke:var(--surface-3);stroke-width:4px}.dg-arc{fill:none;stroke-width:4px;stroke-linecap:round;transition:stroke-dasharray .5s var(--ease)}.dg-glyph{width:19px;height:19px;color:var(--muted);position:relative}.dg-goal.done .dg-glyph{color:var(--green)}.dg-badge{background:var(--green);color:#fff;width:17px;height:17px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;place-items:center;display:grid;position:absolute;top:-1px;right:-1px}.dg-badge svg{width:10px;height:10px}.dg-label{margin-top:3px;font-size:11.5px;font-weight:600;line-height:1.2}.dg-short{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;max-width:100%;font-size:10px;line-height:1.2;overflow:hidden}.dg-goal.done .dg-short{color:var(--green)}.dg-hint{color:var(--text-2);margin:10px 2px 0;font-size:13px;line-height:1.4}.day-goals.closed .dg-hint{color:var(--green)}.day-goals.pop{animation:dg-pop .9s var(--ease)}@keyframes dg-pop{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--green) 45%, transparent)}40%{box-shadow:0 0 0 10px color-mix(in oklab, var(--green) 0%, transparent);transform:scale(1.012)}to{box-shadow:none;transform:none}}@media (prefers-reduced-motion:reduce){.day-goals.pop{animation:none}.dg-arc{transition:none}}.wr-week{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.wr-day{font-family:var(--font-mono);color:var(--muted);flex-direction:column;align-items:center;gap:4px;font-size:10.5px;display:flex}.wr-day i{border:1.5px solid var(--line-strong);width:30px;height:30px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;font-size:11px;font-style:normal;display:grid}.wr-day.closed i{background:var(--green);border-color:var(--green);color:#fff}.wr-day.shield i{border-color:var(--c-sleep);color:var(--c-sleep);background:color-mix(in oklab, var(--c-sleep) 12%, transparent)}.wr-day.future i{opacity:.55;border-style:dashed}.wr-list{flex-direction:column;display:flex}.wr-list>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:7px 0;font-size:13.5px;display:flex}.wr-list>div:last-child{border-bottom:0}.wr-list b{text-align:right;font-weight:600}.wr-fresh{border-radius:var(--radius-sm);border:1px solid color-mix(in oklab, var(--accent) 40%, transparent);flex-direction:column;align-items:flex-start;gap:6px;padding:12px;display:flex}.wr-fresh .chip svg{width:13px;height:13px}.today-focus{--gap:20px;margin-top:6px}.today-body-widgets{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.today-body-widgets.single{grid-template-columns:minmax(0,1fr)}@media (width<=720px){.today-focus{--gap:16px;margin-top:4px}.today-body-widgets{grid-template-columns:minmax(0,1fr);gap:16px}}@media (width<=759px){.verdict-coach-label{display:none}.verdict-coach{padding-inline:10px}.dg-hint{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}@media (width<=759px) and (height<=720px){.today-page .h1{font-size:34px}.today-focus{--gap:12px;margin-top:4px}.today-focus .verdict{padding:14px 14px 14px 18px}.today-focus .verdict-headline{margin-top:6px;font-size:24px}.today-focus .verdict-list{gap:3px;margin-top:10px}.today-focus .verdict-list li{font-size:14px}.today-focus .verdict-actions{margin-top:10px!important}.today-focus .day-goals{padding:12px 14px 10px}.today-focus .dg-head{margin-bottom:8px}.today-focus .dg-hint{margin-top:6px;padding-right:62px}}.today-day-nav{background:var(--surface-2);border-radius:24px;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;width:220px;display:grid}.today-page .today-day-nav .icon-btn{width:44px;min-width:0;height:44px;box-shadow:none;background:0 0;border:0;padding:10px}.today-day-label{min-width:0;min-height:44px;color:var(--text);background:var(--surface-3);cursor:pointer;border:0;border-radius:20px;place-items:center;padding:4px;display:grid}.today-day-label strong{letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:750}.today-day-label:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.today-day-panel{text-align:center;color:var(--muted);padding:0 4px;font-size:12px;line-height:1.5}.today-day-context{color:var(--muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;margin-top:2px;font-size:11px;display:flex}.today-day-context .btn{min-height:30px;padding:4px 8px;font-size:11px}.today-date-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.today-date-shortcuts .btn{min-width:0;padding-inline:8px}.today-widget-actions{gap:4px}.today-widget-actions .icon-btn{width:36px;height:36px;padding:8px}.today-meal-entry{width:100%;margin-top:14px}@media (width<=999px){.today-day-nav{width:164px}.today-day-label strong{letter-spacing:.025em;font-size:10.5px}.today-page .page-head .topbar .today-header-customize{display:none}}.today-selected-widgets{--gap:20px}.today-customize-link{color:var(--muted);align-self:center;margin-top:2px}.today-fixed-widget{background:var(--bg);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.today-fixed-widget>svg{color:var(--accent);flex-shrink:0}.today-fixed-widget>div{flex:1;min-width:0}.today-fixed-widget p{margin:4px 0 0}.today-fixed-widget .chip{flex-shrink:0;font-size:10px}.today-widget-options{margin:0;padding:0;list-style:none}.today-widget-options>li{border-top:1px solid var(--line);padding:16px 0}.today-widget-choice{justify-content:space-between;align-items:center;gap:16px;display:flex}.today-widget-copy{flex:1;min-width:0}.today-widget-copy p{margin:4px 0 0}.today-widget-position{align-items:center;gap:6px;margin-top:8px;display:flex}.today-widget-position>span{color:var(--muted);margin-right:auto;font-size:11px}.today-widget-position .icon-btn{width:36px;height:36px}.widget-hidden .today-widget-copy{color:var(--muted)}.today-metric-options{border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 10px;margin:12px 0 0;padding:12px;display:grid}.today-metric-options legend{color:var(--muted);padding:0 5px;font-size:11px}.today-metric-choice{cursor:pointer;align-items:center;gap:8px;min-height:36px;font-size:12px;display:flex}.today-metric-choice input{width:17px;height:17px;accent-color:var(--accent);flex-shrink:0}@media (width<=720px){.today-selected-widgets{--gap:16px}.today-fixed-widget{gap:8px;padding:12px}}@media (width<=380px){.today-fixed-widget .chip{display:none}.today-metric-options{grid-template-columns:minmax(0,1fr)}}.verdict-recommendation-label{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:11px;display:flex}.verdict-recommendation-label .chip{height:21px;padding:0 7px;font-size:10px}.verdict-warning-summary{text-align:left;border:1px solid var(--line);background:color-mix(in oklab, var(--surface) 88%, var(--yellow) 12%);width:100%;color:var(--text-2);font:inherit;cursor:pointer;border-radius:10px;gap:5px;margin:12px 0;padding:10px 12px;display:grid}.verdict-warning-summary strong{font-size:12px;font-weight:600;line-height:1.45}.verdict-warning-summary>span{font-size:11px;line-height:1.45}.verdict-warning-detail{color:var(--muted);align-items:center;gap:5px;display:flex}.verdict-warning-summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (width<=759px){.verdict-grid{grid-template-areas:"ring chips""ring head""warn warn""list list""act act"}.verdict-recommendation-heading{grid-area:head;align-self:start;min-width:0}.verdict-recommendation-label{gap:6px;margin-top:8px;font-size:10px}.verdict-recommendation-heading .verdict-headline{margin-top:5px}.verdict-warning-summary{grid-area:warn;margin-bottom:0}}@media (width<=380px){.today-focus .verdict-recommendation-heading .verdict-headline{font-size:24px;line-height:.98}.verdict-actions{gap:6px;--gap:6px!important}.verdict-actions .btn.sm{gap:6px;height:36px;padding-inline:8px;font-size:12px}.verdict-actions .btn svg{width:14px;height:14px}.verdict-actions .verdict-coach{justify-content:center;width:36px;min-width:36px;padding:0}}
