.world-preparation-screen{position:fixed;inset:0;isolation:isolate;margin:0;width:100%;max-width:none;height:100dvh;height:100svh;max-height:none;padding:calc(24px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overflow:auto;border:0;color:var(--gold-light,#edcf93);background:#0c1d19}
.world-preparation-screen[open]{display:grid;place-items:center}
.world-preparation-screen::backdrop{background:#0c1d19}
.world-preparation-screen:before{content:'';position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,#06130ff5 0%,#06130fe6 24%,#06130fa6 42%,#06130f26 66%,#06130f16 84%,#06130f38 100%)}
.world-preparation-card{position:relative;z-index:2;width:min(100%,640px);margin:auto auto 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}
.world-preparation-brand{font:600 clamp(32px,8vw,48px)/1 var(--serif);letter-spacing:5px;color:var(--gold-light,#edcf93);text-shadow:0 2px 1px #643f13,0 4px 12px #0007;margin:0}
.world-preparation-rule{display:flex;align-items:center;justify-content:center;gap:16px;width:min(240px,70%);color:var(--gold,#c2a363);font-size:10px}
.world-preparation-rule:before,.world-preparation-rule:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,#a68a52)}
.world-preparation-rule:after{transform:scaleX(-1)}
.world-preparation-art{position:fixed;inset:0;z-index:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.world-preparation-eyebrow{margin:0;font:10px/1.4 var(--sans);letter-spacing:2px;color:var(--gold,#c2a363)}
.world-preparation-card h2{margin:0;color:var(--gold-light,#edcf93);font:600 clamp(28px,7vw,36px)/1.15 var(--serif)}
.world-preparation-status{min-height:1.5em;margin:0;max-width:100%;font:14px/1.5 var(--sans);color:#d8dec6}
.world-preparation-progress{display:flex;align-items:center;gap:12px;width:min(100%,440px)}
.world-preparation-progress progress{flex:1;min-width:0;height:12px;border:1px solid #b59a61;border-radius:2px;background:#071511;color:#c8af6d;accent-color:#c8af6d;overflow:hidden;appearance:none}
.world-preparation-progress progress::-webkit-progress-bar{background:#071511}
.world-preparation-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#3e6d53,#adba7b,#dfc886)}
.world-preparation-progress progress::-moz-progress-bar{background:linear-gradient(90deg,#3e6d53,#adba7b,#dfc886)}
.world-preparation-progress progress:not([value]){background:repeating-linear-gradient(110deg,#193b2e 0 12px,#657d48 12px 24px);animation:world-preparation-pulse 1.6s ease-in-out infinite}
.world-preparation-progress output{min-width:3.5ch;font:600 15px/1.3 var(--sans);color:var(--gold-light,#edcf93);font-variant-numeric:tabular-nums;text-align:right}
.world-preparation-note{margin:0;width:min(100%,420px);color:var(--muted,#aab9a1);font:12px/1.6 var(--sans)}
.world-preparation-error{margin:0;width:min(100%,440px);padding:12px;border:1px solid #d4a76b88;background:#5a322933;color:#f3d6b2;font:14px/1.6 var(--sans)}
.world-preparation-actions{width:min(100%,440px);display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.world-preparation-actions button{min-height:44px;flex:1;min-width:160px;font-size:18px}
.world-preparation-actions .secondary-button{color:#e0cfaa;background:#a78a4630;border-color:#aa8c56}
.world-preparation-screen [hidden]{display:none!important}
.world-preparation-screen :focus-visible{outline:2px solid #ffdf9a;outline-offset:4px}
@keyframes world-preparation-pulse{50%{opacity:.55}}
@media(max-width:620px){.world-preparation-art{object-position:78% center}}
@media(max-height:600px){.world-preparation-card{gap:12px}.world-preparation-brand{font-size:30px}}
@media(prefers-reduced-motion:reduce){.world-preparation-progress progress:not([value]){animation:none}}
.reduce-motion .world-preparation-progress progress:not([value]){animation:none}
@media(forced-colors:active){.world-preparation-screen{background:Canvas;color:CanvasText}.world-preparation-screen:before,.world-preparation-art{display:none}.world-preparation-screen *{color:CanvasText}.world-preparation-progress progress{appearance:auto}.world-preparation-progress progress:not([value]){animation:none}}
