/* FEEDBACK — modals blur the world behind them (that is the only place blur is allowed at
   full strength). Toasts read as quest notifications and always enter from the right. */
.ag-scrim{position:fixed;inset:0;background:color-mix(in oklab,var(--ink-1000) 62%,transparent);backdrop-filter:var(--blur-modal);-webkit-backdrop-filter:var(--blur-modal);display:grid;place-items:center;padding:var(--sp-6);z-index:80;animation:ag-rise var(--dur-3) var(--ease-swift)}
.ag-dialog{width:min(760px,100%);max-height:86vh;display:flex;flex-direction:column;background:var(--surface-panel);border:var(--bw-hair) solid var(--line-strong);clip-path:var(--clip-notch-8);box-shadow:var(--shadow-panel),var(--glow-soft);animation:ag-pop var(--dur-4) var(--ease-spring)}
.ag-dialog[data-size="sm"]{width:min(420px,100%)}
.ag-dialog[data-size="lg"]{width:min(1080px,100%)}
.ag-dialog__bar{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:var(--bw-hair) solid var(--line);background:var(--ink-800)}
.ag-dialog__title{font:var(--type-pixel-title);font-size:var(--fs-caption);letter-spacing:var(--ls-pixel);text-transform:uppercase;color:var(--text-strong);flex:1 1 auto}
.ag-dialog__kicker{font:var(--type-label);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--accent)}
.ag-dialog__body{padding:var(--sp-8);overflow:auto}
.ag-dialog__foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-4);border-top:var(--bw-hair) solid var(--line);background:var(--ink-800)}
.ag-toastwrap{position:fixed;top:var(--sp-6);right:var(--sp-6);display:grid;gap:var(--sp-3);z-index:90;pointer-events:none}
.ag-toast{display:flex;align-items:flex-start;gap:var(--sp-3);min-width:280px;max-width:380px;padding:var(--sp-3) var(--sp-4);background:var(--surface-raised);border:var(--bw-hair) solid var(--line-strong);border-left:var(--bw-thick) solid var(--accent);clip-path:var(--clip-notch-4);box-shadow:var(--shadow-2);animation:ag-slide-left var(--dur-4) var(--ease-spring);pointer-events:auto}
.ag-toast[data-tone="ongoing"]{border-left-color:var(--status-ongoing)}
.ag-toast[data-tone="falsified"]{border-left-color:var(--status-falsified)}
.ag-toast[data-tone="published"]{border-left-color:var(--status-published)}
.ag-toast__icon{color:var(--accent);margin-top:2px}
.ag-toast__title{font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--text-strong)}
.ag-toast__body{font-size:var(--fs-body-s);color:var(--text-body);margin-top:2px}
.ag-progress{display:grid;gap:var(--sp-2)}
.ag-progress__head{display:flex;justify-content:space-between;align-items:baseline;font:var(--type-label);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted)}
.ag-progress__val{color:var(--accent);font-variant-numeric:tabular-nums}
.ag-progress__track{height:12px;background:var(--hud-bar-track);border:var(--bw-hair) solid var(--line-strong);box-shadow:var(--shadow-sunken);padding:2px;display:flex;gap:2px;overflow:hidden}
.ag-progress__fill{background:var(--accent);height:100%;transition:width var(--dur-4) var(--ease-swift)}
.ag-progress[data-segmented="true"] .ag-progress__fill{background:repeating-linear-gradient(to right,var(--accent) 0 6px,transparent 6px 8px)}
.ag-progress[data-tone="hp"] .ag-progress__fill{background:var(--hud-hp)}
.ag-progress[data-tone="xp"] .ag-progress__fill{background:var(--hud-xp)}
.ag-progress[data-tone="mana"] .ag-progress__fill{background:var(--hud-mana)}
.ag-tip{position:relative;display:inline-flex}
.ag-tip__pop{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);opacity:0;pointer-events:none;background:var(--ink-600);color:var(--text-strong);border:var(--bw-hair) solid var(--line-strong);box-shadow:var(--shadow-2);padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-caption);white-space:nowrap;clip-path:var(--clip-notch-4);transition:opacity var(--t-hover),transform var(--t-hover);z-index:60}
.ag-tip:hover .ag-tip__pop,.ag-tip:focus-within .ag-tip__pop{opacity:1;transform:translateX(-50%) translateY(0)}
