.mc-companion{margin-block:28px;color:var(--text-primary,#192e39)}.companion-heading{max-width:640px;margin-bottom:20px}.companion-heading h2{font-size:clamp(24px,4vw,34px);letter-spacing:-.035em;margin:8px 0}.companion-heading p{line-height:1.6}.companion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.companion-card{font:inherit;color:inherit;background:var(--surface,#fff);text-align:left;padding:22px 18px;border:1px solid #a5b6ad66;border-radius:14px;min-height:142px;cursor:pointer}.companion-card:hover{border-color:#467762;box-shadow:0 8px 24px #193a2920}.companion-card strong{display:block;font-size:17px;margin-bottom:9px}.companion-card span{display:block;font-size:14px;line-height:1.55;opacity:.8}.companion-card:focus-visible,.mc-companion button:focus-visible,.companion-dialog :focus-visible{outline:3px solid #38735a;outline-offset:3px}.companion-dialog{border:1px solid #a5b6ad66;border-radius:18px;padding:28px;max-width:680px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;color:#192e39;background:#fafbf8;box-sizing:border-box}.companion-dialog::backdrop{background:#102c38aa}.companion-close{float:right;min-height:44px;padding:8px 14px;border:1px solid #c3cec5;border-radius:8px;background:#fff;color:#192e39;cursor:pointer}.companion-dialog h2{padding-right:80px}.companion-field{display:grid;gap:7px;margin:18px 0;font-weight:600}.companion-field input,.companion-field textarea,.companion-field select{font:inherit;color:#192e39;border:1px solid #99ada2;border-radius:8px;padding:12px;background:#fff;min-height:44px;width:100%;box-sizing:border-box}.companion-field textarea{resize:vertical}.companion-dialog .mc-button{display:inline-flex;margin:6px 8px 6px 0;min-height:44px;align-items:center}.companion-output li{margin-block:12px;line-height:1.6}.companion-note,.companion-plans{font-size:14px;line-height:1.65}.companion-plans{margin-top:18px;padding:16px;border:1px solid #a5b6ad66;border-radius:10px}.companion-plans summary{cursor:pointer;min-height:30px;font-weight:600}.companion-labs{width:100%;border-radius:10px;margin-block:12px}.companion-dialog [role=status]{line-height:1.6}.companion-dialog button:disabled{opacity:.6;cursor:wait}@media(max-width:1000px){.companion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.companion-grid{grid-template-columns:1fr}.companion-card{min-height:100px}.companion-dialog{padding:20px}}
.mc-study-workflows{margin-block:16px}.mc-study-workflows>summary{font-weight:650;cursor:pointer;min-height:44px;display:list-item;padding:10px 4px}.theme-dark .companion-dialog{color:#e5eeea;background:#152825}.theme-dark .companion-field input,.theme-dark .companion-field textarea,.theme-dark .companion-field select,.theme-dark .companion-close{color:#e5eeea;background:#1e3530;border-color:#68897c}.theme-dark .companion-card{background:#1b302b;color:#e5eeea}
.companion-room-timer{font-size:clamp(32px,6vw,52px);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-weight:650}

.companion-reflections { margin-block:18px; border-top:1px solid #a5b6ad66; padding-top:12px; }
.companion-reflections summary { min-height:44px; padding-block:10px; cursor:pointer; font-weight:650; }
.companion-reflections article { padding-block:12px; border-bottom:1px solid #a5b6ad44; }
.companion-reflections h3 { font-size:.875rem; margin:0 0 8px; }
.companion-reflections p { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; }

/* Inherit MindCoda's actual theme tokens so headings remain readable. */
.app-shell .mc-companion,.companion-dialog{color:var(--mc-ink);background:var(--mc-surface);}
.app-shell .mc-companion .companion-heading :is(h2,p),.companion-dialog :is(h2,h3,p,label,summary){color:var(--mc-ink);}
.app-shell .companion-card,.companion-dialog .companion-close,.companion-dialog .companion-field :is(input,textarea,select){background:var(--mc-surface-elevated);color:var(--mc-ink);border-color:var(--mc-line-strong);}
.app-shell .companion-card span{color:var(--mc-ink-secondary);opacity:1;}
.app-shell .mc-study-workflows{margin-top:16px;}
