/* Sealed r2 editor recipe with the owner-selected r3 accent bubble. Native exercise geometry stays outside it. */
:is(.hq-point-popup,.hq-point-entry,.hq-point-mark,.hq-point-toast){color-scheme:light;--cp-panel:light-dark(#fff,#181b24);--cp-text:light-dark(#1a1a1a,#e6e8ee);--cp-muted:light-dark(#555,#aab1c2);--cp-border:light-dark(#ddd,#262a36);--cp-accent:light-dark(#cc1fb3,#ee58e0);--cp-fill:#cc1fb3;--cp-fill-hover:#b3179c;--cp-accent-hover:#d845cb;--cp-pressed:#c232b6;--cp-on-accent:#fff;--cp-veil:light-dark(rgba(238,88,224,.06),rgba(238,88,224,.1));--cp-ring:rgba(238,88,224,.30);--cp-disabled:light-dark(#ededf0,#232734);--cp-disabled-text:light-dark(#a7abb5,#667082);--cp-shadow:light-dark(rgba(0,0,0,.12),rgba(0,0,0,.40));--cp-error:light-dark(#c0392b,#ff8a8a);color:var(--cp-text);font:400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
html.dark :is(.hq-point-popup,.hq-point-entry,.hq-point-mark,.hq-point-toast){color-scheme:dark}
.hq-point-root{position:relative;min-width:0;--hq-point-cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%22-4%20-4%2032%2032%22%20fill%3D%22none%22%20stroke%3D%22%23555%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2.992%2016.342a2%202%200%200%201%20.094%201.167l-1.065%203.29a1%201%200%200%200%201.236%201.168l3.413-.998a2%202%200%200%201%201.099.092%2010%2010%200%201%200-4.777-4.719%22%2F%3E%3C%2Fsvg%3E") 6 26,crosshair}
html.dark .hq-point-root{--hq-point-cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%22-4%20-4%2032%2032%22%20fill%3D%22none%22%20stroke%3D%22%23aab1c2%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2.992%2016.342a2%202%200%200%201%20.094%201.167l-1.065%203.29a1%201%200%200%200%201.236%201.168l3.413-.998a2%202%200%200%201%201.099.092%2010%2010%200%201%200-4.777-4.719%22%2F%3E%3C%2Fsvg%3E") 6 26,crosshair}
.hq-point-entry[hidden]{display:none!important}
.hq-point-layer{position:absolute;inset:0;pointer-events:none;z-index:21}
.hq-point-popup *,.hq-point-toast *{box-sizing:border-box}
.hq-point-popup [hidden],.hq-point-toast [hidden]{display:none!important}
:is(.hq-point-entry,.hq-point-mark){display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;border:1px solid var(--cp-border);border-radius:50%;padding:0;background:var(--cp-panel);color:var(--cp-muted);box-shadow:0 2px 4px var(--cp-shadow)}
:is(.hq-point-entry,.hq-point-mark) svg{width:18px;height:18px;pointer-events:none}
.hq-point-entry[aria-pressed=true]{border-color:var(--cp-accent);color:var(--cp-accent);background:var(--cp-veil)}
.hq-point-mark{position:absolute;z-index:4;width:40px;height:40px;padding:2px;border:0;background:transparent;box-shadow:none;transform:translate(-2px,-38px);pointer-events:auto;box-sizing:border-box}
.hq-point-mark-shape{display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;width:36px;height:36px;border:1px solid var(--cp-accent);border-radius:50% 50% 50% 2px;background:var(--cp-fill);color:var(--cp-on-accent);box-shadow:0 2px 6px var(--cp-shadow)}
.hq-point-mark[aria-expanded=true] .hq-point-mark-shape{outline:1px solid var(--cp-accent);outline-offset:2px}
.hq-point-mark:focus-visible{outline:none}
.hq-point-mark:focus-visible .hq-point-mark-shape{box-shadow:0 0 0 3px var(--cp-ring),0 2px 6px var(--cp-shadow)}
.hq-point-mark:active .hq-point-mark-shape{background:var(--cp-pressed)}
.hq-point-draft{width:32px;height:32px;padding:0;border:1px solid var(--cp-accent);background:var(--cp-panel);color:var(--cp-accent);transform:translate(-50%,-50%);box-shadow:0 2px 6px var(--cp-shadow);pointer-events:none}
.hq-point-popup{position:fixed;z-index:10020;box-sizing:border-box;width:440px;max-width:calc(100vw - 24px);border:1px solid var(--cp-border);border-radius:16px;background:var(--cp-panel);color:var(--cp-text);box-shadow:0 6px 24px var(--cp-shadow);overflow:visible;font-size:16px;overflow-wrap:anywhere}
.hq-point-popup.cp-composer{border-color:var(--cp-accent)}
.hq-point-popup textarea{display:block;box-sizing:border-box;border:0;outline:none;border-radius:16px;width:100%;height:56px;min-height:56px;max-height:180px;resize:none;background:transparent;color:inherit;padding:14px 64px 14px 16px;font:inherit;line-height:26px}
.hq-point-popup textarea::placeholder{color:var(--cp-muted)}
.hq-point-popup .cp-compose-foot{position:absolute;right:12px;top:10px;display:flex;justify-content:flex-end;gap:12px;align-items:center}
.hq-point-popup .cp-compose-cancel{display:none}
.hq-point-popup.cp-expanded textarea{height:90px;min-height:90px;padding:14px 16px 12px}
.hq-point-popup.cp-expanded .cp-compose-foot{position:static;border-top:1px solid var(--cp-border);padding:10px 12px;justify-content:space-between}
.hq-point-popup.cp-expanded .cp-compose-cancel{display:inline-flex}
.hq-point-popup .cp-send{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;border:1px solid var(--cp-accent);border-radius:50%;padding:0;color:var(--cp-on-accent);background:var(--cp-fill);transition:background .15s,color .15s,border-color .15s,box-shadow .15s}
.hq-point-popup .cp-send svg{width:18px;height:18px;pointer-events:none}
.hq-point-popup .cp-send:disabled{opacity:1;color:var(--cp-disabled-text);background:var(--cp-disabled);border-color:var(--cp-disabled)}
.hq-point-popup .cp-send:active:not(:disabled){background:var(--cp-pressed);border-color:var(--cp-pressed);transform:translateY(1px)}
.hq-point-popup :is(.cp-close,.cp-icon-action){display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--cp-muted);box-shadow:none;line-height:1;transition:background .12s,color .12s}
.hq-point-popup :is(.cp-close,.cp-icon-action) svg{width:16px;height:16px;pointer-events:none}
.hq-point-popup :is(.cp-close,.cp-icon-action):active{transform:translateY(1px)}
.hq-point-popup:not(.cp-expanded) .cp-compose-cancel{display:none}
.hq-point-popup .hqp-loader{animation:hqp-spin .7s linear infinite}
@keyframes hqp-spin{to{transform:rotate(360deg)}}
.hq-point-popup .cp-read-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;border-bottom:1px solid var(--cp-border)}
.hq-point-popup .cp-read-head h3{font-size:14px;line-height:1.4;margin:0;font-weight:600}
.hq-point-popup .cp-head-actions{display:flex;align-items:center;gap:8px;flex:none}
:is(.hq-point-popup,.hq-point-toast) .cp-text-action{display:inline-flex;gap:6px;align-items:center;border:0;border-radius:8px;background:transparent;padding:5px 8px;color:var(--cp-muted);font:inherit;font-size:14px;line-height:22px}
:is(.hq-point-popup,.hq-point-toast) .cp-text-action svg{width:16px;height:16px;pointer-events:none}
.hq-point-popup .cp-author{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;padding:16px 16px 0;font-size:14px}
.hq-point-popup .cp-author strong{font-weight:600}
.hq-point-popup .cp-author time{color:var(--cp-muted)}
.hq-point-popup .cp-saved-text{padding:12px 16px 16px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto}
:is(.hq-point-popup,.hq-point-toast) .cp-error{margin:0;padding:0 16px 12px;font-size:14px;color:var(--cp-error)}
.hq-point-toast{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:8px;background:var(--cp-panel);padding:12px 16px;border:1px solid var(--cp-border);border-radius:12px;font-size:14px}
.hq-point-toast .cp-text-action{color:var(--cp-accent)}
:is(.hq-point-entry,.hq-point-popup .cp-close,.hq-point-popup .cp-icon-action,.hq-point-popup .cp-send,.hq-point-popup .cp-text-action,.hq-point-toast .cp-text-action):focus-visible{outline:none;box-shadow:0 0 0 3px var(--cp-ring)}
@media(pointer:fine){.hq-point-selecting,.hq-point-selecting :where(:not(.hw-sendbar,.hw-sendbar *,.hq-point-layer,.hq-point-layer *)){cursor:var(--hq-point-cursor)!important}.hq-point-selecting .hw-sendbar{cursor:auto!important}}
.hq-point-layer button,.hq-point-layer button *{cursor:pointer!important}
.hq-point-selecting .tile:hover:not(.sel):not(.ok):not(.bad),.hq-point-selecting .gm-l:hover:not(.done):not(.sel):not(.bad),.hq-point-selecting .gm-r:hover:not(.done):not(.sel):not(.bad){border-color:var(--line)}
.hq-point-selecting .tile.done{pointer-events:auto}
.hq-point-selecting :is(.tile,.gm-l,.gm-r):active{transform:none}
@media(hover:hover){.hq-point-mark:hover .hq-point-mark-shape{background:var(--cp-fill-hover)}.hq-point-popup :is(.cp-close,.cp-icon-action):hover,:is(.hq-point-popup,.hq-point-toast) .cp-text-action:hover{background:var(--cp-veil);color:var(--cp-text)}.hq-point-popup .cp-delete:hover{color:var(--cp-error)}.hq-point-popup .cp-send:hover:not(:disabled){background:var(--cp-fill-hover);border-color:var(--cp-accent-hover)}}
@media(max-width:600px){.hq-point-popup .cp-read-head{padding:12px;gap:6px;flex-wrap:wrap}:is(.hq-point-popup,.hq-point-toast) .cp-head-actions{gap:2px;margin-left:auto}:is(.hq-point-popup,.hq-point-toast) .cp-text-action{padding:5px 6px}}
@media(pointer:coarse){.hq-point-popup .cp-send,.hq-point-entry,.hq-point-popup .cp-close,.hq-point-popup .cp-icon-action{width:44px;height:44px}.hq-point-mark{width:44px;height:44px;padding:4px;transform:translate(-4px,-40px)}.hq-point-draft{width:40px;height:40px;padding:0;transform:translate(-50%,-50%)}.hq-point-popup textarea{height:68px;padding-top:20px;padding-bottom:20px}:is(.hq-point-popup,.hq-point-toast) .cp-text-action{min-height:44px}}
@media(prefers-reduced-motion:reduce){.hq-point-popup *,.hq-point-mark,.hq-point-entry{transition:none!important;animation:none!important}}

/* The fixed homework toolbar lives inside paper; reserve scroll space outside its coordinates. */
.hq-frame.hq-point-frame{margin-bottom:var(--hq-point-end-space,0px)}

/* Cabinet tools are nonmodal; call sharing/video/incoming layers remain above them. */
.hq-point-popup.cp-cabinet{z-index:120}
.hq-analysis-surface{position:relative;min-width:0}
.hq-analysis-context p{margin:0 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}
.hq-analysis-context p:last-child{margin-bottom:0}
.hq-frame.hq-cabinet-tools{grid-template-columns:minmax(0,1fr)}
.hq-cabinet-tools>.hq-rail{display:none}
