/* Viewport composition for the game. Shared neutral Design owns visual roles. */
html:has(.game-site),body:has(.game-site){height:100%;overflow:hidden;overscroll-behavior:none;background:#030805}
.game-site{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--sans);border:var(--border-hair) solid var(--border)}
.game-site--active{grid-template-rows:minmax(0,1fr)}
.game-site--home{grid-template-rows:minmax(0,1fr)}
/* Display presets and scene dimensions are owned by Design. */
.game-site *{box-sizing:border-box}
.game-site p{line-height:1.65;color:var(--text-dim)}
.game-site h1,.game-site h2,.game-site h3{font-family:var(--serif);font-weight:500;text-wrap:balance}
.game-site h1{font-size:clamp(1.8rem,4vw,3.5rem);line-height:1.12;margin:.5rem 0 1rem}
.game-site h2{font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.2}
.game-site h3{font-size:1.5rem;line-height:1.25}
.game-site a{text-underline-offset:.25em}
.game-site h1:focus{outline:none}
.game-header{display:flex;align-items:center;gap:1.5rem;min-height:4.5rem;padding:.65rem clamp(1rem,3vw,3rem);border-bottom:var(--border-hair) solid var(--border);z-index:1}
.game-brand{display:flex;align-items:center;text-decoration:none}
.game-brand__logo{display:block;width:clamp(7.5rem,15vw,11rem);height:auto;filter:drop-shadow(0 .2rem .55rem #000)}
.game-header-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto}.game-theme select{min-width:5.5rem}
.game-header--home{position:absolute;z-index:4;inset:0 0 auto;background:linear-gradient(180deg,rgba(3,8,5,.7),transparent);border:0}
.game-device-tool{display:flex;align-items:center;gap:.25rem;margin-left:auto;padding:.2rem;border:var(--border-hair) solid color-mix(in srgb,var(--border),transparent 25%);border-radius:var(--radius-3);background:rgba(3,8,5,.48);backdrop-filter:blur(.65rem)}
.game-device-tool .wg-button{min-height:2rem;padding:.35rem .6rem;font-size:.68rem}
.game-device-tool .wg-button[aria-pressed="true"]{color:var(--bg);background:var(--accent)}
.game-build-label,.game-kicker{font-family:var(--mono);font-size:.65rem;letter-spacing:.14em;color:var(--text-accent)!important;line-height:1.5}
.game-content{min-width:0;min-height:0;position:relative;overflow:hidden}
.game-content--window{padding:clamp(.5rem,2vw,2rem);display:flex;justify-content:center}
.game-window{display:flex;flex-direction:column;min-height:0;max-height:100%;width:min(100%,76rem);border:var(--border-hair) solid var(--border);background:var(--bg-raised)}
.game-window-bar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1.5rem;border-bottom:var(--border-hair) solid var(--border);font-family:var(--mono);font-size:.7rem;letter-spacing:.12em}
.game-window-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:clamp(1rem,3vw,2.5rem)}
.game-title-screen{height:100%;display:grid;place-items:center;padding:clamp(.75rem,3vw,2rem);text-align:center;position:relative;isolation:isolate;background-image:url('/assets/game/wingoria-home-v1.jpeg');background-size:cover;background-position:center}
.game-title-screen::before,.game-title-screen::after{content:none}
.game-title-panel{display:flex;flex-direction:column;align-items:center;gap:clamp(1rem,2.5vh,1.8rem);width:min(90%,36rem);padding:clamp(1.25rem,4vh,2.5rem);border:var(--border-hair) solid rgba(213,177,103,.34);background:rgba(3,8,5,.34);box-shadow:0 1.5rem 4rem rgba(0,0,0,.3)}
.game-title-logo{display:block;width:min(100%,32rem);height:auto;object-fit:contain;filter:drop-shadow(0 .5rem 1rem rgba(0,0,0,.7))}
.game-logo-tool{position:absolute;z-index:4;right:.75rem;bottom:.75rem;min-height:1.8rem;padding:.28rem .5rem;background:rgba(3,8,5,.62);font-family:var(--mono);font-size:.56rem;letter-spacing:.06em;backdrop-filter:blur(.5rem)}
.game-title-menu{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;width:100%}.game-title-menu .wg-button{justify-content:center;min-height:2.75rem}
.game-title-screen .wg-modal{background:rgba(3,8,5,.78);backdrop-filter:blur(.35rem)}
.game-site .game-title-screen .wg-modal__dialog{width:min(92%,30rem);background:color-mix(in srgb,var(--bg-raised),transparent 8%);box-shadow:0 1.5rem 5rem rgba(0,0,0,.58)}
.game-auth-form,.game-auth-state{display:grid;gap:1rem;text-align:left}.game-auth-providers{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.game-auth-providers .wg-button{justify-content:center}.game-auth-divider{display:flex;align-items:center;gap:.75rem;color:var(--text-dim);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.game-auth-divider::before,.game-auth-divider::after{content:"";height:var(--border-hair);flex:1;background:var(--border)}.game-auth-submit{justify-content:center;margin-top:.35rem}.game-auth-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem}.game-auth-switch{border:0;background:transparent;color:var(--text-dim);font:inherit;font-size:.75rem;text-decoration:underline;text-underline-offset:.3em;cursor:pointer}.game-auth-unavailable{margin:0;color:var(--text-accent)!important;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.game-caption{font-size:.8rem}.game-lead{font-size:1rem;max-width:37rem}.game-text-link{font-size:.9rem}
.game-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1.5rem 0 1rem}
.game-page-heading{margin:0 0 1.5rem;max-width:55rem}.game-page-heading h1{font-size:clamp(1.8rem,3vw,2.8rem)}.game-center{text-align:center;margin:1rem auto}.game-center p{margin-inline:auto}
.game-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.game-form-panel{max-width:30rem;width:100%;justify-self:end}.game-form-stack{display:grid;gap:1rem}.game-form-footer{margin-top:1.5rem;padding-top:1rem;border-top:var(--border-hair) solid var(--border);font-size:.85rem}
.game-narrow{max-width:42rem;margin:1rem auto}.game-portrait-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;max-width:52rem;margin:auto}.game-portrait-card{text-align:center}.game-portrait{display:grid;place-items:center;height:12rem;border:var(--border-hair) solid var(--border);background:var(--bg)}.game-portrait>span{font-family:var(--serif);font-size:4rem;color:var(--text-dim)}
.game-account-grid,.game-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.game-account-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.game-account-links>a{text-decoration:none}.game-account-links h2{font-size:1.4rem}.game-account-links a>span:last-child{color:var(--text-accent)}
.game-identity{display:flex;align-items:center;gap:1rem}.game-identity-mark{display:grid;place-items:center;width:4rem;height:4rem;font-family:var(--serif);font-size:2rem;border:var(--border-hair) solid var(--border);color:var(--text-accent)}.game-identity h3{margin:0}.game-identity p{margin:.5rem 0;overflow-wrap:anywhere}
.game-balance{display:flex;align-items:center;gap:2rem;margin:1rem 0}.game-balance>span,.game-credit-total{font-family:var(--serif);font-size:3rem}.game-credit-total span{font-family:var(--sans);font-size:1rem;color:var(--text-dim)}
.game-credit-tabs{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;border-bottom:var(--border-hair) solid var(--border);margin-bottom:1.5rem}.game-credit-tabs a{padding:.8rem 0;text-decoration:none;color:var(--text-dim)}.game-credit-tabs a.active{color:var(--text);border-bottom:2px solid var(--text-accent)}.game-credit-note{font-size:.8rem;margin-top:1.5rem}
.game-purchase-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:1.5rem}.game-summary{margin-block:1.5rem}.game-summary>div{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:var(--border-hair) solid var(--border)}.game-summary dt{color:var(--text-dim)}
.game-table-scroll{overflow:auto}.game-table{width:100%;border-collapse:collapse;text-align:left}.game-table th{font-size:.75rem;font-weight:500;color:var(--text-dim);padding:1rem;border-bottom:var(--border-hair) solid var(--border)}.game-table td{padding:1rem 0}
.game-invitation{padding-top:1.5rem;margin-top:1.5rem;border-top:var(--border-hair) solid var(--border)}
.game-spec-summary{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 2rem}.game-spec-summary span{padding:.7rem 1rem;border:var(--border-hair) solid var(--border);background:var(--bg-raised);color:var(--text-dim)}.game-spec-summary strong{color:var(--text);font-family:var(--serif);font-size:1.4rem;font-weight:500;margin-right:.3rem}
.game-page-group{margin:0 0 2.5rem}.game-page-group>header{display:flex;align-items:end;gap:1rem;margin:0 0 1rem;border-bottom:var(--border-hair) solid var(--border)}.game-page-group>header h2{margin:.2rem 0 .7rem}.game-page-group>header span{margin:0 0 .85rem auto;color:var(--text-dim);font-size:.75rem}.game-page-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.game-page-card{display:flex;flex-direction:column;gap:.5rem;min-height:10rem;padding:1rem;text-decoration:none}.game-page-card__id{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;color:var(--text-accent)}.game-page-card strong{font-family:var(--serif);font-size:1.15rem;font-weight:500;color:var(--text)}.game-page-card>span:not(.game-page-card__id){font-size:.76rem;line-height:1.5;color:var(--text-dim)}.game-page-card em{margin-top:auto;color:var(--text-accent);font-size:.72rem;font-style:normal}
.game-spec-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin:0 0 1rem}.game-spec-heading h1{margin:.25rem 0 .6rem}.game-spec-heading p{max-width:45rem;margin-bottom:0}.game-spec-heading__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.game-demo-badge{padding:.45rem .65rem;border:var(--border-hair) solid var(--text-accent);font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;color:var(--text-accent)}
.game-spec-canvas{margin:0 0 1rem}.game-spec-canvas__scene{position:relative;min-height:clamp(16rem,40vh,25rem);overflow:hidden;border:var(--border-hair) solid var(--border);background:radial-gradient(circle at 68% 34%,color-mix(in srgb,var(--accent),transparent 78%),transparent 34%),linear-gradient(145deg,var(--bg-raised),var(--bg));padding:3.4rem clamp(1rem,4vw,3rem) 1.5rem}.game-spec-canvas__scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text),transparent 97%),transparent);mix-blend-mode:screen}.game-spec-canvas__hud{position:absolute;z-index:2;inset:0 0 auto;display:flex;justify-content:space-between;padding:.7rem 1rem;border-bottom:var(--border-hair) solid var(--border);font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;color:var(--text-dim)}
.game-spec-character{display:grid;grid-template-columns:7rem 1fr;gap:1.5rem;align-items:center;max-width:38rem;margin:1rem auto}.game-spec-avatar{display:grid;place-items:center;aspect-ratio:.8;border:var(--border-hair) solid var(--text-accent);font-family:var(--serif);font-size:2rem;color:var(--text-accent);background:var(--bg)}.game-spec-character h2{margin:.3rem 0}.game-spec-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;max-width:40rem;margin:1.5rem auto}.game-spec-slots span{display:grid;place-items:center;aspect-ratio:1;border:var(--border-hair) solid var(--border);background:var(--bg-raised);color:var(--text-dim);font-size:.72rem}
.game-spec-arena{position:relative;width:min(100%,36rem);height:12rem;margin:auto;border:var(--border-hair) solid var(--border);background:radial-gradient(circle at center,color-mix(in srgb,var(--state-error),transparent 80%),transparent 55%)}.game-spec-arena i{position:absolute;display:grid;place-items:center;width:4rem;aspect-ratio:1;border:var(--border-hair) solid var(--border);border-radius:50%;background:var(--bg);font:normal .55rem var(--mono)}.game-spec-arena i:nth-child(1){left:18%;bottom:15%}.game-spec-arena i:nth-child(2){right:18%;top:15%}.game-spec-arena i:nth-child(3){left:42%;bottom:8%}.game-spec-arena i:nth-child(4){right:38%;top:10%}.game-spec-turns{display:flex;justify-content:center;gap:.5rem;margin:1rem auto}.game-spec-turns span{padding:.5rem .7rem;border:var(--border-hair) solid var(--border);font-size:.65rem}.game-spec-turns .is-active{border-color:var(--text-accent);color:var(--text-accent)}
.game-spec-route{display:flex;align-items:center;justify-content:center;max-width:48rem;margin:2.5rem auto}.game-spec-route i{display:grid;place-items:center;width:6rem;aspect-ratio:1;border:var(--border-hair) solid var(--border);border-radius:50%;background:var(--bg);font:normal .65rem var(--mono);text-align:center}.game-spec-route i.is-done{color:var(--text-dim)}.game-spec-route i.is-active{border-color:var(--text-accent);color:var(--text-accent);box-shadow:0 0 2rem color-mix(in srgb,var(--accent),transparent 55%)}.game-spec-route b{flex:1;height:1px;background:var(--border)}.game-spec-objective{text-align:center}.game-spec-objective h2{margin:.3rem}
.game-spec-gm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;max-width:36rem;margin:auto}.game-spec-gm-grid button,.game-spec-memories button,.game-spec-destinations button{min-height:4rem;border:var(--border-hair) solid var(--border);background:color-mix(in srgb,var(--bg-raised),transparent 5%);color:var(--text);font:inherit;cursor:pointer}.game-spec-private{max-width:36rem;margin:1rem auto;padding:1rem;border:var(--border-hair) dashed var(--text-accent);background:var(--bg)}.game-spec-private p{margin:.2rem 0}
.game-spec-landscape{position:absolute;inset:2.3rem 0 0;display:grid;place-items:center;background:radial-gradient(circle at 72% 18%,color-mix(in srgb,var(--text-accent),transparent 58%) 0 5%,transparent 6%),linear-gradient(180deg,transparent 35%,color-mix(in srgb,var(--accent),black 62%));font-family:var(--serif);font-size:clamp(2rem,8vw,6rem);letter-spacing:.16em;color:color-mix(in srgb,var(--text),transparent 78%)}.game-spec-destinations{position:absolute;left:50%;bottom:1.5rem;transform:translateX(-50%);display:flex;gap:.5rem}.game-spec-destinations button{min-height:auto;padding:.7rem 1.2rem;font-size:.72rem}
.game-spec-shop{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;max-width:48rem;margin:2rem auto}.game-spec-shop article{display:flex;flex-direction:column;justify-content:flex-end;min-height:10rem;padding:1rem;border:var(--border-hair) solid var(--border);background:linear-gradient(145deg,color-mix(in srgb,var(--accent),transparent 90%),var(--bg))}.game-spec-shop span{margin-top:.4rem;color:var(--text-accent);font-size:.72rem}.game-spec-balance{text-align:center}.game-spec-balance strong{color:var(--text)}
.game-spec-roster{display:flex;justify-content:center;margin:2.5rem auto}.game-spec-roster span{display:grid;place-items:center;width:5rem;aspect-ratio:1;margin-left:-.8rem;border:var(--border-hair) solid var(--border);border-radius:50%;background:var(--bg);font-family:var(--serif);color:var(--text-accent)}.game-spec-dialogue{max-width:38rem;margin:auto;padding:1rem 1.5rem;border-left:2px solid var(--text-accent);background:var(--bg)}.game-spec-dialogue p{margin:.2rem 0}
.game-spec-memories{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;max-width:42rem;margin:2.5rem auto}.game-spec-memories button{aspect-ratio:1;border-radius:50%;padding:1rem}.game-spec-ghost{text-align:center;font-family:var(--mono);font-size:.65rem;letter-spacing:.1em}.game-spec-entry,.game-spec-system{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:15rem;text-align:center}.game-spec-entry>div,.game-spec-system>span{display:grid;place-items:center;width:4rem;aspect-ratio:1;border:var(--border-hair) solid var(--text-accent);font-family:var(--serif);font-size:2rem;color:var(--text-accent)}.game-spec-entry h2,.game-spec-system h2{margin:.8rem 0 .2rem}.game-spec-entry p,.game-spec-system p{margin:.2rem 0 1rem}
.game-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.game-spec-list{display:grid;gap:.65rem;margin:0;padding-left:1.2rem;color:var(--text-dim)}.game-flow-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:1rem 0 0;padding:1rem;border:var(--border-hair) solid var(--border);background:var(--bg-raised)}.game-flow-navigation section:last-child{text-align:right}.game-flow-links{display:flex;flex-wrap:wrap;gap:.45rem}.game-flow-navigation section:last-child .game-flow-links{justify-content:flex-end}.game-flow-links .wg-button{height:auto;min-height:2.2rem;white-space:normal;text-align:left;font-size:.65rem}
.game-skip{position:absolute;top:-5rem;left:1rem;z-index:20;background:var(--bg-raised);padding:1rem}.game-skip:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Modal chrome stays visible; only its body scrolls. */
.game-site .wg-modal{padding:clamp(.5rem,3vw,2rem)}
.game-site .wg-modal__dialog{width:min(100%,58rem);max-height:calc(100dvh - 2rem);min-height:0;display:flex;flex-direction:column;overflow:hidden}
.game-site .wg-modal__header{flex-shrink:0;align-items:center;padding:1rem 1.5rem}
.game-site .wg-modal__body{min-height:0;overflow:hidden;padding:1.5rem}
.game-site .wg-modal__body--scrollable{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.game-site .wg-tabs__list{flex-wrap:wrap}
.game-menu-options{display:grid;gap:.7rem;max-width:30rem;margin:1rem auto}.game-menu-options>.wg-button{justify-content:center}
.game-prototype-sheet{display:grid;grid-template-columns:8rem 1fr;gap:2rem;align-items:center;padding-top:1.5rem}.game-sheet-portrait{display:grid;place-items:center;aspect-ratio:.8;border:var(--border-hair) solid var(--border);font-family:var(--serif);font-size:2rem;color:var(--text-accent)}
.game-level-path{padding:1rem;border:var(--border-hair) solid var(--border);line-height:1.8;color:var(--text-accent)}
.game-nodegraph{position:relative;width:100%;height:clamp(16rem,48vh,26rem);overflow:hidden;border:var(--border-hair) solid var(--border);background:radial-gradient(circle at 90% 22%,color-mix(in srgb,var(--accent),transparent 88%),transparent 34%),var(--bg)}
.game-nodegraph__edges{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--border);stroke-width:2;vector-effect:non-scaling-stroke}
.game-map-node{--x:50%;--y:50%;position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:1;display:grid;place-items:center;gap:.15rem;width:clamp(5.2rem,11vw,8.5rem);min-height:3.7rem;padding:.45rem .65rem;border:var(--border-hair) solid var(--border);background:var(--bg-raised);color:var(--text);font:inherit;font-family:var(--serif);text-align:center;box-shadow:0 0 0 .2rem var(--bg);cursor:pointer}
.game-map-node small{font-family:var(--mono);font-size:.52rem;letter-spacing:.1em;color:var(--text-dim)}
.game-map-node--context{border-style:dashed;color:var(--text-dim);cursor:default}
.game-map-node--hub{border-color:var(--text-accent)}
.game-map-node.is-current{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.game-map-node.is-current small{color:inherit}
/* Navigable fixtures live in Development/GamePrototype. */
.game-session-surface{height:100%;min-height:0}.game-session-surface[hidden]{display:none}.game-combat-section{height:100%;overflow:auto;padding:clamp(1rem,3vw,2.5rem);background:var(--bg)}.game-combat-section>header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.game-combat-field{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:1rem}.game-combat-field .wg-card{padding:1.5rem;min-height:12rem}.game-character-details{margin-top:1.5rem}.game-expedition-objective{max-height:calc(100% - 15rem);overflow:auto}.game-expedition-objective .game-actions{margin:.75rem 0 0}@media(max-height:600px) and (orientation:landscape){.game-world .game-expedition-objective{top:5rem;left:20%;width:60%;max-height:calc(100% - 9rem);padding:.5rem 1rem}.game-expedition-objective h2{font-size:1.2rem}.game-expedition-objective p{font-size:.72rem}}@media(max-width:640px){.game-combat-field{grid-template-columns:1fr}.game-combat-field .wg-card{min-height:0}}
.game-context-screen{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;background:var(--bg);padding:clamp(1rem,3vw,2.5rem)}.game-context-screen>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:var(--border-hair) solid var(--border)}.game-context-screen__body{min-height:0;overflow:auto;padding-block:1rem}.game-expedition-objective{position:absolute;left:1rem;top:9rem;width:min(28rem,calc(100% - 2rem));padding:1rem;background:var(--bg-raised);border:var(--border-hair) solid var(--border)}.game-expedition-objective h2{margin:.4rem 0}.game-expedition-objective p{margin:.4rem 0}
.game-role-screen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1rem;text-align:center}.game-role-screen>p{max-width:35rem;margin:0}.game-role-screen header p{margin:0}
.game-role-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,3rem);width:min(100%,42rem);min-height:0}
.game-role-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:0;height:clamp(10rem,38vh,22rem);text-decoration:none;background:radial-gradient(ellipse at center,var(--bg-raised),var(--bg))}.game-role-choice strong{font-family:var(--serif);font-size:clamp(1.2rem,3vw,2rem);font-weight:400}.game-role-choice>span:last-child{font-size:.8rem;color:var(--text-dim)}
.game-role-sigil{font-family:var(--serif);font-size:clamp(2rem,8vh,5rem);color:var(--text-accent)}
.game-world{position:relative!important;height:100%!important;min-height:0!important;display:block!important;padding:0!important;border:0!important;overflow:hidden!important;isolation:isolate;background:var(--bg);box-shadow:none!important}
.game-world-scene{position:absolute!important;inset:0!important;min-height:0!important;overflow:hidden;isolation:isolate;background-color:var(--bg);background-image:linear-gradient(180deg,rgba(3,8,5,.58) 0%,transparent 28%,transparent 60%,rgba(3,8,5,.88) 100%),url('/assets/game/xanten-dusk-v1.webp');background-size:cover;background-position:center}
.game-scene-ambience{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,8,5,.5),transparent 24%,transparent 72%,rgba(3,8,5,.45)),radial-gradient(circle at 50% 52%,transparent 0 34%,rgba(3,8,5,.18) 72%);opacity:1}
.game-world-scene[data-location="Mercato"] .game-scene-ambience{background:radial-gradient(circle at 28% 44%,color-mix(in srgb,var(--state-warning),transparent 84%),transparent 26%),radial-gradient(circle at 72% 52%,color-mix(in srgb,var(--accent),transparent 88%),transparent 30%),linear-gradient(180deg,var(--bg),var(--bg-raised))}
.game-world-scene[data-location="Fabbro"] .game-scene-ambience{background:radial-gradient(circle at 62% 58%,color-mix(in srgb,var(--state-error),transparent 78%),transparent 25%),linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--bg-raised),black 18%))}
.game-world-scene[data-location="Taverna"] .game-scene-ambience{background:radial-gradient(ellipse at 50% 55%,color-mix(in srgb,var(--state-warning),transparent 82%),transparent 38%),linear-gradient(180deg,var(--bg),var(--bg-raised))}
.game-world-scene[data-location="Forziere"] .game-scene-ambience{background:radial-gradient(circle at 50% 58%,color-mix(in srgb,var(--accent),transparent 80%),transparent 22%),linear-gradient(180deg,color-mix(in srgb,var(--bg),black 12%),var(--bg))}
.game-world-heading{position:absolute!important;z-index:3!important;inset:clamp(.75rem,2vw,1.5rem) clamp(.75rem,2vw,1.5rem) auto!important;display:grid!important;grid-template-columns:minmax(13rem,1fr) auto minmax(13rem,1fr)!important;align-items:start!important;gap:1rem!important;padding:0!important;background:transparent!important;border:0!important}
.game-world-tools{justify-self:end;display:flex;gap:.4rem}.game-world-tools .wg-button{min-width:6rem;background:color-mix(in srgb,var(--bg-raised),transparent 12%);backdrop-filter:blur(.6rem)}
.game-player-status{display:flex;align-items:center;gap:.75rem;min-width:0}.game-player-mark{display:grid;place-items:center;flex:0 0 auto;width:3rem;aspect-ratio:1;border:var(--border-hair) solid var(--border);border-radius:50%;background:color-mix(in srgb,var(--bg-raised),transparent 8%);font-family:var(--serif);color:var(--text-accent)}
.game-player-status .wg-stat-bar{gap:.2rem;min-width:min(32vw,15rem)}.game-player-status .wg-stat-bar__meta{font-size:.68rem}.game-player-status .wg-stat-bar__track{height:.3rem}.game-player-status p{margin:0}
.game-location-status{text-align:center;text-shadow:0 .15rem .6rem var(--bg)}.game-location-status p{margin:0}.game-location-status h1{font-size:clamp(1.25rem,2.3vw,2rem);margin:.15rem 0}
.game-scene-caption{position:absolute;z-index:2;left:50%;top:clamp(5rem,14vh,8rem);transform:translateX(-50%);width:min(88%,32rem);padding:.45rem .8rem;text-align:center;text-shadow:0 .15rem .6rem var(--bg);background:color-mix(in srgb,var(--bg),transparent 48%);border:var(--border-hair) solid color-mix(in srgb,var(--border),transparent 35%);backdrop-filter:blur(.35rem)}.game-scene-caption p{margin:.08rem 0}.game-scene-caption p:not(.game-kicker){font-size:.72rem}
.game-presence{position:absolute;z-index:4;left:clamp(.75rem,2vw,1.5rem);bottom:clamp(.75rem,2vw,1.5rem);display:flex;align-items:center;gap:.65rem;padding:.45rem .65rem;border:var(--border-hair) solid var(--border);border-radius:var(--radius-3);background:color-mix(in srgb,var(--bg),transparent 8%);color:var(--text);font:inherit;text-align:left;backdrop-filter:blur(.8rem);cursor:pointer}.game-presence__portraits{display:flex}.game-presence__portraits i{display:grid;place-items:center;width:1.8rem;aspect-ratio:1;margin-left:-.35rem;border:var(--border-hair) solid var(--border);border-radius:50%;background:var(--bg-raised);font-family:var(--mono);font-size:.48rem;font-style:normal}.game-presence__portraits i:first-child{margin-left:0}.game-presence strong,.game-presence small{display:block}.game-presence strong{font-size:.72rem}.game-presence small{margin-top:.1rem;color:var(--text-dim);font-size:.56rem}
.game-location-action{position:absolute;z-index:3;left:50%;bottom:clamp(6rem,12vh,8rem);transform:translateX(-50%);display:flex;justify-content:center;gap:.5rem;white-space:nowrap}
.game-destinations{position:absolute;z-index:4;left:50%;bottom:4.4rem;transform:translateX(-50%);display:flex;justify-content:center;gap:.35rem;padding:.35rem;border:var(--border-hair) solid var(--border);border-radius:var(--radius-3);background:color-mix(in srgb,var(--bg),transparent 8%);backdrop-filter:blur(.8rem)}
.game-destinations .wg-button{min-width:5.5rem;padding:.55rem .7rem}
.game-command-bar{position:absolute;z-index:4;left:50%;bottom:.65rem;transform:translateX(-50%);display:flex;justify-content:center;gap:.35rem;width:min(calc(100% - 1.5rem),48rem);padding:0;border:0}.game-command-bar .wg-button{flex:1;max-width:none;background:color-mix(in srgb,var(--bg-raised),transparent 8%);backdrop-filter:blur(.8rem)}
.game-world-status{position:absolute;z-index:2;right:.75rem;bottom:.15rem;font-family:var(--mono);font-size:.5rem;letter-spacing:.08em;color:var(--text-dim)}
/* Bounded correction for the neutral Design hover contrast. */
.game-site .wg-button--secondary:hover,.game-site .wg-button--quiet:hover{background:var(--bg-raised);color:var(--text)}
@media(max-width:1024px){.game-world-heading{grid-template-columns:1fr auto!important;grid-template-areas:"player tools" "location location"}.game-player-status{grid-area:player}.game-location-status{grid-area:location;margin-top:-.35rem}.game-world-tools{grid-area:tools}.game-player-status .wg-stat-bar{min-width:min(45vw,14rem)}.game-scene-caption{top:8rem}}
@media(max-width:900px){.game-page-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.game-spec-heading{display:block}.game-spec-heading__actions{justify-content:flex-start;margin-top:1rem}}
@media(max-width:640px){.game-header{gap:.35rem;padding:.45rem .55rem;min-height:3.5rem}.game-brand__logo{width:6.5rem}.game-build-label{display:none}.game-header-actions{gap:.25rem}.game-header-actions>a:first-child{display:none}.game-theme select{min-width:4rem}.game-device-tool{gap:.1rem}.game-device-tool .wg-button{padding:.28rem .3rem;font-size:.5rem}.game-device-tool>a:first-of-type{display:none}.game-title-screen{background-position:56% center}.game-title-panel{width:min(92%,21rem)}.game-title-menu{grid-template-columns:1fr}.game-auth-providers{grid-template-columns:1fr}.game-account-grid,.game-account-links,.game-purchase-grid,.game-guide-grid,.game-access-grid,.game-page-catalog,.game-spec-grid,.game-flow-navigation{grid-template-columns:1fr}.game-access-grid{gap:1.5rem}.game-form-panel{max-width:none}.game-window-bar{padding:.35rem .75rem}.game-prototype-sheet{grid-template-columns:1fr;gap:1rem}.game-sheet-portrait{display:none}.game-role-choice{padding:1rem .5rem}.game-spec-canvas__scene{min-height:18rem;padding-inline:.75rem}.game-spec-character{grid-template-columns:4.5rem 1fr}.game-spec-slots,.game-spec-shop,.game-spec-memories{grid-template-columns:repeat(2,1fr)}.game-spec-route i{width:4.5rem}.game-spec-turns{flex-wrap:wrap}.game-flow-navigation section:last-child{text-align:left}.game-flow-navigation section:last-child .game-flow-links{justify-content:flex-start}.game-world .wg-button{font-size:.62rem;padding:.4rem .35rem;min-height:2.2rem}.game-world-heading{inset:.55rem .55rem auto!important;gap:.4rem!important;grid-template-columns:minmax(0,1fr) auto!important}.game-player-mark{width:2.35rem}.game-player-status .wg-stat-bar{min-width:7.5rem}.game-player-status .wg-stat-bar__meta{font-size:.58rem}.game-player-status .wg-stat-bar__meta span:last-child{display:none}.game-world-tools{gap:.2rem}.game-world-tools .wg-button{min-width:0}.game-location-status{margin-top:0}.game-location-status h1{font-size:1.2rem}.game-destinations{left:.55rem;bottom:3.45rem;transform:none;width:calc(100% - 1.1rem);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.2rem;padding:.25rem}.game-destinations .wg-button{min-width:0;padding:.4rem .1rem;overflow:hidden}.game-command-bar{bottom:.55rem;width:calc(100% - 1.1rem);gap:.2rem}.game-command-bar .wg-button{padding:.4rem .15rem}.game-scene-caption{top:8rem}.game-presence{left:.55rem;bottom:7rem}.game-location-action{bottom:9.2rem;white-space:normal;width:calc(100% - 1rem)}.game-location-action .wg-button{flex:1}.game-world-status{display:none}.game-site .wg-modal__header,.game-site .wg-modal__body{padding:.75rem}.game-role-choice>span:last-child{font-size:.7rem}.game-map-node{width:4.4rem;min-height:3.25rem;padding:.3rem;font-size:.72rem}.game-map-node small{font-size:.42rem}.game-nodegraph{height:15rem}}
@media(max-height:600px) and (orientation:landscape){.game-header{min-height:3.25rem;padding-block:.35rem}.game-title-logo{width:min(60vw,18rem)}.game-title-panel{gap:.25rem;padding:.55rem 1.25rem}.game-title-copy h1{font-size:clamp(2rem,8vh,3.5rem)}.game-title-menu{gap:.35rem}.game-title-note{display:none}.game-role-screen{gap:.4rem}.game-role-screen h1{font-size:1.6rem;margin:.25rem 0}.game-role-choice{height:clamp(7rem,37vh,12rem);gap:.4rem}.game-role-sigil{font-size:2rem}.game-world-heading{inset:.45rem .45rem auto!important;grid-template-columns:minmax(11rem,1fr) auto minmax(11rem,1fr)!important;grid-template-areas:"player location tools"}.game-player-status{grid-area:player}.game-location-status{grid-area:location;margin:0}.game-world-tools{grid-area:tools}.game-player-status .wg-stat-bar{min-width:11rem}.game-scene-caption{top:4.8rem}.game-scene-caption p:not(.game-kicker){display:none}.game-location-action{bottom:4.6rem}.game-destinations{left:50%;bottom:.45rem;transform:translateX(-50%)}.game-destinations .wg-button{min-width:4.5rem}.game-command-bar{left:auto;right:.45rem;bottom:.45rem;transform:none;width:min(40%,30rem)}.game-command-bar .wg-button{min-width:0;padding:.4rem .25rem;font-size:.62rem}.game-presence{left:.45rem;bottom:.45rem}.game-world-status{display:none}}
@media(prefers-reduced-motion:reduce){.game-site *{scroll-behavior:auto}}

/* Consumer scene content adapts to the Design-owned container. */
.game-site{container-type:inline-size}
@container (max-width:640px){
 .game-site .game-header{flex-wrap:wrap;gap:.4rem;padding:.5rem 6.25rem .5rem .5rem}
 .game-build-label{display:none}
 .game-header-actions,.game-device-tool{flex-wrap:wrap;margin-left:0;gap:.25rem}
 .game-header-actions .wg-button{padding:.25rem;font-size:.7rem}
 .game-window{min-width:0}
 .game-window-body{padding:.75rem}
 .game-spec-heading{flex-wrap:wrap}
 .game-spec-grid,.game-flow-navigation,.game-page-catalog{grid-template-columns:1fr}
 .game-site h1{font-size:1.8rem}
}
