.gd-page{--bg:#0d1017;--card:#141925;--line:#2a3247;--fg:#e8ecf5;--mute:#9aa5ba;--acc:#8ee8cf;--acc2:#ffb86b;--bad:#ff8a8a;--warn:#ffd27a;--ok:#8ee8cf;background:var(--bg);color:var(--fg);padding:84px 18px 64px;min-height:100vh;box-sizing:border-box;font:15px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.gd-page *{box-sizing:border-box}
.gd-wrap{max-width:1240px;margin:0 auto}
.gd-crumbs{font-size:12px;color:var(--mute);margin-bottom:10px}.gd-crumbs a{color:var(--mute)}
.gd-kicker{color:var(--acc);text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.14em}
.gd-page h1{font-size:clamp(30px,4.6vw,54px);line-height:1.02;letter-spacing:-.035em;margin:8px 0 12px;color:var(--fg)}
.gd-page h2{font-size:18px;margin:0 0 10px;color:var(--fg)}
.gd-page h3{font-size:14px;margin:14px 0 6px;color:var(--fg)}
.gd-lede{max-width:760px;color:#b7c0d3;margin:0 0 20px}
.gd-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:16px}
.gd-grid{display:grid;gap:16px}.gd-g2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.gd-g3{grid-template-columns:repeat(3,minmax(0,1fr))}.gd-g-side{grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr)}
.gd-drop{border:2px dashed #3a4562;border-radius:14px;padding:26px 16px;text-align:center;color:var(--mute);cursor:pointer;background:#10141f;transition:border-color .15s,background .15s}
.gd-drop.over,.gd-drop:hover,.gd-drop:focus-visible{border-color:var(--acc);background:#121a24;outline:none}
.gd-drop strong{display:block;color:var(--fg);font-size:16px;margin-bottom:4px}
.gd-btn{border:1px solid #3b4862;border-radius:9px;padding:9px 14px;background:#1c2537;color:var(--fg);font:700 13px/1 inherit;cursor:pointer;display:inline-flex;gap:6px;align-items:center;text-decoration:none}
.gd-btn:hover{border-color:var(--acc)}.gd-btn:disabled{opacity:.4;cursor:default}
.gd-btn.primary{background:var(--acc);border-color:var(--acc);color:#08201a}
.gd-btn.paid{background:linear-gradient(135deg,#ffb86b,#ff7aa8);border-color:transparent;color:#2a1020}
.gd-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.gd-row.sp{justify-content:space-between}
.gd-field{display:grid;gap:4px;font-size:12px;color:var(--mute)}
.gd-field input[type=text],.gd-field input[type=number],.gd-field select,.gd-field textarea{background:#0b0e16;color:var(--fg);border:1px solid #35405a;border-radius:8px;padding:8px 10px;font:inherit;font-size:14px;width:100%}
.gd-field input[type=range]{width:100%}
.gd-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:10px 0}
.gd-check{display:flex;gap:8px;align-items:center;font-size:13px;color:#c9d1e2}
.gd-tag{display:inline-block;padding:2px 9px;border-radius:99px;background:#252d42;color:#c9d1e2;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.gd-tag.ok{background:#17382f;color:var(--ok)}.gd-tag.warn{background:#3b3216;color:var(--warn)}.gd-tag.error{background:#41201f;color:var(--bad)}.gd-tag.info{background:#1d2a41;color:#9cc4ff}
.gd-pass{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#171d2c;border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:0 0 16px;font-size:13px;color:#c0c9db}
.gd-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.gd-stat{background:#10141f;border:1px solid var(--line);border-radius:10px;padding:10px}.gd-stat b{display:block;font-size:20px;color:var(--fg)}.gd-stat span{font-size:11px;color:var(--mute);text-transform:uppercase;letter-spacing:.06em}
.gd-score{font-size:46px;font-weight:800;line-height:1}.gd-score.good{color:var(--ok)}.gd-score.mid{color:var(--warn)}.gd-score.low{color:var(--bad)}
.gd-issues{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gd-issues li{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;background:#10141f;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-size:13px}
.gd-issues small{display:block;color:var(--mute);margin-top:2px}
.gd-table{width:100%;border-collapse:collapse;font-size:13px}.gd-table th,.gd-table td{text-align:left;padding:6px 8px;border-bottom:1px solid #222a3d}.gd-table th{color:var(--mute);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.gd-table .num{text-align:right;font-variant-numeric:tabular-nums}
.gd-bar{height:8px;border-radius:99px;background:#222a3d;overflow:hidden}.gd-bar i{display:block;height:100%;background:var(--ok)}.gd-bar.over i{background:var(--bad)}
.gd-stage{position:relative;background:#0a0d14;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.gd-stage canvas{display:block;width:100%;height:auto}
.gd-checker{background:repeating-conic-gradient(#1a2030 0 25%,#12161f 0 50%) 0 0/16px 16px}
.gd-note{font-size:12px;color:var(--mute)}
.gd-status{min-height:20px;font-size:13px;color:#b7c0d3}
.gd-chips{display:flex;gap:6px;flex-wrap:wrap}
.gd-chip{padding:3px 9px;border-radius:99px;background:#1c2537;border:1px solid #33405c;font-size:12px;color:#c9d1e2}.gd-chip.miss{border-color:#6b3535;color:var(--bad)}
.gd-swatch{display:inline-block;width:20px;height:20px;border-radius:5px;border:1px solid #ffffff30;vertical-align:middle}
.gd-seo{max-width:880px;margin:36px auto 0;color:#b7c0d3}.gd-seo h2{font-size:22px;margin:26px 0 8px}.gd-seo a{color:var(--acc)}.gd-seo ul,.gd-seo ol{padding-left:20px}
#gd-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#1c2537;color:#fff;border:1px solid #3b4862;border-radius:10px;padding:10px 16px;z-index:9999;display:none;max-width:90vw}
#gd-toast.show{display:block}#gd-toast.error{border-color:#8b3a3a}
.gd-thumb-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.gd-thumb{position:relative;background:#0b0e16;border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:4px;font-size:10px;color:var(--mute);text-align:center}
.gd-thumb img{width:100%;height:64px;object-fit:contain;display:block;background:repeating-conic-gradient(#1a2030 0 25%,#12161f 0 50%) 0 0/10px 10px;border-radius:4px}
.gd-thumb button{position:absolute;top:2px;right:2px;border:0;background:#000a;color:#fff;border-radius:99px;width:18px;height:18px;cursor:pointer;line-height:16px;padding:0}
@media(max-width:900px){.gd-g2,.gd-g3,.gd-g-side{grid-template-columns:1fr}.gd-page{padding:72px 12px 48px}}
.gd-page,.gd-page h1,.gd-page h2,.gd-page h3,.gd-page p,.gd-page li,.gd-page ul{text-align:left}
.gd-page h1,.gd-page h2,.gd-page h3{font-family:inherit;text-transform:none;font-weight:800}
.gd-page ul{list-style:revert}.gd-page .gd-issues,.gd-page .gd-chips{list-style:none}
.gd-page label{display:block}.gd-page .gd-check{display:flex}.gd-page .gd-field{display:grid}
.gd-page *{font-family:inherit}.gd-page code,.gd-page .gd-chip{font-family:ui-monospace,monospace}
