:root,[data-theme=light]{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--page-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--page-bg: #f5faf7;--shell-start: #fafefc;--shell-end: #edf6f1;--surface: #ffffff;--surface-2: #eaf6f0;--surface-subtle: #f6fbf8;--surface-muted: #e4f2ea;--surface-active: #e1f3e9;--line: #d5e6dd;--input-bg: #ffffff;--input-border: #c9ded5;--ink: #16211d;--button-ink: #21332c;--ink-soft: #56685f;--ink-muted: #74877e;--teal: #0e9c74;--green: #157f4b;--coral: #c63a28;--amber: #a96c07;--navy: #056b4b;--topbar-bg: rgb(245 250 247 / .92);--axis: #c7dcd2;--progress-track: #e0eee7;--primary-ink: #ffffff;--teal-strong: #076f52;--danger-ink: #ffffff;--shadow: 0 14px 40px rgb(10 60 42 / .08)}[data-theme=dark]{color-scheme:dark;color:var(--ink);background:var(--page-bg);--page-bg: #0c1512;--shell-start: #101a16;--shell-end: #0a120f;--surface: #15201c;--surface-2: #1b2924;--surface-subtle: #192621;--surface-muted: #17231f;--surface-active: #1e3228;--line: #2d3f39;--input-bg: #101a16;--input-border: #375047;--ink: #e7f1ec;--button-ink: #e7f1ec;--ink-soft: #a3b8ae;--ink-muted: #84988f;--teal: #34d399;--green: #4ade80;--coral: #ff8a80;--amber: #fbbf24;--navy: #6ee7b7;--topbar-bg: rgb(12 21 18 / .92);--axis: #38504a;--progress-track: #26352f;--primary-ink: #06251b;--teal-strong: #6ee7b7;--danger-ink: #2c0906;--shadow: 0 16px 48px rgb(0 0 0 / .28)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{color:inherit}.app-shell{min-height:100vh;background:linear-gradient(180deg,var(--shell-start) 0%,var(--shell-end) 100%)}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:18px;min-height:76px;padding:12px clamp(16px,3vw,32px);background:var(--topbar-bg);border-bottom:1px solid var(--line)}@media(min-width:681px){.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}}.brand{display:flex;align-items:center;min-width:0;gap:12px}.brand-mark{width:42px;height:42px;flex:0 0 auto;border-radius:8px;box-shadow:0 8px 22px #123b352e}.brand-name{font-size:18px;font-weight:780;line-height:1.1}.brand-subtitle{margin-top:3px;color:var(--ink-soft);font-size:12px}.view-tabs{display:grid;grid-template-columns:repeat(2,minmax(88px,1fr));gap:6px;padding:4px;background:var(--surface-muted);border:1px solid var(--line);border-radius:8px}.tab,.account-trigger,.icon-button,.primary-button,.ghost-button,.danger-button,.ghost-icon,.toggle,.segmented button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.tab{padding:0 12px;color:var(--ink-soft);background:transparent;font-size:14px;font-weight:650}.tab.is-active{color:var(--navy);background:var(--surface);box-shadow:0 4px 12px #142a2314}.top-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:nowrap;gap:8px;min-width:0;overflow:visible}.account-menu{position:relative;display:flex;justify-content:flex-end;min-width:0}.account-trigger{min-width:136px;padding:0 12px;color:var(--button-ink);background:var(--surface);border-color:var(--line)}.account-trigger>span{display:grid;min-width:0;text-align:left}.account-trigger strong,.account-trigger small{display:block;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-trigger strong{font-size:13px}.account-trigger small{color:var(--ink-soft);font-size:11px}.account-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:80;display:grid;grid-template-columns:1fr;align-items:stretch;gap:12px;width:min(440px,calc(100vw - 24px));max-height:calc(100vh - 120px);overflow:auto;padding:10px;background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.account-status{display:flex;align-items:center;min-width:0;gap:10px}.account-avatar{display:inline-grid;place-items:center;width:36px;height:36px;flex:0 0 auto;color:var(--navy);background:var(--surface-active);border:1px solid var(--line);border-radius:8px}.account-status strong,.account-status small{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-status strong{font-size:13px}.account-status small{margin-top:2px;color:var(--ink-soft);font-size:12px}.auth-form{display:grid;grid-template-columns:1fr;align-items:stretch;gap:10px}.auth-form label{display:grid;gap:4px;min-width:0}.auth-form label span{color:var(--ink-soft);font-size:11px;font-weight:750;text-transform:uppercase}.auth-mode-toggle{width:100%;min-width:0}.auth-submit{width:100%;min-width:116px;box-shadow:none}.auth-error{grid-column:1 / -1;margin:0}.account-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:12px;border-top:1px solid var(--line)}.account-tools .icon-button{width:100%;min-width:0}.icon-button,.ghost-icon{background:var(--surface);border-color:var(--line);color:var(--button-ink)}.icon-button{padding:0 12px;font-size:13px;font-weight:700}.ghost-icon{width:40px;padding:0}.icon-button:hover,.ghost-icon:hover,.account-trigger:hover,.tab:hover,.primary-button:hover,.toggle:hover,.segmented button:hover{transform:translateY(-1px)}.primary-button{padding:0 16px;border-color:color-mix(in srgb,var(--navy) 78%,var(--surface));background:var(--navy);color:var(--primary-ink);font-weight:780;box-shadow:0 9px 18px #123b352e}.ghost-button{padding:0 16px;border-color:var(--line);background:var(--surface);color:var(--ink-soft);font-weight:700}.ghost-button:hover{border-color:var(--line-strong, var(--line));color:var(--ink)}.danger-button{padding:0 16px;border-color:color-mix(in srgb,#b3261e 78%,var(--surface));background:#b3261e;color:#fff;font-weight:780;box-shadow:0 9px 18px #b3261e38}.danger-button:hover{background:#9c211a}.primary-button:disabled{opacity:.4;box-shadow:none;cursor:default}.primary-button:disabled:hover{transform:none}.square-button{width:40px;min-width:40px;padding:0}.locale-switcher{display:inline-grid;grid-template-columns:repeat(3,38px);gap:4px;padding:4px;background:var(--surface-muted);border:1px solid var(--line);border-radius:8px}.locale-switcher button{min-height:32px;color:var(--ink-soft);background:transparent;border:0;border-radius:6px;cursor:pointer;font-size:12px;font-weight:850}.locale-switcher button.is-active{color:var(--navy);background:var(--surface);box-shadow:0 4px 12px #142a2314}.workspace{width:min(1280px,calc(100% - 32px));margin:0 auto;padding:28px 0 48px}.today-grid{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);grid-template-areas:"rail editor" "summary summary" "showcase showcase";gap:18px}.book-rail,.entry-panel,.analysis-band,.history-list,.summary-strip,.metric,.template-card,.ledger-card,.history-item{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.book-rail{padding:18px}.today-grid>.book-rail{grid-area:rail}.entry-panel{grid-area:editor;min-height:520px;padding:22px}.summary-strip{grid-area:summary;display:grid;grid-template-columns:repeat(3,1fr);gap:0;overflow:hidden}.summary-strip .metric{border:0;border-radius:0;box-shadow:none}.summary-strip .metric+.metric{border-left:1px solid var(--line)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading.compact{margin-bottom:12px}.section-heading h1,.entry-panel-head h2,.template-card h2,.ledger-card h2,.empty-state h2{margin:0;font-size:28px;line-height:1.1;letter-spacing:0}.entry-panel-head h2,.template-card h2,.ledger-card h2,.empty-state h2{font-size:20px}.eyebrow{margin:0 0 6px;color:var(--coral);font-size:12px;font-weight:800;text-transform:uppercase}.book-list{display:grid;gap:10px}.book-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:72px;padding:10px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:8px;cursor:pointer}.book-row.is-active{border-color:var(--book-color);background:color-mix(in srgb,var(--book-color) 8%,var(--surface))}.book-symbol,.template-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;color:var(--book-color);background:color-mix(in srgb,var(--book-color) 13%,var(--surface));border:1px solid color-mix(in srgb,var(--book-color) 28%,var(--surface));border-radius:8px}.book-meta{min-width:0}.book-meta strong,.book-meta span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-meta strong{font-size:15px}.book-meta span{margin-top:3px;color:var(--ink-soft);font-size:12px}.score-pill{min-width:48px;padding:6px 8px;color:var(--navy);background:var(--surface-active);border-radius:999px;font-size:12px;font-weight:800;text-align:center}.judgment-pill,.history-judgment{min-width:58px;padding:6px 8px;border-radius:999px;font-size:12px;font-weight:850;line-height:1;text-align:center;white-space:nowrap}.judgment-pill.is-met,.history-judgment.is-met{color:var(--primary-ink);background:var(--green)}.judgment-pill.is-missed,.history-judgment.is-missed{color:var(--danger-ink);background:var(--coral)}.judgment-pill.is-insufficient,.history-judgment.is-insufficient{color:#221806;background:var(--amber)}.judgment-pill.is-caught,.history-judgment.is-caught{color:var(--navy);background:var(--surface-active)}.judgment-pill.is-in_progress,.history-judgment.is-in_progress{color:var(--teal-strong);background:var(--surface-active);box-shadow:inset 0 0 0 1px var(--teal)}.entry-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}.field-stack{display:grid;gap:6px;margin-top:14px}.field-row{display:grid;grid-template-columns:minmax(96px,150px) minmax(0,1fr);align-items:center;gap:12px;padding:6px 12px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px}.field-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px;min-width:0}.field-label strong{font-size:14px}.field-label small{color:var(--ink-soft);font-size:12px;font-weight:700}.input,.textarea{width:100%;min-height:42px;padding:10px 12px;color:var(--ink);background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;outline:none}.textarea{min-height:84px;resize:vertical}.input:focus,.textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f766e24}.toggle{width:max-content;min-width:124px;padding:0 14px;background:var(--surface);border-color:var(--input-border);color:var(--ink-soft);font-weight:760}.toggle.is-on{color:var(--primary-ink);background:var(--green);border-color:var(--green)}.toggle.is-off{color:#fff;background:var(--coral);border-color:var(--coral)}.range-catch{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0}.range-main{display:grid;flex:1 1 320px;grid-template-columns:30px minmax(80px,1fr) 30px auto;align-items:center;gap:6px;min-width:0}.range-catch.is-typed .range-main{flex:0 0 auto;grid-template-columns:30px auto 30px}.range-main .ghost-icon{width:30px;min-height:30px}.range-slider{width:100%;min-width:0;accent-color:var(--teal)}.number-entry{display:inline-flex;align-items:center;gap:4px;color:var(--navy);font-size:13px;font-weight:850}.quick-catch-buttons{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:4px}.number-doubt{color:#b7791f;font-size:12px;font-weight:700}.quick-catch-button{min-height:26px;padding:2px 9px;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:850;white-space:nowrap}.quick-catch-button.is-active{color:var(--primary-ink);background:var(--teal);border-color:var(--teal)}.remarks-area{display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.remarks-area h3{margin:0;font-size:15px}.remark-row{display:grid;gap:6px}.remark-row>span{color:var(--ink-soft);font-size:12px;font-weight:850}.today-context-stack{display:grid;gap:10px;margin-top:16px}.today-context-panel{background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px}.today-context-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 12px;color:var(--button-ink);cursor:pointer;font-size:13px;font-weight:850;list-style:none}.today-context-panel summary::-webkit-details-marker{display:none}.today-context-panel summary:after{content:"+";display:inline-grid;place-items:center;width:24px;height:24px;flex:0 0 auto;color:var(--navy);background:var(--surface-active);border-radius:999px}.today-context-panel[open] summary:after{content:"-"}.today-context-panel summary small{margin-left:auto;color:var(--ink-soft);font-size:12px;font-weight:750}.today-context-panel .goal-contract,.today-context-panel .check-panel{margin-top:0;border-right:0;border-bottom:0;border-left:0;border-radius:0 0 8px 8px;box-shadow:none}.signed-input{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.signed-input label{display:grid;gap:6px}.signed-input span{color:var(--ink-soft);font-size:12px;font-weight:800}.composite-input{display:grid;gap:10px}.composite-subrow{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);align-items:center;gap:10px}.composite-subrow>span{display:flex;align-items:center;gap:8px;min-width:0}.composite-subrow strong{overflow:hidden;color:var(--button-ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.direction-badge{flex:0 0 auto;padding:3px 6px;border-radius:999px;font-size:11px;font-weight:850}.direction-badge.positive{color:#226341;background:#e1f3e8}.direction-badge.negative{color:#9f3c2e;background:#fbe7e2}.direction-badge.bidirectional{color:#7a5313;background:#fff2cf}.net-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.net-preview span{color:var(--ink-soft);font-size:12px;font-weight:850}.net-preview strong{font-size:18px}.net-preview.is-positive strong{color:var(--green)}.net-preview.is-negative strong{color:var(--coral)}.merge-output{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.merge-output .net-preview{flex:0 1 220px;min-height:32px;padding:4px 10px}.merge-output .net-preview strong{font-size:15px}.merge-parts{display:flex;flex-wrap:wrap;gap:4px}.merge-parts span{min-height:22px;padding:2px 7px;font-size:11px}.merge-parts span{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 8px;color:var(--button-ink);background:var(--surface-active);border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:800}.merge-parts small{color:var(--coral);font-size:11px;font-weight:850}.segmented{display:inline-grid;grid-template-columns:repeat(3,minmax(78px,1fr));width:min(100%,360px);padding:4px;background:var(--surface-muted);border:1px solid var(--line);border-radius:8px}.segmented button{min-height:36px;background:transparent;color:var(--ink-soft);font-size:13px;font-weight:780}.segmented button.is-active{background:var(--surface);color:var(--navy);box-shadow:0 4px 10px #142a2314}.metric{display:grid;gap:8px;padding:18px}.metric span{color:var(--ink-soft);font-size:12px;font-weight:800}.metric strong{font-size:30px;line-height:1}.books-page,.insights-page{display:grid;gap:22px}.books-pane-tabs{width:min(100%,460px)}.create-book-panel{display:grid;gap:16px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.create-book-head,.kr-editor-title,.goal-contract-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.create-book-head p,.objective-text{margin:6px 0 0;color:var(--ink-soft);font-size:14px;line-height:1.55}.template-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.template-choice{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-height:76px;padding:10px;text-align:left;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px;cursor:pointer}.template-choice.is-active{border-color:var(--book-color);background:color-mix(in srgb,var(--book-color) 8%,var(--surface))}.template-choice strong,.template-choice small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-choice strong{font-size:14px}.template-choice small{margin-top:4px;color:var(--ink-soft);font-size:12px}.target-form,.kr-editor{display:grid;gap:12px}.target-form label,.kr-editor-row label{display:grid;gap:6px}.target-form span,.kr-editor-row label span{color:var(--ink-soft);font-size:12px;font-weight:850}.kr-editor-list{display:grid;gap:12px}.kr-editor-row{display:grid;gap:10px;padding:12px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px}.kr-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.kr-rule-grid{display:grid;grid-template-columns:minmax(160px,1.3fr) minmax(110px,.8fr) minmax(100px,.6fr) minmax(100px,.6fr);gap:10px}.form-error{margin:0;color:var(--coral);font-size:13px;font-weight:800}.create-submit{justify-self:start}.goal-contract{display:grid;gap:12px;margin-top:16px;padding:14px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px}.check-panel{display:grid;gap:12px;margin-top:14px;padding:14px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px}.goal-contract-head h3,.kr-editor-title h2{margin:0;font-size:18px;line-height:1.2}.goal-contract-head>span{flex:0 0 auto;padding:6px 9px;color:var(--navy);background:var(--surface-active);border-radius:999px;font-size:12px;font-weight:850}.kr-progress-list,.check-list{display:grid;gap:10px}.check-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,auto);align-items:center;gap:14px;min-height:72px;padding:10px;background:var(--surface);border:1px solid var(--line);border-left-width:4px;border-radius:8px}.check-row.is-met{border-left-color:var(--green)}.check-row.is-missed{border-left-color:var(--coral)}.check-row.is-insufficient{border-left-color:var(--amber)}.check-row.is-in_progress{border-left-color:var(--teal)}.check-row strong,.check-row span,.check-row small{display:block}.check-row strong{font-size:14px}.check-row span,.check-row small{margin-top:4px;color:var(--ink-soft);font-size:12px;line-height:1.45}.check-result{display:grid;justify-items:end;gap:3px;text-align:right}.check-result strong{color:var(--button-ink);font-size:18px}.status-pill{width:max-content;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:850}.status-pill.is-met{color:var(--primary-ink);background:var(--green)}.status-pill.is-missed{color:var(--danger-ink);background:var(--coral)}.status-pill.is-insufficient{color:#221806;background:var(--amber)}.status-pill.is-caught{color:var(--navy);background:var(--surface-active)}.status-pill.is-in_progress{color:var(--teal-strong);background:var(--surface-active);box-shadow:inset 0 0 0 1px var(--teal)}.pace-note{font-size:.75rem;color:var(--ink-soft)}.pace-note.is-behind{color:var(--coral)}.kr-progress-row{display:grid;grid-template-columns:minmax(0,1fr) 96px;align-items:center;gap:12px;min-height:54px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.kr-progress-row strong,.kr-progress-row span{display:block}.kr-progress-row strong{font-size:14px}.kr-progress-row span{margin-top:4px;color:var(--ink-soft);font-size:12px;line-height:1.45}.progress-meter{height:8px;overflow:hidden;background:var(--progress-track);border-radius:999px}.progress-meter span{display:block;width:var(--progress);height:100%;margin:0;background:var(--teal)}.template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.template-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;min-height:190px;padding:16px}.template-card .icon-button{grid-column:1 / -1;width:100%}.template-card p,.ledger-card p{margin:7px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.5}.ledger-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ledger-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:92px;padding:14px}.ledger-card.is-selected{border-color:var(--book-color)}.ledger-info{min-width:0}.ledger-info p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-config{display:grid;gap:14px}.config-panel,.field-config{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.field-config{padding:18px}.config-panel{padding:16px;box-shadow:none}.config-panel h2{margin:0 0 12px;font-size:18px;letter-spacing:0}.field-template-panel{display:grid;gap:12px}.field-template-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.field-template-head h2{margin-bottom:4px}.field-template-head p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.45}.field-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.field-template-choice{display:grid;align-content:space-between;gap:12px;min-height:160px;padding:12px;color:var(--button-ink);text-align:left;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px;cursor:pointer}.field-template-choice:hover{border-color:var(--teal)}.field-template-copy{display:grid;gap:6px;min-width:0}.field-template-copy strong,.field-template-copy small,.field-template-copy>span:not(.field-template-group){display:block;overflow:hidden;text-overflow:ellipsis}.field-template-copy strong{font-size:14px}.field-template-copy small,.field-template-copy>span:not(.field-template-group){color:var(--ink-soft);font-size:12px;line-height:1.45}.field-template-copy small{font-weight:780;white-space:nowrap}.field-template-group{width:max-content;max-width:100%;padding:4px 7px;color:var(--navy);background:var(--surface-active);border-radius:999px;font-size:11px;font-weight:850}.field-template-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:max-content;max-width:100%;min-height:30px;padding:5px 9px;color:var(--primary-ink);background:var(--teal);border-radius:999px;font-size:12px;font-weight:850;white-space:nowrap}.check-config-panel,.config-form{display:grid;gap:12px}.field-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.field-form>.scale-config,.field-form>.merge-source-field,.field-form>.primary-button{grid-column:1 / -1}.field-form>label:has(.frequency-input){grid-column:1 / -1}.check-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.check-form label:first-child{grid-column:span 2}.frequency-input{display:grid;grid-template-columns:auto minmax(70px,.45fr) minmax(110px,1fr);align-items:center;gap:8px}.frequency-input>span{color:var(--ink-soft);font-size:12px;font-weight:850}.scale-config{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.config-form label,.merge-source-field,.merge-source-row label{display:grid;gap:6px}.config-form label span,.merge-source-field>span,.merge-source-row label span{color:var(--ink-soft);font-size:12px;font-weight:850}.merge-source-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-rows:min-content;align-content:start;gap:8px;max-height:260px;overflow:auto;padding:6px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px}.merge-source-row{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:8px;align-items:center;min-height:42px}.merge-source-row label{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:0 6px}.merge-source-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--teal)}.field-catalog{display:flex;flex-wrap:wrap;gap:8px}.check-catalog{display:grid;gap:8px}.field-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 10px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:999px}.field-chip strong{font-size:13px}.field-chip span{color:var(--ink-soft);font-size:12px;font-weight:800}.check-chip{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;min-height:54px;padding:10px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px}.check-chip strong,.check-chip span,.check-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-chip strong{font-size:13px}.check-chip span{margin-top:4px;color:var(--ink-soft);font-size:12px;font-weight:760}.check-chip small{margin-top:3px;color:var(--ink-muted);font-size:11px;font-weight:700}.rule-lifecycle{width:max-content;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:850}.rule-lifecycle.is-active{color:var(--primary-ink);background:var(--green)}.rule-lifecycle.is-upcoming{color:#221806;background:var(--amber)}.rule-lifecycle.is-retired{color:var(--ink-soft);background:var(--surface-muted)}.empty-copy{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.55}.ledger-empty{grid-column:1 / -1;min-height:160px}.history-page{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:18px}.compact-rail{align-self:start}.history-list{display:grid;align-content:start;gap:12px;padding:18px}.history-item{padding:0;box-shadow:none}.history-month{display:grid;gap:8px}.history-month>.history-item+.history-item{margin-top:8px}.history-month-summary{display:flex;align-items:baseline;gap:10px;padding:8px 2px;cursor:pointer;list-style:none;border-bottom:1px solid var(--line)}.history-month-summary::-webkit-details-marker{display:none}.history-month-summary strong{font-size:15px}.history-month-summary span{flex:1;color:var(--ink-soft);font-size:12.5px}.history-month[open]>.history-month-summary .history-chevron{transform:rotate(180deg)}.history-summary{display:grid;grid-template-columns:minmax(150px,auto) minmax(0,1fr) 20px;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;list-style:none}.history-summary::-webkit-details-marker{display:none}.history-summary:hover{background:var(--surface-subtle);border-radius:8px}.history-day{display:inline-flex;align-items:center;gap:8px}.history-day strong{font-size:14px}.history-highlights{display:flex;flex-wrap:wrap;gap:4px 14px;min-width:0}.history-highlights span{display:inline-flex;align-items:baseline;gap:5px;min-width:0}.history-highlights small{color:var(--ink-soft);font-size:12px}.history-highlights strong{font-size:13px;white-space:nowrap}.history-chevron{color:var(--ink-muted);transition:transform .16s ease}.history-item[open] .history-chevron{transform:rotate(180deg)}.history-detail{display:grid;gap:12px;padding:12px;border-top:1px solid var(--line)}.history-count{color:var(--ink-soft);font-size:13px;font-weight:750}.history-date{display:grid;align-content:start;gap:8px}.history-date strong{font-size:16px}.history-date span{width:max-content;padding:6px 9px;color:var(--navy);background:var(--surface-active);border-radius:999px;font-size:12px;font-weight:800}.value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.value-grid div{min-width:0;padding:10px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px}.value-grid span,.value-grid strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-grid span{color:var(--ink-soft);font-size:12px;font-weight:800}.value-grid strong{margin-top:4px;font-size:14px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.analysis-band{padding:18px}.trend{display:block;width:100%;height:min(34vw,260px);min-height:190px}.trend-axis{fill:none;stroke:var(--axis);stroke-width:2}.trend-line{fill:none;stroke:var(--teal);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.trend-dot{fill:var(--surface);stroke:var(--teal);stroke-width:3}.heatmap{display:grid;grid-template-columns:repeat(35,minmax(10px,1fr));gap:6px}.heat-cell{display:block;aspect-ratio:1;min-width:10px;border-radius:3px;background:color-mix(in srgb,var(--teal) var(--heat),var(--progress-track));border:1px solid rgb(18 59 53 / .08)}[data-theme=dark] .direction-badge.positive{color:#bdf3c8;background:#79ca712e}[data-theme=dark] .direction-badge.negative{color:#ffc0b3;background:#ff8a702e}[data-theme=dark] .direction-badge.bidirectional{color:#ffe2a6;background:#efbd5433}[data-theme=dark] .heat-cell{border-color:#89eee21a}.empty-state{display:grid;place-items:center;align-content:center;min-height:260px;color:var(--ink-soft);text-align:center}.empty-state svg{margin-bottom:10px}@media(max-width:980px){.topbar{grid-template-columns:1fr;gap:12px}.top-actions{justify-content:flex-start;flex-wrap:nowrap;overflow:visible}.account-panel,.auth-form{grid-template-columns:1fr}.today-grid{grid-template-columns:1fr;grid-template-areas:"rail" "editor" "summary"}.history-page{grid-template-columns:1fr}.template-grid,.template-picker,.field-template-grid,.check-form,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.check-form label:first-child{grid-column:span 2}}@media(max-width:680px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.topbar{align-items:stretch;gap:10px;padding:10px calc(10px + env(safe-area-inset-right)) 10px calc(10px + env(safe-area-inset-left))}.top-actions{justify-content:flex-end}.workspace{width:min(100% - 20px,1280px);padding:16px 0 calc(92px + env(safe-area-inset-bottom))}.view-tabs{grid-template-columns:repeat(2,1fr);position:fixed;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));left:10px;z-index:40;width:auto;box-shadow:0 14px 40px #142a232e}.tab{min-width:0;padding:0 8px}.section-heading h1{font-size:24px}.metric strong{font-size:26px}.topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center}.brand-subtitle{display:none}.top-actions{display:flex;flex-wrap:nowrap;gap:8px;overflow:visible;scrollbar-width:none}.section-heading{flex-wrap:wrap}.top-actions::-webkit-scrollbar{display:none}.auth-mode-toggle{min-width:0}.icon-button{width:100%}.top-actions>.icon-button{width:40px;min-width:40px;padding:0}.top-actions>.icon-button span{display:none}.locale-switcher{flex:0 0 auto;grid-template-columns:repeat(3,30px)}.account-trigger{min-width:92px;padding:0 10px}.account-trigger small{display:none}.account-trigger strong{max-width:120px}.account-panel{right:0;width:calc(100vw - 20px);max-height:calc(100vh - 132px)}.account-tools{grid-template-columns:1fr}.book-rail .book-list{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.book-rail .book-list::-webkit-scrollbar{display:none}.book-rail .book-row{flex:0 0 min(82vw,260px)}.range-main{flex-basis:100%;grid-template-columns:30px minmax(0,1fr) 30px auto}.scale-config{grid-template-columns:1fr}.field-form>.scale-config{grid-template-columns:repeat(2,minmax(0,1fr))}.field-form>.scale-config>label:last-child{grid-column:1 / -1}.entry-panel,.book-rail,.history-list,.analysis-band{padding:14px}.entry-panel-head{align-items:flex-start;flex-direction:column}.create-book-head,.kr-editor-title,.goal-contract-head{flex-direction:column}.primary-button{width:100%}.field-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label control";gap:6px 8px;padding:8px 10px}.field-row:has(.range-catch){grid-template-areas:"label presets" "stepper stepper"}.field-row:has(.range-catch.is-typed){grid-template-areas:"label stepper" "presets presets"}.field-row .range-catch.is-typed .range-main{justify-self:end}.field-row .range-catch{display:contents}.field-row .field-label{grid-area:label}.field-row .quick-catch-buttons{grid-area:presets;justify-self:end}.field-row .range-main{grid-area:stepper}.field-row:has(.merge-output){grid-template-areas:"label result" "sources sources"}.field-row .merge-output{display:contents}.field-row .merge-output .net-preview{grid-area:result;min-width:120px}.field-row .merge-parts{grid-area:sources}.signed-input,.composite-subrow,.template-picker,.field-template-grid,.kr-rule-grid,.kr-progress-row,.check-row,.check-form,.ledger-list,.value-grid,.summary-strip,.template-grid,.metric-grid{grid-template-columns:1fr}.check-chip{grid-template-columns:auto auto auto;justify-content:start}.check-chip>div{grid-column:1 / -1}.check-form label:first-child{grid-column:auto}.check-result{justify-items:start;text-align:left}.summary-strip .metric+.metric{border-left:0;border-top:1px solid var(--line)}.history-item{grid-template-columns:1fr}.heatmap{grid-template-columns:repeat(7,minmax(0,1fr))}}.number-entry .input{width:76px;min-height:30px;padding:4px 8px;text-align:right;font-weight:800}.number-entry small{color:var(--ink-soft);font-size:12px;font-weight:700}.date-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px}.date-input{width:auto;min-width:0;flex:1 1 140px}.text-button{padding:4px 2px;border:0;background:none;color:var(--teal);font-size:13px;font-weight:800;cursor:pointer}.entry-panel-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.unsaved-hint{color:var(--amber);font-size:12px;font-weight:800}.history-actions{display:flex;flex-wrap:wrap;gap:8px}.entry-rule-config{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;grid-column:1 / -1}.field-hint{grid-column:1 / -1;color:var(--ink-soft);font-size:12px}.storage-error{margin-bottom:14px;padding:10px 12px;border:1px solid var(--coral);border-radius:8px;background:var(--surface)}.today-grid>*,.history-page>*,.insights-page>*{min-width:0}.sync-badge{padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-soft);font-size:12px;font-weight:750;white-space:nowrap}.sync-badge.is-idle{color:var(--teal-strong)}.sync-badge.is-offline,.sync-badge.is-unauthorized{border-color:var(--amber);color:var(--amber)}.import-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--teal);border-radius:8px;background:var(--surface);font-weight:700}.import-banner>div{display:flex;gap:8px}.import-banner .primary-button,.import-banner .icon-button{width:auto;white-space:nowrap}.clear-value{display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink-muted);cursor:pointer}.clear-value:hover{background:var(--surface-muted);color:var(--ink)}.field-row .toggle,.field-row .segmented button{min-height:32px}.account-preferences{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}.library-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.library-actions{display:flex;flex-wrap:wrap;gap:8px}.ledger-empty .library-actions{margin-top:12px;justify-content:center}@media(max-width:680px){.library-actions{width:100%}.library-actions>*{flex:1 1 140px}}.check-progress{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.objective-inline{max-width:460px;color:var(--ink-soft);font-size:13px;text-align:right}.kr-list{display:grid;gap:10px;margin-top:4px}.kr-row{display:grid;gap:6px;padding:12px;background:var(--surface-subtle);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:8px}.kr-row.is-met{border-left-color:var(--green)}.kr-row.is-missed{border-left-color:var(--coral)}.kr-row.is-in_progress{border-left-color:var(--teal)}.kr-row.is-insufficient{border-left-color:var(--amber)}.kr-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.kr-head strong{font-size:15px}.kr-numbers{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.kr-numbers strong{font-size:20px}.kr-numbers small{color:var(--ink-soft);font-size:12px;font-weight:750}.kr-bar{height:6px;border-radius:999px;background:var(--progress-track);overflow:hidden}.kr-bar span{display:block;width:var(--progress, 0%);height:100%;border-radius:999px;background:var(--teal)}.kr-row.is-met .kr-bar span{background:var(--green)}.kr-row.is-missed .kr-bar span{background:var(--coral)}.kr-compare{margin:0;color:var(--ink-soft);font-size:12px;font-weight:700}@media(max-width:680px){.history-summary{grid-template-columns:minmax(0,1fr) 20px;row-gap:6px}.history-highlights{grid-column:1 / 2}.objective-inline{text-align:left}}@media(max-width:680px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric{padding:10px 12px}.metric strong{font-size:20px}.check-progress .section-heading{display:grid;gap:6px}.objective-inline{max-width:none}}.catalog-panel h2+.field-catalog,.catalog-panel h2+.check-catalog{margin-top:10px}.catalog-panel h2{margin:18px 0 0;font-size:15px}.catalog-panel h2:first-child{margin-top:0}.template-details summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;cursor:pointer;font-weight:800}.template-details summary small{color:var(--ink-soft);font-size:12px;font-weight:650}.template-details .field-template-grid{margin-top:14px}.ledger-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px;color:var(--ink-soft);font-size:12px;font-weight:750}.trend-range{flex:0 0 auto}.trend-range button{padding:0 12px;min-height:32px;font-size:12px}.judgment-pill.is-insufficient,.history-judgment.is-insufficient,.status-pill.is-insufficient{color:#221806}.field-chip.is-editing{border-color:var(--teal)}.chip-action{display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink-muted);cursor:pointer}.chip-action:hover{background:var(--surface-muted);color:var(--ink)}.field-edit-form{margin-top:14px;padding:14px;background:var(--surface-subtle);border:1px solid var(--teal);border-radius:8px}.field-edit-form h3{margin:0;font-size:15px}.edit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.icon-button.is-danger{color:var(--coral);border-color:color-mix(in srgb,var(--coral) 45%,var(--line))}.picker-row{display:grid;gap:6px}.picker-row>span{color:var(--ink-soft);font-size:12px;font-weight:850}.icon-picker,.color-picker{display:flex;flex-wrap:wrap;gap:8px}.icon-swatch{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;color:var(--button-ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;cursor:pointer}.icon-swatch.is-active{color:var(--primary-ink);background:var(--navy);border-color:var(--navy)}.color-swatch{width:30px;height:30px;padding:0;background:var(--swatch);border:2px solid transparent;border-radius:999px;cursor:pointer}.color-swatch.is-active{border-color:var(--ink);box-shadow:0 0 0 2px var(--surface) inset}.chip-action:disabled{opacity:.35;cursor:default}.chip-action:disabled:hover{background:transparent;color:var(--ink-muted)}@media(max-width:680px){.chip-action,.clear-value{width:32px;height:32px}.field-chip{padding:6px 8px}}.ledger-move{display:inline-flex;flex-direction:column;gap:2px}.check-history{margin-top:6px}.check-history summary{color:var(--ink-soft);font-size:12px;font-weight:750;cursor:pointer}.check-history p{margin:6px 0 0;padding-left:10px;border-left:2px solid var(--line);color:var(--ink-soft);font-size:12px}.save-status{color:var(--ink-muted);font-size:12px;font-weight:750}.save-status.is-saved{color:var(--green)}.save-status.is-pending{color:var(--amber)}.today-goal{display:grid;gap:8px;margin-top:14px;padding:12px 14px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px}.objective-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;color:var(--ink);font-size:13px;line-height:1.5}.objective-line>span{color:var(--coral);font-size:11px;font-weight:850;text-transform:uppercase}.check-pills{display:flex;flex-wrap:wrap;gap:6px}.check-pill{display:inline-flex;align-items:baseline;gap:6px;padding:4px 10px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:999px;font-size:12px}.check-pill strong{font-weight:800}.check-pill b{font-size:13px;font-weight:850}.check-pill small{color:var(--ink-soft)}.check-pill.is-met{border-left-color:var(--green)}.check-pill.is-met b{color:var(--green)}.check-pill.is-missed{border-left-color:var(--coral)}.check-pill.is-missed b{color:var(--coral)}.check-pill.is-in_progress{border-left-color:var(--teal)}.check-pill.is-insufficient{border-left-color:var(--amber)}.field-goal{padding:1px 6px;color:var(--navy);background:var(--surface-active);border-radius:999px;font-size:11px;font-weight:800}.field-row.is-note{grid-template-columns:1fr;gap:6px}.field-row.is-note .textarea{min-height:56px}.month-nav{display:inline-flex;align-items:center;gap:8px}.month-nav strong{min-width:96px;text-align:center;font-size:14px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:4px}.calendar-weekday{padding-bottom:2px;color:var(--ink-soft);font-size:11px;font-weight:800;text-align:center}.calendar-day{display:grid;align-content:space-between;gap:4px;min-height:56px;padding:6px;color:var(--ink);background:color-mix(in srgb,var(--teal) calc(var(--heat, 0%) * .5),var(--surface));border:1px solid var(--line);border-radius:8px;font-size:12px;font-weight:750;text-align:left;cursor:pointer}.calendar-day:hover:not(:disabled){border-color:var(--teal)}.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--teal)}.calendar-day.is-outside{opacity:.4}.calendar-day:disabled{background:var(--surface-subtle);color:var(--ink-soft);cursor:default}.calendar-marks{display:flex;flex-wrap:wrap;gap:3px}.calendar-mark{width:8px;height:8px;border-radius:999px;background:var(--progress-track)}.calendar-mark.is-met{background:var(--green)}.calendar-mark.is-missed{background:var(--coral)}.calendar-mark.is-in_progress{background:var(--teal)}.calendar-mark.is-insufficient{background:var(--progress-track)}.calendar-mark.is-outside{opacity:.35}.check-grids{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.check-grid{display:grid;gap:6px}.check-grid strong{font-size:12px;font-weight:800}.check-grid-cells{display:grid;grid-template-columns:repeat(7,12px);gap:3px}.check-grid-cells .calendar-mark{width:12px;height:12px;border-radius:3px}.calendar-grid.has-week-column{grid-template-columns:repeat(7,minmax(0,1fr)) 34px}.calendar-week-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px}.calendar-week-badge .calendar-mark{width:10px;height:10px}.period-checks{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.auth-divider{display:flex;align-items:center;gap:8px;margin:2px 0 0;color:var(--ink-soft);font-size:11px;font-weight:750}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.auth-providers{display:grid;grid-auto-flow:column;gap:8px}.rail-progress{margin:6px 0 0;color:var(--ink-soft);font-size:12px;font-weight:750}.app-dialog{padding:0;border:none;background:transparent;max-width:min(560px,calc(100vw - 32px));width:100%;max-height:calc(100dvh - 48px);overflow:visible;color:var(--ink)}.app-dialog::backdrop{background:#0a181473;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-panel{display:flex;flex-direction:column;max-height:calc(100dvh - 48px);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px #0a181447;overflow:hidden}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 12px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;font-size:17px;font-weight:780}.dialog-desc{margin:4px 0 0;font-size:12.5px;color:var(--ink-soft)}.dialog-body{padding:18px;overflow-y:auto;flex:1}.dialog-message{margin:0;color:var(--ink-soft);line-height:1.65}.dialog-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--line);background:var(--surface-subtle)}.dialog-foot button{white-space:nowrap}@media(max-width:680px){.app-dialog{max-width:100%;width:100%;margin:auto 0 0;max-height:calc(100dvh - 24px)}.dialog-panel{border-radius:16px 16px 0 0;max-height:calc(100dvh - 24px)}.dialog-foot{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.dialog-foot .ghost-button,.dialog-foot .danger-button,.dialog-foot .primary-button{flex:1 1 auto}.dialog-foot .ghost-button.is-danger{flex:1 0 100%;order:-1;margin-right:0}}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel-heading h2{margin:0}.static-field{display:grid;gap:6px}.static-field>span{color:var(--ink-soft);font-size:12px;font-weight:850}.static-field>p{margin:0;min-height:40px;display:flex;align-items:center;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-subtle);color:var(--ink-soft)}.ghost-button.is-danger{color:#b3261e;margin-right:auto}.ghost-button.is-danger:hover{border-color:#b3261e;color:#9c211a}.visibility-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-subtle)}.visibility-copy{min-width:0;flex:1 1 220px}.visibility-copy>span{display:block;color:var(--ink-soft);font-size:12px;font-weight:850}.visibility-copy .field-hint{margin:3px 0 0}.showcase{grid-area:showcase;display:grid;gap:12px}.create-book-panel .showcase{grid-area:auto;margin-top:8px;padding-top:16px;border-top:1px solid var(--line)}.showcase-note{margin:0;color:var(--ink-soft);font-size:13px;max-width:62ch}.showcase-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.showcase-card{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;transition:border-color .16s ease,transform .16s ease}.showcase-card:hover{border-color:var(--line-strong, var(--teal));transform:translateY(-1px)}.showcase-mark{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--swatch) 16%,transparent);color:var(--swatch)}.showcase-body{display:grid;gap:5px;min-width:0}.showcase-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.showcase-title strong{font-size:15px}.showcase-badge{padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--teal) 14%,transparent);color:var(--teal);font-size:11px;font-weight:700}.showcase-objective{color:var(--ink-soft);font-size:12.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.showcase-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:2px;color:var(--ink-soft);font-size:12px}.showcase-stats>span{display:inline-flex;align-items:center;gap:4px}.public-book-head{margin-bottom:12px}.public-objective{margin:0 0 14px;color:var(--ink-soft);line-height:1.6}.calendar-day.is-readonly,.field-chip.is-readonly,.ledger-row.is-readonly{cursor:default}.ledger-row.is-readonly{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}.ledger-row.is-readonly span{color:var(--ink-soft);font-size:12.5px;text-align:right}.today-grid.is-starting .entry-panel{min-height:0}.today-grid.is-starting .book-rail,.today-grid.is-starting .summary-strip{display:none}.today-grid.is-single .book-rail{align-self:start}.today-grid.is-starting{grid-template-columns:minmax(0,1fr);grid-template-areas:"editor" "showcase"}.starter{display:grid;gap:16px}.starter-head h2{margin:0;font-size:22px}.starter-head p{margin:6px 0 0;color:var(--ink-soft);font-size:14px}.starter-more{display:inline-flex;align-items:center;gap:2px;justify-self:start}.legal-page{max-width:720px;margin:0 auto;padding:24px clamp(16px,4vw,40px) 40px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.legal-page h1{margin:14px 0 4px;font-size:28px}.legal-page h2{margin:22px 0 6px;font-size:16px}.legal-page p{margin:0;color:var(--ink);font-size:14px;line-height:1.75}.legal-page .legal-updated{color:var(--ink-soft);font-size:12.5px}.legal-back{display:inline-flex;align-items:center;gap:4px;text-decoration:none}.legal-links{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.6;text-align:center}.legal-links a{color:var(--teal)}.auth-password{position:relative}.auth-password .text-button{position:absolute;top:-2px;right:0;padding:0;font-size:12px}.auth-note{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.6}.auth-note.is-sent{padding:10px 12px;color:var(--ink);background:color-mix(in srgb,var(--teal) 10%,var(--surface));border-radius:8px}.reset-page .auth-form{margin-top:16px;max-width:360px}.tokushoho-table{margin:18px 0 0;border-top:1px solid var(--line)}.tokushoho-table>div{display:grid;grid-template-columns:minmax(120px,200px) minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.tokushoho-table dt{color:var(--ink-soft);font-size:13px;font-weight:750}.tokushoho-table dd{margin:0;font-size:14px;line-height:1.7}.tokushoho-table a,.site-footer a{color:var(--teal)}.pricing-page{max-width:880px;margin:0 auto}.pricing-page h1{margin:14px 0 6px;font-size:28px}.pricing-lead{margin:0 0 20px;color:var(--ink-soft);font-size:15px}.pricing-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pricing-plan{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.pricing-plan.is-pro{border-color:var(--teal)}.pricing-plan h2{display:flex;align-items:center;gap:8px;margin:0;font-size:18px}.pricing-badge{padding:2px 8px;color:var(--teal);background:color-mix(in srgb,var(--teal) 12%,var(--surface));border-radius:999px;font-size:12px}.pricing-amount{margin:12px 0 4px;font-size:30px;font-weight:850}.pricing-amount small{color:var(--ink-soft);font-size:14px;font-weight:700}.pricing-alt{margin:0;color:var(--ink-soft);font-size:13px}.pricing-plan ul{display:grid;gap:8px;margin:16px 0 0;padding:0;list-style:none;font-size:14px}.pricing-plan li{display:flex;align-items:flex-start;gap:8px}.pricing-plan li svg{flex:0 0 auto;margin-top:3px;color:var(--teal)}.pricing-note{margin:12px 0 0;color:var(--ink-soft);font-size:12.5px}.site-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:28px;font-size:12px}@media(max-width:680px){.pricing-plans,.tokushoho-table>div{grid-template-columns:1fr}.tokushoho-table>div{gap:2px}}.catch-cheer{display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:14px 16px;color:var(--ink);background:color-mix(in srgb,var(--book-color, var(--teal)) 7%,var(--surface));border:1px dashed color-mix(in srgb,var(--book-color, var(--teal)) 40%,var(--line));border-radius:12px}.catch-cheer>svg{flex:0 0 auto;margin-top:1px;color:var(--coral, #c8553d)}.catch-cheer.is-caught{border-style:solid;background:color-mix(in srgb,var(--teal) 10%,var(--surface));border-color:color-mix(in srgb,var(--teal) 35%,var(--line))}.catch-cheer.is-caught>svg{color:var(--teal)}.catch-cheer.is-unlocked{background:color-mix(in srgb,#e9b949 18%,var(--surface));border-color:#e9b949}.catch-cheer.is-unlocked>svg{color:#b7791f}.catch-cheer>div{display:grid;gap:3px;min-width:0}.catch-cheer strong{font-size:15px}.catch-cheer span{font-size:13.5px}.catch-cheer small{color:var(--ink-soft);font-size:12px}.cheer-save{display:block;margin-top:6px;line-height:1.6;padding-top:8px;color:var(--ink);border-top:1px solid color-mix(in srgb,var(--teal) 25%,var(--line));font-size:13px}.cheer-save svg{margin-right:4px;vertical-align:-2px;color:var(--teal)}.cheer-save .text-button{margin-left:6px;padding:0;font-size:13px}.cheer-save+.cheer-save{border-top:0;padding-top:0}.text-button.is-quiet{color:var(--ink-soft)}.reminder-setting{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px;padding:10px 12px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px}.reminder-toggle{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:750;cursor:pointer}.reminder-toggle input{width:18px;height:18px;accent-color:var(--teal)}.reminder-setting select{width:auto;min-height:34px;padding:4px 8px}.reminder-setting small{grid-column:1 / -1;color:var(--ink-soft);font-size:12px}.clear-day{display:inline-flex;align-items:center;gap:4px;margin-top:10px;color:var(--ink-soft);font-size:12px;font-weight:700}.badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.badge{display:grid;justify-items:center;align-content:start;gap:4px;padding:12px 6px;text-align:center;background:var(--surface-subtle);border:1px solid var(--line);border-radius:10px}.badge-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--ink-soft);background:var(--surface);border:1px dashed var(--line);border-radius:999px}.badge strong{font-size:13px}.badge small{color:var(--ink-soft);font-size:11.5px}.badge:not(.is-earned) strong{color:var(--ink-soft)}.badge.is-earned .badge-mark{color:#b7791f;background:color-mix(in srgb,#e9b949 22%,var(--surface));border:1px solid #e9b949}.badge.is-earned small{color:var(--teal);font-weight:700}.public-book-view .entry-panel{min-height:0}.start-template{margin-top:16px}.add-check{justify-self:start;width:auto;margin-top:10px}.template-details>summary:after{content:"›";margin-left:auto;color:var(--ink-soft);font-size:18px;transition:transform .16s ease}.template-details[open]>summary:after{transform:rotate(90deg)}.books-back{display:inline-flex;align-items:center;gap:4px;justify-self:start;margin-bottom:4px}.new-book{display:inline-flex;align-items:center;gap:4px;justify-self:start;margin-top:10px}.book-settings{width:auto;min-height:32px;padding:0 10px;font-size:13px}.danger-zone{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.danger-zone>div{display:grid;gap:2px}.danger-zone small{color:var(--ink-soft);font-size:12.5px}.icon-button.is-danger{width:auto;color:var(--coral);border-color:color-mix(in srgb,var(--coral) 40%,var(--line))}.turnstile{min-height:65px;display:flex;justify-content:center}
