/* NOUNUniversity shared feedback system. Sharp, accessible, low-distraction. */
:root{
  --nsfb-bg:#fcfdfb;
  --nsfb-ink:#11241a;
  --nsfb-muted:#607068;
  --nsfb-line:#c7d0ca;
  --nsfb-green:#0b6b40;
  --nsfb-green-deep:#07522f;
  --nsfb-success:#0b6b40;
  --nsfb-error:#9a3030;
  --nsfb-warning:#8a5a12;
  --nsfb-info:#365d7a;
}
.ns-feedback-region{
  position:fixed;
  z-index:2147483000;
  top:max(16px,env(safe-area-inset-top));
  right:16px;
  width:min(390px,calc(100vw - 32px));
  display:grid;
  gap:8px;
  pointer-events:none;
}
.ns-feedback-toast{
  position:relative;
  overflow:hidden;
  pointer-events:auto;
  background:var(--nsfb-bg);
  color:var(--nsfb-ink);
  border:1px solid var(--nsfb-line);
  border-left:4px solid var(--nsfb-info);
  box-shadow:0 12px 34px rgba(17,36,26,.16);
  padding:13px 42px 14px 14px;
  opacity:0;
  transform:translateY(-8px);
  transition:opacity .16s ease,transform .16s ease;
}
.ns-feedback-toast.is-visible{opacity:1;transform:translateY(0)}
.ns-feedback-toast[data-type="success"]{border-left-color:var(--nsfb-success)}
.ns-feedback-toast[data-type="error"]{border-left-color:var(--nsfb-error)}
.ns-feedback-toast[data-type="warning"]{border-left-color:var(--nsfb-warning)}
.ns-feedback-toast[data-type="info"]{border-left-color:var(--nsfb-info)}
.ns-feedback-toast-title{display:block;margin:0 0 2px;font:700 .88rem/1.35 inherit;color:var(--nsfb-ink)}
.ns-feedback-toast-message{display:block;font:500 .8rem/1.48 inherit;color:var(--nsfb-muted);overflow-wrap:anywhere}
.ns-feedback-toast-close{
  position:absolute;right:7px;top:7px;width:30px;height:30px;border:0;background:transparent;color:var(--nsfb-muted);font:600 1rem/1 system-ui;display:grid;place-items:center;cursor:pointer
}
.ns-feedback-toast-close:hover,.ns-feedback-toast-close:focus-visible{color:var(--nsfb-ink);outline:1px solid var(--nsfb-line);outline-offset:0}
.ns-feedback-toast-timer{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--nsfb-green);transform-origin:left center;animation:nsfbTimer var(--nsfb-duration,4200ms) linear forwards}
.ns-feedback-toast[data-type="error"] .ns-feedback-toast-timer{background:var(--nsfb-error)}
.ns-feedback-toast[data-type="warning"] .ns-feedback-toast-timer{background:var(--nsfb-warning)}
.ns-feedback-toast[data-type="info"] .ns-feedback-toast-timer{background:var(--nsfb-info)}
@keyframes nsfbTimer{to{transform:scaleX(0)}}

.ns-feedback-overlay{
  position:fixed;inset:0;z-index:2147483001;background:rgba(8,20,13,.58);display:grid;place-items:center;padding:18px;opacity:0;transition:opacity .14s ease
}
.ns-feedback-overlay.is-visible{opacity:1}
.ns-feedback-dialog{
  width:min(480px,100%);max-height:min(680px,calc(100dvh - 36px));overflow:auto;background:var(--nsfb-bg);color:var(--nsfb-ink);border:1px solid var(--nsfb-line);border-top:3px solid var(--nsfb-green);box-shadow:0 22px 60px rgba(0,0,0,.22);padding:22px;transform:translateY(8px);transition:transform .14s ease
}
.ns-feedback-overlay.is-visible .ns-feedback-dialog{transform:translateY(0)}
.ns-feedback-dialog h2{margin:0;font:700 1.3rem/1.15 inherit;color:var(--nsfb-ink)}
.ns-feedback-dialog p{margin:9px 0 0;font:500 .88rem/1.55 inherit;color:var(--nsfb-muted)}
.ns-feedback-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--nsfb-line)}
.ns-feedback-dialog-actions button{min-height:42px;padding:0 14px;border:1px solid var(--nsfb-ink);background:transparent;color:var(--nsfb-ink);font:700 .82rem/1.2 inherit;cursor:pointer}
.ns-feedback-dialog-actions .ns-feedback-confirm{background:var(--nsfb-green);border-color:var(--nsfb-green);color:#fff}
.ns-feedback-dialog-actions .ns-feedback-confirm:hover{background:var(--nsfb-green-deep);border-color:var(--nsfb-green-deep)}
.ns-feedback-dialog-actions .ns-feedback-cancel:hover{color:var(--nsfb-green);border-color:var(--nsfb-green)}

.ns-feedback-dialog[data-tone="danger"]{border-top-color:var(--nsfb-error)}
.ns-feedback-dialog[data-tone="danger"] .ns-feedback-confirm{background:var(--nsfb-error);border-color:var(--nsfb-error)}
.ns-feedback-dialog[data-tone="danger"] .ns-feedback-confirm:hover{background:#7f2525;border-color:#7f2525}

.ns-feedback-global-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:2147483002;pointer-events:none;background:transparent;overflow:hidden;opacity:0;transition:opacity .12s ease}
.ns-feedback-global-progress.is-active{opacity:1}
.ns-feedback-global-progress i{display:block;height:100%;width:34%;background:var(--nsfb-green);transform:translateX(-105%);animation:nsfbProgress 1.1s ease-in-out infinite}
@keyframes nsfbProgress{50%{transform:translateX(105vw)}100%{transform:translateX(105vw)}}

[data-ns-busy="1"]{position:relative!important;cursor:wait!important;opacity:.88!important}
[data-ns-busy="1"]::after{content:"";position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:2px!important;background:var(--nsfb-green)!important;transform-origin:left!important;animation:nsfbButtonProgress 1.1s ease-in-out infinite!important}
@keyframes nsfbButtonProgress{0%{transform:scaleX(.08)}55%{transform:scaleX(.76)}100%{transform:scaleX(.96)}}

.ns-field-invalid{border-color:var(--nsfb-error)!important;outline-color:var(--nsfb-error)!important}
.ns-field-error{margin:5px 0 0!important;color:var(--nsfb-error)!important;font:600 .72rem/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.ns-feedback-promoted{display:none!important}

body.nsp-auth-screen .ns-feedback-region{top:92px}
@media(max-width:560px){body.nsp-auth-screen .ns-feedback-region{top:84px;right:12px;width:calc(100vw - 24px)}}
@media(max-width:480px){
  .ns-feedback-region{left:12px;right:12px;width:auto;top:max(12px,env(safe-area-inset-top))}
  .ns-feedback-toast{padding:12px 40px 13px 13px}
  .ns-feedback-overlay{padding:12px;align-items:end}
  .ns-feedback-dialog{width:100%;max-height:calc(100dvh - 24px);padding:18px}
  body.nsp-auth-screen .ns-feedback-region{top:84px;left:12px;right:12px}
}
@media(prefers-reduced-motion:reduce){
  .ns-feedback-toast,.ns-feedback-overlay,.ns-feedback-dialog,.ns-feedback-global-progress{transition:none!important}
  .ns-feedback-toast-timer,.ns-feedback-global-progress i,[data-ns-busy="1"]::after{animation:none!important}
}

/* 6.31.50 — feedback actions + private-workspace dark theme authority. */
.ns-feedback-toast-action{
  margin-top:10px;border:1px solid var(--nsfb-line);background:transparent;color:var(--nsfb-green);
  min-height:32px;padding:6px 10px;font:800 .73rem/1.1 inherit;cursor:pointer
}
.ns-feedback-toast-action:hover,.ns-feedback-toast-action:focus-visible{background:color-mix(in srgb,var(--nsfb-green) 9%,transparent);border-color:var(--nsfb-green);outline:2px solid transparent}
html[data-theme="dark"],body[data-theme="dark"],body.nsp-private-workspace[data-theme="dark"],html[data-theme="dark"] body.nsp-private-workspace{
  --nsfb-bg:#10201a;--nsfb-ink:#f2f8f4;--nsfb-muted:#b8c8bf;--nsfb-line:#355044;
  --nsfb-green:#49c487;--nsfb-green-deep:#36aa72;--nsfb-success:#49c487;--nsfb-error:#ff9188;--nsfb-warning:#f3c86b;--nsfb-info:#8fc8ef
}
html[data-theme="dark"] .ns-feedback-toast,html[data-theme="dark"] .ns-feedback-dialog{box-shadow:0 18px 48px rgba(0,0,0,.42)}
html[data-theme="dark"] .ns-feedback-overlay{background:rgba(1,8,5,.72)}
