.welcome-page{margin:0;min-height:100dvh;color:#efe2c5;background:linear-gradient(#080e12dc,#10100ddb),url('/assets/gamer/haru-room-v2.png') center/cover fixed;overflow:auto;font-family:var(--font-copy,system-ui,sans-serif)}
.welcome-header,.welcome-footer{width:min(1120px,calc(100% - 64px));margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0}.welcome-header a,.welcome-footer a{color:#ede0c5;text-decoration:none}.welcome-brand{font:20px BoardLabel,system-ui;letter-spacing:.1em}.welcome-footer{font-size:13px;color:#bbae93}.welcome-shell{width:min(1040px,calc(100% - 64px));margin:24px auto 40px}.welcome-intro{display:grid;grid-template-columns:1.12fr 1fr;align-items:stretch;box-shadow:0 24px 80px #0007}.welcome-scene{position:relative;overflow:hidden;min-height:420px;background:#192421;border:1px solid #8e7045;border-right:0}.welcome-scene img{width:100%;height:100%;object-fit:cover;object-position:34% center;display:block}.scene-caption{position:absolute;bottom:0;inset-inline:0;padding:36px 22px 22px;background:linear-gradient(transparent,#111a19f0);font-size:15px;line-height:1.6}.welcome-paper{background:#f4e5c4;color:#432b1d;border:10px solid transparent;border-image:url('/assets/preparation/paper-frame.png') 150 fill / 18px stretch;padding:clamp(24px,4vw,42px);min-width:0}.welcome-paper h1{font:700 clamp(32px,4vw,48px)/1.25 BoardHand,system-ui;margin:16px 0 22px;letter-spacing:-.02em;word-break:keep-all}.welcome-paper p{line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}.eyebrow{margin:0;color:#88613e;font:15px BoardLabel,system-ui}.welcome-paper a{color:#62452c}.welcome-primary,.welcome-secondary,.provider-cards button{display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:52px;padding:12px 22px;border:7px solid transparent;border-image:url('/assets/preparation/button-icon-v3.png') 22% / 10px stretch;background:url('/assets/preparation/button-primary-v3.png') center/112% 260%;color:#402616!important;text-decoration:none;font:20px/1.3 BoardLabel,system-ui;cursor:pointer;max-width:100%}.welcome-primary{margin:12px 0;width:100%}.welcome-secondary{background-image:url('/assets/preparation/button-secondary-v3.png');color:#f9edcc!important;font-size:17px}.welcome-text{background:none;border:0;color:#684426;text-decoration:underline;min-height:44px;padding:8px 0;font:inherit;cursor:pointer}.welcome-requirement{font-size:14px;font-weight:600;margin:10px 0 0}.welcome-note{font-size:14px;color:#755a44;margin:8px 0}.setup-paper{max-width:680px;margin:auto}.setup-progress{padding:0;list-style:none;display:flex;gap:8px;justify-content:space-between;margin:0 0 36px;font-size:13px;color:#846b50}.setup-progress li{padding:7px 0;border-bottom:2px solid #bca686;flex:1;text-align:center}.setup-progress [aria-current=step]{color:#4d311f;font-weight:700;border-color:#8b5424}.provider-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.provider-cards button{display:flex;flex-direction:column;gap:8px;min-height:124px;padding:18px 10px}.provider-cards b{font-size:25px}.provider-cards span{font:14px/1.5 var(--font-copy,system-ui)}.setup-actions{display:flex;gap:12px}.setup-actions>*{flex:1}.step-status{font-size:14px;color:#7c3b20;overflow-wrap:anywhere}.step-status:empty{margin:0}.connection-wait{padding:14px 18px;background:#ddc69866;border-left:3px solid #9e713b;color:#4e3625}.step-footer{border-top:1px solid #c9ae82;padding-top:20px;margin-top:24px;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}.welcome-paper details{margin:18px 0;font-size:14px}.welcome-paper summary{color:#67472f;min-height:32px;cursor:pointer;line-height:1.6}.welcome-paper textarea{display:block;width:100%;resize:vertical;padding:12px;font:13px/1.65 system-ui;color:#36261e;background:#fff7e6;border:1px solid #ab8b5c;overflow-wrap:anywhere;margin:12px 0}.welcome-page :is(a,button,summary,textarea):focus-visible{outline:3px solid #237a83;outline-offset:4px}.welcome-page [hidden]{display:none!important}.welcome-page button:disabled,.welcome-page a[aria-disabled=true]{opacity:.5;cursor:not-allowed}.welcome-paper *{box-sizing:border-box;min-width:0}.welcome-paper h1:focus{outline:none}
@media(max-width:720px){.welcome-header,.welcome-footer,.welcome-shell{width:calc(100% - 28px)}.welcome-header{padding:20px 0}.welcome-shell{margin:8px auto 24px}.welcome-intro{grid-template-columns:1fr}.welcome-scene{min-height:0;height:230px;border-right:1px solid #8e7045;border-bottom:0}.welcome-scene img{object-position:center 38%}.welcome-paper{padding:24px 20px}.welcome-paper h1{font-size:36px}.setup-progress{margin-bottom:26px;gap:5px}.provider-cards{gap:8px}.provider-cards b{font-size:22px}.welcome-footer{align-items:start;font-size:12px}.setup-actions{flex-wrap:wrap}.setup-actions>*{flex-basis:100%}}
@media(max-width:350px){.welcome-paper{padding:22px 12px}.welcome-paper h1{font-size:30px}.provider-cards{grid-template-columns:1fr}.welcome-scene{height:180px}}
.scene-caption{display:grid;gap:10px}.scene-caption button{justify-self:start;background:#1c292be6;border:1px solid #a7936e;color:#f4e6c7;padding:10px 14px;min-height:44px;font:15px BoardLabel,system-ui;cursor:pointer}.welcome-preview{width:min(740px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:20px;background:#162020;color:#f1e5c9;border:2px solid #9c845a;border-radius:4px;overflow:auto}.welcome-preview::backdrop{background:#05090ce0}.welcome-preview header{display:flex;justify-content:space-between;gap:16px;align-items:start}.welcome-preview h2{font:26px BoardLabel,system-ui;margin:6px 0 12px}.welcome-preview small{color:#bfac84}.welcome-preview canvas{display:block;width:100%;height:auto;max-height:55dvh;object-fit:contain;background:#080908}.welcome-preview p{line-height:1.6;font-size:15px}.welcome-preview button{background:#dbc084;color:#2e2419;border:1px solid #957347;min-height:44px;padding:8px 16px;cursor:pointer}.preview-controls{display:flex;gap:12px;justify-content:space-between}.welcome-preview details{font-size:13px;margin-top:18px}.welcome-preview summary{cursor:pointer;min-height:32px}

.welcome-brand{display:inline-flex;align-items:center;gap:10px}.welcome-brand img{flex-shrink:0;image-rendering:pixelated}
