@font-face{font-family:Plex;src:url('vendor/fonts/ibm-plex-sans-400.woff2')}@font-face{font-family:Mono;src:url('vendor/fonts/ibm-plex-mono-400.woff2')}
:root{color-scheme:dark;--ink:#edf3f8;--muted:#a9b9c9;--blue:#8ebcff;--ground:#080f18;--line:#273747;--shade:.52}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:Plex,Arial,sans-serif}button,a,input,select{touch-action:manipulation}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button,select,input[type=number]{color:var(--ink);background:#162435;border:1px solid #425366;border-radius:3px;padding:10px 15px}button:hover{background:#243c55}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a9d3ff;outline-offset:5px}[hidden]{display:none!important}.review-bar{height:66px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 30px;border-bottom:1px solid var(--line);background:#0b1420;position:relative;z-index:10}.review-brand{font-size:21px;font-weight:bold;text-decoration:none;white-space:nowrap}.review-brand span{font:10px Mono,monospace;letter-spacing:1.5px;color:var(--muted);margin-left:12px}.review-bar nav{display:flex;gap:24px;height:100%;align-items:center}.review-bar nav a{font-size:13px;text-decoration:none;color:var(--muted);height:100%;display:flex;align-items:center;border-bottom:2px solid transparent}.review-bar nav a[aria-current=page]{border-color:var(--blue);color:#fff}.review-bar>button{font-size:12px;padding:8px 12px}.experience{min-height:740px;height:calc(100svh - 66px);position:relative;isolation:isolate;overflow:hidden;background:#111c26}.experience>video,.scrim,.sea-grid{position:absolute;inset:0;width:100%;height:100%;z-index:-3}.experience>video{object-fit:cover}.scrim{z-index:-2;background:linear-gradient(180deg,rgba(3,10,20,.5),rgba(4,12,24,var(--shade)) 35%,rgba(3,10,20,.88))}.sea-grid{z-index:-1;opacity:.06;background-image:linear-gradient(#b6cfe0 1px,transparent 1px),linear-gradient(90deg,#b6cfe0 1px,transparent 1px);background-size:120px 120px;mask-image:linear-gradient(transparent,black)}.scene-top,.scene-bottom{position:absolute;left:42px;right:42px;display:flex;gap:18px;align-items:center;justify-content:space-between;font:10px Mono,monospace;letter-spacing:1.7px}.scene-top{top:28px;color:#d8e1eb}.scene-bottom{bottom:22px;letter-spacing:.3px;color:#c4d0db}.scene-bottom a{max-width:430px;text-decoration:none;line-height:1.6}.scene-bottom button{background:#09132199;font:10px Mono,monospace;padding:8px 10px}.scene-bottom #active-range{margin-left:auto}.opening{min-height:100%;padding:85px 24px 100px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.logo-host{position:relative;display:grid;place-items:center}.logo-host>svg,.logo-host>img{width:100%;height:100%;position:absolute;inset:0}.hero-mark{width:224px;height:224px;margin-bottom:22px;filter:drop-shadow(0 8px 28px #051126)}.eyebrow{font:10px Mono,monospace;letter-spacing:3px;color:#b8cde2;margin:0 0 20px}h1{font-size:clamp(28px,3.8vw,58px);font-weight:500;letter-spacing:.16em;margin:0 0 18px;line-height:1.1}p.intro{font-size:18px;color:#d5dee7;letter-spacing:1px;margin:0 0 38px}.enter{display:flex;gap:42px;align-items:center;text-decoration:none;padding:17px 25px;border:1px solid #b1c2d377;background:linear-gradient(115deg,#d6e6f015,#749bc022);font-size:14px;backdrop-filter:blur(9px);transition:background .2s,transform .2s}.enter:hover{background:#6d95bb55;transform:translateY(-2px)}.enter span{font-size:22px;color:#a9d2ff}.chooser{min-height:100%;padding:70px 45px 100px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;animation:reveal .6s both}.enhanced .chooser{display:none}.enhanced .experience.choosing .chooser{display:flex}.enhanced .experience.choosing .opening{display:none}.small-mark{width:72px;height:72px;margin-bottom:18px}.chooser h2{font-size:40px;font-weight:400;letter-spacing:-1px;margin:0 0 12px}.chooser-intro{color:#c1cedb;font-size:14px;margin:0 0 46px}.back{align-self:flex-start;background:transparent;border:0;margin-top:8px}.navy-grid{width:100%;max-width:1250px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.navy-choice{position:relative;display:flex;align-items:center;flex-direction:column;text-decoration:none;border:1px solid #b1c5d32b;background:#06132275;padding:30px 15px 20px;min-width:0;transition:background .25s,border-color .25s,transform .25s}.navy-choice:hover{background:#23496988;border-color:#8dafd3;transform:translateY(-4px)}.navy-choice .navy-name{font-size:15px;line-height:1.5;min-height:68px;margin-top:26px;display:flex;align-items:center;justify-content:center}.navy-choice .navy-code{font:10px Mono,monospace;color:#b6c9de;letter-spacing:2px}.navy-choice .navy-arrow{font-size:22px;color:#9ac7f7;margin-top:18px}.flag-frame{height:108px;width:100%;display:flex;align-items:center;justify-content:center;perspective:650px}.flag{position:relative;max-width:100%;width:174px;display:block;transform-origin:left center;filter:drop-shadow(0 7px 9px #0006)}.flag img{display:block;width:100%;height:auto}.flag::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 4%,#0003 24%,#fff3 42%,#0004 63%,#fff2 81%,transparent);background-size:200% 100%;mix-blend-mode:soft-light;pointer-events:none}.wave .flag{animation:flag-breathe 4.8s ease-in-out infinite;animation-delay:var(--delay,0s)}.wave .flag::after{animation:flag-light 4.8s ease-in-out infinite;animation-delay:var(--delay,0s)}.static .flag{transform:none}.static .flag::after{display:none}.motion-paused *,.flags-paused .flag,.flags-paused .flag::after{animation-play-state:paused!important}.review-panel{max-width:1440px;margin:auto;padding:48px 52px 60px}.section-head{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:30px}.section-head h2{font-size:38px;font-weight:400;letter-spacing:-1px;margin:0 0 13px}.section-head p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;margin:0}.tag{font:9px Mono,monospace;letter-spacing:1.3px;color:#b8cbe0;border:1px solid var(--line);padding:10px 12px;white-space:nowrap}.logo-stage{height:420px;position:relative;background:radial-gradient(ellipse at center,#172b42,#0a131f 68%);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.study-mark{width:290px;height:290px}.stage-caption{position:absolute;bottom:24px;font:9px Mono,monospace;letter-spacing:3px;color:#9eb2c8}.stage-cross{position:absolute;inset:20px;background:linear-gradient(90deg,transparent calc(50% - .5px),#b7c7da0b 50%,transparent calc(50% + .5px)),linear-gradient(transparent calc(50% - .5px),#b7c7da0b 50%,transparent calc(50% + .5px));border:1px solid #b7c7da0b}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:22px}.controls label{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:10px}.primary{background:#bed7f0;color:#071421;border-color:#bed7f0}.primary:hover{background:#e0eeff}.hint{font-size:12px;color:var(--muted);line-height:1.8;margin-top:24px}.footage-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:25px}#source-video{width:100%;aspect-ratio:16/9;background:#03070c;border:1px solid var(--line)}.edit-card{background:#111f2f;padding:24px;display:flex;flex-direction:column;gap:20px;border:1px solid var(--line)}.edit-card .eyebrow{margin:0}.time-fields{display:flex;gap:10px}.time-fields label{width:50%;font-size:11px;color:var(--muted)}.time-fields input{width:100%;margin-top:8px;padding:10px}.edit-card>label{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:10px;align-items:center}.edit-card input[type=range]{width:75%;accent-color:#9abfe8}.edit-card>output{font:13px Mono,monospace}.edit-card p,.edit-card a{font-size:12px;line-height:1.7;margin:0;color:#bed0e2}.compact{align-items:center;margin:30px 0 16px}.compact h3{margin:0;font-weight:400}.candidate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.candidate{padding:0;overflow:hidden;text-align:left;background:#101e2e;border-color:var(--line)}.candidate img{width:100%;display:block;aspect-ratio:16/9;object-fit:contain}.candidate span{display:block;padding:13px 15px;font-size:13px}.candidate small{display:block;color:var(--muted);margin-top:6px;font:10px Mono,monospace}.ensign-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.ensign-gallery .navy-choice{padding:35px 20px 25px;background:radial-gradient(ellipse at top,#1b3047,#0e1927)}.ensign-gallery .flag-frame{height:145px}.ensign-gallery .flag{width:235px}.ensign-gallery .navy-name{min-height:46px;margin-top:22px}.flag-controls fieldset{display:flex;gap:25px;border:1px solid var(--line);padding:16px 20px}.flag-controls legend{font:10px Mono,monospace;color:var(--muted);padding:0 7px}.save-status{position:fixed;bottom:18px;right:20px;background:#20344b;max-width:340px;padding:12px 20px;font-size:13px;z-index:20;display:none}.save-status:not(:empty){display:block}@keyframes reveal{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes flag-breathe{0%,100%{transform:rotateY(-7deg) skewY(.8deg) scaleX(.98)}50%{transform:rotateY(4deg) skewY(-.8deg) scaleX(1)}}@keyframes flag-light{0%,100%{background-position:0% 0}50%{background-position:100% 0}}@media(max-width:1000px){.review-bar{padding:0 18px;gap:15px}.review-brand span{display:none}.review-bar nav{gap:18px}.review-panel{padding:35px 25px}.navy-grid{grid-template-columns:repeat(3,1fr)}.experience.choosing{height:auto;min-height:calc(100svh - 66px)}.chooser{padding-bottom:115px}.footage-layout{grid-template-columns:1fr}.edit-card{display:grid;grid-template-columns:1fr 1fr}.section-head{flex-direction:column}.scene-top,.scene-bottom{left:24px;right:24px}.scene-bottom #active-range{display:none}}@media(max-width:600px){.review-bar{height:auto;min-height:96px;flex-wrap:wrap;padding:12px 16px;gap:12px}.review-bar nav{order:3;width:100%;justify-content:space-between;gap:10px}.review-bar nav a{font-size:12px;padding:5px 0}.experience{min-height:700px;height:calc(100svh - 100px)}.scene-top{font-size:8px;left:18px;right:18px}.scene-top span:last-child{max-width:125px;text-align:right;line-height:1.7}.hero-mark{width:185px;height:185px}.opening{padding:100px 18px 140px}h1{font-size:27px;letter-spacing:.1em}.intro{font-size:16px!important}.eyebrow{letter-spacing:2px;font-size:9px}.scene-bottom{left:18px;right:18px;bottom:20px;flex-wrap:wrap;justify-content:flex-start;gap:10px}.scene-bottom a{width:100%;font-size:8px}.scene-bottom button{font-size:9px}.chooser{padding:70px 18px 130px}.chooser h2{font-size:32px}.chooser-intro{line-height:1.7;margin-bottom:24px}.navy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.navy-choice{padding:20px 10px 15px}.flag-frame{height:75px}.navy-choice .navy-name{font-size:12px;min-height:60px;margin-top:12px}.navy-choice .navy-arrow{margin-top:10px}.review-panel{padding:30px 18px}.section-head h2{font-size:29px}.tag{white-space:normal;line-height:1.6}.logo-stage{height:330px}.study-mark{width:225px;height:225px}.controls{gap:12px}.controls button{font-size:12px}.edit-card{display:flex}.candidate-grid{grid-template-columns:1fr}.ensign-gallery{grid-template-columns:1fr 1fr;gap:12px}.ensign-gallery .navy-choice{padding:22px 12px}.ensign-gallery .flag-frame{height:85px}.ensign-gallery .navy-name{min-height:65px;font-size:12px}.flag-controls fieldset{flex-direction:column;gap:15px;width:100%}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.flag::after{display:none}}

/* Review navigation stays available while inspecting each screen. */
.review-bar{position:sticky;top:0}
.panel{scroll-margin-top:66px}
.experience{min-height:660px}
.scrim{background:linear-gradient(180deg,rgba(3,10,20,.72),rgba(4,12,24,var(--shade)) 35%,rgba(3,10,20,.88))}
.scene-top{color:#edf3f8}
body:not(.enhanced) .experience{height:auto;overflow:visible}
body:not(.enhanced) .opening{min-height:650px}
body:not(.enhanced) .scene-bottom{position:relative;left:auto;right:auto;padding:24px}
body:not(.enhanced) .scene-bottom button,body:not(.enhanced) .review-bar nav,body:not(.enhanced) #export,body:not(.enhanced) #back{display:none}
.experience.choosing .scrim{background:linear-gradient(180deg,#030a14bb,#040c18b5 45%,#030a14ed)}
.flag-frame{--flag-height:108px;--flag-width:174px}
.flag{width:min(100%,var(--flag-width),calc(var(--flag-ratio,1.5)*var(--flag-height)))}
.fabric{display:none;position:absolute;left:0;top:50%;width:100%;height:auto;transform:translateY(-50%)}
.wave .fabric{display:block}
.wave .fabric-ready>img{opacity:0}
.wave .flag{animation:none}
.flag::after{display:none}
.ensign-gallery .flag{width:min(100%,235px,calc(var(--flag-ratio,1.5)*var(--flag-height)))}
.ensign-gallery .flag-frame{--flag-height:145px}
@media(prefers-reduced-motion:reduce){.wave .fabric{display:none}.wave .flag>img{opacity:1}}
@media(max-width:600px){.panel{scroll-margin-top:100px}.experience{min-height:700px}.flag-frame{--flag-height:75px}.ensign-gallery .flag-frame{--flag-height:85px}}

/* Public opening: no review toolbar. User-approved 80% darkness, static ensigns. */
:root{--shade:.8}
.routing-to-explorer body{visibility:hidden}
.experience{height:100svh;min-height:660px}
.experience.choosing{height:auto;min-height:100svh}
.scene-bottom{justify-content:space-between}
@media(max-width:600px){.experience{height:100svh;min-height:660px}}

/* Mobile actions use the title and ensigns without decorative arrows. */
@media(max-width:600px){.enter>span[aria-hidden="true"],.navy-arrow{display:none}.enter{justify-content:center}}
