/* Proposal B: an architectural illustration, not a measured historic plan. */
.fort-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:auto;padding:24px;background:#f3f0e7;color:#34403d;touch-action:none;overscroll-behavior:contain;font:16px system-ui,sans-serif}
.fort-loader-card{width:min(100%,780px);padding:clamp(24px,5vw,64px);text-align:center;border:1px solid #e3dfd4;border-radius:22px;background:#faf8f2}
.fort-loader-brand{font-size:14px;font-weight:750;letter-spacing:.06em;margin:0 0 30px}.fort-loader-art{display:block;width:min(100%,430px);height:auto;margin:0 auto}.fort-loader-kicker{font-size:10px;letter-spacing:.3em;color:#77817a;margin:12px 0 36px}.fort-loader h2{font-size:clamp(23px,4vw,30px);line-height:1.2;font-weight:500;margin:0 0 12px}.fort-loader #fort-loader-status{color:#66736b;min-height:2.8em}.fort-loader-track{height:3px;width:min(250px,75%);background:#e3dfd4;margin:22px auto 28px;overflow:hidden}.fort-loader-track span{display:block;background:#aa8143;width:30%;height:100%;animation:fort-travel 1.8s ease-in-out infinite}.fort-loader-hint,.fort-loader-note{font-size:12px;color:#77817a}.fort-loader-note{margin-top:32px}.stone-layer{animation:fort-build 3.6s ease-in-out infinite}.stone-layer-2{animation-delay:.25s}.stone-layer-3{animation-delay:.5s}.fort-loader[data-state="error"] .stone-layer{animation:none;opacity:1;transform:none}.fort-loader[data-state="error"] .fort-loader-track{display:none}.fort-loader button{background:#aa8143;color:#fff;border-color:#8e6a34;min-height:48px}.fort-loader button:focus-visible{outline:3px solid #34403d;outline-offset:4px}
@keyframes fort-build{0%,12%{opacity:.15;transform:translateY(-12px)}45%,80%{opacity:1;transform:translateY(0)}100%{opacity:.15;transform:translateY(-12px)}}@keyframes fort-travel{0%{transform:translateX(-100%)}100%{transform:translateX(435%)}}
@media(prefers-reduced-motion:reduce){.stone-layer,.fort-loader-track span{animation:none;transform:none;opacity:1}.fort-loader-track span{width:100%;background:#aa8143}}
@media(max-height:550px){.fort-loader{padding:12px}.fort-loader-card{padding:18px}.fort-loader-brand,.fort-loader-kicker{margin:6px}.fort-loader-art{width:230px}.fort-loader-note{margin-top:10px}}
.fort-loader-details{margin:14px auto;max-width:600px;text-align:left;font-size:12px;touch-action:pan-y;user-select:text}.fort-loader-details summary{cursor:pointer;min-height:36px;padding:8px}.fort-loader-details pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto;background:#eee9df;padding:12px;color:#34403d}.fort-loader[data-state="error"] .fort-loader-art{max-height:110px}.fort-loader[data-state="error"] .fort-loader-kicker{margin-bottom:12px}
.fort-loader[data-state="error"]{touch-action:pan-y}
