/* Studio styles consume docs/brand/tokens.json, copied during build. */
.nav nav .account-link.is-signed-in{border-color:var(--lg-color-forest);display:flex;flex-direction:column;gap:0;line-height:1.4}
.account-state{color:var(--lg-color-forest);font-size:12px;font-weight:600}
.account-state::before{content:'●';margin-right:6px;font-size:10px}
.account-game-identity{display:flex;align-items:center;gap:16px}
.account-game-identity img{width:64px;height:64px;object-fit:contain;flex-shrink:0}
@media(max-width:600px){.account-game-identity{gap:10px}.account-game-identity img{width:44px;height:44px}.dashboard-top{flex-wrap:wrap}}
@font-face{font-family:'Noto Sans';src:url('/assets/noto.woff2') format('woff2');font-weight:100 900;font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--lg-color-canvas);color:var(--lg-color-ink);font-family:var(--lg-font-body);font-size:16px;line-height:1.7}
a{color:inherit;text-underline-offset:5px}
button,input{font:inherit}
a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--lg-color-focus);outline-offset:5px}
img{max-width:100%;display:block;height:auto}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--lg-font-display);font-weight:400;line-height:1.05;letter-spacing:-.035em}
h1{font-size:clamp(48px,5.7vw,86px);margin-bottom:28px}
h2{font-size:clamp(36px,4vw,58px)}
h3{font-size:25px;line-height:1.3;font-weight:550}
em{font-weight:400;color:var(--lg-color-bronze)}
p{color:var(--lg-color-text-secondary);max-width:64ch}
a.button{text-decoration:none}
.eyebrow{font-size:var(--lg-fontSize-label);letter-spacing:.19em;font-weight:650;line-height:1.8;color:#74684c;margin-bottom:25px}
.lead{font-size:19px;line-height:1.65;max-width:36ch}
.nav{max-width:1400px;margin:auto;padding:30px 6%;display:flex;justify-content:space-between;align-items:center;gap:28px;border-bottom:1px solid var(--lg-color-mist)}
.wordmark{font-size:24px;font-weight:800;letter-spacing:.15em;text-decoration:none;line-height:1.3}
.wordmark span{display:block;font-size:var(--lg-fontSize-label);letter-spacing:.19em;font-weight:500;margin-top:7px}
.nav nav{display:flex;gap:34px;align-items:center}
.nav nav a{text-decoration:none;font-size:12px}
.nav a:hover,.text-link:hover{color:#916a37}
.nav nav .account-link{border:1px solid #b8bbaa;padding:10px 16px}
.skip{position:absolute;top:-80px;z-index:5;background:#fff;padding:16px}
.skip:focus{top:10px}
.studio-hero{max-width:1400px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;min-height:700px;padding:60px 6% 64px;gap:38px;align-items:center}
.hero-copy{padding:30px 0}
.small-star{font-size:20px;color:#9c7c45;vertical-align:middle;margin-right:7px}
.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:35px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;background:var(--lg-color-forest);color:var(--lg-color-on-dark);padding:15px 23px;border:1px solid var(--lg-color-forest);font-size:12px;font-weight:600;cursor:pointer}
.button:hover{background:#39523f}
.button.light{background:#f1eedf;color:#23382b;border-color:#f1eedf}
.text-link{font-size:12px;font-weight:600;text-decoration:none;border-bottom:1px solid #b3aa90;padding-bottom:5px}
.hero-note{font-size:var(--lg-fontSize-label);letter-spacing:.16em;margin-top:70px;display:flex;gap:13px;align-items:center;color:#747a6b}
.rule{height:1px;width:38px;background:#b0aa92}
.section{max-width:1232px;margin:auto;padding:75px 32px}
.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:45px}
.section-heading h2{margin:0}
.section-heading>p{font-size:14px;margin-bottom:6px}
.game-card{display:grid;grid-template-columns:1.35fr 1fr;border-top:1px solid #cdd0c1;border-bottom:1px solid #cdd0c1;padding:28px 0;gap:50px;align-items:center}
.game-image{display:block;position:relative;overflow:hidden}
.game-media{position:relative}
.game-media .play-badge{position:absolute;left:18px;bottom:18px;margin:0;line-height:0}
.game-image img{height:355px;width:100%;object-fit:cover;transition:transform var(--lg-motion-transition) var(--lg-motion-easing)}
.game-image:hover img{transform:scale(1.025)}
.availability{position:absolute;left:18px;bottom:18px;background:#f3efe3;padding:8px 12px;font-size:var(--lg-fontSize-label);letter-spacing:.13em;color:#253c2c}
.game-card-copy{padding:20px 20px 20px 0}
.game-card h3{font-family:var(--lg-font-display);font-size:40px;font-weight:400;margin:0 0 20px}
.game-card h3 a{text-decoration:none}
.game-card p{font-size:14px}
.game-card .text-link{display:inline-block;margin-top:18px}
.studio-statement{max-width:1168px;margin:40px auto 110px;border-top:1px solid #cdd0c1;padding:60px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:24px 70px}
.studio-statement>.eyebrow{grid-column:1/-1}
.studio-statement h2{font-size:52px}
.studio-statement>div{padding:12px 0}
.account-callout{background:#22382a;color:#f2e9d7;padding:60px max(6%,calc((100vw - 1168px)/2));display:flex;align-items:center;justify-content:space-between;gap:40px}
.account-callout p{color:#c4ccb9}
.account-callout .eyebrow{color:#c8b48b}
.account-callout h2{font-size:40px;margin-bottom:18px}
.account-callout p:last-child{margin:0}
footer{max-width:1400px;margin:auto;padding:70px 6% 30px}
.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:25px}
.footer-top{padding-bottom:55px}
.footer-top p{font-size:12px}
.footer-bottom{border-top:1px solid #d0d1c4;padding-top:25px;font-size:var(--lg-fontSize-label);color:#697062}
.footer-bottom nav{display:flex;gap:25px}
.page-intro{max-width:1232px;margin:auto;padding:75px 32px 35px}
.catalog{padding-top:25px}
.catalog-note{font-size:13px;margin-top:35px}
.game-hero{max-width:1232px;margin:auto;padding:32px}
.crumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:var(--lg-fontSize-label);color:#747b6e;margin:0 0 40px}
.crumbs a{text-decoration:none}
.game-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.game-hero h1{font-size:clamp(52px,5.6vw,78px)}
.game-hero-grid p:not(.eyebrow):not(.lead){font-size:14px}
.shield{width:72px;height:90px;object-fit:contain;margin-bottom:20px}
.game-poster{height:760px;width:100%;object-fit:cover;border-radius:240px 240px 0 0}
.play-badge{display:inline-block;margin:22px 0 0}
.play-badge img{width:200px;height:60px;object-fit:contain}
.platform-note{font-size:var(--lg-fontSize-label)!important;margin-top:8px}
.feature-grid,.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.feature-grid article{padding-top:22px;border-top:1px solid #b6b7a1}
.feature-grid article>span{font-size:var(--lg-fontSize-label);color:#8a744f}
.feature-grid h3{margin-top:20px}
.feature-grid p{font-size:14px}
.film-section{background:#192c22;color:#eee6d4;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding:70px max(6%,calc((100vw - 1000px)/2))}
.film-section p{color:#c1c6b6}
.film-section .eyebrow{color:#c4ae83}
.film-section video{max-height:520px;width:100%;background:#0b160e}
.caption{font-size:var(--lg-fontSize-label)}
.guide-card{border-top:1px solid #bcc1af;padding:25px 0;text-decoration:none;display:flex;flex-direction:column;align-items:flex-start}
.guide-card h2{font-size:32px}
.guide-card p{font-size:13px}
.guide-card>.text-link{margin-top:auto}
.faq{max-width:1000px}
details{border-top:1px solid #c5c8b8;padding:20px 0}
summary{cursor:pointer;font-size:16px;font-weight:550}
details p{margin:18px 0 0;font-size:14px}
.download-end{text-align:center;padding:70px 24px;background:#e7e5d8}
.download-end h2{margin:0}
.article{max-width:830px;margin:auto;padding:70px 32px 100px}
.article h1{font-size:60px}
.article h2{font-size:32px;margin-top:45px;margin-bottom:18px}
.article p{font-size:16px;max-width:none}
.article .lead{font-size:21px}
.article .byline{font-size:var(--lg-fontSize-label);color:#777c6e;margin-bottom:38px}
.article-end{margin-top:50px;border-top:1px solid #c8c9b8;padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.article-end a{font-size:12px}
.article-end .play-badge{margin:0}
.facts{display:grid;grid-template-columns:140px 1fr;font-size:14px}
.facts dd{margin:0 0 15px}
.facts dt{font-weight:600}
.journal-entry{max-width:850px;border-top:1px solid #c2c5b4;padding-top:35px}
.journal-entry h2{font-size:40px}
.account-shell{max-width:1050px;margin:auto;padding:75px 32px}
.account-heading h1{font-size:66px}
.account-panel{margin-top:40px;background:var(--lg-color-surface);border:1px solid #d6d8c8;padding:40px;min-height:240px}
.account-panel h2{font-family:var(--lg-font-display);font-size:34px}
.account-panel p{font-size:14px}
.account-help{font-size:var(--lg-fontSize-label);margin-top:24px}
.status-label{display:inline-block;background:var(--lg-color-success-surface);color:var(--lg-color-success-text);font-size:var(--lg-fontSize-label);font-weight:600;letter-spacing:.07em;padding:7px 11px;margin-bottom:20px}
.status-label.warn{background:var(--lg-color-warning-surface);color:var(--lg-color-warning-text)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}
.stat{padding:24px;background:#f1f2e8}
.stat span{display:block;font-size:var(--lg-fontSize-label);color:var(--lg-color-border-interactive)}
.stat strong{font-size:32px;font-weight:500;color:#273e2c}
.dashboard-top{display:flex;justify-content:space-between;align-items:center;gap:24px}
.dashboard-top h2{margin:0}
.logout{background:none;border:1px solid #b5bca7;padding:9px 15px;cursor:pointer;font-size:12px}
.sync{font-size:12px!important}
.notice{border-left:2px solid #b19764;padding-left:18px}
.google-button{background:#fff;color:#253126;border:1px solid #a8b09f;gap:15px}
.google-button:hover{background:#edf0e6}
.google-button svg{width:20px;height:20px}
.button:disabled{opacity:.55;cursor:wait}

@media(max-width:1000px){.nav nav{gap:20px}
.studio-hero{gap:25px;min-height:620px}
.hero-note{margin-top:40px}
.studio-statement{margin:20px 32px 70px;gap:30px}
.game-hero-grid{gap:35px}
.game-poster{height:660px}
.film-section{gap:40px}
.game-card{gap:30px}
}

@media(max-width:700px){.nav{padding:20px 22px;align-items:flex-start;gap:18px;flex-wrap:wrap}
.wordmark{font-size:21px}
.nav nav{width:100%;justify-content:space-between;gap:10px}
.nav nav a{font-size:var(--lg-fontSize-label)}
.nav nav .account-link{padding:7px 10px}
.studio-hero{padding:25px 24px 35px;grid-template-columns:1fr;gap:25px}
.hero-copy{padding:15px 0 0}
.studio-hero h1{font-size:57px}
.eyebrow{font-size:var(--lg-fontSize-label);letter-spacing:.14em}
.hero-copy .lead{font-size:17px}
.hero-note{margin-top:30px}
.actions{gap:23px;margin-top:28px}
.button{padding:14px 18px;font-size:var(--lg-fontSize-label);gap:20px}
.section{padding:48px 24px}
.section-heading{display:block;margin-bottom:28px}
.section-heading>p,.section-heading>.text-link{margin-top:20px;display:inline-block}
.section-heading h2{font-size:40px}
.game-card{grid-template-columns:1fr;gap:10px;padding:20px 0 28px}
.game-image img{height:280px}
.game-card-copy{padding:20px 0 0}
.game-card h3{font-size:35px}
.game-card .eyebrow{margin-bottom:14px}
.studio-statement{display:block;margin:10px 24px 50px;padding-top:40px}
.studio-statement h2{font-size:42px}
.studio-statement>div p{font-size:14px}
.account-callout{padding:40px 24px;display:block}
.account-callout h2{font-size:36px}
.account-callout .button{margin-top:28px}
.account-callout p{font-size:14px}
footer{padding:40px 24px 25px}
.footer-top{display:block;padding-bottom:20px}
.footer-top p{margin-top:25px}
.footer-bottom{display:block}
.footer-bottom nav{margin-top:18px;gap:20px}
.page-intro{padding:45px 24px 25px}
.game-hero{padding:25px 24px}
.game-hero-grid{grid-template-columns:1fr;gap:30px}
.game-hero h1{font-size:59px}
.game-poster{height:430px}
.feature-grid,.guide-grid{grid-template-columns:1fr;gap:20px}
.film-section{grid-template-columns:1fr;padding:40px 24px;gap:20px}
.film-section video{max-height:500px}
.article{padding:45px 24px 65px}
.article h1{font-size:44px}
.article p{font-size:15px}
.article-end{flex-direction:column;align-items:flex-start}
.account-shell{padding:45px 24px}
.account-heading h1{font-size:48px}
.account-panel{padding:24px}
.stats{grid-template-columns:1fr}
.stat{padding:16px}
.dashboard-top{align-items:flex-start}
.dashboard-top h2{font-size:27px}
.facts{grid-template-columns:100px 1fr}
.crumbs{gap:7px;font-size:var(--lg-fontSize-label)}
.download-end{padding:45px 24px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*{transition:none!important}
}


/* Approved v1.1 composition and accessibility sizes across the studio shell. */
h1 { line-height: 1.08; }
h2 { font-size: clamp(34px, 4vw, 48px); line-height: 1.15; }
h3 { font-family: var(--lg-font-display); font-weight: 400; font-size: 28px; }
.wordmark { display: inline-flex; width: 220px; flex: 0 0 220px; padding: 18px 0; }
.wordmark img { width: 220px; height: auto; }
.nav { padding-top: 12px; padding-bottom: 12px; }
.nav nav a, .button, .text-link, .logout, .article-end a { font-size: var(--lg-fontSize-control); }
.nav nav a, .footer-bottom nav a, .text-link, .crumbs a { display: inline-flex; align-items: center; min-height: var(--lg-layout-control-min); }
.button, .logout, summary { min-height: var(--lg-layout-control-min); }
.nav nav .account-link, .logout, .google-button { border-color: var(--lg-color-border-interactive); }
.eyebrow, .hero-note, .availability, .platform-note, .caption, .article .byline, .account-help, .status-label, .stat span, .footer-bottom, .crumbs { font-size: var(--lg-fontSize-label); }
.eyebrow { letter-spacing: .12em; color: var(--lg-color-bronze); }
.hero-note, .crumbs, .article .byline, .footer-bottom { color: var(--lg-color-text-secondary); }
.lead, .hero-copy .lead { font-size: var(--lg-fontSize-lead); }
.game-card p, .section-heading > p, .studio-statement > div p, .account-callout p, .footer-top p, .catalog-note, .game-hero-grid p:not(.eyebrow):not(.lead):not(.platform-note), .feature-grid p, .guide-card p, details p, .article p, .account-panel p, .facts { font-size: var(--lg-fontSize-body); }
.article .lead { font-size: var(--lg-fontSize-lead); }
.article .byline, .account-panel .sync, .account-panel .caption { font-size: var(--lg-fontSize-label); }
.studio-hero { min-height: 660px; grid-template-columns: 1.1fr 1fr; gap: 32px; }
.studio-hero h1 { font-size: clamp(48px, 5.7vw, 86px); }
.hero-copy { min-width: 0; }
.hero-art { margin: 0; min-width: 0; align-self: center; }
.hero-art > img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.art-caption { display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: space-between; padding-top: 16px; margin-top: 16px; border-top: 1px solid var(--lg-color-mist); color: var(--lg-color-text-secondary); font-size: var(--lg-fontSize-label); }
.art-caption span:first-child { letter-spacing: .1em; }
.hero-note { letter-spacing: .1em; margin-top: 48px; }
.small-star { color: var(--lg-color-bronze); }
.button:hover { background: var(--lg-color-ink); }
.button.light { background: var(--lg-color-canvas); border-color: var(--lg-color-canvas); color: var(--lg-color-ink); }
.button.light:hover { background: var(--lg-color-surface); }
.nav a:hover, .text-link:hover { color: var(--lg-color-bronze); }
.account-callout, .film-section { background: var(--lg-color-forest); color: var(--lg-color-on-dark); }
.account-callout p, .account-callout .eyebrow, .film-section p, .film-section .eyebrow { color: var(--lg-color-on-dark); }
.availability { background: var(--lg-color-canvas); color: var(--lg-color-ink); }
.stat strong { color: var(--lg-color-ink); font-variant-numeric: tabular-nums; }
.article a, .account-help a { overflow-wrap: anywhere; }
.footer-top { align-items: center; }
@media(max-width:1000px) {
  .nav { padding-left: 32px; padding-right: 32px; flex-wrap: wrap; gap: 8px 24px; }
  .nav nav { flex-wrap: wrap; gap: 8px 24px; }
  .studio-hero { padding: 48px 32px; }
  .hero-note { margin-top: 32px; }
}
@media(max-width:700px) {
  .nav { padding: 8px 24px 16px; }
  .nav nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; width: 100%; }
  .nav nav a { font-size: var(--lg-fontSize-control); }
  .nav nav .account-link { padding: 8px 10px; justify-content: center; }
  .studio-hero { grid-template-columns: 1fr; padding: 32px 24px 40px; gap: 32px; }
  .studio-hero h1, .game-hero h1, .page-intro h1, .account-heading h1 { font-size: 48px; }
  .article h1 { font-size: 44px; }
  .hero-copy .lead { font-size: 18px; }
  .hero-copy { padding: 0; }
  .hero-art { max-width: 480px; width: 100%; justify-self: center; }
  .section-heading h2, .studio-statement h2, .account-callout h2 { font-size: 36px; }
  .eyebrow { font-size: var(--lg-fontSize-label); }
  .button { font-size: var(--lg-fontSize-control); }
  .footer-bottom nav { flex-wrap: wrap; gap: 8px 24px; }
  .hero-note { margin-top: 32px; }
}

