*,:before,:after{box-sizing:border-box}:root{--bg:#1a1a2e;--surface:#16213e;--surface-alt:#0f3460;--accent-in:#4ade80;--accent-teal:#2dd4bf;--brand-gradient:linear-gradient(135deg, #4ade80, #2dd4bf);--text:#e2e8f0;--text-muted:#94a3b8;--radius:12px;-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,sans-serif;font-size:16px}body{background:var(--bg);min-height:100dvh;color:var(--text);margin:0}.page{max-width:560px;margin:0 auto;padding:1.5rem 1rem 4rem}.landing{padding:2rem 1rem calc(2.5rem + env(safe-area-inset-bottom))}.landing__content{text-align:center;flex-direction:column;align-items:center;gap:.75rem;max-width:560px;margin:0 auto;display:flex}.landing__logo{filter:drop-shadow(0 0 24px #2dd4bf59);border-radius:20px;width:72px;height:72px;margin-top:1rem}.landing__eyebrow{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.75rem;font-weight:700}.landing__title{letter-spacing:-.02em;color:var(--text);margin:0;font-size:clamp(1.75rem,6vw,2.4rem);font-weight:700}.landing__lede{color:var(--text-muted);margin:0;font-size:1rem;line-height:1.6}.landing__cta-group{flex-direction:column;align-items:center;gap:.6rem;width:100%;max-width:280px;margin-top:1rem;display:flex}.landing__cta-group .landing__cta{width:100%;margin-top:0}.landing__cta-divider{width:100%;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.6rem;font-size:.72rem;display:flex}.landing__cta-divider:before,.landing__cta-divider:after{content:"";background:var(--text-muted);opacity:.35;flex:1;height:1px}.landing__cta{background:var(--brand-gradient);color:var(--bg);cursor:pointer;border:2px solid #0000;border-radius:999px;outline:none;margin-top:1rem;padding:.85rem 2rem;font-family:inherit;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .35s;display:inline-block}.landing__cta:hover{transform:translateY(-1px)}.landing__cta:focus-visible{box-shadow:0 0 0 3px #39d8a6}.landing__cta--secondary{border-color:var(--text-muted);color:var(--text);background:0 0}.landing__cta-note{color:var(--text-muted);margin:0;font-size:.8rem}.landing__section{background:var(--surface-alt);border-radius:var(--radius);text-align:left;width:100%;margin-top:1.25rem;padding:1rem 1.1rem}.landing__section-title{letter-spacing:-.01em;color:var(--text);margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.landing__text{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.65}.landing__text+.landing__text{margin-top:.75rem}.landing__section a,.landing__footer a{color:var(--accent-in);text-underline-offset:.2em}.landing__pro-heading{color:var(--text);flex-wrap:wrap;align-items:baseline;gap:.45em;margin:1rem 0 0;font-size:1rem;display:flex}.landing__plan-list{color:var(--text-muted);margin:.5rem 0 0;padding-left:1.2rem;font-size:.9rem;line-height:1.65}.landing__plan-list li+li{margin-top:.2rem}.landing__posts{margin:0 0 .75rem;padding:0;list-style:none}.landing__posts li{border-bottom:1px solid color-mix(in srgb, var(--text-muted) 25%, transparent);flex-direction:column;gap:.25rem;padding:.7rem 0;display:flex}.landing__posts li:first-child{padding-top:.2rem}.landing__posts a{font-weight:700;text-decoration:none}.landing__posts a:hover{text-decoration:underline}.landing__posts time{color:var(--text-muted);font-size:.8rem}.landing__posts .blog-list__meta{margin:0}.landing__footer{flex-direction:column;align-items:center;gap:.5rem;margin-top:2rem;display:flex}.legal__masthead{color:var(--text);align-items:center;gap:.6rem;margin-top:.5rem;font-weight:700;text-decoration:none;display:inline-flex}.legal__masthead img{filter:drop-shadow(0 0 12px #2dd4bf4d);border-radius:11px;width:40px;height:40px}.legal__masthead:hover span{text-decoration:underline}.legal{color:var(--text-muted);padding:1.5rem 0 1rem;font-size:.92rem;line-height:1.6}.legal h1{color:var(--text);margin:0 0 1.25rem;font-size:1.5rem;line-height:1.2}.legal h2{color:var(--text);margin:1.75rem 0 .5rem;font-size:1rem}.legal p,.legal ul{margin:0 0 .85rem}.legal ul{padding-left:1.25rem}.legal li{margin-bottom:.35rem}.legal a{color:var(--accent-in)}.legal .landing__section-title{margin:0 0 .5rem}.legal .landing__text{margin:0}.legal .landing__text+.landing__text{margin-top:.75rem}.legal__meta{margin-top:2rem;font-size:.82rem}.legal ol{margin:0 0 .85rem;padding-left:1.4rem}.legal strong{color:var(--text)}.breadcrumb{text-transform:uppercase;letter-spacing:.05em;margin:0 0 .4rem;font-size:.8rem;font-weight:700}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.legal h1+.article__lede{margin-top:-.5rem}.article__lede{color:var(--text);font-size:1rem;line-height:1.6}.section-list{gap:.6rem;list-style:none;display:grid;padding:0!important}.section-list li{background:var(--surface-alt);border-radius:var(--radius);flex-direction:column;gap:.2rem;margin:0;padding:.8rem 1rem;display:flex}.section-list a{font-weight:700;text-decoration:none}.section-list a:hover{text-decoration:underline}.section-list span{font-size:.85rem}.article__cta{border-radius:var(--radius);background:var(--surface);border:1px solid color-mix(in srgb, var(--accent-teal) 35%, transparent);text-align:center;margin:2rem 0 1rem;padding:1.1rem 1.2rem}.article__cta p{margin:0}.legal .article__cta .landing__cta{color:var(--bg);text-decoration:none}.not-found__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-teal);font-size:.75rem;font-weight:700;margin:0 0 .4rem!important}.not-found__timer{border-radius:var(--radius);background:var(--surface-alt);text-align:center;flex-direction:column;align-items:center;gap:.3rem;margin:1.5rem 0 .5rem;padding:1.1rem 1rem;display:flex}.not-found__timer-label{text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.not-found__timer-value{font-variant-numeric:tabular-nums;letter-spacing:.02em;background:var(--brand-gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2.4rem;font-weight:700}.not-found__timer-note{font-size:.82rem}.tool{background:var(--surface-alt);border-radius:var(--radius);flex-direction:column;gap:.8rem;margin:1.25rem 0;padding:1rem 1.1rem 1.1rem;display:flex}.legal .tool h2{margin:0}.tool__field{color:var(--text);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.tool__field--inline{flex-direction:row;justify-content:space-between;align-items:center}.tool__field--inline input{width:5.5rem}.tool input,.tool select{font:inherit;color:var(--text);background:var(--bg);border:1px solid color-mix(in srgb, var(--text-muted) 40%, transparent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;min-width:0;padding:.5rem .65rem;font-size:1rem}.tool input:focus-visible,.tool select:focus-visible,.tool__button:focus-visible{outline:2px solid var(--accent-teal);outline-offset:1px}.tool input[aria-invalid=true]{border-color:#f87171}.tool__row{gap:.5rem;display:flex}.tool__row input{flex:1}.tool__button{font:inherit;color:var(--text);border:1px solid var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:0 .8rem;font-size:.85rem;font-weight:700}.tool__result{background:var(--bg);border-radius:10px;flex-direction:column;gap:.25rem;padding:.8rem .9rem;font-size:.88rem;display:flex}.tool__result strong{color:var(--accent-in);font-size:1.35rem}.tool__fieldset{border:none;border-top:1px solid color-mix(in srgb, var(--text-muted) 25%, transparent);flex-direction:column;gap:.8rem;margin:.4rem 0 0;padding:.9rem 0 0;display:flex}.tool__fieldset legend{color:var(--text);padding:0;font-weight:700}.tool__radios{color:var(--text);flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.88rem;display:flex}.tool__radios input{accent-color:var(--accent-in)}.tool__week{border-collapse:collapse;width:100%;font-size:.85rem}.tool__week th,.tool__week td{text-align:left;padding:.25rem .3rem}.tool__week thead th{color:var(--text-muted);font-size:.75rem;font-weight:600}.tool__week tbody th{color:var(--text);font-weight:600}.tool__week input,.tool__week select{width:100%;padding:.4rem .5rem;font-size:.9rem}.tool__week td:nth-child(2){width:32%}.data-table,.minutes-chart table{border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.85rem}.data-table{width:100%;margin:0 0 .85rem}.data-table th,.data-table td,.minutes-chart th,.minutes-chart td{text-align:left;border-bottom:1px solid color-mix(in srgb, var(--text-muted) 18%, transparent);padding:.35rem .5rem}.data-table th,.minutes-chart th{color:var(--text);font-size:.78rem}.minutes-chart{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.minutes-chart table{width:100%}.minutes-chart th,.minutes-chart td{padding:.2rem .3rem}@media (width<=480px){.minutes-chart{grid-template-columns:repeat(2,1fr)}}.site-footer{border-top:1px solid color-mix(in srgb, var(--text-muted) 20%, transparent);max-width:560px;margin:2.5rem auto 0;padding-top:1.25rem}.site-footer__columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem 1rem;display:grid}.site-footer__title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .5rem;font-size:.7rem;font-weight:600}.site-footer__column ul{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.site-footer__column a{color:var(--text);opacity:.85;font-size:.8rem;text-decoration:none}.site-footer__column a:hover{color:var(--accent-in);opacity:1}.site-footer__column a[aria-current=page]{color:var(--text-muted);opacity:1;cursor:default}@media (width<=360px){.site-footer__columns{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-crash{text-align:center;max-width:32rem;color:var(--text);margin:0 auto;padding:3rem 1.25rem}.app-crash__title{margin:0 0 .75rem;font-size:1.35rem;font-weight:700}.app-crash__text{color:var(--text-muted);margin:0 0 1rem;font-size:.92rem;line-height:1.6}.app-crash__text--muted{font-size:.82rem}.app-crash__text a{color:var(--accent-in)}.app-crash__btn{color:var(--bg);background:var(--accent-in);cursor:pointer;border:none;border-radius:10px;margin-bottom:1.25rem;padding:.6rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:700}.app-crash__details{text-align:left;color:var(--text-muted);margin-top:.5rem;font-size:.78rem}.app-crash__details summary{cursor:pointer}.app-crash__pre{background:var(--surface-alt);white-space:pre-wrap;border-radius:8px;margin:.5rem 0 0;padding:.6rem .75rem;overflow-x:auto}.blog-list time,.blog-post__date{color:var(--text-muted);font-size:.8rem}.legal h1+.blog-post__date{margin-top:-.75rem}.blog-list__meta,.blog-post__date{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.blog-list .blog-list__meta{margin:0}.blog-list__meta>span:not(.blog-badge){color:var(--text-muted);font-size:.8rem}.external-link__icon{vertical-align:-.02em;opacity:.85;width:.8em;height:.8em;margin-left:.2em;display:inline-block}.external-link:hover .external-link__icon{opacity:1}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}span.blog-badge{background:var(--brand-gradient);color:var(--bg);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.68rem;font-weight:800;line-height:1.4;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #2dd4bf59,0 2px 10px #4ade8059}span.blog-badge:after{content:"";background:linear-gradient(105deg,#0000 30%,#ffffff8c 50%,#0000 70%);animation:2.4s ease-in-out .6s 3 blog-badge-shine;position:absolute;inset:0;transform:translate(-120%)}@keyframes blog-badge-shine{0%,55%{transform:translate(-120%)}to{transform:translate(120%)}}@media (prefers-reduced-motion:reduce){span.blog-badge:after{animation:none;display:none}}.legal h3{color:var(--text);margin:1.25rem 0 .4rem;font-size:.95rem}.legal blockquote{border-left:3px solid var(--accent-teal);margin:0 0 .85rem;padding:.1rem 0 .1rem 1rem}.legal blockquote p{margin:0}.legal code{background:var(--surface);border-radius:4px;padding:.1em .35em;font-size:.85em}.legal pre{border-radius:var(--radius);background:var(--surface);margin:0 0 .85rem;padding:.8rem 1rem;overflow-x:auto}.legal pre code{background:0 0;padding:0}.legal img{border-radius:var(--radius);max-width:100%;height:auto}.legal hr{border:0;border-top:1px solid var(--surface-alt);margin:1.5rem 0}.blog-pager{border-top:1px solid var(--surface-alt);margin-top:2.5rem;padding-top:1.5rem}.blog-pager__header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.legal .blog-pager__heading{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.8rem;font-weight:700}.blog-pager__all{font-size:.85rem;font-weight:700;text-decoration:none}.blog-pager__all:hover{text-decoration:underline}.blog-pager__cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.75rem;display:grid}.blog-pager__card{border-radius:var(--radius);background:var(--surface-alt);border:1px solid #0000;flex-direction:column;gap:.3rem;padding:.9rem 1rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.blog-pager__card:hover,.blog-pager__card:focus-visible{border-color:var(--accent-teal);transform:translateY(-2px)}.blog-pager__label{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-in);font-size:.72rem;font-weight:700}.blog-pager__title{color:var(--text);font-weight:700;line-height:1.35}.blog-pager__card time{color:var(--text-muted);font-size:.75rem}@media (prefers-reduced-motion:reduce){.blog-pager__card{transition:none}.blog-pager__card:hover,.blog-pager__card:focus-visible{transform:none}}.wip-list{gap:.6rem;list-style:none;display:grid;padding:0!important}.legal .wip-item{background:var(--surface-alt);border-radius:var(--radius);border-left:3px solid var(--text-muted);margin:0;padding:.8rem 1rem}.wip-item--in-progress{border-left-color:var(--accent-teal)}.wip-item--done{border-left-color:var(--accent-in)}.legal .wip-item h3{margin:0 0 .25rem}.legal .wip-item p{margin:0 0 .4rem}.legal .wip-item p:last-child{margin-bottom:0}.wip-item__progress{appearance:none;background:var(--surface);border:0;border-radius:999px;width:100%;height:6px;margin:.4rem 0;display:block;overflow:hidden}.wip-item__progress::-webkit-progress-bar{background:var(--surface)}.wip-item__progress::-webkit-progress-value{background:var(--brand-gradient)}.wip-item__progress::-moz-progress-bar{background:var(--brand-gradient)}.wip-item__updated,.wip-empty{font-size:.8rem}.wip-footnote{color:var(--text-muted);margin-top:2.5rem;font-size:.8rem;font-style:italic}
