/* A game board with a contextual invitation, rather than a scrolling tool panel. */
.board-world{display:block;position:relative;height:100dvh;overflow:hidden}.stage{position:absolute;inset:0;width:100%;height:100%;min-height:0}.masthead{position:absolute;inset:14px 18px auto;margin:0;border:0;z-index:12;min-height:44px;gap:12px;pointer-events:none}.masthead>*{pointer-events:auto}.masthead .brand{font-size:12px;background:var(--paper);padding:10px 12px;border-radius:10px}.masthead .edition{display:none}.masthead #boardOptions{margin-left:0;width:44px;height:44px;border-radius:50%;border:1px solid var(--rule);background:var(--paper);font-size:22px}.masthead #boardSave{margin-left:auto;border-radius:12px;font-size:15px;padding:8px 16px;min-height:44px}.masthead #boardSave[hidden]+#boardOptions{margin-left:auto}.scene-caption{top:130px;left:24px}.scene-caption>span{font-size:10px}.scene-caption small{max-width:150px}.play-views{position:absolute;top:18px;left:50%;transform:translateX(-50%);z-index:11;display:flex;gap:8px}.play-views button{display:flex;align-items:center;gap:8px;white-space:nowrap;background:var(--paper);border-radius:12px;min-height:44px;font-size:14px;padding:8px 14px}.play-views svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}.play-memory{position:absolute;top:74px;left:18px;right:18px;display:flex;align-items:flex-start;justify-content:space-between;z-index:10;pointer-events:none}.play-memory button{pointer-events:auto;background:var(--paper);border-radius:12px;min-height:44px}.moment-memory{border:0;padding:0;margin:0;display:flex;gap:8px;align-items:center}.moment-memory>span{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.moment-memory button{padding:8px 12px;text-decoration:none;font-size:13px}.moment-memory #undoMoment{font-size:12px}.history-actions{margin:0;gap:8px}.history-actions button{min-width:44px;padding:8px;font-size:22px;min-height:44px}.history-actions button:disabled{display:none}.history-actions #pieceCount{font-size:12px;text-decoration:none;padding:8px 12px}.view-controls{top:132px;right:18px;gap:8px}.view-controls button{background:var(--paper);border-radius:12px;border-color:var(--rule)}#boardOrbit{display:none}.board-hint{display:none}.compare-banner{top:190px;left:auto;right:18px;border-radius:12px}
.dock{position:absolute;z-index:20;left:24px;bottom:24px;width:380px;max-height:calc(100dvh - 170px);overflow:auto;display:block;padding:20px;background:var(--paper);border:1px solid var(--rule);border-radius:20px;box-shadow:0 5px 24px #0d1b2a16}.dock-foot{margin:8px 0 0;padding:0;border:0;min-height:0}.dock-foot>span{display:none}.dock-foot button{min-height:44px;padding:8px;font-size:12px}.dock-foot{display:flex;justify-content:flex-end}#arrival{margin:0}#arrival .eyebrow{display:none}#arrival h1{font-size:38px;line-height:1.06;margin:0 0 10px;letter-spacing:-1.3px}#arrival h1 br{display:none}#arrival>p{font-size:15px;margin:0 0 16px}#arrival .fine{display:none}#arrival .primary{border-radius:12px;font-size:17px;min-height:52px}#enterQuiet{display:block;text-align:center;margin:4px auto 0;min-height:44px;font-size:13px;padding:8px;text-decoration:none}.guide-heading{height:32px}.guide-heading .eyebrow{font-size:11px;letter-spacing:.6px}.guide-heading button{min-height:44px;padding:8px}.dock h2{font-size:25px;line-height:1.13;margin:4px 0 8px;max-inline-size:25ch}.feedback{font-size:14px;line-height:1.4;min-height:0;margin:0 0 12px}.moment-choices{grid-template-columns:1fr 1fr;margin:14px 0 0;gap:12px}.moment-choices>button:not(.text-action){padding:14px 12px;display:flex;flex-direction:column;align-items:flex-start;border-radius:14px;gap:4px;min-height:104px}.moment-choices strong{font-size:18px}.moment-choices span{font-size:26px}.moment-choices small{font-size:12px}.moment-choices .text-action{grid-column:1/-1;min-height:44px;margin:auto}.piece-tray{grid-template-columns:repeat(4,1fr);gap:8px}.piece-tray button{border-radius:14px;min-height:76px;flex-direction:column;gap:5px;padding:8px 2px;font-size:13px}.piece-tray svg{width:32px;height:32px;flex:none}.piece-tray button[aria-pressed=true]{padding:7px 1px;border-color:var(--coral);background:#e4cbb5}.piece-tray #boardMic svg{stroke:var(--coral)}.piece-actions{display:block;border:0;margin:10px 0 0;padding:0}.piece-actions>span{font-size:13px;margin:0 0 6px}.piece-actions button{border-radius:10px;min-height:44px;font-size:13px}.place-actions{border:0;padding:0;margin:10px 0 0}.place-actions button{border-radius:10px;min-height:44px;font-size:13px}.write-idea,.extra-play{margin-top:8px}.write-idea summary,.extra-play summary{cursor:pointer;font-size:13px;min-height:44px;padding:12px 0;color:var(--quiet)}.extra-play .proposal-actions{margin:0}.proposal-actions button{border-radius:10px;min-height:44px}.composer input{border-radius:10px;font-size:16px}.composer button{border-radius:10px}.need-choices button{border-radius:12px;min-height:44px;font-size:14px}body[data-phase=arrival] .play-memory,body[data-phase=moment] .play-memory{display:none}body[data-has-pieces=false] .extra-play{display:none}body[data-phase=placing] .extra-play,body[data-phase=selected] .extra-play{display:none}body[data-phase=moment] .write-idea{display:none}
/* Native dialog controls stay reachable; secondary information unfolds here. */
dialog{border-radius:18px;box-shadow:0 8px 40px #0d1b2a30}dialog .primary{border-radius:12px}dialog h2{font-size:30px}.xr-diagnostics{margin-top:16px}.phone-look .play-views,.phone-look .play-memory,.phone-look .view-controls{display:none}.phone-look-controls>div button,.phone-look-controls>button{border-radius:12px}.street-step{align-self:flex-end;margin-top:-56px;min-width:124px}.phone-look-controls p{border-radius:12px}.phone-look .stage{z-index:1000}
@media(max-width:620px){.masthead{inset:12px 16px auto;min-height:44px}.masthead .brand{font-size:11px;padding:10px}.play-views{top:70px;left:16px;right:16px;transform:none;justify-content:center}.play-views button{flex:1;justify-content:center;font-size:13px;padding:8px 10px;min-width:0}.play-memory{top:126px;left:16px;right:16px}.moment-memory #undoMoment{display:none}.history-actions #pieceCount{font-size:12px}.history-actions button{min-width:44px}.scene-caption{display:none}.view-controls{top:184px;right:16px}.view-controls #boardZoomIn,.view-controls #boardZoomOut{display:none}.dock{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-height:calc(100dvh - 242px);padding:16px;border-radius:20px}.dock h2{font-size:23px}.feedback{font-size:14px}.dock-foot{display:none}#arrival h1{font-size:34px}#arrival>p{font-size:15px}.moment-choices{margin-top:12px}.piece-tray button{min-height:72px}.compare-banner{top:184px;right:72px;font-size:11px}.compare-banner button{font-size:12px}.dock:focus-within{max-height:calc(100dvh - 128px)}.phone-look-controls p{max-width:100%;font-size:13px}.phone-look-controls>button{font-size:13px}.street-step{min-width:116px}dialog{padding:18px}}
@media(max-height:600px){.play-memory{top:118px}.dock{max-height:calc(100dvh - 184px);padding:12px 16px}.dock h2{font-size:21px}.feedback{font-size:13px}.piece-tray button{min-height:62px}.piece-tray svg{width:25px;height:25px}.moment-choices>button:not(.text-action){min-height:86px}.view-controls{top:170px}}
@media(prefers-reduced-motion:reduce){.dock,.play-views{animation:none}}

@media(max-width:620px){.stage canvas{height:calc(100% - 140px)}.phone-look .stage canvas{height:100%}#world[data-moment=morning] .stage{background:#dce8e6}#world[data-moment=afternoon] .stage{background:#ead8bd}}

/* One invitation to explore the whole visual scene; no exposed shader controls. */
.explore-life{position:absolute;z-index:11;top:210px;left:24px;background:var(--paper);border-radius:12px;min-height:44px;padding:8px 14px;font-size:14px}.life-dialog{width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto}.life-dialog h2{margin:8px 0 18px}.visual-styles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.visual-styles button{border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:5px;text-align:left;min-width:0;min-height:130px}.visual-styles strong{font-size:15px}.visual-styles small{font-size:11px;line-height:1.3}.visual-styles button[aria-pressed=true],.life-pair button[aria-pressed=true]{border-color:var(--coral);background:#e6d0b9}.style-sample{display:flex;align-items:flex-end;justify-content:center;gap:5px;width:100%;height:64px;padding:8px;background:#ded5be;overflow:hidden;border-radius:8px}.style-sample i{display:block;width:21%;height:28px;background:#cead88;transform:skewY(-12deg)}.style-sample i:nth-child(2){height:43px;background:#9cab82}.style-sample i:nth-child(3){height:34px;background:#e1b6a1}.sample-ink{background:#eee8d7;background-image:repeating-linear-gradient(35deg,transparent,transparent 8px,#8e938631 9px,transparent 10px)}.sample-ink i,.sample-ink i:nth-child(2),.sample-ink i:nth-child(3){background:#dedbc8;border:1px solid #41504b}.sample-natural{background:#b3bd9f}.sample-natural i{background:repeating-linear-gradient(0deg,#a88761,#a88761 4px,#826747 5px)}.sample-natural i:nth-child(2){background:#718752}.sample-natural i:nth-child(3){background:#d7c2a0}.life-prompt{margin:16px 0 6px;font-size:14px}.life-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.life-pair button{border-radius:10px;min-height:44px;font-size:14px}.life-dialog #tryWholeScene{margin-top:18px;width:100%;min-height:48px}.life-dialog .fine{font-size:11px;margin-bottom:0}.phone-look .explore-life{display:none}.xr-active .explore-life{display:none}
@media(max-width:620px){.explore-life{left:16px;top:184px;font-size:13px}.life-dialog{padding:18px}.visual-styles{gap:7px}.visual-styles button{padding:7px;min-height:124px}.visual-styles strong{font-size:13px}.visual-styles small{font-size:10px}.style-sample{height:58px}.life-dialog h2{font-size:27px}}

.phone-look-controls #streetStyle{font-size:13px;min-height:44px;padding:8px 12px}.phone-look-controls>div{flex-wrap:wrap}.phone-look-controls #exitPhoneLook{margin-left:auto}

#enterExample{display:block;width:100%;min-height:44px;font-size:13px;margin-top:2px;text-align:center;border-radius:10px;color:var(--coral);text-decoration:none;background:#e6d0b936}

/* A single task at a time. The same dock becomes a tray or a piece editor. */
.scene-caption,.moment-memory{display:none}.explore-life{top:76px;left:18px}.play-memory{top:76px;left:auto;right:18px}.view-controls{top:auto;bottom:24px;right:18px}.view-controls #boardZoomIn,.view-controls #boardZoomOut{display:none}
.dock{padding:12px 16px;width:360px}.dock-foot{display:none}.guide-heading{height:44px;display:flex;justify-content:space-between;align-items:center;margin:0 0 4px}.guide-heading .eyebrow{display:none}.guide-heading button{font-size:12px;min-height:44px;padding:8px 0}.guide-heading #moreIdeas{font-size:13px}.dock h2{font-size:22px}.feedback{font-size:14px;line-height:1.35;margin:0 0 10px}.piece-tray{margin:0;gap:6px}.piece-tray button{min-height:68px;border:0;background:#ddd7c666;border-radius:12px}.piece-tray svg{height:28px;width:28px}
body[data-phase=build] #boardQuestion,body[data-phase=selected] #boardQuestion,body[data-phase=placing] #boardQuestion{display:none}
body[data-phase=selected] .piece-tray,body[data-phase=placing] .piece-tray{display:none}
.piece-actions{margin:0}.piece-actions>span{font-size:15px}.piece-actions #clearSelection{float:right;min-height:44px;font-size:13px;padding:8px;border:0;background:transparent}.piece-actions>div{clear:both}.piece-actions button:disabled{display:none}.place-actions{margin:0}.piece-actions button,.place-actions button{min-height:48px}
.piece-actions{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px}.piece-actions[hidden]{display:none}.piece-actions>span{margin:0}.piece-actions #clearSelection{float:none;margin:0}.piece-actions>div{grid-column:1/-1;margin:0}
#ideasDialog{border-radius:18px}#ideasDialog .extra-play{display:block!important;margin:12px 0}#ideasDialog .write-idea{display:block;margin:12px 0}#ideasDialog>#pieceCount,#ideasDialog>#boardRedo,#ideasDialog>#boardMute{min-height:44px;margin:8px 8px 0 0}#ideasDialog>button:disabled{display:none}#ideasDialog .composer{margin-bottom:12px}
#ideasDialog .extra-play>summary{display:none}
body[data-phase=arrival] .explore-life,body[data-phase=moment] .explore-life{display:none}
.phone-look-controls>div{display:flex;justify-content:space-between;align-items:flex-start}.phone-look-controls .eyebrow{display:none}#exitPhoneLook{order:-1;margin-left:0!important}#streetHelp{margin-left:auto;font-size:13px;min-height:44px}#streetStyle{display:none!important}.phone-look-controls #phoneMotion{display:none}.phone-look-controls[data-help=true] #streetStyle{display:block!important}.phone-look-controls[data-help=true] #phoneMotion{display:block;position:absolute;top:116px;left:16px}.phone-look-controls[data-help=true] #phoneLookStatus{display:block!important}.phone-look-controls #phoneLookStatus{position:absolute;bottom:86px;left:16px;right:16px;max-width:420px;margin:0;padding:10px 14px;font-size:13px;border-radius:12px;pointer-events:none}.phone-look-controls #phoneLookStatus[hidden]{display:none}.phone-look-controls #streetStep{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);right:auto;width:auto;min-width:160px;min-height:54px;border-radius:28px;background:var(--coral);color:var(--paper);font-size:17px}
.xr-active .masthead,.xr-active .play-views,.xr-active .play-memory,.xr-active .view-controls,.xr-active .dock{display:none}#xrOverlay{font-family:inherit;color:var(--ink)}#xrOverlay .xr-exit{position:absolute;top:max(16px,env(safe-area-inset-top));left:16px;min-height:44px;border-radius:12px;background:var(--paper)}#xrMessage{bottom:104px;max-width:420px;margin:0 auto;padding:10px 14px;border-radius:12px;text-align:center;font-size:14px;pointer-events:none}.xr-actions{bottom:max(20px,env(safe-area-inset-bottom));justify-content:center;flex-wrap:nowrap}.xr-actions button{min-height:52px;border-radius:14px;padding:10px 14px}.xr-actions button[data-xr=add]{background:var(--coral);color:var(--paper)}#xrOverlay[data-placing=true] #xrMessage{bottom:30px}.xr-actions:empty{display:none}
.xr-actions button{flex:1;min-width:0;max-width:180px}#xrOverlay[data-placing=true] .xr-actions{display:none}
@media(max-width:620px){.masthead{inset:12px 16px auto}.masthead .brand{font-size:10px;padding:10px}.play-views{top:66px;left:16px;right:16px;transform:none;justify-content:center}.play-views button{flex:1;justify-content:center;padding:8px;font-size:13px}.explore-life{top:118px;left:16px;font-size:13px}.play-memory{top:118px;left:auto;right:16px}.dock{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;padding:10px 14px;max-height:calc(100dvh - 190px)}.view-controls{top:auto;bottom:220px;right:16px}.piece-tray button{min-height:66px;font-size:12px}.stage canvas{height:calc(100% - 85px)}.phone-look .stage canvas{height:100%}.xr-actions{gap:6px}.xr-actions button{padding:8px 10px;font-size:14px}}
