.gpDock{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 24px}.gpDock .gpButton{flex:1;min-width:130px}
.glitchPhone{box-sizing:border-box;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 28px);padding:0;border:1px solid #517787;border-radius:24px;background:#091922;color:#e0edf2;box-shadow:0 20px 70px #0009;font:15px/1.7 system-ui,sans-serif;overflow:auto;overscroll-behavior:contain}.glitchPhone::backdrop{background:#02080ec9;backdrop-filter:blur(4px)}
.gpHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid #294b5b}.gpHeader h2{margin:0;font-size:18px}.gpTabs{display:flex;gap:6px;padding:10px;background:#0c222e}.gpTabs .gpButton{flex:1;padding:9px 5px;min-width:0}.gpButton{box-sizing:border-box;min-height:44px;padding:10px 14px;border:1px solid #365a6d;border-radius:10px;background:#102b39;color:#dcecf3;font:inherit;font-size:14px;line-height:1.6;cursor:pointer;touch-action:manipulation}.gpButton:hover{background:#1a3c4b}.gpButton:focus-visible{outline:2px solid #a6eaf5;outline-offset:2px}.gpButton[aria-selected=true],.gpButton[aria-pressed=true],.gpPrimary{background:#a4e8f3;color:#102630;border-color:#a4e8f3}.gpBody{padding:18px}.gpBody h3{font-size:16px;margin:0 0 10px}.gpNote{font-size:12px;line-height:1.7;color:#a6c2cd;white-space:pre-line;overflow-wrap:anywhere}.gpContacts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.gpBubble{margin:12px 24px 12px 0;padding:12px 14px;border-radius:14px 14px 14px 2px;background:#193240;overflow-wrap:anywhere}.gpBubble.gpMine{margin:12px 0 12px 24px;border-radius:14px 14px 2px 14px;background:#214952}.gpBubble small{font-size:11px;color:#aad0dc}.gpBubble p{margin:4px 0 0;font-size:14px;white-space:pre-line}.gpReplies{display:grid;gap:8px}.gpReply{text-align:left}.gpComparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:14px 0}.gpFrame{min-width:0;border:1px solid #315566;border-radius:8px;overflow:hidden}.gpFrameLabel{font-size:11px;padding:7px 9px;background:#132d38}.gpView{position:relative;display:flex;gap:5px;align-items:end;justify-content:space-around;min-height:160px;padding:12px 7px;background:linear-gradient(0deg,#223c49 0 22%,#10222d 23%);box-sizing:border-box}.gpObject{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;width:32%;min-height:58px;padding:6px 2px;border:1px solid #95b9c7;color:#e6f4f8;background:#284b5d;font-size:11px;line-height:1.5;text-align:center;overflow-wrap:anywhere}.gpObject0{height:78px}.gpObject1{height:102px}.gpObject2{height:60px}.gpMissing{visibility:hidden}.gpView--paper{background:#283c42;align-items:center}.gpView--paper .gpObject{height:82px;border-color:#aac0bb;background:#486368}.gpView--mirror{background:linear-gradient(135deg,#173541,#527682);align-items:center}.gpView--street .gpObject1{width:22%;height:123px;border-radius:12px 12px 0 0}.gpView--terrace{background:linear-gradient(0deg,#355462 20%,#17303d 21%)}.gpInspect{display:grid;gap:7px}.gpFeedback{border-left:2px solid #9adcea;padding:10px 12px;background:#122e3b;font-size:13px;color:#e3f4f7}.gpPrimary{width:100%;margin-top:16px}.gpPhoto{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #31505d}
@media(max-width:360px){.gpBody{padding:12px}.gpComparison{gap:6px}.gpView{padding:8px 4px}.gpDock .gpButton{font-size:12px}}
@media(prefers-reduced-motion:reduce){.glitchPhone::backdrop{backdrop-filter:none}}
/* Small authored sets: silhouette geometry stays identical between both frames. */
.gpView{height:190px;display:block;background:linear-gradient(0deg,#263e49 0 24%,#112833 25%);perspective:400px}.gpObject{position:absolute;bottom:14px;display:block;height:130px!important;width:30%!important;padding:0;border:0;background:none!important;overflow:visible}.gpObject0{left:4%}.gpObject1{left:36%}.gpObject2{left:68%}.gpObjectLabel{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);white-space:normal;width:100%;font-size:11px;line-height:1.4;color:#d7eaf1}.gpObject::before,.gpObject::after{content:'';position:absolute;box-sizing:border-box}
.gpView--room .gpObject0::before,.gpView--terrace .gpObject0::before{left:20%;top:44px;width:65%;height:43px;border:3px solid #9cb8c5;border-radius:4px;background:#416674}.gpView--room .gpObject0::after,.gpView--terrace .gpObject0::after{left:12%;top:82px;width:80%;height:27px;border-top:5px solid #acc9d4;border-left:3px solid #8eaab8;border-right:3px solid #8eaab8}
.gpView--room .gpObject1::before{left:0;top:80px;width:100%;height:27px;border-top:7px solid #69949f;border-left:4px solid #57808d;border-right:4px solid #57808d}.gpView--room .gpObject1::after{left:22%;top:50px;width:64%;height:29px;border:3px solid #88aeba;background:#1b414e;box-shadow:0 4px #7694a4}
.gpView--room .gpObject2::before{left:10%;top:10px;width:90%;height:69px;border:2px solid #547a8c;background:linear-gradient(90deg,transparent 46%,#547a8c 48% 52%,transparent 54%),linear-gradient(0deg,transparent 45%,#547a8c 47% 52%,transparent 54%),#254858}
.gpView--terrace .gpObject1::before{left:25%;top:67px;width:62%;height:37px;background:#88705f;clip-path:polygon(0 0,100% 0,82% 100%,18% 100%)}.gpView--terrace .gpObject1::after{left:20%;top:37px;width:70%;height:40px;border-radius:50% 30%;background:#5c8c76;box-shadow:-7px 8px #456e5e,7px 4px #739983}.gpView--terrace .gpObject2::before{left:0;top:83px;width:100%;height:18px;border-radius:50%;background:#8aaab8;box-shadow:0 0 12px #7c9da977}
.gpView--street .gpObject0::before{left:0;top:45px;width:100%;height:61px;background:#355763;border-top:18px solid #ad9973}.gpView--street .gpObject0::after{left:12%;top:69px;width:75%;height:36px;border:2px solid #75959f;background:#132d38}.gpView--street .gpObject1::before{left:58%;top:3px;width:4px;height:104px;background:#99b9c4}.gpView--street .gpObject1::after{left:32%;top:3px;width:60%;height:8px;border-radius:8px;background:#dde8c5;box-shadow:0 9px 18px #e3ecc455}.gpView--street .gpObject2::before{left:5%;top:97px;width:85%;height:3px;background:#849ba1;transform:rotate(-14deg)}
.gpView--paper{height:210px;background:#203641}.gpView--paper .gpObject{position:relative;left:0;bottom:auto;width:100%!important;height:50px!important;margin-bottom:5px;background:#435e66!important;border:1px solid #91a9a9}.gpView--paper .gpObjectLabel{bottom:15px}.gpView--mirror .gpObject0::before{inset:15px 0 20px;background:repeating-linear-gradient(0deg,transparent 0 10px,#95dddb 11px 12px),repeating-linear-gradient(90deg,transparent 0 10px,#95dddb 11px 12px)}.gpView--mirror .gpObject1::before{left:35%;top:43px;width:18px;height:56px;border-radius:9px;background:#b6ada7;transform:rotate(-15deg)}.gpView--mirror .gpObject2::before{inset:8px 5px 20px;border:3px solid #93aeb9;border-left:0}
.gpView--remote .gpObject::before{left:0;top:37px;width:100%;height:55px;border:1px solid #8ba8b4;background:#284955}.gpView--remote .gpObjectLabel{bottom:51px}.gpView--remote .gpObject2::before{left:25%;top:66px;width:25px;height:17px;border-radius:2px 2px 7px 7px;transform:rotate(75deg);background:#b2c2bd}.gpView--remote .gpObject2 .gpObjectLabel{bottom:-6px}
.gpBody>.gpReply{display:block;width:100%;margin-top:9px}
.gpView--cafe .gpObject0{left:35%}.gpView--cafe .gpObject1{left:4%}.gpView--cafe .gpObject0::before{inset:12px 0 32px;border:3px solid #7ca9b8;background:linear-gradient(90deg,transparent 46%,#7ca9b8 47% 52%,transparent 53%),#274955}.gpView--cafe .gpObject1::before{left:16%;top:60px;width:65%;height:35px;border:3px solid #a1bdc6}.gpView--cafe .gpObject1::after{left:9%;top:92px;width:83%;height:18px;border:3px solid #a1bdc6;border-bottom:0}.gpView--cafe .gpObject2::before{inset:15px 2px 24px;border:3px solid #aac0c9;background:#3c6170}.gpView--cafe .gpShifted{left:1%;bottom:35px;z-index:1}.gpView--cafe .gpShifted::before{background:#486c79}.gpView--cafe .gpShifted .gpObjectLabel{bottom:40px;background:#142c36}
.gpView--signalLamp .gpObject0::before{left:28%;top:15px;width:38%;height:30px;border-radius:45%;background:#eee4a8;box-shadow:0 0 25px #eee4a8aa}.gpView--signalLamp .gpObject0::after{left:45%;top:44px;width:4px;height:62px;background:#9eb9c5}.gpView--signalLamp .gpObject0.gpChanged::before{background:#536975;box-shadow:none}.gpView--signalLamp .gpObject1::before{inset:10px 0 20px;border:3px solid #72929e;background:#223e4c}.gpView--signalLamp .gpObject2::before{inset:65px 2px 20px;border:3px solid #9ab5c0}

.gpEvidenceImage{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#07131b}.gpComparison:has(.gpEvidenceImage){grid-template-columns:1fr}.gpFrame:has(.gpEvidenceImage){margin-bottom:8px}

.gpARStage{position:relative;aspect-ratio:3/2;background:#06141c center/cover;overflow:hidden}.gpARStage video{width:100%;height:100%;object-fit:cover}.gpARStage>img{position:absolute;bottom:0;left:20%;height:90%;width:60%;object-fit:contain;opacity:.78;pointer-events:none}.gpRealCamera .gpButton{margin:8px 4px}.gpDeviceEnding{padding:20px;border:1px solid #62a9b8;background:#09232c;margin:20px 0;border-radius:12px}

/* Global tools stay in the header; scene actions sit with story choices. */
#gameScreen .gameActions.gpMenuActive{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%}
#gameScreen .gameActions.gpMenuActive>.badge{display:none}
#gameScreen .gameActions.gpMenuActive>button{box-sizing:border-box;width:100%;min-width:0;min-height:44px;height:48px;margin:0;padding:7px 8px;white-space:nowrap;font-size:13px}
#gameScreen .gameTopbar:has(.gpMenuActive){flex-wrap:wrap}
.gpSceneTools{margin:16px 20px;gap:10px;padding:16px;border:1px solid #456a79;border-radius:14px;background:#102832}
.gpSceneTools:empty{display:none}.gpTaskHint{flex-basis:100%;margin:0;color:#d4eaf0;font-size:14px;line-height:1.7}
.gpSceneTools .gpPrimary{margin-top:0}.gpSceneTools .gpButton{flex-basis:100%;min-height:48px}
@media(min-width:760px){#gameScreen .gameActions.gpMenuActive{grid-template-columns:repeat(6,minmax(0,1fr))}}

.gpDocument{min-height:180px;padding:24px;background:#eee9d6;color:#202727;border:1px solid #b4ae96;line-height:1.8}.gpDocument .gpNote{color:#515747}.gpDocument h4{margin-top:0}

/* Localized foreign-object echo: the stored image is never edited. */
.gpAnomaly{position:relative;overflow:hidden}.gpAnomaly>.gpEvidenceImage{display:block}.gpAnomalyGhost{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32;filter:drop-shadow(2px 0 #7cf7ff) drop-shadow(-2px 0 #ee90c8);animation:gpForeignEcho 4.6s infinite;pointer-events:none}.gpAnomaly--room .gpAnomalyGhost{clip-path:inset(30% 49% 19% 25%)}.gpAnomaly--street .gpAnomalyGhost{clip-path:inset(5% 43% 12% 46%)}@keyframes gpForeignEcho{0%,75%,84%,100%{transform:translateX(1px);opacity:.28}77%,82%{transform:translateX(-2px);opacity:.5}79%{transform:translateX(2px);opacity:.38}}@media(prefers-reduced-motion:reduce){.gpAnomalyGhost{animation:none;transform:translateX(1px)}}

.gpAnomaly--crossCafe .gpAnomalyGhost{clip-path:inset(18% 33% 9% 51%)}
