:root { color-scheme: dark; --bg: #101418; --ink: #f4f0e8; --muted: #a7b0ba; --line: #313a46; --panel: #171c22; --accent: #1d4ed8; --accent-ink: #f8fbff; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--ink); font: 16px/1.5 "Segoe UI", sans-serif; }
.top, .studio { width: min(960px, calc(100% - 32px)); margin: 0 auto; }
.top { padding: 28px 0 8px; }
.brand { margin: 0; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #9eb6ee; }
h1 { margin: 8px 0 0; font-size: 40px; line-height: 1.1; font-weight: 650; }
.lede, .easy-start p, .status, .file-help { color: var(--muted); }
.studio { display: flex; flex-direction: column; gap: 12px; padding-bottom: 32px; }
.easy-start, .panel { min-width: 0; max-width: 100%; }
.actions, .appearance { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
button, select, input[type="color"] { min-height: 44px; }
button { border: 1px solid var(--line); background: var(--panel); color: var(--ink); border-radius: 8px; padding: 0 14px; font: inherit; cursor: pointer; }
#recommended-start { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
button:focus-visible, select:focus-visible, input:focus-visible { outline: 2px solid #9eb6ee; outline-offset: 3px; }
.panel { border: 1px solid var(--line); border-radius: 10px; padding: 12px; background: #141920; }
.panel[hidden], .file-help[hidden] { display: none; }
.panel-label, .surface-label { margin: 0 0 8px; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; color: #c9d4e4; }
ol { margin: 0 0 12px; padding-left: 1.2rem; }
li[aria-current="step"] { color: #dbe6ff; }
label { display: flex; gap: 8px; align-items: center; }
.surface { width: 100%; height: 480px; background: #0c1015; border: 1px solid var(--line); border-radius: 12px; touch-action: none; }
.surface .hit { fill: transparent; }
.surface .drawn { fill: none; }
.status { min-height: 1.5em; margin: 0; }
.file-help { margin: 0; padding: 10px 12px; border: 1px solid #6a5420; border-radius: 8px; color: #f0e2b8; }
@media (max-width: 640px) {
  h1 { font-size: 32px; }
  .surface { height: 360px; }
}
