.story-panel{padding:14px;border:1px solid #705681;background:#1c1229;margin:12px 0}.story-choice{display:flex;align-items:center;gap:12px;padding:12px;margin:8px 0;border:1px solid #725b84;background:#241631;min-height:48px;cursor:pointer;font:21px/1.3 var(--term,monospace)}.story-choice:has(input:checked){border-color:#8ce6c6;background:#18312e}.story-choice input{width:22px;height:22px;flex-shrink:0;margin:0;accent-color:#69dfb6}.story-choice strong{color:#efce8f}.story-panel fieldset{border:0;padding:0;min-width:0}.story-panel legend{font:20px/1.4 var(--term,monospace);color:#b9a4ca}.story-seats{display:flex;gap:12px}.story-seats label{flex:1;min-width:0}.story-seats input{width:100%;min-height:44px}.story-order{display:grid;gap:8px}.story-payoff{border-left:3px solid #93d9c3;padding:10px 14px;color:#e0d0eb}.story-panel .primary{width:100%}#storyError:empty{display:none}#storyError{color:#ffb6a4}#storyLocation{width:100%;min-height:44px}#storyStartForm{margin:16px 0}input:focus-visible,select:focus-visible{outline:3px solid #97e3dc;outline-offset:3px}
.adventure .story-choice{display:flex;align-items:center;padding:10px;gap:10px;line-height:1.3;margin:7px 0;min-height:46px}
.adventure .story-choice input,.story-choice input{box-sizing:border-box;padding:0;min-height:22px;height:22px;width:22px;flex:0 0 22px}
.story-panel p{font:20px/1.35 var(--term,monospace);margin:10px 0}.story-panel fieldset{margin:12px 0}
.story-adventure .shared-health-panel{padding:10px;margin:10px 0}.story-adventure .shared-health-note{font:17px/1.3 var(--term);margin:6px 0}.story-adventure>h1{margin:10px 0}.story-adventure>.note{margin:6px 0}.story-adventure .content-badge{margin:4px 0}
.cabinet{--term:'VT323',monospace}.cabinet .story-choice{min-height:46px;padding:8px 10px;font:23px/1.25 var(--term)}
/* Keep the first tutorial Capture button visible with the refreshed 44px header. */
.guided-quest .photo-stage:not(.has-photo){height:68px;min-height:68px}
/* Photo questmaster: clear review state and restrained host animation. */
.enc-host{width:68px;height:68px;object-fit:contain;image-rendering:pixelated}
.photo-challenge{display:grid;gap:10px}.photo-challenge p{margin:0}.photo-challenge input[type=file]{max-width:100%;font:inherit}.photo-challenge #encPreview{max-width:100%;max-height:260px;object-fit:contain;background:#160e24}.photo-challenge #encPreview[hidden]{display:none}.photo-challenge #encFeedback{color:#92ecc4}.photo-challenge #encReaction{color:#e4c57d}.photo-checking .enc-host{animation:enc-bob 1.1s ease-in-out infinite alternate}#photoCard h1{font-size:clamp(18px,4vw,25px);line-height:1.5}#photoCard #photoSkip{margin-top:12px}#photoCard fieldset{min-width:0}#photoStart select{width:100%;margin:8px 0 16px}#photoStart button{margin-bottom:10px}@keyframes enc-bob{to{transform:translateY(-5px)}}@media(prefers-reduced-motion:reduce){.photo-checking .enc-host{animation:none}}
#photoCard h2{font-size:16px;line-height:1.7;color:#edcf87;margin:0 0 12px}.photo-challenge input:not([type=checkbox]){font:inherit;color:#dec9ef;background:#140c22;border:2px solid #8d71a6;padding:10px;box-sizing:border-box;width:100%}.photo-challenge [hidden]{display:none!important}#photoContinue[hidden],#teamPhotoContinue[hidden]{display:none}#photoCard .enc-host{float:right;width:46px;height:46px}#photoCard .story-panel{padding:12px}.photo-challenge #encCorrection:not([open]){margin:0}.photo-challenge details{padding:6px 0;border:0}
.photo-story .shared-health-panel{padding:8px;margin:8px 0}.photo-story .shared-health-panel strong{font:19px/1.2 var(--term)}.photo-story .shared-health-note{font:16px/1.2 var(--term);margin:4px 0}.photo-story #photoCard{padding:12px}.photo-story #photoCard .enc-host{float:none;width:40px;height:40px;position:absolute;right:12px;top:10px}.photo-story #photoCard{position:relative}.photo-story #photoCard>h2{padding-right:42px}.photo-story #photoCard>.note{margin:6px 0}.photo-story .photo-challenge>p{line-height:1.3}.photo-story .photo-challenge #encReaction:empty{display:none}
/* Connected stories: keep one step prominent, with secondary walking choices. */
.family-card h2{color:#ffd56c;line-height:1.5}.family-find{color:#8de4d0}.family-walk progress{width:100%;height:12px;accent-color:#8de4d0}.family-walk .btn{margin-block:6px}.family-walk input{max-width:100%}#familyRouteReview svg,#privateRoute svg{width:100%;max-height:180px}#familyStart select,#familyStart input{width:100%;box-sizing:border-box}#familyStart label{display:block;margin-top:14px}#familyStart .note{line-height:1.45}#familySetupError:empty,#familyError:empty,#familyWalkError:empty{display:none}.family-card fieldset{min-width:0}.family-card .story-choice{align-items:flex-start}.family-card .danger{color:#ffb19e}#familyStart .btn{margin-top:12px}
#familyStart select,#familyStart input,#familyConfig select,#familyConfig input,.family-walk input{min-height:44px;border:2px solid #80619c;background:#160d25;color:#e3d2ec;padding:9px 10px;font:22px/1.25 var(--term,monospace);border-radius:3px;max-width:100%;box-sizing:border-box}#familyConfig select,#familyConfig input{width:100%}#familyConfig label{display:block;margin:12px 0 5px}.family-walk button{min-height:44px}#familyStart select:focus-visible,#familyConfig select:focus-visible,.family-walk button:focus-visible{outline:3px solid #97e3dc;outline-offset:3px}.family-card #familyMoveHint{color:#eed5f1}

/* A completion action appears only after its proof or alternative is ready. */
.family-card [hidden]{display:none!important}

.story-panel summary:focus-visible,#familyStart summary:focus-visible,#familyConfig summary:focus-visible{outline:3px solid #ffd56c;outline-offset:3px}
