#welcome{position:fixed;inset:0;z-index:99999;overflow:auto;background:#f2ede3;color:#29251e;font:16px/1.8 -apple-system,BlinkMacSystemFont,'Yu Gothic',sans-serif;overscroll-behavior:contain}
#welcome *{box-sizing:border-box}#welcome a{color:inherit;text-underline-offset:5px}#welcome .wrap{max-width:1120px;margin:auto;padding:28px clamp(18px,4vw,52px) 60px}
#welcome header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:24px;border-bottom:1px solid #cfc5b4}#welcome .brand{font-size:12px;letter-spacing:.22em;font-weight:700;text-decoration:none}#welcome nav{display:flex;gap:20px;font-size:13px}
#welcome .intro{padding:48px 0 28px}#welcome .eyebrow{font-size:12px;color:#8b3d28;letter-spacing:.17em}#welcome h1{font:clamp(30px,5vw,52px)/1.45 'Yu Mincho',serif;margin:12px 0 20px;font-weight:500}#welcome .lead{max-width:680px;color:#625747}#welcome h2{font:25px/1.5 'Yu Mincho',serif;margin:40px 0 16px}#welcome h3{font:22px/1.5 'Yu Mincho',serif;margin:10px 0}
#welcome .hero{width:100%;max-height:500px;object-fit:cover;display:block;margin:22px 0}#welcome .actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:24px 0 8px}#welcome button{font:inherit;cursor:pointer;padding:13px 28px;border:1px solid #8b3d28;background:#8b3d28;color:white;border-radius:4px;min-height:48px}#welcome button:disabled{opacity:.6;cursor:wait}#welcome .small{font-size:13px;color:#6b6052}#welcome .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}#welcome article{min-width:0;border-top:1px solid #cfc5b4;padding-top:12px}#welcome article img{width:100%;aspect-ratio:16/11;object-fit:cover;display:block}#welcome article p{font-size:14px;color:#625747}#welcome article a{display:inline-block;padding:10px 0;min-height:44px}#welcome .selected{display:grid;grid-template-columns:1fr 1fr;gap:16px}#welcome figure{margin:0}#welcome figure img{width:100%;display:block}#welcome figcaption{font-size:13px;color:#625747;padding-top:6px}#welcome .guide{background:#e9e1d3;padding:24px;margin-top:40px}#welcome .guide p{margin:8px 0}#welcome footer{font-size:12px;color:#6b6052;border-top:1px solid #cfc5b4;margin-top:40px;padding-top:20px}#welcome :focus-visible{outline:3px solid #33566b;outline-offset:4px}
@media(max-width:640px){#welcome .cards,#welcome .selected{grid-template-columns:1fr}#welcome .intro{padding-top:28px}#welcome nav{gap:12px}#welcome h2{margin-top:30px}#welcome .hero{max-height:none}#welcome .actions{align-items:flex-start;flex-direction:column}}
#welcome img{height:auto}

#doorActions{position:fixed;left:16px;top:145px;z-index:36;display:flex;flex-direction:column;gap:8px;max-width:310px;background:rgba(248,244,235,.94);color:#302d27;padding:12px;border:1px solid #b4a895;border-radius:8px;font:13px sans-serif}#doorActions button,#doorActions select{padding:9px;border:1px solid #a89980;border-radius:5px;background:#fffaf0;color:#302d27}#doorActions label{display:flex;gap:7px;align-items:center}#doorActions button:disabled{opacity:.55}#doorStatus:empty{display:none}@media(max-width:700px){#doorActions{top:100px;left:8px;max-width:230px;padding:8px;font-size:11px;gap:5px}#doorActions button{font-size:11px;padding:7px}}
