.activity-dialog.gangway-dialog { box-sizing:border-box; width:min(960px,calc(100vw - 1rem)); max-width:calc(100vw - 1rem); max-height:calc(100dvh - 1rem); overflow-y:auto; padding:clamp(.75rem,3vw,1.8rem); overscroll-behavior:contain; }
.gangway-dialog .activity-preview { padding:0; border:0; background:none; text-align:left; }
.gangway-game { padding:clamp(.5rem,2vw,1rem); border:1px solid #b7c8c9; border-radius:1rem; background:#edf3f1; color:#173b4d; }
.gangway-progress { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem 1rem; margin-bottom:.8rem; font-weight:700; font-size:.9rem; }
.gangway-stage { padding:clamp(.8rem,3vw,1.5rem); border:3px solid #365d6a; border-radius:.8rem; background:linear-gradient(#17374bcc,#26485fe6),url('../content/phase-7-homecoming.png') center/cover; color:white; text-align:center; }
.gangway-stage .eyebrow { color:#ffe6a6; }
.gangway-stage h3 { font:700 clamp(1.2rem,3vw,1.65rem)/1.5 Georgia,serif; color:white; }
.gangway-length { padding:.15rem .35rem; border-radius:.3rem; background:#ffe1a0; color:#173b4d; white-space:nowrap; }
.gangway-stage > p { line-height:1.55; }
.gangway-pennants { display:flex; justify-content:space-around; gap:.5rem; border-top:2px solid #e9d7ad; }
.gangway-pennants i { width:1.5rem; height:2rem; background:#efc45d; clip-path:polygon(0 0,100% 0,50% 100%); }
.gangway-pennants i:nth-child(even) { background:#bd6554; }
.gangway-banner { margin:1.2rem 0; padding:clamp(1rem,4vw,2rem) clamp(.75rem,3vw,1.5rem); border:2px dashed #bda57d; outline:5px solid #f6ebd2; background:linear-gradient(100deg,#f3e3c2,#fffaed 45%,#eddbb7); box-shadow:0 10px 20px #0d253b70; color:#233d47; }
.gangway-banner p { margin:0; font:700 clamp(1.15rem,3vw,1.65rem)/1.7 Georgia,serif; overflow-wrap:anywhere; }
.gangway-clue { padding:.75rem; border-radius:.4rem; background:#e9f3f0; color:#173b4d; }
.gangway-flags { display:flex; justify-content:center; gap:.65rem; }
.gangway-flags i { height:1.4rem; width:1.6rem; border-left:3px solid #e8e5d8; background:#ffd76c; clip-path:polygon(0 0,100% 0,75% 50%,100% 100%,0 100%); }
.gangway-flags .is-used { background:#8194a1; opacity:.35; }
.gangway-letter-console { padding:clamp(.65rem,2vw,1rem); margin-top:1rem; border:2px solid #9ab8bf; border-radius:.6rem; background:#e1edeb; }
.gangway-letter-console h4 { margin:.1rem 0 .5rem; font-size:1.1rem; }
.gangway-letter-console > p { margin:.5rem 0 .75rem; line-height:1.5; }
.gangway-letter-strip { display:flex; flex-wrap:wrap; align-items:center; row-gap:.4rem; padding:.45rem; border-radius:.4rem; background:#173c4a; }
.gangway-word-gap { flex:0 0 .32rem; height:44px; }
.gangway-letter-strip .gangway-letter { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; min-width:44px; min-height:44px; padding:0; border:1px solid #a2b8bc; border-right:0; border-radius:0; color:#fff6df; background:#365c68; font:800 1.2rem/1 Georgia,serif; touch-action:manipulation; cursor:pointer; }
.gangway-letter-strip .is-word-start { border-radius:.25rem 0 0 .25rem; }
.gangway-letter-strip .is-word-end { border-right:1px solid #a2b8bc; border-radius:0 .25rem .25rem 0; }
.gangway-letter-strip .is-selected { background:#ffe08d; color:#173c4a; }
.gangway-letter-strip .is-revealed { background:#b9ead3; color:#174c43; border-color:#278375; opacity:1; }
.gangway-letter-strip button:disabled { cursor:default; opacity:1; }
.gangway-answer-row { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; margin-top:1rem; }
.gangway-answer-row label { display:grid; gap:.5rem; font-weight:700; }
.gangway-answer-row input { box-sizing:border-box; width:100%; min-width:0; min-height:48px; padding:.65rem; border:2px solid #7a9ba4; border-radius:.4rem; background:#fffaf0; color:#173c4a; font:800 1.2rem/1.4 Georgia,serif; letter-spacing:.3em; }
.gangway-answer-row input:focus-visible { outline:3px solid #a66313; outline-offset:2px; }
.gangway-answer-boxes { display:flex; gap:.35rem; margin-top:.5rem; }
.gangway-answer-boxes span { display:grid; place-items:center; width:44px; height:44px; border:1px solid #7a9ba4; border-radius:.3rem; background:#fffaf0; color:#173c4a; font:800 1.2rem/1 Georgia,serif; text-transform:uppercase; }
.gangway-game button:focus-visible { outline:3px solid #a66313; outline-offset:3px; }
.gangway-log,.gangway-result { margin:1rem 0; padding:1rem; background:#fffaf0; border-left:4px solid #278375; border-radius:.4rem; line-height:1.55; }
.gangway-log h4 { font-size:1.4rem; margin:.25rem 0; }
.gangway-spelling { font-weight:700; }
.gangway-controls { display:flex; flex-wrap:wrap; gap:.6rem; padding-bottom:max(.2rem,env(safe-area-inset-bottom)); }
.gangway-controls button { flex:1 1 160px; }
.gangway-dialog button { min-height:44px; min-width:44px; }
.gangway-dialog mark { padding:.05rem 0; background:#ffe08d; color:#102e3a; border-bottom:3px solid #237565; }
.gangway-result li { margin:1rem 0; overflow-wrap:anywhere; }
.gangway-result li p { margin:.4rem 0; }
.homecoming-viewport .homecoming-activity-point.is-complete .activity-number { background:#b8e8cd; color:#143e36; border-color:#176d58; }
@media (min-width:700px) { .gangway-answer-row { grid-template-columns:repeat(2,minmax(0,1fr)); } }
