/* Hide game chrome without changing its measurements or the gameplay camera. */
body.home-visible > header,body.home-visible main,body.home-visible .controls-dock,body.home-visible .edition{visibility:hidden}
#home-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;color:var(--text-primary)}
#home-dialog::backdrop{background:transparent;backdrop-filter:none}
.home-board{position:absolute;top:calc(var(--home-header-bottom,48px) + 8px);left:12px;right:12px;border:1px solid var(--divider-strong);background:#101b21ed;padding:0 12px}
.home-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px 0}
.home-row+.home-row{border-top:1px solid var(--divider)}
.home-row h2,.home-heading{display:block;font:700 23px/1.05 var(--font-display);letter-spacing:.4px;margin:0 0 5px!important}
.home-row p,#home-overview>span:not(.home-heading){display:block;margin:3px 0 0;font-size:11px;line-height:1.35;color:var(--text-secondary)}
#home-overview>span:empty{display:none}
#home-overview .home-best{color:var(--accent)!important}
.home-row button{min-height:44px;padding:10px;border:1px solid var(--divider-strong);background:var(--surface-ui);color:var(--text-primary);border-radius:var(--radius-control);font:700 10px var(--font-instrumentation)}
.home-row button.primary{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}
.home-row #home-overview{padding:0;border:0;background:none;text-align:left;font-weight:400;border-radius:0}
#home-overview:hover .home-heading{text-decoration:underline;text-underline-offset:4px}
#home-overview:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
#daily-title{font-size:32px!important}
@media(min-width:701px){.home-board{left:40px;right:auto;width:400px;padding:0 16px}.home-row{padding:16px 0}.home-row h2,.home-heading{font-size:26px}.home-row p,#home-overview>span:not(.home-heading){font-size:11px}}

/* Court navigation is confined to home, below the header and behind its controls. */
#home-world{position:absolute;inset:var(--home-header-bottom,48px) 0 0;cursor:pointer;touch-action:none}
.home-board{z-index:1}
.home-row.home-secondary{display:block;padding:6px 0}
.home-secondary #home-play{position:relative;display:block;width:100%;padding:6px 0;border:0;background:none;text-align:left;border-radius:var(--radius-control)}
#home-all-title{display:block;font-size:11px;line-height:1.3}
#home-progress{display:block;margin-top:3px;font-size:11px;line-height:1.35;font-weight:400;color:var(--text-secondary)}
#home-continue{position:absolute;right:4px;top:16px;font-size:10px}
.home-secondary #home-play.primary{background:var(--accent);color:var(--text-on-accent);padding-left:10px}
#home-play.primary #home-progress{color:var(--text-on-accent)}
#home-status:empty,#home-best:empty,#home-next:empty{display:none}
#daily-next{font-size:10px;letter-spacing:1px;color:var(--text-secondary);text-align:center;margin:10px 0 0}
/* On short/landscape screens keep the same court camera, constrain the panel only. */
@media(max-height:650px){.home-board{max-height:calc(100dvh - var(--home-header-bottom,48px) - 20px);overflow:auto}.home-row{padding:8px 0}}
@media(orientation:landscape) and (max-height:500px){.home-board{width:310px;right:auto;left:12px}.home-heading{font-size:22px}.home-row{padding:8px 0}}
/* The static result cue fits the existing bottom padding; result actions keep their layout. */
#daily-next{position:absolute;bottom:6px;left:0;right:0;margin:0;font-size:9px;line-height:12px;pointer-events:none}
body.home-visible #toast{visibility:hidden}

/* The compact Home header is inside the modal; the measured game shell stays put. */
body.home-visible > header{background:transparent;border-color:transparent}
#home-header{position:absolute;inset:0 0 auto;min-height:calc(48px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(12px,env(safe-area-inset-right,0px)) 0 max(12px,env(safe-area-inset-left,0px));display:flex;align-items:center;justify-content:space-between;background:var(--surface-overlay);z-index:3}
#home-header .brand{margin:0;min-height:44px}
#home-header #game-menu{margin:2px 0}
@media(min-width:701px){#home-header{min-height:calc(56px + env(safe-area-inset-top,0px));padding-left:max(4%,env(safe-area-inset-left,0px));padding-right:max(4%,env(safe-area-inset-right,0px))}}

.home-board { left: max(12px, env(safe-area-inset-left, 0px)); right: max(12px, env(safe-area-inset-right, 0px)); max-height: calc(100dvh - var(--home-header-bottom,48px) - env(safe-area-inset-bottom,0px) - 20px); overflow: auto; }
@media(min-width:701px) { .home-board { left: max(40px, env(safe-area-inset-left,0px)); right: auto; } }
@media(orientation:landscape) and (max-height:500px) { .home-board { left: max(12px, env(safe-area-inset-left,0px)); } }
#privacy-notice { padding: 6px 0 10px; font-size: 10px; line-height: 1.5; border-top: 1px solid var(--divider); }
#privacy-notice a { color: var(--text-secondary); text-underline-offset: 3px; }
