/* Interface refinements following the Lovable UX review. */
:root{--muted:#5c6c64;--line:#dde5dc;--radius:18px}
.card{border:1px solid #e4e9e1;box-shadow:0 2px 3px #19362b02}
.button{background:#214d3d;border-radius:10px;font-weight:600}.button:hover{background:#173d30}
.button.secondary{background:#eaf0e6}.button.outline{background:transparent}
.sidebar{background:#fcfdf9}.sidebar #navigation a[aria-current=page]{background:#e8eee2;color:#214d3d}
.space-switcher{background:#f0f3ea;border-color:#e0e6d9;border-radius:14px;padding:16px}.space-switcher .eyebrow{font-size:10px}.space-switcher small{font-size:11px;line-height:1.5}
.stage-context{padding-bottom:17px;border-bottom:1px solid var(--line);margin-bottom:26px}.stage-context>span:first-child{border:1px solid #dce6d8;background:#edf2e8}
.page-heading{margin-bottom:28px}.page-heading h1{letter-spacing:-1.1px;max-width:850px}.page-heading p{max-width:680px;line-height:1.65}
.today-focus-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:20px;margin-bottom:22px}
.today-next{background:#eef1e5;color:#213e31;border-color:#dce3cf;margin:0;position:relative;overflow:hidden;gap:16px;justify-content:flex-start;padding:32px}
.today-next:after{content:'';position:absolute;width:160px;height:160px;border:28px solid #dde5ce80;border-radius:50%;right:-80px;top:-95px;pointer-events:none}
.today-next .eyebrow{color:#3c5b3f;border:1px solid #d7dfc9;background:#f8faf1;padding:7px 10px;border-radius:8px;letter-spacing:1px}
.today-next h2{font-size:clamp(25px,2.7vw,36px);line-height:1.18;margin-top:4px;max-width:660px;letter-spacing:-.6px}
.today-next .next-reason{margin:0 0 4px;max-width:620px;color:#486149;font-size:14px;line-height:1.7}
.today-next .actions{margin-top:auto;padding-top:8px}.today-next .text-button{color:#214d3d;font-size:12px}.today-next .recommendation-note{color:#566c55;font-size:10px;margin:2px 0 0;line-height:1.5}.today-next small,.today-next .small{color:#486149}
.learning-guide{padding:26px;background:#fffefa}.learning-guide>.eyebrow{font-size:9px;color:#697658;letter-spacing:1.2px}.learning-guide h2{font-size:24px;margin:9px 0 20px;letter-spacing:-.5px}.learning-guide ol{padding:0;margin:0 0 16px;list-style:none;display:grid;gap:18px}.learning-guide li{display:flex;gap:12px}.learning-guide li>span{display:grid;place-items:center;align-self:flex-start;min-width:30px;height:30px;border-radius:9px;background:#eef1e6;color:#59704a;font-size:10px;font-weight:600}.learning-guide li strong{font-size:12px}.learning-guide li p{font-size:11px;line-height:1.6;margin-top:5px;color:var(--muted)}.learning-guide>a{font-size:11px}
.today-snapshot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;gap:16px;margin-bottom:22px}.today-snapshot>span{background:white;border:1px solid var(--line);border-radius:14px;padding:17px 20px;font-size:12px}.today-snapshot small{display:block;letter-spacing:1px;font-size:9px;font-weight:600;margin-bottom:10px;color:#697565}.today-snapshot strong{font-size:27px;letter-spacing:-.7px;line-height:1;margin-right:8px;color:#274734}
.device-note{background:transparent;border:0;padding:0 2px;font-size:11px;margin-bottom:24px}.device-note .text-button{font-size:11px}.today-plan{padding:24px}.today-plan .section-title h2{font-size:19px;margin-bottom:0}.today-plan .empty{padding:25px;background:#fafbf7;border:1px dashed #dce3d5;text-align:left;font-size:12px}.today-plan .empty strong{font-size:14px}
.today-subjects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.subject-peek{display:flex;gap:14px;align-items:center;text-align:left;padding:18px;transition:border-color .15s}.subject-peek:hover{border-color:#8aa777}.subject-peek>span:nth-child(2){flex:1;min-width:0}.subject-peek strong{display:block;font-size:14px;overflow-wrap:anywhere}.subject-peek small{display:block;font-size:11px;margin-top:6px}.subject-peek>span:last-child{color:var(--muted)}.subject-monogram{display:grid;place-items:center;min-width:44px;height:44px;border-radius:13px;background:#e9efde;color:#426132;font-size:20px;font-weight:600}.tone-1{background:#f6ecdd;color:#8b602d}.tone-2{background:#e5edf2;color:#36596d}.tone-3{background:#eee8f4;color:#65517c}
.section-title .eyebrow{font-size:9px;letter-spacing:1.1px}.section-title h2{margin-top:6px;font-size:22px}.today-shortcuts .card{box-shadow:none;border:0;background:transparent;padding:14px 0;border-top:1px solid var(--line);border-radius:0;gap:8px}.today-shortcuts strong{font-size:13px}.today-shortcuts span{font-size:11px}.confidence-note{font-size:10px;line-height:1.6}
.study-tools{gap:18px}.tool-card{position:relative;min-height:240px;gap:14px;padding:28px;border:1px solid var(--line);background:#fffefa;overflow:hidden}.tool-card:hover{transform:translateY(-2px);border-color:#93aa7c}.tool-card .tool-symbol{width:43px;height:43px;display:grid;place-items:center;background:#edf1e4;color:#506940;border-radius:12px;font-size:13px;font-weight:600;letter-spacing:1px}.tool-card:nth-child(2) .tool-symbol{background:#f5ecdd;color:#8c632e}.tool-card:nth-child(3) .tool-symbol{background:#e4edf1;color:#3e6274}.tool-card:nth-child(4) .tool-symbol{background:#eee8f3;color:#6d5785}.tool-card h2{font-size:24px;letter-spacing:-.4px}.tool-card p{font-size:13px;line-height:1.7;max-width:480px}.tool-card strong{font-size:12px;padding-top:5px}.tool-card:after{content:'↗';position:absolute;right:25px;top:28px;color:#718465;font-size:21px}
.prompt-start{margin-bottom:26px}.prompt-start .section-title{align-items:flex-end;margin-top:0}.prompt-purpose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.purpose-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;text-align:left;background:#eef2e6;padding:22px;border-color:#dfe5d5}.purpose-card:nth-child(2){background:#f7f0e4;border-color:#ebe1d0}.purpose-card:nth-child(3){background:#eaf0f3;border-color:#dbe5e9}.purpose-card:hover{border-color:#819775}.purpose-number{font-size:10px;letter-spacing:1px;color:#57694b}.purpose-card>strong{font-size:18px;line-height:1.35;letter-spacing:-.25px}.purpose-card>span:not(.purpose-number){font-size:12px;line-height:1.65;color:#53645a;flex:1}.purpose-card small{font-size:11px;font-weight:600;color:#34533a;margin-top:4px}.prompt-context{padding:24px;background:#fffefa}.prompt-context h2{font-size:20px;margin-top:8px}.prompt-context p{font-size:12px}.prompt-card{padding:23px}.prompt-card h3{font-size:17px;line-height:1.4}.prompt-card>p{font-size:13px;line-height:1.75}.prompt-card .button{font-size:12px}.prompt-library-note{gap:8px}.load-prompts{text-align:center;margin:24px 0}.load-prompts #more-prompts[hidden]{display:none!important}
@media(min-width:1500px){main{max-width:1500px;margin-inline:auto}.today-focus-layout{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}}
@media(max-width:1100px){.today-focus-layout{grid-template-columns:minmax(0,1.4fr) minmax(230px,1fr)}.today-next{padding:26px}.learning-guide{padding:22px}.prompt-purpose-grid{gap:12px}.purpose-card{padding:18px}.today-snapshot>span{padding:17px}}
@media(max-width:800px){.today-focus-layout{grid-template-columns:1fr}.today-next{min-height:290px;padding:25px;gap:16px}.today-next .actions{flex-direction:row;align-items:center}.learning-guide{display:none}.today-snapshot{gap:8px}.today-snapshot>span{padding:14px 10px;font-size:10px;line-height:1.5}.today-snapshot strong{display:block;margin:0 0 5px;font-size:25px}.today-snapshot small{font-size:8px;letter-spacing:.7px}.today-subjects{grid-template-columns:1fr}.prompt-purpose-grid{grid-template-columns:1fr}.purpose-card{display:grid;grid-template-columns:28px 1fr;gap:7px 12px;padding:18px}.purpose-number{grid-row:1/4;padding-top:5px}.purpose-card>strong{font-size:17px}.purpose-card>span:not(.purpose-number),.purpose-card>small{grid-column:2}.prompt-start .section-title>.small{display:none}.tool-card{min-height:230px;padding:24px}.tool-card h2{font-size:23px}.stage-context{margin-bottom:22px}.sidebar{background:var(--bg)}.sidebar #navigation a[aria-current=page]{background:#e5ecdc}.device-note{line-height:1.65}.page-heading h1{font-size:29px;letter-spacing:-.8px}.page-heading p{font-size:13px}.subject-peek{padding:16px}.prompt-context{padding:21px}}
@media(prefers-reduced-motion:reduce){.tool-card:hover{transform:none}}
/* Beta accessibility pass: retain native dialog and disclosure keyboard behaviour. */
.icon-button{min-width:44px;min-height:44px;flex-shrink:0}
.dialog-actions{flex-wrap:wrap}
.dialog-actions>.button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
summary{min-height:44px;align-content:center}
summary:focus-visible{outline:3px solid #23634a;outline-offset:4px;border-radius:6px}
@media(max-width:800px){#navigation a,.section-nav a{min-height:44px;align-content:center}.mobile-account,.avatar-button{min-height:44px;min-width:44px}.stage-context button{min-height:44px}.dialog-actions>.button{flex:1 1 130px}}
@media(max-width:800px){.section-nav{flex-wrap:wrap;overflow:visible;padding:0 0 12px;gap:7px}.section-nav a{font-size:11px;padding:8px 12px}.stage-context>span:first-child{display:none}.stage-context{padding-bottom:12px;margin-bottom:20px}}
