/* GSCard workspace. Scoped to the standalone editor; game artwork keeps its own styling. */
body.gscard-standalone {
  --gc-bg:#11151d; --gc-panel:#1b212c; --gc-raised:#242d3b; --gc-line:#364154;
  --gc-text:#e9eef7; --gc-muted:#a7b5c9; --gc-accent:#9fb8ff; --gc-selected:#304365;
  --accent:#9fb8ff; --text:#e9eef7; --text-muted:#a7b5c9;
  font-family:"Segoe UI","Yu Gothic UI",Meiryo,sans-serif; font-size:13px; color:var(--gc-text);
}
.gscard-standalone *, .gscard-standalone *::before, .gscard-standalone *::after { box-sizing:border-box; }
.gscard-standalone :focus-visible { outline:2px solid #b6caff!important; outline-offset:3px; }
.gscard-standalone ::selection { background:#49648e; color:white; }
.gscard-standalone [hidden] { display:none!important; }
.gc-icon { display:inline-block; vertical-align:middle; flex:0 0 auto; pointer-events:none; }
body.gscard-standalone #gscard-panel { background:var(--gc-bg); color:var(--gc-text); padding:0; border:0; min-width:0; }
body.gscard-standalone .gscard-header { min-height:68px; padding:12px 20px; gap:10px; flex-wrap:wrap; background:#191f2a; border-bottom:1px solid var(--gc-line); }
.gc-brand-icon { display:flex; padding:9px; background:#303d58; color:#bdd0ff; border-radius:10px; }
.gc-brand-icon .gc-icon { width:23px; height:23px; }
body.gscard-standalone .editor-title { font-size:19px; font-weight:650; letter-spacing:-.5px; color:var(--gc-text); text-transform:none; }
.gc-edition { color:var(--gc-muted); font-size:10px; letter-spacing:1.8px; }
body.gscard-standalone .gs-version { display:none; }
#gc-save-status { font-size:11px; color:#a7b5c9; margin:0 auto 0 14px; }
#gc-save-status[data-state="error"], #gc-save-status[data-state="dirty"] { color:#ffd49a; }
body.gscard-standalone .gscard-header-actions { display:flex; flex-wrap:wrap; gap:6px; margin-left:auto; }
body.gscard-standalone :is(.gscard-header-btn,.gscard-create-btn,.gsu-tp-btn) { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:34px; padding:7px 11px; border:1px solid var(--gc-line); border-radius:7px; background:var(--gc-raised); color:var(--gc-text); font:inherit; font-size:12px; line-height:1.35; cursor:pointer; text-decoration:none; }
body.gscard-standalone :is(.gscard-header-btn,.gscard-create-btn,.gsu-tp-btn):hover { background:#334159; border-color:#6e85a9; }
body.gscard-standalone :is(button,input,select):disabled { opacity:.45; cursor:not-allowed; }
body.gscard-standalone .gc-primary, body.gscard-standalone .gscard-header-btn[onclick="_gscardExportStandalone()"] { background:#b0c5ff; border-color:#b0c5ff; color:#18233a; font-weight:650; }
body.gscard-standalone .gc-primary:hover, body.gscard-standalone .gscard-header-btn[onclick="_gscardExportStandalone()"]:hover { background:#c7d6ff; color:#18233a; }
body.gscard-standalone #gscard-panel-body { flex:1; min-height:0; display:flex; flex-direction:column; padding:0; background:var(--gc-bg); overflow:hidden; }
body.gscard-standalone .gsu-transport { gap:16px; padding:10px 20px; min-height:59px; background:#151b25; border-bottom:1px solid var(--gc-line); flex-wrap:wrap; }
body.gscard-standalone .gsu-transport.gsu-playing { background:#1d3041; }
.gsu-transport-left { gap:9px; }
.gsu-transport-center { gap:6px; }
body.gscard-standalone .gsu-tp-btn { width:auto; min-width:36px; height:34px; }
body.gscard-standalone #gscard-transport-play { min-width:98px; background:#9fb8ff; color:#162139; font-weight:650; border-color:#9fb8ff; }
body.gscard-standalone #gscard-transport-play.gsu-tp-active { background:#a4e4d3; border-color:#a4e4d3; }
body.gscard-standalone .gsu-transport-right > span { color:var(--gc-muted)!important; font-size:12px!important; }
body.gscard-standalone :is(.gsu-tp-sel,.gsu-inspector input:not([type="checkbox"]):not([type="range"]):not([type="color"]),.gsu-inspector select,.gsu-inspector textarea) { min-height:32px; border-radius:5px; border:1px solid #46536a; background:#131b27; color:var(--gc-text); padding:5px 8px; font-size:12px; max-width:100%; }
body.gscard-standalone input[type="checkbox"],body.gscard-standalone input[type="range"] { accent-color:#a9bfff; }
body.gscard-standalone .gsu-dock { overflow:hidden; gap:0; background:var(--gc-line); }
body.gscard-standalone .gsu-pane { background:var(--gc-panel); }
body.gscard-standalone .gsu-hierarchy { flex-basis:var(--gsu-hier-w,220px); }
body.gscard-standalone .gsu-inspector { flex-basis:var(--gsu-insp-w,370px); min-width:280px; }
body.gscard-standalone .gsu-scene { background:var(--gc-bg); min-width:220px; }
body.gscard-standalone .gsu-pane-head { display:flex; align-items:center; gap:9px; min-height:48px; padding:10px 14px; background:#202735; color:#dce5f6; border-bottom:1px solid var(--gc-line); font-size:12px; font-weight:600; letter-spacing:0; text-transform:none; }
.gsu-pane-head .gscard-header-btn { margin-left:auto; font-size:10px!important; }
.gc-mode-label { margin-left:auto; font-size:10px; font-weight:400; color:#a7b5c9; }
body.gscard-standalone .gsu-split { flex-basis:5px; background:#111720; }
body.gscard-standalone .gsu-split:hover { background:#88a2dd; }
.gc-tree-search { display:flex; align-items:center; gap:8px; margin:12px; padding:0 9px; border:1px solid var(--gc-line); border-radius:6px; color:var(--gc-muted); background:#131b27; }
.gc-tree-search input { width:100%; min-width:0; min-height:34px; background:none; border:0; color:var(--gc-text); font:inherit; font-size:12px; }
.gc-tree-search input::placeholder { color:#94a5bf; }
body.gscard-standalone .gsu-tree { padding:0 8px 16px; font-size:12px; }
body.gscard-standalone .gsu-tree-group { color:#a7b5c9; font-size:10px; font-weight:650; letter-spacing:.06em; padding:17px 8px 7px; }
body.gscard-standalone .gsu-tree-item { border-radius:5px; min-height:34px; padding:7px 10px!important; gap:8px; color:#dae3f2; white-space:normal; overflow-wrap:anywhere; }
body.gscard-standalone .gsu-tree-item[onclick]:hover { background:#29364b; }
body.gscard-standalone .gsu-tree-item.gsu-sel { background:var(--gc-selected); color:#dce8ff; box-shadow:inset 3px 0 #abc2ff; }
body.gscard-standalone .gsu-tree-sub { color:#a9b8ce; font-size:10px; }
.gc-tree-no-results { margin:12px; color:var(--gc-muted); font-size:12px; }
body.gscard-standalone .gsu-inspector .gscard-tabs { display:flex; flex:0 0 auto; background:#171f2c; border-bottom:1px solid var(--gc-line); padding:0 8px; }
body.gscard-standalone .gsu-inspector .gscard-tab { display:flex; justify-content:center; align-items:center; gap:6px; flex:1; min-height:45px; padding:8px 4px; font-size:12px; color:#adbbd1; }
body.gscard-standalone .gsu-inspector .gscard-tab.active { color:#c7d8ff; border-bottom:2px solid #abc2ff; background:#233149; }
body.gscard-standalone .gsu-inspector .gscard-tab-content { padding:12px; gap:12px; }
body.gscard-standalone .gsu-inspector .gscard-panel-section { border:1px solid var(--gc-line); background:#1b2432; border-radius:8px; overflow:visible; margin-bottom:12px; }
body.gscard-standalone .gsu-inspector .gscard-panel-section-head { min-height:39px; padding:11px 12px; background:#242f40; color:#d6e2f6; font-size:12px; font-weight:600; border-bottom:1px solid var(--gc-line); border-radius:7px 7px 0 0; letter-spacing:0; }
body.gscard-standalone .gsu-inspector .gscard-panel-section-head::before { content:''; display:inline-block; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin:0 10px 3px 2px; }
body.gscard-standalone .gsu-inspector .gsu-collapsed .gscard-panel-section-head::before { transform:rotate(-45deg); margin-bottom:0; }
body.gscard-standalone .gsu-inspector .gscard-panel-section-body { padding:12px; max-height:none; overflow:visible; }
body.gscard-standalone .gsu-sec-resize { display:none; }
body.gscard-standalone .gsu-inspector .gscard-field-row { gap:8px; margin-bottom:10px; min-height:30px; flex-wrap:wrap; }
body.gscard-standalone .gsu-inspector .gscard-field-row label { color:#b8c6db; font-size:12px; }
body.gscard-standalone .gsu-inspector .gsu-comp-head { padding:12px; background:#263348; color:#d6e2f6; font-size:12px; }
body.gscard-standalone .gsu-inspector .gsu-comp-body { padding:12px; }
body.gscard-standalone .gsu-insp-obj-head { min-height:46px; padding:10px 12px; background:#222e40; }
body.gscard-standalone .gsu-scene .gscard-pinned-preview { padding:24px 20px 12px; }
body.gscard-standalone .gscard-preview-frame { width:100%; display:flex; justify-content:center; margin:0 auto; }
.gsu-scene .gsu-pane-body { background-image:radial-gradient(#293347 .7px, transparent .7px); background-size:20px 20px; }
body.gscard-standalone .gscard-pinned-state { display:flex; justify-content:center; align-items:center; gap:10px; padding:12px 0 0; }
body.gscard-standalone .gscard-pinned-state b { color:#dce5f6!important; font-size:14px!important; }
body.gscard-standalone .gscard-pinned-state > span:first-child { font-size:10px!important; color:#a7b5c9!important; }
body.gscard-standalone .gscard-pinned-info { color:#adbad0; font-size:11px; }
body.gscard-standalone .gscard-pinned-controls { gap:8px; margin:10px 0; }
body.gscard-standalone .gscard-pinned-controls button { min-width:34px; min-height:32px; border-radius:6px; background:#253149; border:1px solid var(--gc-line); color:#dbe5f7; }
body.gscard-standalone .gscard-pinned-controls > :is(#gscard-sim-play-btn,#gscard-sim-speed,button[onclick*="ResetSim"]) { display:none; }
.gc-advanced { margin:10px 20px 20px; color:var(--gc-muted); font-size:11px; }
.gc-advanced summary { cursor:pointer; padding:10px; }
body.gscard-standalone .gscard-dev-tools { background:#1b2638; border:1px solid var(--gc-line); padding:12px; }
.gc-pane-nav { display:none; }
.gc-statusbar { min-height:33px; padding:6px 16px; display:flex; align-items:center; gap:20px; flex:0 0 auto; border-top:1px solid var(--gc-line); background:#171e29; color:var(--gc-muted); font-size:10px; }
#gc-workspace-hint { margin-right:auto; }
.gc-statusbar button { background:transparent; color:#b9c8de; border:0; font:inherit; cursor:pointer; padding:3px 5px; }
#gc-report-mount { flex:0 0 auto; }
#gc-report-mount .gsbr-fab { position:static; }
body.gscard-standalone .gscard-mockpad { background:#1a2536; border:1px solid #394b66; border-radius:9px; padding:12px; }
body.gscard-standalone .gscard-mockpad-head { flex-wrap:wrap; color:#c5d4eb; }
body.gscard-standalone .gscard-mockpad-hint { color:#a8b9d1; }
body.gscard-standalone .gscard-pad-btn { border-color:#4b6081; background:#293950; color:#e0ebfc; border-radius:7px; }
body.gscard-standalone .gscard-pad-config-btn { display:inline-flex; align-items:center; gap:5px; min-height:30px; background:#2a3b54; border:1px solid #4c6080; color:#dce8fc; padding:5px 8px; border-radius:6px; }
.gc-statusbar kbd { margin-left:7px; border:1px solid #4a5870; border-radius:3px; padding:0 4px; }
body.gscard-standalone .gscard-empty-state { flex:1; min-height:0; overflow:auto; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:48px 24px; color:var(--gc-text); font-style:normal; text-align:center; background:radial-gradient(ellipse at 50% 20%,#22304a55,transparent 70%); }
.gc-welcome-mark { color:#b5caff; border:1px solid #435674; border-radius:16px; background:#202d43; padding:16px; margin-bottom:24px; }
.gc-welcome-mark .gc-icon { width:32px; height:32px; }
.gc-eyebrow { font-size:10px; letter-spacing:3px; color:#9cafcd; }
.gscard-empty-state h1 { margin:16px 0; font-weight:600; font-size:clamp(27px,3.4vw,42px); letter-spacing:1px; line-height:1.5; }
.gscard-empty-state p { font-size:13px; line-height:1.9; color:var(--gc-muted); margin:0 0 26px; }
.gc-welcome-actions { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
body.gscard-standalone .gc-welcome-actions button { min-height:44px; margin:0; padding:12px 18px; }
.gc-welcome-steps { display:flex; justify-content:center; gap:28px; flex-wrap:wrap; border-top:1px solid var(--gc-line); padding-top:25px; margin-top:48px; color:var(--gc-muted); font-size:11px; }
.gc-welcome-steps b { color:#b6caff; font:12px Consolas,monospace; margin-right:8px; }
body.gscard-standalone .gscard-preset-picker-overlay, .gc-dialog-overlay { position:fixed; inset:0; z-index:100000; background:#080e18bd; backdrop-filter:blur(5px); display:flex; align-items:center; justify-content:center; padding:24px; }
body.gscard-standalone .gscard-preset-picker, .gc-dialog { width:min(920px,100%); max-height:90dvh; background:#1b2432; border:1px solid #4b5b76; border-radius:14px; box-shadow:0 24px 80px #0008; display:flex; flex-direction:column; overflow:hidden; color:var(--gc-text); }
body.gscard-standalone .gscard-preset-picker-header { background:#253249; padding:20px 24px; border-bottom:1px solid var(--gc-line); }
body.gscard-standalone .gscard-preset-picker-title { font-size:19px; color:#e4edff; }
body.gscard-standalone .gscard-preset-picker-close { width:34px; height:34px; color:#dce8ff; border:1px solid #546680; border-radius:6px; background:#202b3d; }
body.gscard-standalone .gscard-preset-picker-sub { padding:16px 24px 4px; color:var(--gc-muted); font-size:12px; }
body.gscard-standalone .gscard-preset-picker-body { padding:8px 24px 24px; }
body.gscard-standalone .gscard-preset-category-head { color:#c4d3ea; font-size:12px; margin:18px 0 10px; }
body.gscard-standalone .gscard-preset-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
body.gscard-standalone .gscard-preset-card { min-width:0; min-height:107px; padding:16px; border:1px solid #3f506a; border-radius:8px; background:#232f42; color:var(--gc-text); }
body.gscard-standalone .gscard-preset-card:hover { background:#2f4260; border-color:#a5bfff; transform:none; }
body.gscard-standalone .gscard-preset-card-name { color:#e0ebff; font-size:13px; font-weight:600; margin-bottom:8px; }
body.gscard-standalone .gscard-preset-card-desc { color:#b1c0d7; font-size:11px; line-height:1.7; }
.gc-preset-search { margin:14px 24px 8px; min-height:38px; padding:8px 12px; background:#131c2a; border:1px solid #4d5f7c; border-radius:7px; color:#e6edfa; font:inherit; }
.gc-toast { position:fixed; bottom:48px; left:50%; transform:translateX(-50%); max-width:calc(100% - 32px); background:#2b3d55; color:#ecf2ff; border:1px solid #6b829e; box-shadow:0 10px 35px #0005; border-radius:9px; padding:12px 18px; z-index:200000; font-size:13px; pointer-events:none; }
.gc-dialog { width:min(590px,100%); padding:25px; overflow:auto; }
.gc-dialog h2 { font-size:21px; margin:0 0 18px; }
.gc-dialog p { color:var(--gc-muted); line-height:1.9; }
.gc-dialog dl { display:grid; grid-template-columns:145px 1fr; gap:12px; line-height:1.6; }
.gc-dialog dt { color:#bdd0ff; }.gc-dialog dd { margin:0; color:#c3cfe2; }
.gc-dialog button { align-self:flex-end; }
body.gscard-standalone .gsu-dock { position:relative; }
body.gscard-standalone.gscard-nodes-dock-open #gscard-nodes-dock { position:absolute!important; inset:0; max-width:100%; width:100%; z-index:20!important; min-width:0; background:#1b2432; }
body.gscard-standalone .gscard-nodes-dock-bar { background:#26334a; padding:10px; flex-wrap:wrap; }
body.gscard-standalone .gscard-nodes-dock-actions { flex-wrap:wrap; }
body.gscard-standalone .gscard-nodes-dock-body { min-height:0; }
body.gscard-standalone .gscard-nodes-inspector-pane { background:#1c283a; }
body.gscard-standalone :is(.gscard-confirm-modal,.gscard-pad-config-modal) { background:#222e41; border:1px solid #4c607e; border-radius:12px; padding:24px; color:#e4edfc; max-width:calc(100vw - 24px); }
body.gscard-standalone .gscard-confirm-icon { color:#ffd297; }
body.gscard-standalone :is(.gscard-confirm-cancel,.gscard-confirm-ok) { min-height:38px; padding:8px 18px; border-radius:6px; }
body.gscard-standalone .gscard-nodes-canvas-pane { background:#111a28; }
body.gscard-standalone .gscard-sb-frame { border:1px solid #4e6588; border-radius:8px; overflow:hidden; box-shadow:none; }
body.gscard-standalone .gscard-sb-frame:hover { transform:none; box-shadow:0 0 0 2px #819fd1; }
body.gscard-standalone .gscard-sb-frame.sb-current { box-shadow:0 0 0 2px #819fd1; }
body.gscard-standalone .gscard-sb-frame.sb-active { box-shadow:0 0 0 3px #b6caff; }
body.gscard-standalone .gscard-sb-frame-head { min-height:38px; background:#2d405e; color:#dce8fa; }
body.gscard-standalone .gscard-sb-frame-head::before { content:''; }
body.gscard-standalone .gscard-sb-mini-title, body.gscard-standalone .gscard-sb-mini-gameover { background:#202e43; }
body.gscard-standalone :is(.gscard-sb-mini-titletext,.gscard-sb-mini-gotext) { color:#dfeaff; text-shadow:none; font-size:18px; font-weight:600; }
body.gscard-standalone .gscard-sb-mini-startbtn { background:#354e73; border:1px solid #7995bf; color:#e2edff; }
body.gscard-standalone .gscard-sb-arrow-line { color:#aec5ee; }
body.gscard-standalone .gscard-sb-return-chip { background:#243147; border:1px solid #4b6081; border-radius:6px; padding:9px; }
body.gscard-standalone :is(.gscard-sb-chip-from,.gscard-sb-chip-to) { color:#c6d9fb; }
body.gscard-standalone .gscard-node-del { display:inline-flex; align-items:center; justify-content:center; min-width:26px; min-height:26px; border-radius:5px; }
body.gscard-standalone .gscard-node-del .gc-icon { width:14px; height:14px; }
body.gscard-standalone .gscard-nodes-inspector-pane :is(input,select) { min-height:32px; padding:5px; background:#121d2e; color:#e4edfc; border:1px solid #536784; border-radius:5px; max-width:100%; }
body.gscard-standalone .gscard-nodes-inspector-pane label { color:#bdcde6; }
body.gscard-standalone .gscard-inspector-head { background:#2b3b55; color:#e1ebfc; }
body.gscard-standalone .gsu-inspector button:not(.gscard-tab) { min-height:30px; }
@media (max-width:1200px) {
  #gc-save-status { order:3; width:100%; margin:0; }
  body.gscard-standalone .gscard-header { gap:8px; padding:10px 14px; }
  body.gscard-standalone .gsu-hierarchy { flex-basis:180px; }
  body.gscard-standalone .gsu-inspector { flex-basis:320px; }
}
@media (max-width:1000px) {
  .gc-pane-nav { display:flex; gap:6px; padding:7px 14px; background:#1a2332; border-bottom:1px solid var(--gc-line); }
  .gc-pane-nav button { flex:1; min-height:34px; background:transparent; border:1px solid transparent; border-radius:6px; color:#b9c8df; cursor:pointer; }
  .gc-pane-nav button[aria-pressed="true"] { background:#304563; color:#e0eaff; border-color:#5977a6; }
  body.gscard-standalone .gsu-split, body.gscard-standalone .gsu-hierarchy { display:none; }
  body.gscard-standalone[data-gc-pane="hierarchy"] .gsu-hierarchy { display:flex; flex:0 0 230px; }
  body.gscard-standalone[data-gc-pane="hierarchy"] .gsu-inspector { display:none; }
  body.gscard-standalone .gsu-scene { min-width:0; }
  body.gscard-standalone.gscard-nodes-dock-open #gscard-nodes-dock { position:absolute!important; inset:0; max-width:100%; width:100%; z-index:20!important; }
  body.gscard-standalone .gsu-dock { position:relative; }
}
@media (max-width:640px) {
  body.gscard-standalone .gscard-nodes-dock-body.has-selection { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(150px,1fr) minmax(150px,1fr); }
  body.gscard-standalone .gscard-nodes-inner-divider { display:none; }
  body.gscard-standalone .gscard-nodes-inspector-pane { border-top:1px solid #61799e; border-left:0; }
  body.gscard-standalone .gscard-header { padding:10px; min-height:auto; }
  .gc-brand-icon { padding:5px; border-radius:6px; }.gc-brand-icon .gc-icon { width:18px; height:18px; }
  body.gscard-standalone .editor-title { font-size:17px; }
  body.gscard-standalone .gscard-header-actions { width:100%; flex:0 0 100%; gap:5px; }
  body.gscard-standalone .gscard-header-actions .gscard-header-btn { flex:1; font-size:11px; padding:6px; min-height:36px; }
  body.gscard-standalone .gscard-header-actions .gc-icon { width:15px; }
  .gc-edition { margin-right:auto; }
  #gc-save-status { order:0; width:auto; font-size:10px; }
  body.gscard-standalone .gsu-transport { padding:8px 10px; gap:8px; }
  .gsu-transport-left { flex:1 1 100%; }.gsu-transport-left select { flex:1; max-width:none!important; }
  .gsu-transport-right { flex:1; }.gsu-transport-center { flex:0 0 auto; }
  body.gscard-standalone .gsu-pane { display:none; min-width:0; width:100%; flex:1!important; }
  body.gscard-standalone[data-gc-pane="scene"] .gsu-scene, body.gscard-standalone[data-gc-pane="hierarchy"] .gsu-hierarchy, body.gscard-standalone[data-gc-pane="inspector"] .gsu-inspector { display:flex; }
  body.gscard-standalone[data-gc-pane="hierarchy"] .gsu-scene { display:none; }
  body.gscard-standalone .gsu-scene .gscard-pinned-preview { padding:16px 12px; }
  body.gscard-standalone .gscard-preset-picker-overlay { padding:10px; }
  body.gscard-standalone .gscard-preset-cards { grid-template-columns:1fr; }
  .gscard-empty-state h1 { font-size:27px; }.gc-welcome-steps { gap:12px; margin-top:28px; }
  body.gscard-standalone .gscard-empty-state { justify-content:flex-start; padding-top:30px; }
  .gc-statusbar { gap:8px; padding:5px 10px; } #gc-workspace-hint { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .gc-statusbar button { white-space:nowrap; }
}
@media (prefers-reduced-motion:reduce) { body.gscard-standalone * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
