/* Feedback inherits the active workspace materials; one entry per screen. */
.pf-dialog,.pf-launch {
  --pf-paper: var(--dash-paper,var(--lesson-paper,#fff)); --pf-ink: var(--dash-ink,var(--lesson-ink,#151719));
  --pf-muted: var(--dash-muted,var(--lesson-muted,#62655f)); --pf-line: var(--dash-line,var(--lesson-line,#deddd7));
  --pf-soft: var(--dash-rail,var(--lesson-sidebar,#f3f1ed)); --pf-accent: #2e4633; --pf-on: #fff;
  font-family: var(--sans,KHTeka,Arial,sans-serif); color: var(--pf-ink); color-scheme: light;
}
html[data-classroom-theme="dark"] :is(.pf-dialog,.pf-launch),body[data-teach-theme="dark"] :is(.pf-dialog,.pf-launch),html[data-dashboard-theme="dark"] :is(.pf-dialog,.pf-launch) {
  --pf-paper:#191c19; --pf-ink:#f2f1ed; --pf-muted:#b7bcb3; --pf-line:#484e45; --pf-soft:#252b23; --pf-accent:#b4d2a2; --pf-on:#182018; color-scheme:dark;
}
.pf-launch { min-height:44px; padding:10px 16px; border:1px solid var(--pf-line); border-radius:12px; background:var(--pf-paper); font-size:14px; cursor:pointer; }
.pf-floating { position:fixed; z-index:70; bottom:calc(16px + env(safe-area-inset-bottom)); right:16px; }
.pf-dialog { box-sizing:border-box; width:min(480px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:28px; border:1px solid var(--pf-line); border-radius:16px; background:var(--pf-paper); overflow:auto; scrollbar-color:var(--pf-muted) var(--pf-paper); }
.pf-dialog::backdrop { background:rgb(0 0 0 / .45); }
.pf-dialog * { box-sizing:border-box; }
.pf-dialog [hidden] { display:none !important; }
.pf-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.pf-header h2 { margin:0; font-family:var(--display,var(--sans,Arial,sans-serif)); font-size:24px; line-height:1.2; letter-spacing:-.025em; color:var(--pf-ink); }
.pf-dialog button { min-height:44px; padding:8px 14px; border:1px solid var(--pf-line); border-radius:10px; font:inherit; font-size:14px; color:var(--pf-ink); background:var(--pf-soft); cursor:pointer; }
.pf-dialog button:hover,.pf-launch:hover { filter:brightness(.94); }
.pf-dialog .pf-close { background:transparent; border-color:transparent; }
.pf-intro { margin:14px 0 24px; color:var(--pf-muted); font-size:15px; line-height:1.55; }
.pf-form { display:grid; gap:10px; }
.pf-form label,.pf-form legend { font-size:14px; font-weight:500; }
.pf-form :is(select,textarea) { width:100%; min-height:44px; padding:12px; border:1px solid var(--pf-line); border-radius:10px; font:inherit; font-size:16px; color:var(--pf-ink); background:var(--pf-paper); caret-color:var(--pf-accent); }
.pf-form textarea { resize:vertical; }
.pf-form textarea::placeholder { color:var(--pf-muted); opacity:1; }
.pf-form fieldset { min-width:0; margin:12px 0; padding:0; border:0; }
.pf-stars { display:flex; gap:6px; margin-top:8px; }
.pf-star { position:relative; display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--pf-line); border-radius:10px; cursor:pointer; }
.pf-star input { position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.pf-star svg { fill:transparent; stroke:var(--pf-muted); stroke-width:1.5; pointer-events:none; }
.pf-star.pf-filled { background:var(--pf-soft); }
.pf-star.pf-filled svg { fill:var(--pf-accent); stroke:var(--pf-accent); }
.pf-star:has(input:focus-visible),.pf-dialog :is(button,select,textarea):focus-visible,.pf-launch:focus-visible { outline:3px solid var(--pf-accent); outline-offset:3px; }
.pf-muted { color:var(--pf-muted); font-size:13px; line-height:1.5; }
.pf-form p { margin:0; }
.pf-stars + p { margin-top:8px; }
.pf-dialog .pf-submit { margin-top:10px; background:var(--pf-accent); color:var(--pf-on); border-color:var(--pf-accent); }
.pf-dialog button:disabled { opacity:.6; cursor:wait; }
.pf-result { margin:16px 0 0; font-size:15px; line-height:1.5; }
.pf-result:empty { display:none; }
.pf-tabs { display:flex; gap:8px; margin:20px 0; }
.pf-tabs button[aria-pressed="true"] { background:var(--pf-accent); color:var(--pf-on); }
.pf-entry { padding:18px 0; border-bottom:1px solid var(--pf-line); overflow-wrap:anywhere; }
.pf-entry h3 { margin:0; font-size:16px; line-height:1.4; color:var(--pf-ink); }
.pf-entry p { margin:8px 0 0; }
.pf-comment { white-space:pre-wrap; font-size:15px; line-height:1.5; }
.pf-dialog ::selection { background:var(--pf-accent); color:var(--pf-on); }
@media(max-width:540px) { .pf-dialog { padding:20px; } .pf-header h2 { font-size:22px; } .pf-floating { bottom:calc(10px + env(safe-area-inset-bottom)); right:10px; font-size:12px; padding:8px 12px; } }
@media print { .pf-dialog,.pf-launch { display:none !important; } }
.pf-prompt { position:fixed; inset:auto 20px calc(20px + env(safe-area-inset-bottom)) auto; z-index:90; width:min(360px,calc(100vw - 32px)); margin:0; padding:20px; }
.pf-prompt[hidden] { display:none !important; }
.pf-prompt h2 { margin:0; font-family:var(--display,var(--sans,Arial,sans-serif)); font-size:20px; line-height:1.3; letter-spacing:-.025em; color:var(--pf-ink); }
.pf-prompt p { margin:8px 0 14px; font-size:14px; line-height:1.5; color:var(--pf-muted); }
.pf-prompt-stars { display:flex; gap:4px; }
.pf-prompt-stars button { display:grid; place-items:center; width:44px; height:44px; padding:6px; background:var(--pf-paper); }
.pf-prompt-stars svg { fill:transparent; stroke:var(--pf-accent); stroke-width:1.5; }
.pf-prompt-stars button:is(:hover,:focus-visible) svg { fill:var(--pf-accent); }
.pf-prompt .pf-prompt-dismiss { margin-top:12px; padding:4px 0; border-color:transparent; background:transparent; color:var(--pf-muted); }
body:has(.pf-prompt:not([hidden])) .pf-floating { visibility:hidden; }
.pf-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:540px) { .pf-prompt { right:16px; bottom:calc(16px + env(safe-area-inset-bottom)); } }
