/* Scoped to the tutorial so every game's own canvas and controls keep their layout. */
.gd-dialog{border:0;border-radius:24px;padding:0;width:min(820px,calc(100vw - 24px));max-height:calc(100dvh - 24px);max-width:none;background:#f9faf3;color:#23453e;box-shadow:0 26px 100px #102b3b55;font-family:'M PLUS Rounded 1c','Yu Gothic',sans-serif;overflow:auto;overscroll-behavior:contain}
.gd-dialog::backdrop{background:#122e32b5;backdrop-filter:blur(5px)}
.gd-dialog{margin:auto}
.gd-dialog *{box-sizing:border-box}
.gd-dialog button,.gd-launcher{font:inherit;cursor:pointer;touch-action:manipulation}
.gd-dialog button:focus-visible,.gd-launcher:focus-visible{outline:3px solid #c88a26;outline-offset:3px}
.gd-dialog button:disabled{opacity:.4;cursor:default}
.gd-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px 12px}
.gd-eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#538373;margin:0 0 5px}
.gd-head h2{font-size:clamp(19px,3vw,26px);line-height:1.4;margin:0;letter-spacing:0;color:#23453e}
.gd-skip{flex:none;background:transparent;border:1px solid #cedbce;border-radius:22px;color:#4a685b;font-size:12px;padding:9px 12px}
.gd-body{padding:0 28px}
.gd-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 10px;font-size:11px;color:#547268}
.gd-count{font-weight:800;letter-spacing:.08em}
.gd-scene{display:block;width:100%;height:auto;aspect-ratio:720/340;border:1px solid #dce6d8;border-radius:16px;background:#edf3ec}
.gd-timeline{display:flex;gap:5px;padding:12px 0 15px}
.gd-step-tab{height:7px;flex:1;border:0;border-radius:5px;background:#dce6d8;padding:0;overflow:hidden}
.gd-step-tab[aria-current=true]{background:#368970}.gd-step-tab.is-done{background:#9dc4a6}
.gd-copy{min-height:139px}.gd-copy h3{margin:0 0 8px;font-size:clamp(17px,2.8vw,22px);line-height:1.5;color:#23453e}
.gd-copy p{margin:0;font-size:14px;line-height:1.9;color:#446054}
.gd-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 0}
.gd-input{border:1px solid #dce5d7;border-radius:12px;background:#f0f4e9;padding:10px 12px;line-height:1.5;min-width:0}
.gd-input small{display:block;font-size:10px;letter-spacing:.08em;color:#5c7b6a;margin-bottom:4px}.gd-input b{font-size:12px;overflow-wrap:anywhere;color:#23453e}
.gd-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 28px 14px;flex-wrap:wrap}
.gd-transport{display:flex;gap:6px}.gd-transport button,.gd-prev,.gd-next{border:1px solid #d1dece;border-radius:11px;color:#355e4d;background:#fff;padding:10px 13px;font-size:12px}
.gd-next{background:#2c7159;color:#fff;border-color:#2c7159;font-weight:800;min-width:110px}
.gd-nav{display:flex;gap:7px}.gd-note{font-size:11px;color:#5a7563;margin:0;padding:0 28px 20px;line-height:1.7}.gd-note[role=alert]{color:#963a3a}
.gd-launcher{position:static;display:inline-flex;align-items:center;justify-content:center;flex:none;border:1px solid #bfd1bb;border-radius:22px;background:#fafcf2;color:#2a5e48;padding:8px 14px;font-size:12px;line-height:1.5;font-weight:800;box-shadow:0 3px 12px #173e3515;margin:4px}
.gl-guide-heading:has(.gd-launcher),.rh-page-top:has(.gd-launcher),.title-small:has(.gd-launcher),.sc-title-actions:has(.gd-launcher){flex-wrap:wrap;gap:8px}
.gd-launcher:disabled{opacity:.5}.gd-dialog:not([open]){display:none}
html.gd-open{overflow:hidden}
.gd-native-window{position:relative;background:#142d29;overflow:hidden;border:1px solid #c8d8c2;border-radius:14px;min-height:280px}.gd-native-window iframe{display:block;border:0;width:100%;height:390px;background:#edf3e9;pointer-events:none}.gd-native-loading{position:absolute;inset:0;display:grid;place-items:center;background:#edf3e9;color:#315b47;font-size:14px}.gd-native-loading[hidden]{display:none}.gd-dialog{width:min(1000px,calc(100vw - 20px))}.gd-copy{min-height:85px}
@media(max-width:600px){.gd-native-window iframe{height:340px}.gd-native-window{min-height:250px}.gd-copy{min-height:120px}}
@media(min-width:601px){.gd-scene{max-height:235px;object-fit:contain}.gd-copy{min-height:112px}}
@media(max-width:600px){.gd-dialog{border-radius:18px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.gd-head{padding:18px 16px 8px;gap:8px}.gd-body{padding:0 16px}.gd-copy{min-height:174px}.gd-copy p{font-size:13px;line-height:1.85}.gd-controls{padding:14px 16px 12px;gap:9px}.gd-transport button,.gd-prev,.gd-next{padding:10px;font-size:11px}.gd-inputs{gap:6px}.gd-input{padding:8px}.gd-input b{font-size:11px}.gd-note{padding:0 16px 16px}.gd-meta{font-size:10px}.gd-skip{font-size:11px;padding:8px}.gd-launcher{right:8px;bottom:max(8px,env(safe-area-inset-bottom));padding:8px 12px}}
@media(max-height:650px) and (min-width:601px){.gd-dialog{width:700px}.gd-scene{max-height:210px;object-fit:contain}.gd-copy{min-height:90px}.gd-head{padding-top:16px}.gd-inputs{margin-top:8px}.gd-controls{padding-top:12px}}
@media(prefers-reduced-motion:reduce){.gd-dialog::backdrop{backdrop-filter:none}}
.gd-native-window iframe{height:500px}.gd-dialog{scroll-padding-top:12px}.gd-copy{min-height:76px}.gd-head{position:sticky;top:0;background:#f9faf3;z-index:2}@media(max-width:600px){.gd-native-window iframe{height:460px}.gd-copy{min-height:100px}}
