/* The coach is a single dialog with accessible, independently useful sections. */
.coach-restart-essentials{border-top:1px solid var(--hair);padding-top:20px;margin-top:25px}.coach-restart-essentials h4{font:600 18px/1.4 var(--display);margin:0 0 9px}.coach-restart-essentials p{font-size:13px;line-height:1.8;color:var(--ink-2);margin:0 0 8px}#coach-restart-form .hint{font-size:12px;line-height:1.85;margin:0}#coach-restart-form>.btn{justify-self:start}
.sheet-card.thread #sheet-body{display:flex;flex-direction:column;min-height:0;overflow:hidden;flex:1}
.coach-heading{flex:none;padding-bottom:0!important;margin-bottom:0;border:0}.coach-heading h2{font-size:29px!important;letter-spacing:-.9px;max-width:none;margin:7px 0 12px}
.coach-heading .coach-intro{max-width:54ch;font-size:12px;line-height:1.7}.coach-heading #coach-status{margin-top:10px}
.coach-tabs{display:flex;gap:5px;flex:none;border-bottom:1px solid var(--hair);margin:19px 0 0;padding-bottom:9px;overflow-x:auto;scrollbar-width:thin}
.coach-tabs button{flex:0 0 auto;min-height:39px;padding:0 15px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink-2);font:500 12px var(--sans);white-space:nowrap}
.coach-tabs button[aria-selected="true"]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-soft)}
.coach-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.coach-panel{min-height:0;flex:1;overflow-y:auto;padding:22px 1px 7px;overscroll-behavior:contain;scrollbar-gutter:stable}
.coach-panel.is-chat{display:flex;flex-direction:column;overflow:hidden;padding-top:15px}
.coach-panel.is-chat .thread-log{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain}
.coach-panel .thread-habits{flex:none}.coach-panel .coach-footer,.coach-panel .coach-prompts{flex:none}
.coach-data-notice{font-size:10px;color:var(--ink-2);line-height:1.7;margin:0 0 13px;max-width:65ch}
.coach-tab-heading{margin-bottom:24px}.coach-tab-heading h3{font:600 27px/1.2 var(--display);letter-spacing:-.6px;margin:8px 0 12px}.coach-tab-heading p{font-size:12px;line-height:1.9;color:var(--ink-2);margin:0;max-width:56ch}
.coach-reflection-form .field{font-size:12px}.coach-reflection-form .field textarea{font-size:14px;line-height:1.7}.coach-reflection-ranges{display:grid;grid-template-columns:1fr 1fr;gap:28px}.coach-reflection-save{display:flex;align-items:center;justify-content:space-between;gap:20px}.coach-reflection-save .hint{font-size:10px;line-height:1.8;max-width:30ch}.coach-reflection-save .btn{font-size:12px;flex:none}.coach-discuss{margin-top:25px;padding:20px;border:1px solid var(--hair);border-radius:12px;background:var(--surface)}.coach-discuss p{font-size:12px;color:var(--ink-2);line-height:1.8;margin:0 0 13px}.coach-discuss .text-action{font-size:11px;display:inline-block;margin:13px 0 0 15px}
.coach-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.coach-tool-grid article{padding:23px 19px;border:1px solid var(--hair);background:var(--surface);border-radius:12px}.coach-tool-grid article>.ui-icon{color:var(--accent)}.coach-tool-grid h4{font:600 19px var(--display);letter-spacing:-.4px;margin:14px 0 10px}.coach-tool-grid p{font-size:11px;line-height:1.9;color:var(--ink-2);min-height:42px}.coach-tool-grid .btn{font-size:11px;margin-top:10px}.coach-tool-grid .btn svg{width:15px;height:15px}.coach-tools-note{font-size:10px;line-height:1.8;color:var(--ink-2);margin:23px 0 10px}
.coach-context-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:26px}.coach-context-metrics>div{display:flex;flex-direction:column;gap:6px;padding:15px 12px;background:var(--surface);border:1px solid var(--hair);border-radius:10px}.coach-context-metrics strong{font:600 26px var(--display);letter-spacing:-.6px}.coach-context-metrics span{font-size:9px;line-height:1.5;color:var(--ink-2)}
.coach-context-detail{border-top:1px solid var(--hair);padding:20px 0}.coach-context-detail h4{font:600 17px var(--display);margin:0 0 12px;letter-spacing:-.2px}.coach-context-detail p{font-size:11px;line-height:1.9;color:var(--ink-2);margin:8px 0 13px}.context-habits{display:flex;flex-wrap:wrap;gap:7px}.context-habits>span{display:flex;align-items:center;gap:7px;font-size:10px;background:var(--surface-2);border-radius:7px;padding:8px 10px}.context-habits svg{width:13px;height:13px;color:var(--accent)}.context-history-list{margin:16px 0}.context-history-list>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--hair);font-size:11px}.context-history-list strong{font-size:10px;font-weight:500;white-space:nowrap}.context-history-list small{font-size:9px;color:var(--ink-2);margin-left:6px}.coach-context-detail>.hint,.context-latest{font-size:10px;line-height:1.9;color:var(--ink-2)}.coach-context-footer{display:flex;gap:20px;justify-content:space-between;align-items:center;border-top:1px solid var(--hair);padding:18px 0 8px}.coach-context-footer .hint{font-size:10px;line-height:1.8;max-width:37ch}.coach-context-footer .btn{flex:none;font-size:11px}.coach-context-loading,.coach-context-error{padding:30px 5px;font-size:13px;line-height:1.9;color:var(--ink-2)}.coach-context-error h3{font-size:22px;color:var(--ink)}
.coach-back{display:inline-flex;align-items:center;min-height:38px;background:var(--surface-2);color:var(--ink);padding:0 12px;border-radius:8px;font:500 11px var(--sans);margin-bottom:16px}
@media(max-width:640px){.coach-heading h2{font-size:25px!important}.coach-heading .coach-intro{font-size:11px;margin-top:8px}.coach-tabs{gap:3px;margin-top:14px}.coach-tabs button{padding:0 12px;font-size:11px;min-height:38px}.coach-panel{padding-top:18px}.coach-data-notice{font-size:9px;line-height:1.7}.coach-tab-heading h3{font-size:24px}.coach-tab-heading p{font-size:11px}.coach-context-metrics{grid-template-columns:1fr 1fr}.coach-reflection-ranges{gap:20px}.coach-reflection-save{flex-wrap:wrap;gap:12px}.coach-reflection-save .hint{max-width:none}.coach-reflection-save .btn{margin-left:auto}.coach-tool-grid{gap:10px}.coach-tool-grid article{padding:18px 13px}.coach-tool-grid h4{font-size:17px}.coach-tool-grid p{font-size:10px;min-height:58px}.coach-tool-grid .btn{font-size:10px;padding:0 10px}.coach-discuss{padding:17px}.coach-discuss .text-action{margin-left:0;display:block}.coach-context-footer{flex-wrap:wrap;gap:12px}.coach-context-footer .hint{max-width:none}.coach-context-footer .btn{margin-left:auto}}
@media(max-width:360px){.coach-tool-grid{grid-template-columns:1fr}.coach-tool-grid p{min-height:0}.coach-tabs button{padding:0 10px;font-size:10px}}

.coach-panel.is-chat .thread-habits{max-height:43px}
.coach-panel .coach-prompts{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding:10px 0 6px}
.coach-panel .coach-prompts button{flex:none;white-space:nowrap;min-height:35px;font-size:10px;padding:7px 10px}

/* A visible way back to coaching, with motion only while a reply is pending. */
.coach-mark{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;border-radius:15px;background:var(--accent-soft);color:var(--accent)}
.coach-mark svg{display:block;width:36px;height:36px}.coach-orbit{transform-origin:20px 20px;opacity:.55}
.is-thinking .coach-orbit{animation:coach-orbit 3s linear infinite}
.bub.ai.md{animation:coach-arrive .25s ease-out}.coach-connection.connected i{background:var(--accent)}
@keyframes coach-orbit{to{transform:rotate(360deg)}}
@keyframes coach-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.header-actions .coach-trigger{padding:8px 10px;gap:7px;background:var(--accent-soft);color:var(--accent);border-radius:11px;font-size:12px;font-weight:600;white-space:nowrap}
.header-actions .coach-trigger.is-thinking .ui-icon{animation:coach-pulse 1.3s ease-in-out infinite}
.coach-launcher{display:none;position:fixed;z-index:45;right:22px;bottom:24px;align-items:center;gap:10px;min-height:54px;max-width:calc(100vw - 36px);padding:6px 18px 6px 6px;border:1px solid var(--hair-2);border-radius:20px;background:var(--surface);color:var(--ink);font:600 13px var(--sans);box-shadow:0 5px 22px #29252118;animation:coach-arrive .35s ease-out}
.coach-launcher .coach-mark{width:38px;height:38px;border-radius:14px}.coach-launcher .coach-mark svg{width:33px;height:33px}
.coach-launcher:hover{border-color:var(--accent)}.coach-launcher:focus-visible,.coach-plan-shortcuts button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.coach-launcher.has-reply{border-color:var(--accent)}.coach-launcher.has-reply::after{content:'';width:7px;height:7px;border-radius:50%;background:var(--accent)}
.sheet-open .coach-launcher{visibility:hidden}
.routine-coach-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;margin:0 0 17px;background:var(--surface);border:1px solid var(--hair);border-radius:12px;font-size:12px}
.routine-coach-inline>.ui-icon{color:var(--accent);width:19px;height:19px}.routine-coach-inline>.text-action{margin-left:auto;font-size:12px;min-height:38px;color:var(--accent)}
.coach-thinking.bub.ai,.coach-thinking.is-building{display:flex;align-items:center;gap:12px;padding:13px 15px;background:var(--surface-2);border:1px solid var(--hair);border-radius:14px}
.coach-thinking .coach-mark{width:42px;height:42px}.coach-thinking>span:last-child{min-width:0}.coach-thinking strong{display:block;font-size:13px;line-height:1.5;font-weight:600;color:var(--ink)}.coach-thinking small{display:block;font-size:11px;line-height:1.6;color:var(--ink-2);margin-top:3px}.coach-thinking.is-building{margin:18px 0}
.coach-current-plan{display:flex;align-items:center;gap:13px;border:1px solid var(--hair);border-radius:14px;padding:14px;margin:0 0 23px}.coach-current-plan strong{display:block;font:600 17px var(--display)}.coach-current-plan span:not(.coach-mark){display:block;font-size:12px;color:var(--ink-2);margin-top:5px}
#coach-plan-form .field{font-size:13px}#coach-plan-form .hint{font-size:12px;margin:0;line-height:1.8}#coach-plan-form>.btn{justify-self:start}
.coach-plan-shortcuts{display:flex;flex-wrap:wrap;gap:7px;margin-top:-5px}.coach-plan-shortcuts button{min-height:44px;padding:8px 12px;border:1px solid var(--hair);border-radius:9px;font:500 12px var(--sans);color:var(--ink);background:var(--surface)}.coach-plan-shortcuts button:hover{border-color:var(--accent);background:var(--accent-soft)}
.coach-plan-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.coach-plan-fields>*{min-width:0}.coach-plan-fields select{width:100%}
.coach-apply-suggestion{padding:16px;border:1px solid var(--hair);background:var(--surface);border-radius:14px;animation:coach-arrive .3s ease-out}.coach-apply-suggestion p{font-size:12px;line-height:1.7;margin:0 0 12px;color:var(--ink-2)}.coach-apply-suggestion .text-action{font-size:12px;margin:7px 0 0;display:flex}
.plan-banner-actions{margin-left:auto;display:flex;gap:9px;flex-wrap:wrap}.plan-banner-actions .btn{font-size:12px;padding:0 13px}
.coach-plan-alternative{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--hair);border-radius:12px;padding:13px 15px;margin:0 0 20px;background:var(--surface)}.coach-plan-alternative>.ui-icon{color:var(--accent)}.coach-plan-alternative>span{flex:1}.coach-plan-alternative strong,.coach-plan-alternative small{display:block}.coach-plan-alternative strong{font-size:13px;line-height:1.5}.coach-plan-alternative small{font-size:11px;line-height:1.7;margin-top:3px;color:var(--ink-2)}
.sheet-card.plan-ready{max-width:520px}.coach-plan-ready{animation:coach-arrive .4s ease-out}.coach-plan-ready>.coach-mark{width:58px;height:58px;border-radius:20px;margin-bottom:22px}.coach-plan-ready>.kicker{font-size:10px}.coach-plan-ready h2{font-size:35px;line-height:1.12;margin:10px 0 18px}.coach-plan-ready>p:not(.kicker){font-size:14px;line-height:1.8;color:var(--ink-2)}.coach-plan-ready>p strong{color:var(--ink)}.coach-plan-ready ul{list-style:none;padding:12px 0;margin:14px 0 20px;border-block:1px solid var(--hair)}.coach-plan-ready li{display:flex;align-items:center;gap:9px;padding:7px 0;font-size:13px}.coach-plan-ready li .ui-icon{width:16px;height:16px;color:var(--accent)}.coach-plan-ready>.hint{font-size:11px!important;margin-top:18px}
@media(max-width:980px){.coach-launcher{display:flex}.header-actions .coach-trigger{display:none}}
@media(max-width:700px){.coach-launcher{right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px))}body[data-authed="true"] .workspace-main,html.native-app body[data-authed="true"] .workspace-main{padding-bottom:calc(168px + env(safe-area-inset-bottom,0px))}body[data-authed="true"] .toast{bottom:calc(149px + env(safe-area-inset-bottom,0px))}.routine-coach-inline{display:grid;grid-template-columns:19px 1fr;padding:10px 13px;gap:0 10px}.routine-coach-inline>.text-action{grid-column:2;margin-left:0;justify-self:start}.plan-banner-actions{margin-left:0;width:100%}}
@media(max-width:420px){.coach-plan-fields{grid-template-columns:1fr;gap:12px}.coach-thinking.bub.ai{padding:11px;gap:9px}.coach-thinking small{font-size:10px}.coach-plan-ready .actions{flex-direction:column;align-items:stretch}.coach-plan-ready h2{font-size:30px}}
body.sheet-open .toast,body[data-authed="true"].sheet-open .toast{top:calc(14px + env(safe-area-inset-top,0px));bottom:auto}
@media(prefers-reduced-motion:reduce){.coach-mark *,.coach-thinking,.coach-launcher,.coach-apply-suggestion,.coach-plan-ready{animation:none!important;transition:none!important}}
@media print{.coach-launcher,.routine-coach-inline{display:none!important}}
