.snowflake-maker { --sf-red:#b42b32; --sf-ink:#312d2d; --sf-line:#e4dcd5; color:var(--sf-ink); margin-block:2rem; }
.snowflake-maker * { box-sizing:border-box; }
.sf-toolbar { display:flex; gap:1.5rem; align-items:end; margin-bottom:1.25rem; }
.sf-toolbar label { display:grid; gap:.45rem; min-width:min(100%,22rem); font-weight:700; }
.sf-toolbar select { width:100%; padding:.8rem 2.2rem .8rem .85rem; border:1px solid #b9ada4; border-radius:.5rem; background:#fff; color:var(--sf-ink); font:inherit; font-weight:400; }
.sf-toolbar p { max-width:32rem; font-size:.9rem; color:#706660; margin:0 0 .5rem; }
.sf-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.5rem; }
.sf-panel { padding:1.25rem; border:1px solid var(--sf-line); border-radius:1rem; background:#fffdf9; min-width:0; }
.sf-panel-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:.5rem; }
.sf-panel-heading h2 { margin:0; font-size:1.15rem; line-height:1.4; }
.sf-panel-heading span { font-size:.8rem; color:#796b61; }
.sf-panel > p { font-size:.88rem; line-height:1.55; margin:.75rem 0; }
.sf-editor { width:100%; height:440px; display:block; touch-action:none; cursor:crosshair; background-color:#f3e9df; background-image:radial-gradient(#c8b9aa .7px,transparent .7px); background-size:14px 14px; border-radius:.6rem; border:1px solid #e4d7c9; }
.sf-blank-guide { fill:none; stroke:#8f7d6b; stroke-width:1.5; }
.sf-fold-guides { fill:none; stroke:#346f91; stroke-width:2; stroke-dasharray:9 6; }
.sf-sketch { fill:#fff6; stroke:#172e43; stroke-width:2; stroke-dasharray:6 4; pointer-events:none; }
.sf-vertex { fill:#fff; stroke:#172e43; stroke-width:1.6; pointer-events:none; }
.sf-keyboard-cursor { display:none; fill:none; stroke:#102a43; stroke-width:2; pointer-events:none; }
.sf-keyboard-active .sf-keyboard-cursor { display:block; }
.sf-preview { display:flex; align-items:center; justify-content:center; background:#f7f3ed; border:1px solid #e4d7c9; border-radius:.6rem; margin-top:1rem; }
.sf-preview svg { width:100%; height:auto; max-height:440px; aspect-ratio:1; display:block; }
.sf-edit-actions,.sf-export-actions { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.snowflake-maker button { min-height:44px; border:1px solid #b9a99d; border-radius:.45rem; padding:.65rem .9rem; background:#fff; color:#3f332c; font:inherit; font-size:.86rem; font-weight:600; cursor:pointer; }
.snowflake-maker button:hover:not(:disabled) { background:#f4ebe1; border-color:#826d5c; }
.snowflake-maker button.sf-primary { color:#fff; background:var(--sf-red); border-color:var(--sf-red); }
.snowflake-maker button.sf-primary:hover:not(:disabled) { background:#912229; }
.snowflake-maker button:disabled { opacity:.45; cursor:not-allowed; }
.snowflake-maker :focus-visible { outline:3px solid #346f91; outline-offset:3px; }
.sf-keyboard-help { font-size:.8rem; margin-top:.8rem; color:#6b5e55; }
.sf-keyboard-help summary { cursor:pointer; padding:.3rem 0; }
.sf-keyboard-help p { line-height:1.6; }
.sf-preview-note,.sf-export-note { color:#6b5e55; }
.sf-export-note { font-size:.8rem!important; }
.sf-status { padding:.8rem 1rem; background:#f5eee5; border-left:3px solid #b18b64; border-radius:.2rem; font-size:.9rem; min-height:3rem; line-height:1.5; }
.sf-fallback { font-size:.9rem; }
.sf-print-host { display:none; }
@media (max-width:760px) { .sf-toolbar { align-items:stretch; flex-direction:column; gap:.6rem; } .sf-workspace { grid-template-columns:1fr; gap:1rem; } .sf-panel { padding:1rem; } .sf-editor { height:410px; } .sf-preview svg { max-height:480px; } }
@media print {
  @page { size:auto; margin:12mm; }
  body.sf-printing > :not(.sf-print-host) { display:none!important; }
  body.sf-printing .sf-print-host { display:block!important; color:#000; background:white; font:10pt/1.4 Arial,sans-serif; }
  .sf-print-host * { box-sizing:border-box; }
  .sf-print-sheet { break-after:page; page-break-after:always; margin:0; padding:0; }
  .sf-print-sheet:last-child { break-after:auto; page-break-after:auto; }
  .sf-print-sheet h1 { margin:0 0 3mm; font-size:16pt; line-height:1.2; }
  .sf-print-sheet p { margin:0 0 4mm; }
  .sf-print-reference { width:180mm; height:180mm; margin:3mm auto 5mm; }
  .sf-print-reference svg { display:block; width:180mm; height:180mm; max-width:none; }
  .sf-print-fold { margin:4mm 0 5mm 8mm; width:64mm; height:106mm; }
  .sf-print-fold svg { display:block; width:64mm; height:106mm; max-width:none; }
  .sf-print-ruler { width:50mm; height:4mm; margin:7mm 0 10mm; border-left:.3mm solid #000; border-right:.3mm solid #000; border-bottom:.3mm solid #000; position:relative; }
  .sf-print-ruler span { position:absolute; top:5mm; left:0; font-size:8pt; white-space:nowrap; }
  .sf-print-note { font-size:8.5pt; line-height:1.45; }
  .sf-print-sheet ol { padding-left:6mm; margin:4mm 0; }
  .sf-print-sheet li { margin-bottom:2mm; }
  .sf-print-host svg { overflow:visible; }
}

/* Task-based help stays below the interactive workspace. */
.snowflake-help-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:22px 0;border-block:1px solid var(--line);margin-top:30px;font-size:13px;line-height:1.8}
.snowflake-help-nav span{color:var(--muted)}
.snowflake-help-nav a,.snowflake-maker-help-section a{color:var(--red);text-decoration:underline;text-underline-offset:4px}
.snowflake-maker-page [id^="snowflake-maker-"]{scroll-margin-top:30px}
.snowflake-maker-help-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding:38px 0;border-block:1px solid var(--line)}
.snowflake-maker-help-section>div>p:not(.eyebrow){font-size:14px;line-height:1.85;color:var(--muted);margin-top:20px}
.snowflake-help-controls{margin:0}
.snowflake-help-controls>div{padding-bottom:18px}
.snowflake-help-controls dt{font-size:15px;font-weight:600}
.snowflake-help-controls dd{margin:7px 0 0;font-size:14px;line-height:1.85;color:var(--muted)}
.snowflake-help-keyboard{padding-top:15px;border-top:1px solid var(--line);font-size:14px;line-height:1.85}
.snowflake-help-keyboard summary{cursor:pointer}
.snowflake-help-keyboard p{color:var(--muted);margin-top:12px}
.snowflake-file-table-wrap{overflow-x:auto}
.snowflake-file-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.85;text-align:left}
.snowflake-file-table caption{text-align:left;font-size:12px;color:var(--muted);margin-bottom:14px}
.snowflake-file-table th,.snowflake-file-table td{padding:18px 22px;vertical-align:top;border-bottom:1px solid var(--line)}
.snowflake-file-table th{font-weight:600}
.snowflake-file-table thead{background:#eee8dd80}
.snowflake-file-table tbody th{width:23%}
.snowflake-file-table td{color:var(--muted);width:38.5%}
.snowflake-help-note{font-size:13px;line-height:1.85;color:var(--muted);max-width:900px;margin-top:22px}
.snowflake-print-steps{padding-left:20px;margin:24px 0 0;font-size:14px;line-height:1.85;color:var(--muted)}
.snowflake-print-steps li{padding-left:6px;margin-block:18px}
.snowflake-print-steps strong{color:var(--ink);font-weight:600}
@media(max-width:850px){.snowflake-maker-help-section{gap:40px}.snowflake-file-table th,.snowflake-file-table td{padding:15px}}
@media(max-width:650px){.snowflake-maker-help-section{grid-template-columns:1fr;gap:25px}.snowflake-file-table{font-size:12px;line-height:1.75}.snowflake-file-table th,.snowflake-file-table td{padding:12px 8px}.snowflake-file-table tbody th{width:25%}.snowflake-help-nav{gap:10px 18px}.snowflake-help-nav span{width:100%}}
