.up-ui-page{background:#111b14;color:#f2f0e4;font-family:ui-monospace,Menlo,Consolas,"Courier New",monospace}.up-site-header,.up-ui-footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:21px clamp(18px,5vw,70px);border-bottom:1px solid #455947;font-size:11px;letter-spacing:.11em}.up-site-header a,.up-ui-footer a{text-decoration:none;color:#cffa6b}.up-ui-footer{margin-top:30px;border-bottom:0;border-top:1px solid #455947}.up-ui-layout{margin:auto;max-width:1240px;padding:0 16px}.up-ui-intro{max-width:1000px;margin:clamp(34px,5vw,72px) auto 35px}.up-eyebrow{color:#cffa6b;font-size:11px;letter-spacing:.19em}.up-ui-intro h1{font-size:clamp(33px,7vw,104px);line-height:.96;font-family:Georgia,serif;letter-spacing:-.05em;font-weight:400;margin:14px 0}.up-ui-intro>p:last-child{font-size:clamp(12px,1.25vw,17px);line-height:1.6;color:#ccd0c5;max-width:660px}.up-play-stage{width:100%;aspect-ratio:16/9;background:#172319;border:1px solid #788b71}.up-play-stage iframe{display:block;width:100%;height:100%;border:0}.up-pad{margin:32px 0 0}.up-section-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.up-section-head h2,.up-pad--extras h2{font-size:13px;letter-spacing:.2em}.up-section-head span{font-size:10px;color:#abb7a5}.up-cue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.up-cue-grid button{background:#1c2a20;color:#edeedc;border:1px solid #576b53;text-align:left;padding:20px 16px;display:flex;flex-direction:column;gap:13px;min-height:155px;transition:background .1s,border-color .1s}.up-cue-grid button:hover,.up-cue-grid button:focus-visible{background:#293c2b;border-color:#cffa6b}.up-cue-grid button strong{font:400 clamp(35px,4vw,63px)/1 Georgia,serif;color:#cffa6b}.up-cue-grid button span{font-size:12px;letter-spacing:.08em;font-weight:700}.up-cue-grid button small{font-size:10px;color:#b4bbaa;letter-spacing:.07em}.up-emoji-row{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.up-emoji-row button{background:#1c2a20;border:1px solid #5d755a;min-width:70px;min-height:70px;font-size:33px}.up-extra-buttons{display:flex;gap:8px;flex-wrap:wrap}.up-extra-buttons button{border:1px solid #6d8268;background:#203025;color:#f2f0e4;padding:14px 15px;font-size:12px;letter-spacing:.06em}.up-extra-buttons button.up-quiet{color:#111b14;background:#cffa6b;border-color:#cffa6b}.up-feedback{color:#cffa6b;font-size:11px;letter-spacing:.14em;margin:26px 0}
.up-control-app{max-width:1250px;margin:auto;padding:22px 16px 60px}.up-control-app h1{font:400 clamp(32px,5vw,67px)/1 Georgia,serif;margin:10px 0}.up-control-description{max-width:900px;color:#aeb9aa;font-size:13px;line-height:1.7}.up-operator-top{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:22px 0}.up-operator-top button,.up-operator-top a{background:#203126;border:1px solid #71876b;padding:14px 16px;color:#e6f0db;text-decoration:none;font-size:12px}.up-operator-top .up-open{background:#cffa6b;color:#112015;border-color:#cffa6b;font-weight:700}.up-stage-state{color:#d1dcbf;font-size:12px}.up-control-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.up-control-panel{padding:18px;background:#1a281e;border:1px solid #4c634f}.up-control-panel h2{font-size:13px;letter-spacing:.16em;color:#cffa6b}.up-control-panel .up-control-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.up-control-grid button,.up-control-panel button,.up-control-panel select{color:#f4f2df;background:#263728;border:1px solid #647963;padding:13px;text-align:left;font-size:12px;min-height:48px}.up-control-grid button:hover,.up-control-panel button:hover{border-color:#cffa6b}.up-control-panel .up-quiet{background:#cffa6b;color:#121d15;border:1px solid #cffa6b;font-weight:700}.up-control-panel label{display:block;font-size:11px;margin:20px 0 8px;color:#d1dfcd}.up-control-panel input,.up-control-panel textarea{width:100%;padding:13px;background:#101c14;border:1px solid #70846a;color:#fff;min-height:43px;font-size:13px}.up-control-panel textarea{min-height:93px;resize:vertical}.up-control-panel .up-text-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.up-control-panel button.up-wide{width:100%;text-align:center;margin-top:14px}.up-operator-foot{font-size:11px;color:#bac8b6;margin-top:25px;line-height:1.8}.up-key-list{line-height:1.9;color:#c7d7b9}
@media(max-width:820px){.up-cue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.up-control-columns{grid-template-columns:1fr}}@media(max-width:450px){.up-cue-grid button{min-height:140px;padding:12px}.up-emoji-row button{min-width:55px;min-height:55px;font-size:24px}.up-site-header{padding:18px}.up-section-head{flex-wrap:wrap}}

/* OCT 24 · PUBLIC PLAYROOM WELCOME — source-faithful title treatment.
   Reuses the original MIB SVG, Pegasus WebP, letter-weave clip and flight positions.
   No changes to the stage, projection, controls, or original artwork. */
.up-ui-page--playroom .up-ui-layout{max-width:1480px;padding-inline:clamp(10px,1.35vw,22px)}
.up-ui-page--playroom .up-site-header{padding-block:clamp(12px,1.2vw,19px)}
.up-welcome{background:#f4f1e8;color:#11110f;margin:clamp(8px,1.4vw,20px) auto 0;padding:clamp(12px,1.8vw,26px) clamp(14px,2.7vw,38px) clamp(12px,1.7vw,24px);border:1px solid rgba(244,241,232,.45)}
.up-welcome .up-eyebrow{margin:0;color:#305f3a;font:600 clamp(10px,.76vw,12px)/1.5 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.11em}
.up-welcome .up-eyebrow span:last-child{color:#11110f}
.up-welcome-lockup{position:relative;isolation:isolate;width:min(100%,calc(72svh * 1003 / 512));aspect-ratio:1003/512;margin:clamp(5px,.7vw,11px) auto 0}
.up-welcome-wordmark,.up-welcome-weave{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.up-welcome-wordmark{z-index:1}
.up-welcome-pegasus-track{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:visible}
.up-welcome-pegasus{position:absolute;top:58%;left:-32%;display:block;width:clamp(7rem,27%,20rem);height:auto;pointer-events:none;will-change:transform;animation:up-welcome-flight 14s cubic-bezier(.45,0,.55,1) infinite}
.up-welcome-weave{z-index:3;overflow:visible}
@keyframes up-welcome-flight{
  0%{left:-32%;top:58%;transform:translate3d(0,0,0) rotate(-7deg) scale(.94)}
  18%{left:-5%;top:30%;transform:translate3d(0,-2%,0) rotate(-2deg) scale(1)}
  36%{left:23%;top:7%;transform:translate3d(0,1%,0) rotate(4deg) scale(1.04)}
  53%{left:49%;top:42%;transform:translate3d(0,0,0) rotate(-4deg) scale(1)}
  70%{left:74%;top:60%;transform:translate3d(0,-2%,0) rotate(-6deg) scale(.98)}
  86%{left:98%;top:25%;transform:translate3d(0,1%,0) rotate(2deg) scale(1.02)}
  100%{left:124%;top:5%;transform:translate3d(0,0,0) rotate(6deg) scale(.94)}
}
.up-welcome-instructions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid rgba(17,17,15,.35);padding-top:clamp(11px,1.2vw,16px)}
.up-welcome-instructions p{margin:0;max-width:850px;font:400 clamp(11px,1.02vw,14px)/1.5 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.012em}
.up-welcome-instructions strong{font-weight:700}
.up-welcome-instructions a{color:#25582e;text-decoration:none;font-weight:700;font-size:clamp(10px,.85vw,12px);letter-spacing:.065em;white-space:nowrap}
.up-welcome-instructions a:hover,.up-welcome-instructions a:focus-visible{text-decoration:underline}
.up-play-stage{margin-top:clamp(9px,1.3vw,18px)}
.up-ui-page--playroom[data-up-hero-quiet="true"] .up-welcome-pegasus,
.up-ui-page--playroom[data-up-hero-reduced="true"] .up-welcome-pegasus{animation:none;left:71%;top:8%;transform:rotate(-3deg);will-change:auto}
@media(max-width:720px){
  .up-welcome{padding:12px 12px 16px}
  .up-welcome-lockup{width:100%;margin-top:12px}
  .up-welcome-pegasus{width:clamp(5.5rem,36%,10.25rem);animation-duration:11s}
  .up-welcome-instructions{align-items:flex-start;flex-direction:column;gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .up-welcome-pegasus{animation:none!important;left:71%;top:8%;transform:rotate(-3deg);will-change:auto}
}

/* v3 EXPERIMENT · Control Room text cue (appended; welcoming-page rules above are untouched) */
.up-control-panel .up-text-modes{border:1px solid #4c634f;margin:14px 0 0;padding:8px 10px 10px;display:flex;flex-wrap:wrap;gap:6px 14px}
.up-control-panel .up-text-modes legend{font-size:11px;color:#d1dfcd;padding:0 4px}
.up-control-panel .up-text-modes label{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:12px;min-height:32px;cursor:pointer}
.up-control-panel .up-text-modes input{width:auto;min-height:0;padding:0;margin:0;accent-color:#cffa6b}
.up-text-preview{position:relative;margin-top:12px;aspect-ratio:16/9;background:radial-gradient(ellipse at 62% 42%,#29412b,#141d18);border:1px solid #647963;container-type:inline-size;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center}
#up-preview-text{font:500 5cqw/1.05 Georgia,serif;color:#f2f0e4;padding:0 8%;overflow-wrap:anywhere}
.up-text-preview[data-mode="lower"]{align-items:flex-end;justify-content:flex-start;text-align:left}
.up-text-preview[data-mode="lower"] #up-preview-text{font-size:3.4cqw;margin:0 0 7% 4%;padding:1.2cqw 2cqw;background:rgba(13,23,16,.86);border-left:.6cqw solid #d3fc67}
.up-text-preview[data-mode="ticker"]{align-items:flex-end}
.up-text-preview[data-mode="ticker"] #up-preview-text{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#d3fc67;color:#101814;font:800 2.6cqw/1 ui-monospace,Menlo,monospace;padding:1.2cqw 2cqw;text-align:left}
.up-text-preview[data-mode="pegasus"]{align-items:flex-start}
.up-text-preview[data-mode="pegasus"] #up-preview-text{margin-top:9%;background:#d3fc67;color:#101814;font:800 3cqw/1 ui-monospace,Menlo,monospace;padding:1.4cqw 2cqw;white-space:nowrap;max-width:88%;overflow:hidden;text-overflow:ellipsis}
.up-text-preview[data-mode="pegasus"] #up-preview-text::after{content:"  → 🪽";}
.up-preview-qr{display:none}
.up-text-preview[data-mode="qr"]{flex-direction:column;gap:3cqw}
.up-text-preview[data-mode="qr"] #up-preview-text{font-size:4.2cqw}
.up-text-preview[data-mode="qr"] .up-preview-qr{display:grid;place-items:center;width:20cqw;aspect-ratio:1;background:#fff;color:#101814;font:700 3cqw ui-monospace,monospace;order:2}
.up-preview-note{font-size:11px;color:#c7d7b9;margin:8px 0 0;min-height:1.5em;line-height:1.5}
.up-control-panel button.up-send{background:#cffa6b;color:#121d15;border-color:#cffa6b;font-weight:700}

/* v3.1 EXPERIMENT · Stage Essentials, How to Play, operator quick strip, presets (appended; nothing above changed) */
.up-pad--essentials{margin-top:18px}
.up-how-to-play{margin:4px 0 12px;max-width:900px;font-size:11px;line-height:1.65;letter-spacing:.03em;color:#c3cbb9}
.up-how-to-play strong{color:#cffa6b;letter-spacing:.14em;margin-right:.6em}
.up-essentials{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.up-essentials button{background:#203025;color:#f2f0e4;border:1px solid #6d8268;text-align:left;padding:12px 12px 13px;min-height:84px;display:flex;flex-direction:column;gap:5px;transition:background .1s,border-color .1s}
.up-essentials button:hover,.up-essentials button:focus-visible{background:#293c2b;border-color:#cffa6b}
.up-essentials strong{font:400 24px/1 Georgia,serif;color:#cffa6b}
.up-essentials span{font-size:12px;font-weight:700;letter-spacing:.07em}
.up-essentials small{font-size:9.5px;color:#b4bbaa;letter-spacing:.06em;overflow-wrap:anywhere}
.up-essentials button.up-quiet{background:#cffa6b;border-color:#cffa6b;color:#111b14}
.up-essentials button.up-quiet strong,.up-essentials button.up-quiet small{color:#203025}
.up-pad--essentials .up-feedback{margin:14px 0 0}
@media(min-width:821px){.up-cue-grid .up-cue-wide{grid-column:span 2;min-height:120px}}
@media(max-width:1100px){.up-essentials{grid-template-columns:repeat(4,minmax(0,1fr))}.up-essentials button.up-quiet{grid-column:span 2}}
@media(max-width:450px){.up-essentials{grid-template-columns:repeat(2,minmax(0,1fr))}.up-essentials button{min-height:76px}}

/* Control Room quick-action strip + presets */
.up-quick-strip{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin:0 0 8px}
.up-quick-strip button{color:#f4f2df;background:#263728;border:1px solid #647963;padding:12px 10px;min-height:64px;font-size:12px;font-weight:700;letter-spacing:.05em;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:6px}
.up-quick-strip small{font-size:9.5px;font-weight:400;color:#b4bbaa;letter-spacing:.04em;overflow-wrap:anywhere;max-width:100%}
.up-quick-strip button:hover,.up-quick-strip button:focus-visible{border-color:#cffa6b}
.up-quick-strip kbd,.up-quick-keys kbd{font:inherit;font-size:10px;color:#cffa6b;border:1px solid #4c634f;padding:1px 5px;font-weight:400}
.up-quick-strip .up-quiet{background:#cffa6b;color:#121d15;border-color:#cffa6b}
.up-quick-strip .up-quiet kbd{color:#121d15;border-color:#121d15}
.up-quick-keys{font-size:11px;line-height:2;color:#bac8b6;margin:0 0 18px}
.up-quick-keys kbd{margin-right:3px}
.up-control-panel .up-preset-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.up-control-panel .up-preset-row label{margin:0;flex:1 1 150px}
.up-control-panel .up-preset-row select{width:100%;padding:12px}
.up-control-panel .up-preset-row button{flex:1 1 150px}
.up-control-panel h3{font-size:11px;letter-spacing:.14em;color:#d1dfcd;margin:16px 0 8px;font-weight:700}
.up-control-panel button.up-preset-go{background:#33492f;border-color:#cffa6b;font-weight:700}
@media(max-width:1100px){.up-quick-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:450px){.up-quick-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* v3.1: pre-existing v3 phone overflow (the Control Room was 15px wider than a 390px phone). */
.up-control-columns>.up-control-panel{min-width:0}.up-control-panel select{max-width:100%}
