:root{--coach-dock-w:0px}@media (min-width:1121px){html[data-coach-dock=open]{--coach-dock-w:400px}html[data-coach-dock=wide]{--coach-dock-w:600px}html[data-coach-dock] body{padding-right:var(--coach-dock-w);transition:padding-right .18s ease}html[data-coach-dock] .pomo-dock{right:var(--coach-dock-w);transition:right .18s ease}html[data-coach-dock] .fenek-dock{right:calc(18px + var(--coach-dock-w));transition:right .18s ease}html[data-coach-dock] .coach-inline{display:none}.coach-dock{position:fixed;top:0;right:0;bottom:0;z-index:40;display:flex;flex-direction:column;pointer-events:none}.coach-dock>*{pointer-events:auto}.coach-dock.is-open,.coach-dock.is-wide{width:var(--coach-dock-w);background:var(--paper-0);border-left:1px solid var(--rule-strong);box-shadow:-8px 0 24px -20px rgba(17,59,90,.35)}.coach-dock-tab{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 16px;border:1px solid var(--rule-strong);border-right:0;border-radius:10px 0 0 10px;background:var(--paper-0);color:var(--accent-ink);cursor:pointer;font:inherit;box-shadow:-4px 0 14px -10px rgba(17,59,90,.5)}.coach-dock-tab:hover{background:var(--accent-soft)}.coach-dock-tab:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.coach-dock-tab-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;font-weight:600;letter-spacing:.04em}.coach-dock-mark,.coach-dock-tab-mark{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:13px}.coach-dock-tab-dot{width:8px;height:8px;border-radius:50%;background:var(--amber)}.coach-dock-panel{display:flex;flex-direction:column;height:100%;min-height:0}.coach-dock-head{justify-content:space-between;padding:14px 14px 10px;border-bottom:1px solid var(--rule)}.coach-dock-head,.coach-dock-title{display:flex;align-items:flex-start;gap:10px}.coach-dock-title{min-width:0}.coach-dock-title>div{min-width:0;display:flex;flex-direction:column;gap:2px}.coach-dock-title strong{font-size:14px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coach-dock-title strong small{font-weight:500;color:var(--ink-2);font-size:12px}.coach-dock.is-open .coach-dock-title strong small{display:none}.coach-dock-context{font-size:12.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coach-dock-actions{display:flex;gap:2px;flex-shrink:0}.coach-dock-actions>*{display:inline-grid;place-items:center;width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--ink-2);font:inherit;font-size:16px;line-height:1;text-decoration:none;cursor:pointer}.coach-dock-actions>:hover{background:var(--paper-2);color:var(--ink-1)}.coach-dock-actions>:focus-visible{outline:2px solid var(--accent-ink);outline-offset:1px}.coach-dock-hint{margin:0;padding:8px 14px 0;font-size:12.5px;line-height:1.45;color:var(--ink-3)}.coach-dock-focus{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 0}.coach-dock-chip{padding:3px 9px;border:1px solid var(--rule-strong);border-radius:999px;background:var(--paper-0);font:inherit;font-size:12px;cursor:pointer}.coach-dock-chip.is-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.coach-dock-body{flex:1;min-height:0;overflow-y:auto;padding:12px 14px 16px;overscroll-behavior:contain}.coach-dock-body .tutor-composer{position:sticky;bottom:-16px;background:var(--paper-0);padding-top:8px}.coach-dock-body .tutor-composer-hint{display:none}.coach-dock-locked{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px dashed var(--accent);border-radius:10px;background:var(--accent-soft);font-size:13.5px}.coach-dock-locked p{margin:0}.coach-dock-foot{margin:0;padding:8px 14px 10px;border-top:1px solid var(--rule);font-size:11px;color:var(--ink-3)}.coach-dock-foot kbd{font:inherit;padding:0 4px;border:1px solid var(--rule-strong);border-radius:4px}.coach-select-bubble{position:fixed;z-index:60;transform:translate(-50%,calc(-100% - 8px));padding:6px 11px;border:0;border-radius:999px;background:var(--accent-ink);color:#fff;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:0 6px 18px -8px rgba(0,0,0,.5)}.coach-select-bubble:after{content:"";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;background:inherit;transform:translateX(-50%) rotate(45deg)}}@media (prefers-reduced-motion:reduce){html[data-coach-dock] .fenek-dock,html[data-coach-dock] .pomo-dock,html[data-coach-dock] body{transition:none}}@media (min-width:1121px){.coach-dock-history-slot:empty{display:none}.coach-dock-history-slot{display:flex;align-items:center;width:auto;height:auto;margin-right:6px;padding-right:6px;border-right:1px solid var(--rule);background:transparent;cursor:default}.coach-dock-actions>.coach-dock-history-slot:hover{background:transparent}}.coach-dock-panel[hidden],.coach-dock[hidden]{display:none}@media (min-width:1121px){.coach-dock-tab-live{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);animation:coachDockLive 1.4s ease-in-out infinite}@keyframes coachDockLive{0%,to{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.coach-dock-tab-badge{position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:4px 10px;border-radius:999px;background:var(--accent-ink);color:#fff;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:0 6px 16px -8px rgba(0,0,0,.45)}.coach-dock-tab-badge.is-interrupted{background:var(--paper-0);color:var(--ink-1);border:1px solid var(--rule-strong)}.coach-dock-moved{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:10px 14px 0;padding:8px 10px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-1);font-size:12.5px;line-height:1.45;color:var(--ink-2)}.coach-dock-moved .btn{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-dock-panel>.coach-today{margin:10px 14px 0}}@media (prefers-reduced-motion:reduce){.coach-dock-tab-live{animation:none;opacity:1}}