:root {
  --paper: #dce0e8;
  --surface: #e2e5ec;
  --ink: #343c47;
  --muted: #596474;
  --line: #bbc3ce;
  --panel-shadow: 0 1.25rem 3rem #4853641a, 0 .25rem .75rem #4853640d;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(16px, .6vw + 8px, 20px);
  color: var(--ink);
  background: var(--paper);
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  background-color: var(--paper);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Cpath d='M13 18h10m-5-5v10' stroke='%23b7bec9' stroke-width='1'/%3E%3C/svg%3E");
}
.has-plus-field { background-image: none; }
.plus-field { position: fixed; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #245cc8; outline-offset: 5px; }
.header { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 1.25rem 5%; background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: 0 .45rem 1.4rem #48536412; }
.brand { font-size: 1.25rem; font-weight: 600; letter-spacing: -.04em; }
nav a { display: inline-block; font-size: .875rem; padding: .6rem 0; }
nav a:hover { text-decoration: underline; text-underline-offset: 4px; }
nav span { margin-left: .5rem; }
.workbench { position: relative; z-index: 1; width: min(88%, 1720px); margin: auto; padding: 3rem 0; }
.home { width: min(80%, 1440px, 135svh); margin: 0 auto auto; padding-top: clamp(2rem, 5svh, 4rem); }
.showcase { position: relative; display: grid; overflow: hidden; border-radius: 6px; background: #202c29; box-shadow: var(--panel-shadow); }
.product { grid-area: 1 / 1; display: flex; align-items: center; min-height: clamp(23rem, 50svh, 36rem); padding: clamp(1.5rem, 4.5svh, 4.5rem) clamp(1.5rem, 4.5vw, 5.5rem); padding-right: clamp(4.5rem, 7.5vw, 8rem); transition: transform .45s ease, visibility .45s; }
.exporter { color: #f1f3f5; background: linear-gradient(90deg, #101917d9, #10191750), url('/evaluator-background.jpg') center / cover; transform: translateX(0); }
.product-copy { max-width: 36rem; }
.product h1, .product h2 { font-size: clamp(2.25rem, 4vw, 88px); line-height: 1.04; letter-spacing: -.055em; margin: 0 0 1.5rem; font-weight: 600; }
.product p { max-width: 30rem; line-height: 1.65; margin: 0 0 2rem; }
.button { width: clamp(256px, 20vw, 380px); max-width: 100%; min-height: 3.6rem; display: inline-flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.05rem 1.3rem; border: 1px solid #25282d; border-radius: 4px; font-size: .9rem; font-weight: 600; white-space: nowrap; transition: box-shadow .15s, transform .15s; }
.button:hover { transform: translate(-2px, -2px); box-shadow: 3px 3px 0 #25282d; }
.gumroad { background: #ff90e8; color: #242128; }
.godot { padding-right: clamp(1.5rem, 4.5vw, 5.5rem); padding-left: clamp(4.5rem, 7.5vw, 8rem); background: linear-gradient(90deg, #071b2e73, #071b2e1f), url('/godot-background.jpg') center / cover; color: #fff; transform: translateX(100%); visibility: hidden; }
.godot-link { background: #22d3ee; color: #073344; }
.showcase.is-godot .exporter { transform: translateX(-100%); visibility: hidden; }
.showcase.is-godot .godot { transform: translateX(0); visibility: visible; }
.panel-toggle { --toggle-width: 3.75rem; position: absolute; z-index: 2; left: calc(100% - var(--toggle-width)); top: 0; bottom: 0; width: var(--toggle-width); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.25rem; border: 0; border-left: 1px solid #ffffff40; background: #252c2e; color: #fff; cursor: pointer; transition: left .45s ease, background .15s; }
.panel-toggle:hover { background: #30393b; }
.showcase.is-godot .panel-toggle { left: 0; border-right: 1px solid #ffffff40; border-left: 0; background: #15364d; }
.showcase.is-godot .panel-toggle:hover { background: #102c40; }
.panel-toggle:focus-visible { outline-color: #ff90e8; outline-offset: -6px; }
.toggle-label { writing-mode: vertical-rl; font-size: .8rem; letter-spacing: .05em; }
.toggle-arrow { font-size: 1.5rem; }
.skip { position: absolute; left: 20px; top: -80px; padding: 12px; background: var(--surface); z-index: 3; }
.skip:focus { top: 10px; }
.notice { font-size: .875rem; line-height: 1.6; }
.document { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 2rem; }
.document h1 { font-size: 2.5rem; letter-spacing: -.04em; margin: 0 0 1.25rem; }
.document h2 { font-size: 1.25rem; margin-top: 1.7rem; }
.document p, .document li { line-height: 1.65; color: var(--muted); }
.document li + li { margin-top: .6rem; }
.document a { text-decoration: underline; text-underline-offset: 4px; }
.eyebrow { font-size: .7rem; letter-spacing: .1em; }
.text-link { text-decoration: underline; text-underline-offset: 4px; }
.docs-main { width: min(84%, 1550px, 145svh); margin: 0 auto auto; padding-top: clamp(2rem, 5svh, 4rem); }
.docs-layout { display: grid; grid-template-columns: 14rem minmax(0, 1fr); min-height: 29rem; background: var(--surface); border: 1px solid var(--line); border-radius: 6px; box-shadow: var(--panel-shadow); }
.docs-tree { padding: 2rem 1.5rem; border-right: 1px solid var(--line); }
.docs-tree > p { margin: 0 0 1.5rem; font-weight: 600; }
.docs-tree details + details { margin-top: 1rem; }
.docs-tree summary { cursor: pointer; font-size: .85rem; padding: .4rem 0; }
.docs-tree ul { list-style: none; padding: 0 0 0 .8rem; margin: .5rem 0 .5rem .3rem; border-left: 1px solid var(--line); }
.docs-tree a { display: block; padding: .55rem .65rem; font-size: .8rem; border-radius: 3px; }
.docs-tree a[aria-current="page"] { background: #cbd2de; font-weight: 600; }
.docs-layout .document { border: 0; background: none; padding: clamp(1.5rem, 2.75vw, 3.5rem); min-width: 0; }
.doc-page { max-width: 76ch; }
.doc-page:focus { outline: none; }
html.js .doc-page { display: none; }
html.js .doc-page:first-of-type, html.js .doc-page:target { display: block; }
html.js:has(.doc-page:target) .doc-page:first-of-type:not(:target) { display: none; }
.doc-note { border-left: 2px solid #9ba8ba; padding-left: 1rem; font-size: .85rem; }
code { font-size: .9em; overflow-wrap: anywhere; }
pre { background: #d5dbe4; padding: 1rem; overflow-x: auto; line-height: 1.7; }
.site-footer { position: relative; z-index: 1; width: 100%; background: #000; color: #f0f1f3; box-shadow: 0 -.7rem 2rem #48536416; }
.footer-summary { width: min(90%, 1720px); min-height: 3.7rem; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 1.5rem; text-align: center; }
.footer-summary-trigger { margin: 0; padding: .35rem 0; border: 0; background: transparent; color: #c2c8ce; font-size: .75rem; line-height: 1.4; cursor: pointer; }
.footer-summary-trigger:hover { color: #fff; }
.footer-toggle { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: .65rem; min-height: 2.75rem; padding: .65rem 0; border: 0; background: transparent; color: #c2c8ce; font-size: .72rem; cursor: pointer; }
html.no-js .footer-toggle { display: none; }
.footer-toggle:hover { color: #fff; }
.footer-toggle-icon { font-size: 1rem; }
.footer-drawer { display: grid; grid-template-rows: 1fr; background: #000; border-top: 1px solid #ffffff1f; transition: grid-template-rows .3s ease; }
.footer-drawer-inner { overflow: hidden; }
html.js .site-footer:not(.is-open) .footer-drawer { grid-template-rows: 0fr; }
.site-footer.is-collapsible .footer-drawer { grid-template-rows: 0fr; }
.site-footer.is-collapsible.is-open .footer-drawer { grid-template-rows: 1fr; }
.footer-inner { width: min(90%, 1720px); margin: 0 auto; padding: 1.65rem 0 2rem; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.footer-tool { min-width: 0; min-height: 7.5rem; margin: 0; padding: 0 clamp(1rem, 2.4vw, 2.5rem); display: flex; flex-direction: column; align-items: flex-start; border-left: 1px solid #ffffff1f; }
.footer-tool:first-child { padding-left: 0; border-left: 0; }
.footer-tool:last-child { padding-right: 0; }
.footer-label { margin: 0 0 .75rem; color: #858d96; font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.footer-text { max-width: 29rem; margin: 0 0 1.15rem; color: #a6afb8; font-size: .76rem; line-height: 1.55; }
.footer-link { margin-top: .15rem; color: #f0f1f3; font-size: .72rem; text-decoration: underline; text-decoration-color: #626b74; text-underline-offset: 4px; overflow-wrap: anywhere; }
.footer-link:hover { text-decoration-color: #fff; }
.copy-address { align-self: center; padding: .45rem 0; border: 0; background: transparent; cursor: pointer; }
.footer-link span, .survey-button span { margin-left: .45rem; }
.survey-button { width: 100%; margin-top: auto; min-width: min(100%, 10rem); display: inline-flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .78rem 1rem; border: 1px solid #80aaf4; border-radius: 3px; background: #1a73e8; color: #fff; font-size: .72rem; font-weight: 600; transition: background .15s; }
.survey-button:hover { background: #1765cc; }
.referral-button { width: 100%; margin-top: .65rem; border-color: #f3a55b; background: #d76713; }
.referral-button:hover { background: #bd570d; }
.bug-report-button { border-color: #ed8585; background: #c93636; }
.bug-report-button:hover { background: #ae2929; }
[hidden] { display: none !important; }
@media (max-width: 700px) {
  .workbench, .home { width: 92%; padding: 1.5rem 0; }
  .product { min-height: 30rem; padding: 2rem 4.5rem 2rem 1.5rem; }
  .godot { padding: 2rem 1.5rem 2rem 4.5rem; }
  .product h1, .product h2 { font-size: 2.6rem; }
  .panel-toggle { --toggle-width: 3rem; }
  .button { padding: 1rem; gap: .75rem; }
  .footer-summary { width: 92%; min-height: 4.5rem; flex-direction: column; gap: 0; padding: .35rem 0; }
  .footer-toggle { min-height: 2rem; padding: .2rem 0; }
  .footer-inner { width: 92%; padding: .75rem 0 1.5rem; grid-template-columns: minmax(0, 1fr); }
  .footer-tool, .footer-tool:first-child, .footer-tool:last-child { min-height: 0; padding: 1.15rem 0; border-left: 0; border-top: 1px solid #ffffff14; }
  .footer-tool:first-child { border-top: 0; }
  .footer-text { margin-bottom: .9rem; }
  .footer-link, .survey-button { margin-top: 0; }
  .docs-layout { grid-template-columns: minmax(0, 1fr); }
  .docs-tree { border-right: 0; border-bottom: 1px solid var(--line); padding: 1.25rem; }
  .docs-tree > p { margin-bottom: .75rem; }
  .document h1 { font-size: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
}
