/* Learning premise confirmation */
.modus-premises-dialog{position:relative;box-sizing:border-box;width:min(94vw,570px);max-height:min(85vh,740px);overflow-y:auto;border:1px solid var(--line,#4c514d);border-radius:18px;padding:0;color:var(--ink,#f1f1e9);background:var(--surface,#1a1c19);box-shadow:0 25px 100px #0008}
.modus-premises-dialog::backdrop{background:rgba(4,8,5,.76);backdrop-filter:blur(5px)}
.modus-premises-inner{padding:clamp(24px,5vw,40px);font-family:inherit}
.modus-premises-eyebrow{font-size:11px;letter-spacing:.19em;color:var(--accent,#a3b977);font-weight:700}
.modus-premises-inner h2{font-size:clamp(24px,4vw,34px);line-height:1.16;margin:15px 0 18px;letter-spacing:-.035em;color:var(--ink,#f2f2ee)}
.modus-premises-inner p{font-size:15px;line-height:1.75;color:var(--muted,#b5bcb1)}
.modus-premises-check{display:flex;align-items:flex-start;gap:12px;margin:22px 0 16px;cursor:pointer;font-size:14px;line-height:1.55}
.modus-premises-check input{margin-top:4px;accent-color:var(--accent,#a3b977);width:18px;height:18px;flex-shrink:0}
.modus-premises-confirm{width:100%;padding:15px 20px;border:0;border-radius:9px;background:var(--accent,#a3b977);color:#101b0c;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}
.modus-premises-confirm:disabled{cursor:not-allowed;opacity:.35}
.modus-premises-inner .modus-premises-fine{font-size:12px;margin-top:15px}
.modus-premises-note{box-sizing:border-box;max-width:1200px;margin:28px auto;padding:20px 25px;border:1px solid var(--line,#4c514d);border-left:3px solid var(--accent,#a3b977);border-radius:10px;background:var(--surface,#1a1c19);color:var(--ink,#f2f2ee)}
.modus-premises-note strong{font-size:15px}
.modus-premises-note p{font-size:14px;line-height:1.7;color:var(--muted,#b5bcb1);margin:10px 0 0}


/* Prominent required confirmation. No dismiss shortcut. */
.modus-premises-inner{padding-top:clamp(24px,5vw,40px)}
.modus-premises-check{display:flex;align-items:center;gap:15px;padding:17px 18px;margin:26px 0 16px;border:2px solid var(--accent,#b9d47f);border-radius:12px;background:rgba(163,185,119,.09);font-size:16px;font-weight:700;color:var(--ink,#f2f2ee);line-height:1.45;cursor:pointer;transition:background .15s,border-color .15s}
.modus-premises-check:hover{background:rgba(163,185,119,.16)}
.modus-premises-check:has(input:checked){background:rgba(163,185,119,.20)}
.modus-premises-check:focus-within{outline:2px solid var(--accent,#b9d47f);outline-offset:3px}
.modus-premises-check input{appearance:none;-webkit-appearance:none;width:27px;height:27px;min-width:27px;margin:0;flex-shrink:0;border:2px solid var(--accent,#b9d47f);border-radius:6px;background:transparent;display:grid;place-content:center;cursor:pointer}
.modus-premises-check input:checked{background:var(--accent,#b9d47f)}
.modus-premises-check input:checked::after{content:'✓';color:#121b0d;font-size:21px;font-weight:900;line-height:1}
.modus-premises-confirm:disabled{opacity:.40}


/* DES-004: same native dialog, approved MODUS identity and unchanged premise copy. */
.modus-premises-dialog{width:min(calc(100vw - 32px),820px);max-width:none;max-height:calc(100dvh - 32px);border:1px solid #e2ee61;border-radius:28px;background:linear-gradient(145deg,#0b251e,#031710 72%);color:#f1f1e9;box-shadow:0 28px 100px #0009;overscroll-behavior:contain}
.modus-premises-dialog::backdrop{background:#00100bd6;backdrop-filter:blur(5px)}
.modus-premises-inner{position:relative;padding:98px 56px 58px;font-family:Manrope,'DM Sans',sans-serif;isolation:isolate}
.modus-premises-art{position:absolute;inset:0 0 auto;height:114px;overflow:hidden;pointer-events:none}
.modus-premises-art::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061813 24%,#06181366),linear-gradient(0deg,#061813,transparent 95%),url('images/mountain-lake.webp') right 36%/auto 250px no-repeat;opacity:.7}
.modus-premises-logo{position:absolute;top:24px;left:calc(50% - 19px);width:38px;height:38px}
.modus-premises-wave{position:absolute;top:48px;left:28%;width:86%;height:64px;object-fit:fill;opacity:.8}
.modus-premises-eyebrow{font-size:11px;letter-spacing:.23em;font-weight:700;color:#e2ee61}
.modus-premises-inner h2{font:400 clamp(28px,3.2vw,42px)/1.18 Georgia,'Times New Roman',serif;letter-spacing:-.025em;color:#f1f1e9;margin:22px 0 20px;text-wrap:balance}
.modus-premises-inner h2 em{color:#e2ee61;font-weight:400}
.modus-premises-inner p{font-size:16px;line-height:1.65;color:#e1e8e1;margin:0 0 12px}
.modus-premises-check{min-height:60px;box-sizing:border-box;align-items:center;gap:16px;padding:14px 20px;margin:26px 0 18px;border:1px solid #e2ee61;background:#001b1426;color:#f1f1e9;font:600 16px/1.45 Manrope,sans-serif}
.modus-premises-check input{border-color:#e2ee61;accent-color:#e2ee61}
.modus-premises-check input:checked{background:#e2ee61}
.modus-premises-confirm{display:flex;align-items:center;justify-content:center;gap:24px;min-height:54px;border-radius:999px;background:#e2ee61;color:#061813;font:700 16px/1.4 Manrope,sans-serif;padding:14px 20px}
.modus-premises-confirm>span{font-size:24px;line-height:1}
.modus-premises-confirm:disabled{opacity:.45}
.modus-premises-inner .modus-premises-fine,.modus-premises-inner .modus-premises-storage{margin:18px 0 0;font-size:12px;line-height:1.6;color:#c0ccc2}
.modus-premises-inner::after{content:"";position:absolute;z-index:-1;inset:auto 0 0;height:45px;background:url('images/modus-waves.svg') center/100% 70px no-repeat;opacity:.5;pointer-events:none}
.modus-premises-dialog :is(input,button):focus-visible{outline:3px solid #59e5d9;outline-offset:4px}
@media(max-width:500px){.modus-premises-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:18px}.modus-premises-inner{padding:94px 22px 48px}.modus-premises-inner h2{font-size:30px;margin-top:18px}.modus-premises-inner p{font-size:15px;line-height:1.65}.modus-premises-check{padding:12px;gap:12px;font-size:14px}.modus-premises-confirm{font-size:15px;gap:14px}.modus-premises-eyebrow{font-size:10px}.modus-premises-wave{left:8%;width:110%}}
html[data-theme=readable] .modus-premises-art{opacity:.25}
html[data-theme=readable] .modus-premises-inner h2 em{color:#245b34}
html[data-theme=contrast] .modus-premises-dialog{background:#fff;color:#000;border-color:#000;box-shadow:none;color-scheme:light}
html[data-theme=contrast] .modus-premises-art,html[data-theme=contrast] .modus-premises-inner::after{display:none}
html[data-theme=contrast] .modus-premises-inner{padding-top:32px}
html[data-theme=contrast] .modus-premises-inner h2,html[data-theme=contrast] .modus-premises-inner h2 em{font-family:Arial,sans-serif;color:#000;font-style:normal;font-weight:700}
html[data-theme=contrast] .modus-premises-inner :is(p,span){color:#000}
html[data-theme=contrast] .modus-premises-check{background:#fff;color:#000;border-color:#000}
html[data-theme=contrast] .modus-premises-check input{border-color:#000;background:#fff}
html[data-theme=contrast] .modus-premises-check input:checked,html[data-theme=contrast] .modus-premises-confirm{background:#000;color:#fff}
html[data-theme=contrast] .modus-premises-check input:checked::after,html[data-theme=contrast] .modus-premises-confirm span{color:#fff}
@media(forced-colors:active){.modus-premises-art,.modus-premises-inner::after{display:none}.modus-premises-dialog{border-color:CanvasText;background:Canvas;color:CanvasText}.modus-premises-check,.modus-premises-check input,.modus-premises-confirm{border:1px solid ButtonText;forced-color-adjust:auto}}
@media(prefers-reduced-motion:reduce){.modus-premises-dialog *{transition:none!important;animation:none!important;scroll-behavior:auto}}

/* Accessible light-theme confirmation dialog: explicit colors because <dialog>
   is in the browser top layer and must not inherit dark surface fallbacks. */
html[data-theme="readable"] .modus-premises-dialog{
  color:#1b2a20;
  background:#f4f5f1;
  border-color:#8c9b86;
  color-scheme:light;
  box-shadow:0 25px 90px rgba(22,35,24,.20);
}
html[data-theme="readable"] .modus-premises-dialog::backdrop{
  background:rgba(23,32,25,.48);
}
html[data-theme="readable"] .modus-premises-eyebrow,
html[data-theme="readable"] .modus-premises-inner h2,
html[data-theme="readable"] .modus-premises-check,
html[data-theme="readable"] .modus-premises-check span{
  color:#1b2a20;
}
html[data-theme="readable"] .modus-premises-eyebrow{color:#245b34}
html[data-theme="readable"] .modus-premises-inner p{color:#43533b}
html[data-theme="readable"] .modus-premises-check{
  background:#e8ebe2;
  border-color:#41724c;
}
html[data-theme="readable"] .modus-premises-check:hover{background:#dce5d8}
html[data-theme="readable"] .modus-premises-check:has(input:checked){background:#d6e5d2}
html[data-theme="readable"] .modus-premises-check input{
  border-color:#245b34;
  background:#f4f5f1;
}
html[data-theme="readable"] .modus-premises-check input:checked{background:#245b34}
html[data-theme="readable"] .modus-premises-check input:checked::after{color:#fff}
html[data-theme="readable"] .modus-premises-confirm{
  background:#245b34;
  color:#fff;
}
html[data-theme="readable"] .modus-premises-confirm:disabled{
  opacity:.55;
  background:#688371;
  color:#fff;
}
html[data-theme="readable"] .modus-premises-note{
  color:#1b2a20;
  background:#f4f5f1;
  border-color:#8c9b86;
  border-left-color:#245b34;
}
html[data-theme="readable"] .modus-premises-note p{color:#43533b}

/* Static title receives initial reading focus; interactive focus rings stay visible. */
.modus-premises-inner #modus-premises-title:focus{outline:none}
.modus-premises-art{mask-image:linear-gradient(#000 72%,transparent)}
.modus-premises-wave,.modus-premises-inner::after{mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}

html[data-theme=readable] .modus-premises-dialog :is(input,button):focus-visible{outline-color:#245b34}
html[data-theme=contrast] .modus-premises-dialog :is(input,button):focus-visible{outline-color:#000}

/* Blur document siblings, not the top-layer dialog: consistent in Safari/WebKit. */
body:has(>.modus-premises-dialog[open])>:not(dialog):not(script):not(style):not(link){filter:blur(4px)}
.modus-premises-dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
.modus-premises-art{-webkit-mask-image:linear-gradient(#000 72%,transparent)}
.modus-premises-wave,.modus-premises-inner::after{-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
