:root{--page-bg:#f4f1e8;--surface:#fffefa;--heading:#16314b;--text:#4e5149;--text-muted:#747769;--border:#ded8ca;--border-strong:#c9c1b1;--sage:#8f977d;--sage-dark:#58624f;--sage-soft:#eef1e7;--gold:#e3b85f;--shadow:0 18px 42px #292d2114;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif:Georgia, "Times New Roman", serif;color:var(--text);background:var(--page-bg);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:17px;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0}button,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}h1,h2,p{margin:0}img{max-width:100%}#root{min-height:100svh}.app-shell{background:linear-gradient(180deg, #fffcf6eb, #f4f1e7e6), var(--page-bg);min-height:100svh}.app-header-wrap{position:relative}.app-header{text-align:left;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#fffcf6f0,#fffcf6d1);justify-content:space-between;align-items:end;gap:42px;max-width:1120px;margin:0 auto;padding:22px 24px 8px;transition:padding .18s,gap .18s,box-shadow .18s;display:flex}.app-header--full{z-index:2;position:relative}.app-header--compact{z-index:30;pointer-events:none;opacity:0;gap:16px;width:min(100%,1120px);padding:4px 24px;transition:opacity 1.25s cubic-bezier(.22,1,.36,1),transform 1.25s cubic-bezier(.22,1,.36,1),padding .75s,gap .75s,box-shadow .75s;position:fixed;top:0;left:50%;transform:translate(-50%,-10px);box-shadow:0 10px 24px #46523d14}.app-header--compact-visible{pointer-events:auto;opacity:1;transform:translate(-50%)}.brand-area{align-items:end;gap:42px;min-width:0;transition:gap .18s;display:flex}.app-header--compact .brand-area{gap:14px}.app-menu{flex:none;align-self:start;margin-top:10px;position:relative}.app-menu>button,.app-menu nav button{border:1px solid var(--border);color:var(--heading);cursor:pointer;font:inherit;background:#ffffffc7;border-radius:8px}.app-menu>button{align-items:center;gap:7px;padding:9px 12px;display:inline-flex}.menu-button-icon{color:currentColor;gap:2px;width:14px;display:inline-grid}.menu-button-icon span{background:currentColor;border-radius:999px;width:14px;height:2px;display:block}.app-menu nav{min-width:235px;box-shadow:var(--shadow);background:#fffffcf5;border:1px solid #ded8cad6;border-radius:8px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.app-menu nav button{text-align:left;white-space:nowrap;padding:9px 10px}.app-menu nav button.selected{border-color:var(--sage-dark);background:var(--sage-soft)}.brand-hero{flex:none;place-items:center;min-height:405px;transition:min-height .18s;display:grid}.brand-lockup{width:auto;height:405px;transition:height .18s;display:block}.app-header--compact .brand-hero{min-height:128px}.app-header--compact .brand-lockup{height:128px}.brand-tagline{color:var(--heading);font-family:var(--serif);text-align:left;gap:4px;margin:0 0 30px -30px;font-size:clamp(1.25rem,2.3vw,1.7rem);line-height:1.52;transition:font-size .18s,line-height .18s,margin .18s;display:grid}.app-header--compact .brand-tagline{margin:0 0 4px -4px;font-size:clamp(1.22rem,1.1vw,1.45rem);line-height:1.18}.brand-tagline2{margin-left:1.35rem}.brand-tagline3{margin-left:3.35rem}.brand-tagline4{margin-left:5.35rem}.app-main{grid-template-columns:minmax(0,1fr);gap:24px;max-width:1120px;margin:0 auto;padding:10px 24px 48px;display:grid}.app-main-single{grid-template-columns:minmax(0,1fr)}.local-storage-notice{color:var(--text-muted);font-size:.92rem}.local-storage-notice-spacer{height:58px}.local-storage-notice--sticky{z-index:35;padding:10px 24px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffcf6f0;border-top:1px solid #ded8cad1;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 24px #46523d0f}.local-storage-notice>p{text-align:center;max-width:1120px;margin:0 auto}.local-storage-notice button{color:var(--heading);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.local-storage-notice-panel{z-index:45;text-align:left;background:#fffffcd1;border:1px solid #ded8cad6;border-radius:8px;gap:12px;max-width:760px;margin:0 auto;padding:18px;display:grid;position:fixed;bottom:62px;left:24px;right:24px;box-shadow:0 10px 24px #46523d0f}.local-storage-notice--banner-only .local-storage-notice-panel{bottom:104px}.local-storage-notice-header,.local-storage-notice-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.local-storage-notice-header h2{color:var(--heading);font-family:var(--serif);margin:0;font-size:1.3rem;font-weight:500}.local-storage-notice-panel p{margin:0}.local-storage-notice-header button,.local-storage-notice-actions button{border:1px solid var(--border);background:#ffffffbd;border-radius:8px;padding:8px 11px;text-decoration:none}.local-storage-acknowledgement{z-index:40;max-width:860px;color:var(--text);text-align:left;background:#fffffcf5;border:1px solid #ded8cae6;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin:0 auto;padding:14px 16px;display:flex;position:fixed;bottom:18px;left:24px;right:24px;box-shadow:0 16px 34px #46523d24}.local-storage-acknowledgement p{margin:0}.local-storage-acknowledgement>button{border:1px solid var(--border);background:#fffc;border-radius:8px;flex:none;padding:9px 12px;text-decoration:none}.floating-save-spacer{height:92px}.floating-save-bar{right:24px;bottom:calc(88px + env(safe-area-inset-bottom));z-index:70;max-width:560px;color:var(--heading);background:#fffffcf7;border:1px solid #ded8caeb;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin:0 auto;padding:12px 14px;display:flex;position:fixed;left:24px;box-shadow:0 16px 34px #46523d29}.floating-save-bar span{color:var(--text-muted)}.floating-save-bar button{border:1px solid var(--border);color:var(--heading);cursor:pointer;font:inherit;background:#ffffffd1;border-radius:8px;flex:none;padding:9px 12px}.daily-practice,.weekly-review,.practice-card,.season-summary-panel,.path-setup,.recommended-use,.data-backup,.about-page,.virtue-panel,.seek-panel,.clearer-view{border:1px solid var(--border);box-shadow:var(--shadow);background:#fffffcdb}.daily-practice{border-radius:8px;gap:24px;padding:28px;display:grid}.season-summary-panel{background:#fff8e247;border-radius:8px;gap:18px;padding:18px;display:grid}.season-summary-top{justify-content:space-between;align-items:center;gap:18px;display:flex}.season-summary-top>.card-heading{width:100%}.current-focus-title-row{grid-template-columns:minmax(0,1fr) 190px;align-items:start;gap:14px;display:grid}.current-focus-title-row h2{min-width:0}.current-focus-settings-row{grid-template-columns:minmax(0,1fr) 190px;align-items:start;gap:14px;display:grid}.current-focus-settings-summary{gap:6px;min-width:0;display:grid}.current-focus-settings-summary p{margin:0}.current-focus-title-row button,.focus-adjust-button{justify-self:end;padding:8px 11px}.season-summary-panel button,.path-selector-grid button,.virtue-panel-header button,.duration-options button,.path-setup-header button,.path-setup-actions button{border:1px solid var(--border);color:var(--heading);cursor:pointer;font:inherit;background:#ffffffb8;border-radius:8px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}.path-virtues-section{border-top:1px solid #ded8cac7;gap:12px;padding-top:14px;display:grid}.focus-adjustment-panel{background:#fffffc94;border:1px solid #ded8cad6;border-radius:8px;gap:12px;padding:14px;display:grid}.path-setup,.recommended-use,.data-backup,.about-page{border-radius:8px;gap:22px;padding:28px;display:grid}.path-setup-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffce6;border-radius:8px;justify-content:space-between;align-items:start;gap:18px;margin:-10px -10px 0;padding:10px;display:flex;position:static;box-shadow:0 10px 24px #46523d14}.path-setup-header .section-heading{flex:auto}.path-setup-header .section-heading p{max-width:none}.path-setup-header button{flex:none;padding:10px 13px}.recommended-use-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.recommended-use-grid article{background:#fffffc94;border:1px solid #ded8cac2;border-radius:8px;gap:8px;padding:16px;display:grid}.recommended-use-grid h2{color:var(--heading);font-family:var(--serif);margin:0;font-size:1.35rem;font-weight:500;line-height:1.08}.recommended-use-grid p,.recommended-use-grid ul{color:var(--text);margin:0}.recommended-use-grid ul{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.recommended-use-grid li{color:var(--sage-dark);background:#f8f7f06b;border:1px solid #ded8cab8;border-radius:8px;padding:6px 9px}.about-prose{gap:14px;max-width:820px;display:grid}.about-prose article{background:#fffffc94;border:1px solid #ded8cac2;border-radius:8px;gap:12px;padding:18px;display:grid}.about-prose h2{color:var(--heading);font-family:var(--serif);margin:0;font-size:1.45rem;font-weight:500}.about-prose p{color:var(--text);margin:0}.about-reference p{color:var(--text-muted)}.path-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.path-selector-grid button{text-align:left;gap:8px;min-height:112px;padding:16px;display:grid}.path-selector-grid button.selected,.duration-options button.selected{border-color:var(--sage-dark);background:var(--sage-soft)}.path-selector-grid span{color:var(--heading);font-weight:700}.path-selector-grid small{color:var(--text-muted);font-size:.92rem;line-height:1.35}.path-preview-panel{background:#fff8e24d;border:1px solid #ded8cad6;border-radius:8px;gap:14px;padding:18px;display:grid}.path-preview-note{color:var(--text);background:#fffffc94;border:1px solid #ded8cac7;border-radius:8px;margin:0;padding:12px 14px}.path-preview-list{gap:8px;display:grid}.path-preview-virtue-card{background:#fffffc94;border:1px solid #ded8cac2;border-radius:8px;gap:5px;padding:12px;display:grid}.path-preview-virtue-card span{color:var(--heading);font-weight:700}.path-preview-virtue-card p,.path-preview-virtue-card small{color:var(--text-muted);margin:0}.focus-duration-panel{background:#fffffc94;border:1px solid #ded8cad6;border-radius:8px;gap:12px;padding:18px;display:grid}.cadence-panel{gap:14px}.cadence-helper,.cadence-note{color:var(--text);margin:0}.cadence-note{color:var(--text-muted);background:#fff8e23d;border:1px solid #ded8cab8;border-radius:8px;padding:12px 14px}.duration-options,.path-setup-actions{flex-wrap:wrap;gap:8px;display:flex}.focus-adjustment-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.focus-adjustment-actions button{padding:10px 13px}.focus-adjustment-actions button:disabled{cursor:default;opacity:.72}.focus-adjustment-actions button:disabled:hover{border-color:var(--border);box-shadow:none;transform:none}.focus-adjustment-actions p{color:var(--text-muted);margin:0}.focus-save-status{color:var(--sage-dark)}.virtue-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.virtue-panel-header button{padding:8px 11px}.duration-options button,.path-setup-actions button{padding:10px 13px}.path-setup-actions button:disabled{cursor:default;opacity:.72}.path-setup-actions button:disabled:hover{border-color:var(--border);box-shadow:none;transform:none}.path-action-helper{color:var(--text-muted);align-self:center;margin:0}.path-confirmation{z-index:50;background:#292d223d;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.path-confirmation-card{width:min(100%,460px);box-shadow:var(--shadow);background:#fffffcfa;border:1px solid #ded8cae6;border-radius:8px;gap:14px;padding:22px;display:grid}.path-confirmation-card h2{color:var(--heading);font-family:var(--serif);margin:0;font-size:1.7rem;font-weight:500;line-height:1.08}.path-confirmation-card p{color:var(--text);margin:0}.path-confirmation-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.path-confirmation-actions button{border:1px solid var(--border);color:var(--heading);cursor:pointer;font:inherit;background:#ffffffc2;border-radius:8px;padding:10px 13px}.section-heading,.card-heading{gap:8px;display:grid}.daily-meta-row{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.daily-path-label{text-align:right}.section-heading span,.card-heading span,.weekly-review span{color:var(--sage-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.section-heading h1,.card-heading h2,.weekly-review h2{color:var(--heading);font-family:var(--serif);margin:0;font-weight:500;line-height:1.05}.section-heading h1{font-size:clamp(1.5rem,8vw,2.5rem)}.section-heading p{max-width:700px;color:var(--text);font-size:1.08rem}.section-heading .purpose-line{max-width:760px;color:var(--heading);font-family:var(--serif);font-size:clamp(1.2rem,2.4vw,1.65rem);line-height:1.25}.virtue-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.virtue-panel{border-radius:8px;gap:12px;padding:18px;display:grid}.virtue-selector button,.suggestions button,.history-section-header button,.history-item,.assessment-options button,.record-actions button{border:1px solid var(--border);color:var(--heading);cursor:pointer;font:inherit;background:#ffffffb8;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}.virtue-selector button{text-align:left;border-radius:8px;min-height:118px;padding:16px}.virtue-selector button:hover,.suggestions button:hover,.history-section-header button:hover,.history-item:hover,.assessment-options button:hover,.season-summary-panel button:hover,.path-selector-grid button:hover,.virtue-panel-header button:hover,.duration-options button:hover,.path-setup-header button:hover,.path-setup-actions button:hover,.app-menu>button:hover,.app-menu nav button:hover,.record-actions button:hover{border-color:var(--sage);transform:translateY(-1px);box-shadow:0 10px 24px #46523d1a}.virtue-selector button:focus-visible,.suggestions button:focus-visible,.history-section-header button:focus-visible,.history-item:focus-visible,.assessment-options button:focus-visible,.season-summary-panel button:focus-visible,.path-selector-grid button:focus-visible,.virtue-panel-header button:focus-visible,.duration-options button:focus-visible,.path-setup-header button:focus-visible,.path-setup-actions button:focus-visible,.app-menu>button:focus-visible,.app-menu nav button:focus-visible,.record-actions button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #70806142}.virtue-selector button.selected,.assessment-options button.selected{border-color:var(--sage-dark);background:var(--sage-soft)}.virtue-selector span{margin-bottom:8px;font-weight:700;display:block}.virtue-selector small{color:var(--text-muted);font-size:.9rem;line-height:1.35}.virtue-selector .virtue-card-action{color:var(--sage-dark);margin-top:8px;display:block}.practice-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);gap:18px;display:grid}.seek-panel{background:#fff8e25c;border-radius:8px;gap:12px;padding:18px;display:grid}.practice-card{border-radius:8px;flex-direction:column;gap:10px;padding:18px;display:flex}.commitment-focus,.commitment-invitation,.commitment-action,.reflection-evening{border-radius:8px}.commitment-focus{padding:2px 0 4px}.commitment-invitation{color:var(--text);background:#f8f7f06b;border:1px solid #ded8cac7;padding:10px 12px}.commitment-action{gap:10px;padding:2px 0 0;display:grid}.reflection-evening{background:#f8f7f080;border:1px solid #ded8cadb;gap:12px;margin-top:0;padding:12px;display:grid}.card-heading h2,.weekly-review h2{font-size:1.7rem}.card-heading p,.weekly-review p{color:var(--text-muted)}.field-label{color:var(--heading);font-weight:700}input,textarea{box-sizing:border-box;border:1px solid var(--border-strong);width:100%;color:var(--heading);font:inherit;background:#ffffffc7;border-radius:8px;padding:12px 13px;line-height:1.5}textarea{resize:vertical}textarea::placeholder{color:#9a9488}.record-title-panel{background:#fff8e247;border:1px solid #ded8cad6;border-radius:8px;gap:8px;max-width:520px;padding:18px;display:grid}.record-actions{flex-wrap:wrap;gap:8px;display:flex}.record-actions button{border-radius:8px;padding:10px 13px}.record-actions input{display:none}.record-message,.record-error{background:#f8f7f075;border:1px solid #ded8cac7;border-radius:8px;margin:0;padding:10px 12px}.record-message{color:var(--sage-dark)}.record-error{color:var(--heading)}.suggestions{gap:6px;display:grid}.history-section{background:#e2e1d352;border:1px solid #c2bba88a;border-radius:8px;gap:10px;margin-top:8px;padding:12px;display:grid}.history-section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.history-section-header span{color:var(--sage-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.history-section-header button{border-radius:8px;padding:8px 11px}.history-list{gap:8px;display:grid}.history-item{text-align:left;background:#fffffca3;border-radius:8px;gap:5px;padding:11px 12px;display:grid}.history-item-meta,.history-item-note,.history-item-action,.history-empty{color:var(--text-muted)}.history-item-meta,.history-item-action{font-size:.86rem}.history-item-preview{color:var(--text)}.history-item-action{color:var(--sage-dark)}.history-item:not(button){cursor:default}.history-item:not(button):hover{border-color:var(--border);box-shadow:none;transform:none}.history-empty{background:#fffffc8a;border:1px solid #ded8cab8;border-radius:8px;margin:0;padding:10px 12px}.continued-from{color:var(--text-muted);margin:-2px 0 0;font-size:.9rem}.suggestions button{color:var(--text);text-align:left;border-radius:8px;padding:9px 11px}.check-in{gap:8px;display:grid}.check-in p{color:var(--heading);font-weight:700}.check-in span{color:var(--text-muted);margin-top:2px;display:block}.check-in .reflect-with-grace{color:var(--heading);font-weight:700}.assessment-options{gap:6px;display:grid}.assessment-options button{min-height:40px;color:var(--text);text-align:left;border-radius:8px;padding:8px 10px}.assessment-helper{border-top:1px solid var(--border);color:var(--text-muted);padding-top:10px}.clearer-view{background:#fff8e270;border-radius:8px;gap:16px;padding:22px;display:grid}.clearer-view-placeholder{background:linear-gradient(135deg,#fffffcbd,#eef1e7b8),#f8f7f094;border:1px solid #ded8cadb;border-radius:8px;place-items:center;min-height:620px;display:grid}.clearer-view-placeholder img{object-fit:contain;opacity:.68;width:auto;max-width:min(96%,840px);max-height:570px;display:block}.clearer-view-note{color:var(--heading);background:#fffffc94;border:1px solid #ded8cac7;border-radius:8px;margin:0;padding:12px 14px}.weekly-review{border-radius:8px;align-self:start;gap:20px;padding:24px;display:grid;position:sticky;top:18px}.review-stats{grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid}.review-stats div{border:1px solid var(--border);background:#f8f7f0ad;border-radius:8px;padding:14px}.review-stats dt{color:var(--text-muted);font-size:.85rem}.review-stats dd{color:var(--heading);font-family:var(--serif);margin:4px 0 0;font-size:2rem;line-height:1}blockquote{border-left:4px solid var(--gold);color:var(--heading);background:#fff8e2b3;border-radius:0 8px 8px 0;margin:0;padding:16px}blockquote span{margin-bottom:8px;display:block}.empty-note{background:var(--sage-soft);border-radius:8px;padding:16px}@media (width<=920px){.app-header{gap:32px;padding-top:22px}.brand-area{gap:32px}.brand-tagline{max-width:440px}.brand-hero{min-height:308px}.brand-lockup{height:308px}.app-header--compact .brand-hero{min-height:60px}.app-header--compact .brand-lockup{height:60px}.app-header--compact .brand-tagline{font-size:.86rem;line-height:1.15}.app-main{grid-template-columns:1fr;padding-top:8px}.weekly-review{position:static}}@media (width<=720px){.app-header{text-align:left;align-items:flex-start;gap:12px;padding:18px 16px 8px}.brand-area{text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%}.app-menu{margin-top:0;position:absolute;top:14px;right:16px}.app-menu>button{padding:8px 10px}.app-menu nav{min-width:175px}.brand-hero{justify-items:center;width:100%;min-height:255px}.brand-lockup{height:255px}.app-header--compact .brand-hero{min-height:84px}.app-header--compact .brand-lockup{height:84px}.brand-tagline{text-align:left;width:100%;max-width:340px;margin:0 auto;font-size:1.25rem}.app-header--compact .brand-tagline{max-width:none;margin:0;font-size:.86rem;line-height:1.18}.app-header--compact{align-items:center;min-height:96px;padding:6px 92px 6px 16px}.app-header--compact .brand-area{text-align:left;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px}.app-header--compact .brand-hero{justify-items:start;width:auto}.brand-tagline-bottom{margin-left:0}.app-main{gap:16px;padding:8px 16px 32px}.local-storage-notice-spacer{height:76px}.local-storage-notice--sticky{padding:9px 16px calc(9px + env(safe-area-inset-bottom))}.local-storage-notice-panel{max-height:min(70svh,520px);bottom:76px;left:14px;right:14px;overflow:auto}.local-storage-notice--banner-only .local-storage-notice-panel{bottom:148px}.local-storage-notice-header,.local-storage-notice-actions{flex-direction:column;align-items:stretch}.local-storage-acknowledgement{flex-direction:column;align-items:stretch;bottom:12px;left:14px;right:14px}.local-storage-acknowledgement>button{align-self:end}.floating-save-spacer{height:128px}.floating-save-bar{right:14px;bottom:calc(148px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;left:14px}.floating-save-bar button{align-self:end}.daily-practice,.weekly-review,.practice-card,.season-summary-panel,.path-setup,.recommended-use,.data-backup,.about-page,.virtue-panel,.seek-panel,.clearer-view{padding:18px}.virtue-selector,.path-selector-grid,.recommended-use-grid,.practice-grid,.assessment-options{grid-template-columns:1fr}.season-summary-panel,.season-summary-top,.daily-meta-row,.path-setup-header,.virtue-panel-header{flex-direction:column;align-items:stretch}.current-focus-title-row,.current-focus-settings-row{grid-template-columns:1fr}.current-focus-title-row button,.focus-adjust-button{justify-self:end}.virtue-selector button{min-height:auto}}@media (prefers-reduced-motion:reduce){.app-header,.brand-area,.brand-hero,.brand-lockup,.brand-tagline{transition-duration:.01ms}}
