@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--cream:#f0ebda;--lime:#e5edaa;--ink:#173e35;--line:#ffffff30}*{box-sizing:border-box}body{margin:0;background:#96b7c3;color:var(--cream);font-family:'DM Sans',sans-serif;overflow:hidden}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:5px}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}#scene{position:fixed;inset:0}#scene canvas{display:block;width:100%;height:100%}#entry{position:absolute;inset:0;padding:30px 4.5vw 20px;background:linear-gradient(90deg,#102e2ae8 0%,#183b32c4 38%,#142e2920 70%,#142e2945);display:flex;flex-direction:column}header{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--line)}.wordmark{font-family:'Barlow Condensed',Impact,sans-serif;color:var(--cream);text-decoration:none;font-size:25px;letter-spacing:1px}.wordmark sup{font:10px sans-serif;vertical-align:top;margin-left:4px}.edition,.small-btn,.eyebrow,.section-label,footer,.launch-note,.gallery-bottom{font-size:10px;letter-spacing:1.8px}.small-btn{padding:10px 13px;background:#102b2940;color:var(--cream);border:1px solid var(--line)}.entry-layout{flex:1;display:grid;grid-template-columns:1fr 330px;align-items:center;gap:10vw}.dispatch{padding:28px 0}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow i{width:6px;height:6px;background:var(--lime);border-radius:50%}h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(70px,7.2vw,118px);font-weight:700;letter-spacing:-2px;line-height:.94;margin:28px 0}h1 em{font-style:normal;color:var(--lime)}.dispatch p{font-size:13px;line-height:1.8;color:#d8ddd0}.launch{display:flex;align-items:center;justify-content:space-between;width:310px;border:0;padding:20px 23px;background:var(--lime);color:var(--ink);font-size:12px;letter-spacing:1px;font-weight:700;margin-top:25px}.launch:hover{background:#f6ffbe}.launch>span:last-child{font-size:23px}.launch-note{font-size:8px;margin-top:13px;color:#bec7b7;letter-spacing:1px}.gallery{background:#17392fe8;border:1px solid #b4c8ad38;backdrop-filter:blur(10px);padding:24px}.section-label{display:flex;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line)}#empty-gallery{padding:25px 0 20px;color:#dce3ca}.empty-number{font:55px 'Barlow Condensed',Impact,sans-serif;color:#ffffff25}h2{font:500 35px/1.05 'Barlow Condensed',Impact,sans-serif;margin:15px 0}.gallery p{font-size:11px;line-height:1.8;color:#bdcdbd}.gallery svg{width:100%;height:100px;color:var(--lime);margin:8px 0}.gallery small{font-size:8px;letter-spacing:1px;color:#9fb5a0}.gallery-bottom{border-top:1px solid var(--line);padding-top:20px;font-size:8px;display:flex;justify-content:space-between}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;font-size:8px;color:#d3dbcd}.gallery-card{margin:14px 0;border:1px solid var(--line)}.gallery-card canvas{width:100%;display:block}.card-info{display:flex;justify-content:space-between;padding:10px;font-size:9px}.card-info button{border:0;background:none;color:var(--lime);font-size:9px}#gallery-grid{max-height:390px;overflow:auto}
#hud{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#07120d88,transparent 25%)}#hud button{pointer-events:auto}.hud-top{position:absolute;top:25px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;font-family:monospace;text-shadow:0 1px 4px #000}.callsign{font-size:18px}.callsign small{font-size:9px;margin-left:12px;color:#e9eee1}#compass{font-size:20px;letter-spacing:5px;border-top:2px solid #f1ecd999;padding:8px 24px}.instruments{position:absolute;bottom:65px;left:32px;display:flex;align-items:center;gap:17px;padding:16px 20px;background:#0c171ce8;border:1px solid #e2e4d644;border-top:2px solid #d9dfb5;box-shadow:0 10px 40px #0003}.instrument{text-align:center;min-width:83px}.instrument small,.instrument span{display:block;font:8px monospace;letter-spacing:1px;color:#acb8b1}.instrument strong{font:36px 'Barlow Condensed',monospace;display:block;margin:4px 0}.attitude{width:90px;height:90px;border-radius:50%;border:4px solid #303f42;position:relative;overflow:hidden;background:#56819a}#attitude-disc{position:absolute;width:220px;height:220px;left:-69px;top:-69px;background:linear-gradient(#639ab2 49.4%,#e7e1cf 49.5%,#e7e1cf 50.4%,#876c43 50.5%)}.attitude-mark{position:absolute;inset:29px 0 auto;text-align:center;color:#ffe8a2;font-size:19px}.attitude small{position:absolute;bottom:8px;left:19px;font:7px monospace}.secondary-instruments{display:grid;gap:7px;min-width:115px;border-left:1px solid #ffffff25;padding-left:16px;font:9px monospace}.secondary-instruments span{display:flex;gap:13px;justify-content:space-between;color:#a2b3ac}.secondary-instruments b{color:#f0ebda}#stages{display:flex;gap:4px}#stages i{font-style:normal;flex:1;text-align:center;background:#34413e;padding:4px}#stages i.on{background:var(--lime);color:var(--ink)}.controls-strip{position:absolute;bottom:22px;left:32px;display:flex;gap:16px;font:8px monospace;letter-spacing:.5px}.controls-strip span{display:flex;align-items:center;gap:4px}kbd{font:8px monospace;border:1px solid #d4dfc466;padding:3px 4px;background:#14292255}.flight-map{position:absolute;right:32px;bottom:65px;background:#10211dde;border:1px solid #e2e4d644;width:240px;padding:10px}.flight-map>div{display:flex;justify-content:space-between;font:8px monospace;color:#d7dec5}.flight-map canvas{width:100%;display:block}.flight-map small{font:8px monospace;color:#b4c1ac}.aim{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);opacity:.6;font:25px monospace}#runway-hint{position:absolute;top:100px;left:0;right:0;text-align:center;font:12px monospace;letter-spacing:2px}#runway-hint span{display:block;font:10px monospace;letter-spacing:0;margin-top:12px}#warning{position:absolute;top:120px;left:50%;transform:translateX(-50%);color:#ffd29a;font:600 20px 'Barlow Condensed',sans-serif;letter-spacing:2px}#overlay{position:absolute;inset:0;background:#071d24aa;backdrop-filter:blur(7px);display:grid;place-items:center}.menu-panel{width:420px;padding:36px;background:#142c28;border:1px solid #a2b69b66}.menu-panel>span{font:10px monospace;letter-spacing:2px;color:var(--lime)}.menu-panel h2{font-size:55px}.menu-panel p{font-size:12px;line-height:1.9;color:#c4d0c5}.menu-panel .launch{width:100%}.menu-button{background:none;border:0;border-bottom:1px solid #ffffff24;color:var(--cream);width:100%;padding:18px;font-size:10px;letter-spacing:1px}#toast{position:absolute;bottom:220px;left:50%;transform:translate(-50%,20px);background:#102b29ed;border:1px solid #d1e2aa77;padding:12px 20px;opacity:0;transition:.2s;pointer-events:none;font:11px monospace;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.entry-layout{grid-template-columns:1fr 270px;gap:20px}h1{font-size:76px}.edition{display:none}.instruments{transform:scale(.8);transform-origin:bottom left}.flight-map{transform:scale(.8);transform-origin:bottom right}.controls-strip{gap:7px;font-size:7px}}@media(max-width:650px){#entry{overflow:auto;padding:20px;height:100%}.entry-layout{display:block}.dispatch{padding-top:30px}.gallery{margin:25px 0}h1{font-size:75px}footer{display:none}.flight-map{display:none}.controls-strip{flex-wrap:wrap;max-width:90%}.instruments{left:12px;bottom:85px;transform:scale(.68)}.hud-top{left:15px;right:15px}.callsign small{display:none}}
.copy-ca{color:var(--lime);border-color:#e5edaa66;white-space:nowrap}.hud-top .copy-ca{margin-left:auto;margin-right:12px}.hud-top #compass{position:absolute;left:50%;transform:translateX(-50%)}header .copy-ca{margin-left:auto;margin-right:12px}.edition{margin-left:auto;margin-right:auto}.gallery-tools{display:flex;align-items:center;justify-content:space-between;margin:12px 0 3px;gap:8px}.gallery-tools span{font:8px monospace;letter-spacing:.7px;color:#bdcdbd}.gallery-tools button{background:none;color:var(--lime);border:1px solid var(--line);cursor:pointer}.gallery-card img{width:100%;height:auto;display:block}.reactions{display:flex;gap:5px}.reactions button{padding:4px 5px;border:1px solid var(--line);font-size:9px}.reactions button[aria-pressed="true"]{color:var(--ink);background:var(--lime)}.card-info{align-items:center;gap:5px}.card-info>span{font-size:8px}.ca-manual{position:absolute;top:75px;right:30px;width:min(420px,90vw);padding:12px;background:#173b34;color:var(--lime);border:1px solid var(--lime);pointer-events:auto}@media(max-width:650px){.hud-top #compass{top:50px;font-size:14px}.callsign{font-size:12px}.hud-top .small-btn{font-size:8px;padding:8px}.wordmark{font-size:21px}}

/* PP_LARGE_GALLERY_V1 */
#entry{overflow-y:auto}
.entry-layout{
 grid-template-columns:minmax(280px,.7fr) minmax(0,1.45fr);
 gap:3vw;min-height:0;padding:24px 0
}
.dispatch h1{font-size:clamp(64px,6.1vw,100px)}
.gallery{
 width:100%;min-width:0;padding:22px;align-self:center
}
#gallery-grid{
 --gallery-height:min(65vh,720px);
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 grid-auto-rows:calc((var(--gallery-height) - 24px)/3);
 gap:12px;
 height:var(--gallery-height);
 max-height:none;
 overflow-y:auto;
 overflow-x:hidden;
 overscroll-behavior:contain;
 scrollbar-gutter:stable;
 padding-right:5px
}
#gallery-grid:empty{display:none}
.gallery-card{
 margin:0;min-width:0;min-height:0;
 display:grid;
 grid-template-rows:minmax(0,1fr) 38px;
 overflow:hidden;background:#173b34
}
.gallery-card img,.gallery-card canvas{
 width:100%;height:100%;min-height:0;
 object-fit:contain;display:block
}
.card-info{padding:7px;min-width:0;gap:5px}
.card-info>span{
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.reactions{flex-shrink:0;gap:4px}
.gallery-bottom{margin-top:14px;padding-top:14px}
#gallery-more{padding:10px}
header .copy-ca{margin-right:0}
@media(max-width:950px){
 .entry-layout{grid-template-columns:1fr;gap:24px}
 .dispatch{padding:12px 0}
 .dispatch h1{font-size:76px}
 .gallery{margin:0}
 #gallery-grid{--gallery-height:660px}
}
@media(max-width:520px){
 #gallery-grid{
  --gallery-height:540px;
  gap:8px;
  grid-auto-rows:calc((var(--gallery-height) - 16px)/3)
 }
 .gallery{padding:12px}
 .card-info{padding:4px;flex-wrap:wrap;justify-content:center}
 .card-info>span{display:none}
 .reactions button{padding:4px;font-size:9px}
 .dispatch h1{font-size:68px}
}
/* PP_LARGE_GALLERY_END */

/* PP_TOUCH_RED_TRAIL_V1 */
#overlay{
 background:transparent!important;
 backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important;
 place-items:center start;
 padding:20px
}
#overlay .menu-panel{
 width:min(360px,85vw);
 max-height:90dvh;
 overflow-y:auto;
 padding:20px;
 background:transparent!important;
 border:0;
 box-shadow:none;
 text-shadow:0 2px 5px #000,0 0 20px #000
}
#overlay .menu-panel h2{font-size:44px}
#overlay .menu-panel p,#overlay .menu-button{color:#fff}
#overlay .launch{text-shadow:none}
#touch-controls{display:none}

@media(any-pointer:coarse),(max-width:900px){
 #touch-controls{
  display:block;position:absolute;inset:0;
  pointer-events:none;
  user-select:none;-webkit-user-select:none
 }
 #touch-controls button,#touch-stick{
  pointer-events:auto;touch-action:none;
  -webkit-tap-highlight-color:transparent
 }
 #touch-stick{
  position:absolute;
  left:max(18px,env(safe-area-inset-left));
  bottom:max(25px,env(safe-area-inset-bottom));
  width:150px;height:150px;
  border:2px solid #f0ebda99;border-radius:50%;
  background:#102b2944;
  box-shadow:inset 0 0 25px #0003
 }
 #touch-stick span{
  position:absolute;color:#fff;font:12px monospace;
  text-shadow:0 1px 3px #000;pointer-events:none
 }
 .stick-w{top:9px;left:calc(50% - 4px)}
 .stick-s{bottom:9px;left:calc(50% - 4px)}
 .stick-a{left:12px;top:calc(50% - 7px)}
 .stick-d{right:12px;top:calc(50% - 7px)}
 #touch-knob{
  position:absolute;left:50%;top:50%;
  width:48px;height:48px;border-radius:50%;
  transform:translate(-50%,-50%);
  background:#e5edaa99;border:2px solid #f0ebda;
  pointer-events:none
 }
 .touch-right{
  position:absolute;
  right:max(16px,env(safe-area-inset-right));
  bottom:max(25px,env(safe-area-inset-bottom));
  width:150px;display:grid;gap:8px
 }
 .touch-right small{
  text-align:center;color:#fff;font:10px monospace;
  text-shadow:0 1px 4px #000
 }
 .touch-row{
  display:grid;grid-template-columns:1fr 1fr;gap:8px
 }
 #touch-controls button{
  min-height:46px;
  border:1px solid #f0ebda99;border-radius:8px;
  background:#102b2980;color:#fff;
  font:600 18px monospace
 }
 #touch-controls button:active{
  background:#e5edaa;color:#173e35
 }
 #touch-controls #touch-draw{
  font-size:13px;background:#e5edaa;color:#173e35
 }
 #touch-controls #touch-draw[aria-pressed=true]{
  background:#ff3838;color:white
 }
 #touch-controls #touch-pause{
  position:absolute;
  right:max(10px,env(safe-area-inset-right));
  top:80px;width:44px;min-height:44px
 }
 #hud .controls-strip,#hud .flight-map,#hud #pause{
  display:none!important
 }
 #hud .instruments{
  left:10px;top:65px;bottom:auto;
  transform:scale(.58);transform-origin:top left;
  pointer-events:none
 }
 #hud .hud-top{
  left:14px;right:14px;
  top:max(12px,env(safe-area-inset-top))
 }
 #hud .callsign small{display:none}
 #hud .hud-top #compass{
  top:0;font-size:14px;letter-spacing:2px;padding:7px
 }
 #hud .copy-ca{font-size:9px;padding:9px;margin-right:0}
 #runway-hint{top:155px;padding:0 15px;font-size:10px}
 #runway-hint span{font-size:9px;line-height:1.5}
 #warning{top:150px;font-size:17px}
}
@media(max-width:900px) and (max-height:500px){
 #touch-stick{width:130px;height:130px;bottom:15px}
 .touch-right{bottom:15px;width:140px;gap:5px}
 #touch-controls button{min-height:37px}
 #hud .instruments{transform:scale(.48);top:51px}
 #runway-hint{top:58px;left:30%;right:20%;padding:0}
 #warning{top:100px}
 #overlay{padding:8px}
 #overlay .menu-panel{padding:8px;max-height:96dvh}
 #overlay .menu-panel h2{font-size:28px;margin:8px 0}
 #overlay .menu-panel p{font-size:10px;line-height:1.4}
 #overlay .menu-panel .launch{margin-top:12px;padding:10px}
 #overlay .menu-button{padding:10px}
}

/* PP_MOBILE_MINIMAP_START */
@media(any-pointer:coarse),(max-width:900px){
 #hud .flight-map{
  display:block!important;
  position:absolute;
  left:10px;
  right:auto;
  top:145px;
  bottom:auto;
  width:180px;
  padding:8px;
  transform:none;
  background:#10211dbb;
  pointer-events:none;
 }
 #hud .flight-map canvas{
  display:block;
  width:100%;
  height:auto;
 }
 #hud .flight-map>div{font-size:7px}
 #hud .flight-map small{display:none}
}
@media(max-width:900px) and (max-height:500px){
 #hud .flight-map{
  top:120px;
  width:115px;
  padding:5px;
 }
 #hud .flight-map>div{font-size:6px}
}
/* PP_MOBILE_MINIMAP_END */

/* PP_PAUSE_SEMITRANSPARENT */
#overlay .menu-panel{
 background:rgba(20,44,40,.70)!important;
 border:1px solid rgba(240,235,218,.22);
 border-radius:12px;
 box-shadow:0 12px 40px rgba(0,0,0,.25);
}
