/* Composition chrome, not a replacement design system. Component styles are enabled per route. */
:root{color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:#070d15;color:#f4efe4}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #4384b0;outline-offset:3px}
[hidden]{display:none!important}#preview-banner{background:#e7d6a5;color:#302713;text-align:center;font:600 12px/1.5 Arial,sans-serif;padding:9px 18px;position:relative;z-index:100}
#launch-header{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:18px 4%;background:#11241e;color:#f5f0e5;position:relative;z-index:90}
#launch-header .launch-brand{font:800 17px/1.3 Arial,sans-serif;text-decoration:none;letter-spacing:.08em;margin-right:auto}
#launch-header nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}#launch-header nav a{font:600 14px Arial,sans-serif;text-decoration:none}
#launch-header button{font:600 13px Arial,sans-serif;color:inherit;border:1px solid #8d815d;border-radius:6px;background:transparent;min-height:38px;padding:8px 12px}
.launch-locale{display:flex;gap:4px}#launch-header [aria-pressed=true]{background:#c7a461;color:#10231c}
#launch-identity{font:13px Arial,sans-serif;padding:0 4%;margin:8px 0}#launch-identity:empty{display:none}
.launch-skip{position:absolute;top:-100px;z-index:300}.launch-skip:focus{top:0;background:white;color:black;padding:16px}
#home-screen .hdr,#home-screen .proto,#home-screen>.skip,#auth-screen>.top,#auth-screen>.foot,#auth-screen .dock,#auth-screen #panel{display:none!important}
#home-screen .pcards:empty{display:none}#home-screen{background:#101d18;color:#f4efe4}#home-screen #main{margin:0}
#auth-screen .layout{min-height:70vh}#auth-screen .art{max-height:1000px}#auth-screen .lang{display:none}
#credits-screen,#other-screen{max-width:1160px;margin:0 auto;padding:32px 24px 90px;min-height:65vh}
#other-screen button{padding:15px 20px;margin:16px 12px 16px 0;border:1px solid #a38143;border-radius:8px;background:#173b2d;color:white}
#guide-screen .launch-guide-note{font:13px/1.5 Arial,sans-serif;margin:16px auto;padding:12px 24px;max-width:1100px;background:#eae1cf;color:#302713}
#fixture-tools{clear:both;background:#e8e2d6;color:#282b27;padding:18px 4%;font:13px/1.5 Arial,sans-serif;border-top:1px solid #c9b890}
#fixture-tools label{display:inline-flex;gap:8px;flex-wrap:wrap;margin:8px}#fixture-tools button{padding:10px;margin:6px;max-width:100%}#fixture-tools select{max-width:270px}#request-journal{white-space:pre-wrap;word-break:break-word;max-height:300px;overflow:auto}#fixture-tools>summary{cursor:pointer}
@media(max-width:600px){#launch-header{gap:12px;padding:16px}#launch-header nav{order:3;width:100%;gap:14px}#launch-header .launch-brand{font-size:14px}#launch-header nav a{font-size:13px}#credits-screen,#other-screen{padding:24px 16px 75px}#fixture-tools label{display:flex}#fixture-tools select{width:100%;max-width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
#home-screen .tour-grid{grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr);gap:4vw}
#home-screen .tour-gallery{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0}
#home-screen .tour-gallery figure{margin:0;overflow:hidden;border:1px solid #8d815d;border-radius:12px;background:#080e14}
#home-screen .tour-gallery .tour-wide{grid-column:1/-1}
#home-screen .tour-gallery img{display:block;width:100%;height:auto;object-fit:contain}
#home-screen .tour-gallery .tag{grid-column:1/-1;justify-self:end}
#home-screen .lit-card .complex-teaser{object-fit:contain;background:#080e14}
@media(max-width:900px){#home-screen .tour-grid{grid-template-columns:1fr}#home-screen .tour-gallery{margin-top:28px}}
@media(max-width:480px){#home-screen .tour-gallery{grid-template-columns:1fr;gap:12px}}
#home-screen .studio-animation{overflow:hidden;border:1px solid #8d815d;border-radius:12px;background:#080e14;box-shadow:0 35px 90px #0006}
#home-screen .studio-animation video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
#launch-policies{display:flex;flex-wrap:wrap;gap:24px;padding:20px 4%;font:14px/1.5 Arial,sans-serif;border-top:1px solid #8d815d}
#other-screen:has(.dg-policy){max-width:1180px;padding:0}
#other-screen .dg-policy [aria-disabled=true]{text-decoration:none;cursor:default}
/* C017: headings receive focus on route changes so screen readers land on them; they are not controls and keep the approved look. */
#launch-content h1[tabindex="-1"]:focus{outline:none}
/* C017: comfortable touch height for the header text links, matching the 38px header buttons. */
#launch-header nav a{display:inline-flex;align-items:center;min-height:38px}
/* C017: keyboard focus scrolled into view stops above the floating Help button. */
html{scroll-padding-bottom:80px}
