/* A world entrance, with the same quiet white/sage UI as the home. */
.courtyard-mode #app{max-width:none}
.courtyard-mode #app>:not(#stage):not(#sheetBackdrop):not(.courtyard-ui):not(#toast):not(.achievement-toast){display:none!important}
.courtyard-mode #stage{margin:0!important;height:100%;flex:1;background:#dceadb}
.courtyard-mode #stage>:not(#scene){display:none!important}
.courtyard-mode #scene{touch-action:none}
.courtyard-mode #sheetBackdrop{right:0}
.courtyard-ui{position:absolute;inset:0;z-index:8;pointer-events:none;color:#36513f;touch-action:none;overflow:hidden;font-family:inherit}
.courtyard-ui button{pointer-events:auto;touch-action:manipulation;min-height:44px;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s,transform .12s}
.courtyard-ui button:active:not(:disabled){transform:scale(.97)}
.courtyard-ui button:focus-visible{outline:3px solid #66946f;outline-offset:3px}
.courtyard-ui button:disabled{cursor:default;color:#81917c}
.yard-top{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));left:max(14px,env(safe-area-inset-left,0px));right:max(14px,env(safe-area-inset-right,0px));display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;gap:8px}
.yard-top>button{border:1px solid #d9e5d3;border-radius:999px;background:#fffffff0;color:#4c704c;padding:8px 12px;font-size:13px}
.yard-top>[data-yard=home]{width:44px;padding:0;display:grid;place-items:center}
.yard-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.yard-top>div{text-align:center;text-shadow:0 1px #ffffff99}
.yard-top b{display:block;font-size:18px;letter-spacing:.05em}
.yard-top small{display:block;font-size:11px;margin-top:3px;color:#687f5e}
.yard-place{position:absolute;transform:translate(-50%,-100%);width:112px;padding:7px 9px;border:1px solid #d6e2ce;border-radius:17px;background:#fffffff2;box-shadow:0 3px 7px #325c3210;text-align:center;white-space:nowrap}
.courtyard-ui .yard-place:active{transform:translate(-50%,-100%) scale(.97)}
.yard-place b{display:block;font-size:13px;line-height:20px;color:#3e6042}
.yard-place small{display:block;font-size:10px;line-height:16px;color:#70876a}
.yard-place.is-suggested{border-color:#8caf7d}
.yard-place.is-near{background:#e5f1db;border-color:#85a976}
.yard-place.is-closed{width:94px;background:#f5f8f0dc;border-style:dashed;box-shadow:none}
.yard-place.is-closed b{font-size:11px;font-weight:500;color:#77876f}
.yard-place.is-closed small{font-size:11px;color:#5f7758}
.yard-guidance{position:absolute;bottom:calc(157px + env(safe-area-inset-bottom,0px));left:18px;right:18px;margin:auto;max-width:420px;text-align:center;font-size:12px;line-height:18px;color:#526c4d;text-shadow:0 1px #ffffffb3}
.yard-controls{position:absolute;bottom:calc(22px + env(safe-area-inset-bottom,0px));left:max(20px,env(safe-area-inset-left,0px));right:max(18px,env(safe-area-inset-right,0px));display:flex;justify-content:space-between;gap:16px;align-items:flex-end}
.yard-stick{position:relative;flex:0 0 102px;width:102px;height:102px;pointer-events:auto;touch-action:none;border:1px solid #91ad8680;background:#f8fff33b;border-radius:50%;box-shadow:inset 0 0 0 10px #ffffff25}
.yard-stick>i{position:absolute;left:29px;top:29px;width:44px;height:44px;border-radius:50%;background:#ffffffd9;border:1px solid #a6b99b;box-shadow:0 2px 5px #38603612;pointer-events:none}
.yard-stick.held{border-color:#7a9c6b;background:#eff9e759}
.yard-stick>span{position:absolute;bottom:-19px;left:0;right:0;text-align:center;font-size:10px;color:#638057;pointer-events:none}
.yard-actions{display:flex;flex-direction:column;gap:8px;width:min(224px,calc(100% - 115px));pointer-events:auto}
.yard-context{width:100%;min-height:48px!important;border:1px solid #517b53;border-radius:999px;background:#527c53;color:#fff;font-size:14px!important;font-weight:700!important;box-shadow:0 2px 5px #31503212}
.yard-context:disabled{background:#f4f8eef2;border-color:#dce7d2;color:#758a69}
.yard-shortcuts{display:flex;gap:6px}
.yard-shortcuts>button{flex:1;min-width:0;padding:8px 5px;border:1px solid #d8e4cc;background:#fffffff0;border-radius:999px;color:#58724f;font-size:11px;line-height:15px}
.yard-transition{position:absolute;inset:0;z-index:3;pointer-events:none;background:#f5faf0;opacity:0}
.courtyard-ui[data-phase=leaving] .yard-labels,.courtyard-ui[data-phase=leaving] .yard-controls,.courtyard-ui[data-phase=reveal] .yard-labels,.courtyard-ui[data-phase=reveal] .yard-controls{visibility:hidden;pointer-events:none}
.courtyard-ui[data-blocked=true]{visibility:hidden}
.yard-top{z-index:5}.yard-guidance{z-index:4}
.play-room .courtyard-entry{width:100%;margin:0 0 14px;min-height:46px;gap:7px}
@media(min-width:700px){.yard-top{left:24px;right:24px}.yard-controls{left:32px;right:32px}.yard-actions{width:244px}.yard-place{width:120px}}
@media(max-width:350px){.yard-controls{left:14px;right:14px;gap:10px}.yard-stick{width:92px;height:92px;flex-basis:92px}.yard-stick>i{left:24px;top:24px}.yard-actions{width:calc(100% - 102px)}.yard-place{width:100px;padding:5px 6px}.yard-place b{font-size:12px}.yard-top{left:12px;right:12px}.yard-guidance{font-size:11px}}
@media(orientation:landscape) and (max-height:560px){.yard-top{top:calc(8px + env(safe-area-inset-top,0px))}.yard-top small{display:none}.yard-top b{font-size:16px}.yard-guidance{bottom:calc(12px + env(safe-area-inset-bottom,0px));left:145px;right:250px;font-size:10px;max-width:none}.yard-controls{bottom:calc(20px + env(safe-area-inset-bottom,0px));left:18px;right:18px}.yard-place{width:102px;padding:4px 6px}.yard-place b{font-size:12px}.yard-place small{font-size:9px}.yard-place.is-closed{width:86px}}
@media(prefers-reduced-motion:reduce){.courtyard-ui button{transition:none}}
