/* Three strictly separated presentation stages. No quiz or learning geometry is changed. */
.training811-screen.training811-fullscreen{position:fixed;inset:0;z-index:1000;box-sizing:border-box;min-height:0;height:100vh;height:100dvh;display:block;overflow-y:auto;overscroll-behavior:contain;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:#050f1f;color:#fff8e7;isolation:isolate;outline:none}
.training811-fullscreen [hidden]{display:none!important}
.training811-fullscreen .training811-panel{position:relative;z-index:1;box-sizing:border-box;width:min(1100px,100%);max-width:none;min-height:100%;margin:auto;padding:18px 12px;display:flex;flex-direction:column;justify-content:center;border:0;box-shadow:none;background:transparent;animation:none}
.training811-fullscreen .training811-symbol{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;color:#ffd45f;line-height:1;opacity:.65;filter:drop-shadow(0 0 12px #ffc64944)}
.training811-fullscreen .training811-symbol svg{width:clamp(140px,21vw,220px);height:auto;max-width:70vw;vertical-align:middle}
.training811-fullscreen[data-alarm-phase="warning"] .training811-symbol{animation:alarm812-warning .525s ease-in-out 2}
.training811-fullscreen[data-alarm-phase="vanish"] .training811-symbol{opacity:0;animation:alarm812-vanish .2s ease-out both}
.training811-fullscreen h1{font-size:clamp(30px,4.8vw,58px);line-height:1.3;margin:4px 0 10px;color:#ffe39a;letter-spacing:.03em;text-shadow:0 0 14px #f8c05222}
.training811-fullscreen:not([data-alarm-phase="ready"]) h1{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:calc(100vw - 40px);margin:0;text-align:center}
.training811-title-line{display:inline-block;position:relative;white-space:pre;text-align:left}
.training811-title-reserve{visibility:hidden}
.training811-title-ink{position:absolute;inset:0;text-align:left;white-space:pre}
.training811-fullscreen p{margin:8px 0;font-size:20px;line-height:1.6}
.training811-fullscreen .training811-kicker{font-size:20px;margin:3px 0;color:#ead6a3}
.training811-fullscreen .training811-mentor{font-size:24px;font-weight:700;color:#ffe7ab;margin:8px 0 10px}
.training811-fullscreen h2{font-size:clamp(24px,3.2vw,34px);line-height:1.5;margin:12px 0 8px}
.training811-fullscreen .training811-count{font-size:28px;font-weight:700;color:#ffe296;margin:12px 0}
.training811-fullscreen .training811-source{max-width:800px;margin:12px auto;padding:10px 14px;background:#13263a;color:#edf3fa;border:1px solid #64778b;font-size:17px}
.training811-fullscreen .training811-actions{margin-top:18px;gap:14px}
.training811-fullscreen .btn{min-height:52px;font-size:21px}
.training811-fullscreen .small{font-size:16px;margin-top:14px;color:#cfdae7}
.training811-fullscreen.is-animated::after{content:'';position:fixed;inset:0;z-index:4;pointer-events:none;background:#000;opacity:0;animation:alarm811-darken .5s ease-out both}
.training811-fullscreen.is-animated[data-alarm-phase="ready"] .training812-details{animation:alarm812-details .22s ease-out both}
@keyframes alarm811-darken{from{opacity:.98}to{opacity:0}}
@keyframes alarm812-warning{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes alarm812-vanish{from{opacity:.65}to{opacity:0}}
@keyframes alarm812-details{from{opacity:0}to{opacity:1}}
@media(max-height:760px){.training811-fullscreen .training811-panel{padding:8px 12px}.training811-fullscreen h1{font-size:clamp(30px,4.2vw,48px)}.training811-fullscreen h2{font-size:27px;margin:8px 0}.training811-fullscreen p{margin:5px 0}.training811-fullscreen .training811-mentor{font-size:22px;margin:5px 0}.training811-fullscreen .training811-count{margin:7px 0}.training811-fullscreen .training811-source{margin:8px auto}.training811-fullscreen .training811-actions{margin-top:10px}.training811-fullscreen .small{margin-top:10px}}
@media(max-width:600px){.training811-screen.training811-fullscreen{padding:24px 18px}.training811-fullscreen .training811-panel{padding:12px 2px}.training811-fullscreen h1{font-size:30px}.training811-fullscreen h2{font-size:25px}.training811-fullscreen .training811-mentor{font-size:21px}.training811-fullscreen p{font-size:18px}.training811-fullscreen .training811-source{font-size:16px}.training811-fullscreen .btn{font-size:18px}.training811-fullscreen .small{font-size:15px}}
/* Persistent fixed frame: quiet for preparation, breathing only during the learning stages. */
.training811-mode-frame{position:fixed;z-index:1100;pointer-events:none;box-sizing:border-box;inset:max(5px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));border:4px solid #ffd45f;border-radius:8px;box-shadow:0 0 4px #ffbe4633,inset 0 0 4px #ffbe4622;transition:border-width .25s ease}
.training811-mode-frame[data-mode="alert"]{border-width:clamp(5px,.65vw,8px)}
.training811-mode-frame::after{content:'';position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;box-shadow:0 0 16px #ffbe4677,inset 0 0 14px #ffbe4644;opacity:.45}
.training811-mode-frame[data-mode="quiz"]::after{animation:alarm811-frame-breathe 3s ease-in-out infinite}
@keyframes alarm811-frame-breathe{0%,100%{opacity:.25}50%{opacity:.85}}
@media(prefers-reduced-motion:reduce){.training811-fullscreen,.training811-fullscreen::after,.training811-fullscreen *,.training811-mode-frame,.training811-mode-frame::after{animation:none!important;transition:none!important}.training811-fullscreen::after{opacity:0}.training812-details{opacity:1}.training811-mode-frame::after{opacity:.45}}
