:root{--accent:#111114;--accent-strong:#000000;--accent-soft:#eef7c4;--on-accent:#ffffff;--header-bg:#000000;--header-ink:#f2f2f2;--header-muted:#a3a3a3;--header-line:#262626;--bg:#f5f4f0;--surface:#ffffff;--surface-2:#faf9f6;--ink:#17171b;--muted:#676771;--line:#e3e1da;--good:#1d8a58;--good-soft:#e1f3ea;--danger:#c33a24;--danger-soft:#fbe6e2;--warn-soft:#fff4d6;--focus:#2f6fed;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px rgb(20 20 25/0.05),0 4px 16px rgb(20 20 25/0.04);--font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root{--accent:#d7ff3f;--accent-strong:#e6ff7a;--accent-soft:#2a3110;--on-accent:#111114;--bg:#111113;--surface:#1a1a1e;--surface-2:#202025;--ink:#f1f0ec;--muted:#9d9ca6;--line:#2d2d34;--good:#4cc48b;--good-soft:#15291f;--danger:#ff7b66;--danger-soft:#351a15;--warn-soft:#2e2713;--focus:#7aa2ff;--shadow:none;color-scheme:dark}}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100dvh}a{color:inherit}h1,h2,h3{line-height:1.2;margin:0;letter-spacing:-.01em}h1{font-size:1.6rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:.875rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--header-bg);color:var(--header-ink);border-bottom:3px solid var(--accent)}.topbar-light{--header-bg:#ffffff;--header-ink:#17171b;--header-muted:#5f5f68;--header-line:#e3e1da;--header-hover:#f1f0ec}.topbar-dark{--header-hover:#1c1c1c}.brand-name{font-weight:800;letter-spacing:-.01em;color:var(--header-ink);white-space:nowrap}.platform-mark{font-weight:800;letter-spacing:.02em;font-size:1.05rem}.topbar-inner{max-width:880px;margin:0 auto;padding:10px 16px;gap:16px;flex-wrap:wrap}.brand,.topbar-inner{display:flex;align-items:center}.brand{gap:12px;text-decoration:none;margin-right:auto}.brand img{height:28px;width:auto;display:block}.brand-label{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--header-muted);padding-left:12px;border-left:1px solid var(--header-line);white-space:nowrap}.nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;max-width:100%}.nav a{text-decoration:none;font-weight:600;font-size:.925rem;padding:8px 12px;border-radius:999px;color:var(--header-muted);white-space:nowrap}.nav a:hover{color:var(--header-ink);background:var(--header-hover,#1c1c1c)}.nav a[aria-current=page]{color:var(--on-accent);background:var(--accent)}@media (max-width:560px){.topbar-inner{gap:8px}.nav{width:100%;margin:0 -4px}}.page{max-width:880px;margin:0 auto;padding:24px 16px 64px;display:flex;flex-direction:column;gap:20px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card-tight{padding:0;overflow:hidden}.stack{gap:12px}.stack,.stack-lg{display:flex;flex-direction:column}.stack-lg{gap:20px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spread{justify-content:space-between}.footer{max-width:880px;margin:0 auto;padding:0 16px 32px;font-size:.85rem;color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px}.field label,.label{font-weight:600;font-size:.9rem}.hint{font-size:.85rem;color:var(--muted)}.input{font:inherit;width:100%;padding:11px 13px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);min-height:46px}.input:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 25%,transparent)}.input-code{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:480px){.two-col{grid-template-columns:1fr}}.check{display:flex;gap:10px;align-items:flex-start;font-size:.9rem}.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent)}.btn{font:inherit;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid transparent;background:var(--accent);color:var(--on-accent);cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--accent-strong)}.btn:disabled{opacity:.55;cursor:default}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-secondary:hover{background:var(--surface-2)}.btn-danger{background:var(--surface);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.btn-danger:hover{background:var(--danger-soft)}.btn-sm{min-height:34px;padding:6px 12px;font-size:.85rem}.btn-block{width:100%}.alert{padding:10px 14px;border-radius:var(--radius-sm);font-size:.925rem}.alert-error{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}.alert-ok{background:var(--good-soft);color:var(--good);border:1px solid color-mix(in srgb,var(--good) 30%,transparent)}.notice{background:var(--warn-soft);border:1px solid color-mix(in srgb,#d9a400 35%,transparent);border-radius:var(--radius-sm);padding:12px 14px;font-size:.925rem}.auth{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:100%;max-width:420px;gap:20px}.auth-brand,.auth-card{display:flex;flex-direction:column}.auth-brand{align-items:center;gap:10px;text-align:center}.auth-brand-dark,.auth-brand-light{width:100%;border-radius:var(--radius);padding:16px 18px;background:#000;--header-ink:#f2f2f2}.auth-brand-light{background:#fff;border:1px solid var(--line);--header-ink:#17171b}.auth-brand img{max-width:100%;max-height:72px;height:auto!important;width:auto;display:block;margin:0 auto}.auth-brand .brand-label{border:0;padding:0;color:var(--muted)}.avatar{flex:none;border-radius:50%;object-fit:cover;display:inline-grid;place-items:center;color:#fff;overflow:hidden;background:var(--line);letter-spacing:.02em}.avatar,.badge{font-weight:700}.badge{display:inline-flex;align-items:center;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);white-space:nowrap}.badge-accent{background:var(--accent-soft);color:var(--accent-strong);border-color:transparent}.month-nav{display:flex;align-items:center;gap:6px}.month-nav .label{min-width:150px;text-align:center;font-size:1rem}.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--ink);font-size:1.1rem}.icon-btn[aria-disabled=true]{opacity:.35;pointer-events:none}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}@media (max-width:560px){.stats{grid-template-columns:1fr 1fr}.stats>:first-child{grid-column:1/-1}}.stat{display:flex;flex-direction:column;gap:2px}.stat-value{font-size:1.6rem;font-weight:750;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-hero .stat-value{font-size:2.4rem}.stat-label{font-size:.82rem;color:var(--muted)}.bar{position:relative;height:12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden}.bar-fill{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:999px;transition:width .4s ease}.bar-fill.done{background:var(--good)}.days{list-style:none;margin:0;padding:0}.day{display:grid;grid-template-columns:1fr 150px 72px;align-items:center;grid-gap:12px;gap:12px;padding:10px 20px;border-top:1px solid var(--line)}.day:first-child{border-top:0}.day-today{background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}.day-name{display:flex;flex-direction:column;line-height:1.25}.day-name strong{font-size:.95rem}.day-input{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-height:42px;padding:8px 12px}.day-value{text-align:right;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.day-status{font-size:.8rem;color:var(--muted);text-align:left}.day-status.ok{color:var(--good)}.day-status.err{color:var(--danger)}@media (max-width:480px){.day{grid-template-columns:1fr 120px 56px;padding:10px 14px;gap:8px}}.board{list-style:none;margin:0;padding:0}.board-row{display:grid;grid-template-columns:36px auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:12px 20px;border-top:1px solid var(--line)}.board-row:first-child{border-top:0}.board-row.me{background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}.rank{font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);text-align:center}.rank.top{color:var(--accent-strong)}.board-name{display:flex;flex-direction:column;min-width:0;line-height:1.3}.board-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-total{text-align:right;line-height:1.3}.board-total strong{font-size:1.05rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:480px){.board-row{padding:12px 14px;gap:10px;grid-template-columns:28px auto 1fr auto}}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.925rem}.table td,.table th{text-align:left;padding:12px 16px;border-top:1px solid var(--line);vertical-align:middle}.table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-top:0;background:var(--surface-2)}.table td.num,.table th.num{text-align:right}.person{display:flex;align-items:center;gap:10px;min-width:180px}.code-box{font-size:1.4rem;letter-spacing:.18em;padding:8px 14px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px dashed var(--line)}.code-box,.temp-pass{font-family:var(--mono);font-weight:700}.temp-pass{background:var(--warn-soft);padding:2px 8px;border-radius:6px;-webkit-user-select:all;-moz-user-select:all;user-select:all}.prose{display:flex;flex-direction:column;gap:12px;max-width:640px}.prose ul{margin:0;padding-left:20px}.photo-edit{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.center{text-align:center!important}.faded{opacity:.5}.empty{padding:20px}.empty,.eyebrow{color:var(--muted)}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.link-btn{background:none;border:0;padding:0;font:inherit}.link-btn,.link-like{color:var(--accent-strong);text-decoration:underline;cursor:pointer}.plain-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.badge-good{background:var(--good-soft);color:var(--good);border-color:transparent}.subnav{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.subnav a{text-decoration:none;font-weight:600;font-size:.925rem;padding:10px 12px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.subnav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.subnav-pills{border:0;gap:8px}.subnav-pills a{border:1px solid var(--line);border-radius:999px;margin:0;padding:6px 14px;background:var(--surface)}.subnav-pills a[aria-current=page]{background:var(--accent-soft);border-color:transparent;color:var(--accent-strong)}.join-card{border-top:4px solid var(--accent)}.join-title{font-size:1.8rem;letter-spacing:-.02em}.welcome{font-size:1.05rem;padding:12px 14px;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.checkin-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}@media (max-width:600px){.checkin-grid{grid-template-columns:1fr}}.checkin{display:flex;flex-direction:column;gap:10px}.checkin-head{justify-content:space-between;gap:8px}.checkin-head,.log-field{display:flex;align-items:center}.log-field{gap:10px}.log-field .day-input{max-width:200px;font-size:1.15rem;font-weight:650;text-align:left}.log-cell{display:inline-flex;flex-direction:column;align-items:flex-end}.log-cell .day-input{width:96px;min-height:36px;padding:6px 10px}.cell-err{font-size:.72rem;color:var(--danger)}.tick{font:inherit;font-weight:650;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:8px 16px 8px 8px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer}.tick>span:first-child{width:30px;height:30px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:1rem;background:var(--surface)}.tick-on{border-color:color-mix(in srgb,var(--good) 40%,var(--line));background:var(--good-soft);color:var(--good)}.tick-on>span:first-child{background:var(--good);border-color:var(--good);color:#fff}.tick-sm{min-height:0;padding:2px;border:0;background:none}.tick-sm>span:first-child{width:28px;height:28px}.tick-sm.tick-on{background:none}.items .item{border-top:1px solid var(--line)}.items .item:first-child{border-top:0}.item-head{display:flex;align-items:center;gap:14px;padding:16px 20px;cursor:pointer}.item-body{padding:0 20px 16px 76px;display:flex;flex-direction:column;gap:12px;max-width:520px}.item-on{background:color-mix(in srgb,var(--accent-soft) 35%,transparent)}@media (max-width:480px){.item-body{padding-left:20px}}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:42px;height:24px;border-radius:999px;background:var(--line);position:relative;cursor:pointer;transition:background .15s;margin:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgb(0 0 0/.2);transition:transform .15s}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translateX(18px)}.stats-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:12px;gap:12px}.stat-card{display:flex;flex-direction:column;gap:10px;padding:16px}.day-grid td,.day-grid th{padding:8px 14px}.day-grid .day-name{display:flex;flex-direction:column;line-height:1.25}.day-grid .row-today td{background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}.log-cell .day-input-sleep{width:64px}@media (max-width:480px){.day-grid td,.day-grid th{padding:6px 4px}.day-grid td:first-child,.day-grid th:first-child{padding-left:12px}.day-grid td:last-child,.day-grid th:last-child{padding-right:12px}.day-grid th{font-size:.68rem;letter-spacing:.03em}.log-cell .day-input{width:68px;font-size:.9rem;padding:6px 7px}.log-cell .day-input-sleep{width:46px}.tick-sm>span:first-child{width:26px;height:26px}.hide-xs{display:none}}.challenge-list{list-style:none;margin:0;padding:0}.challenge-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;border-top:1px solid var(--line)}.challenge-row:first-child{border-top:0}.challenge-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:12px;gap:12px}.input-date{width:auto;min-height:34px;padding:4px 8px}.lib-item summary{list-style:none;cursor:pointer}.lib-item summary::-webkit-details-marker{display:none}.color-input{width:52px;height:42px;padding:2px;border:1px solid var(--line);background:var(--surface)}.color-input,.logo-preview{border-radius:var(--radius-sm)}.logo-preview{padding:16px;background:var(--header-bg);display:inline-flex;align-self:flex-start;min-width:200px}.ch-details summary{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;font-weight:600;color:var(--accent-strong);cursor:pointer;list-style:none}.ch-details summary::-webkit-details-marker{display:none}.ch-details summary:after{content:"›";transition:transform .15s;display:inline-block}.ch-details[open] summary:after{transform:rotate(90deg)}.ch-details-body{display:flex;flex-direction:column;gap:10px;margin-top:8px;max-width:520px}.ch-details-body img{width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--line)}.item-details{padding:0 20px 12px 76px}.item-details:empty{display:none}@media (max-width:480px){.item-details{padding-left:20px}}.ch-thumb{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid var(--line);flex:none}.ch-thumb-lg{max-width:240px;height:auto;border-radius:var(--radius-sm);border:1px solid var(--line)}.install-banner{gap:14px;border-left:4px solid var(--accent)}.install-banner,.install-steps{display:flex;flex-direction:column}.install-steps{margin:0;padding-left:22px;gap:8px;font-size:.95rem}@media (max-width:400px){.nav a{padding:7px 9px;font-size:.875rem}}.goal-card{border-left:4px solid var(--accent)}.goal-text{font-size:1.05rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.goal-review{padding-top:6px;border-top:1px solid var(--line)}.goal-input .notice{font-size:.9rem}.choice{font:inherit;font-weight:600;min-height:42px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}.choice-on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.goal-row{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;padding:14px 20px;border-top:1px solid var(--line);align-items:start}.goal-row:first-child{border-top:0}.goal-row.me{background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}.jom-logo{display:inline-flex;align-items:center}.jom-wordmark{font-family:var(--font-jom),ui-sans-serif,system-ui,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1;white-space:nowrap}.jom-tagline{color:#b9b9c2;letter-spacing:.01em;line-height:1.3;text-wrap:balance}.powered{display:inline-flex;align-items:center;gap:6px}.landing{min-height:100dvh}.landing-hero{background:#111114;border-bottom:3px solid #d7ff3f}.landing-inner{max-width:880px;margin:0 auto;padding:56px 16px;box-sizing:border-box}.landing-body{display:flex;flex-direction:column;gap:28px;padding-top:40px}.landing-mission{font-size:1.25rem;line-height:1.55;max-width:680px;margin:0}.landing-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.landing-step-num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#111114;color:#d7ff3f;font-weight:700;font-size:.9rem}@media (max-width:640px){.landing-steps{grid-template-columns:1fr}.landing-inner{padding:36px 16px}.landing-hero .jom-logo svg{width:64px;height:64px}.landing-hero .jom-wordmark{font-size:30px!important}}.landing-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.back-btn{background:#d7ff3f;color:#111114}.back-btn:hover{background:#e6ff7a}.landing-foot{padding-top:8px;padding-bottom:40px;font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);margin-top:8px}.kind-picker{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.kind-picker label.choice{display:inline-flex;align-items:center}.kind-picker label.choice:focus-within{outline:2px solid var(--focus);outline-offset:2px}@font-face{font-family:jomFont;src:url(/_next/static/media/46d978a299613541-s.p.woff2) format("woff2");font-display:swap;font-weight:700}@font-face{font-family:jomFont Fallback;src:local("Arial");ascent-override:88.73%;descent-override:26.33%;line-gap-override:0.00%;size-adjust:110.90%}.__className_52dae6{font-family:jomFont,jomFont Fallback;font-weight:700}.__variable_52dae6{--font-jom:"jomFont","jomFont Fallback"}