.fonts-view canvas.pixelated,.fonts-view .fm-thumb,.fonts-view [class*=fm-]>canvas{image-rendering:pixelated}.fm-hero-art .fm-hero-glyph,.fm-hero-art .fm-hero-chat{border-radius:var(--r-md);background:var(--surface-2);width:112px;height:112px;box-shadow:inset 0 0 0 2px var(--border);place-items:center;display:grid}.fm-hero-art .fm-hero-chat{background:#3a5230;width:152px}.cv-hero-art .fm-hero-glyph canvas{filter:none;width:56px;height:84px}.cv-hero-art .fm-hero-chat canvas{width:calc(var(--w) * 3px);height:calc(var(--h) * 3px);filter:none}[data-theme=light] .fm-hero-glyph canvas,[data-theme=light] .fm-thumb{filter:brightness(0)}.fm-grid{grid-template:"s1 pv""s2 pv""s3 pv"1fr/minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:24px;padding-bottom:48px;display:grid}.fm-area-1{grid-area:s1}.fm-area-2{grid-area:s2}.fm-area-3{grid-area:s3}.fm-preview{top:calc(var(--topbar-h) + 16px);scroll-margin-top:calc(var(--topbar-h) + 16px);grid-area:pv;position:sticky}.fm-prev-icon{border-radius:var(--r-md);background:var(--tool-accent);width:40px;height:40px;color:var(--on-accent);flex:none;place-items:center;display:grid;box-shadow:inset 0 -4px #00000040,inset 0 2px #fff3}.fm-note{color:var(--text-2);font-size:var(--fs-sm);line-height:var(--lh-sm);gap:8px;display:flex}.fm-note>.icon{color:var(--tool-accent);flex:none;margin-top:2px}.fm-note[hidden],.fm-picker[hidden],.fm-panel[hidden],.fm-raster[hidden],.fm-font-info[hidden],.fm-import-notes[hidden],.fm-game-status[hidden]{display:none}.fm-picker{flex-direction:column;gap:16px;display:flex}.fm-tabs{border-radius:var(--r-md);background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;display:grid}.fm-tab{border-radius:var(--r-sm);min-width:0;color:var(--text-2);font:inherit;font-size:var(--fs-sm);line-height:var(--lh-sm);text-align:center;cursor:pointer;transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 4px;display:flex}.fm-tab:hover{background:var(--surface-3);color:var(--text)}.fm-tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.fm-tab[aria-selected=true]{background:var(--tool-accent-soft);color:var(--text);box-shadow:inset 0 0 0 2px var(--tool-accent)}.fm-tab .icon{color:var(--text-3)}.fm-tab[aria-selected=true] .icon{color:var(--tool-accent)}.fm-chosen-row{align-items:center;gap:12px}.fm-chosen-row .badge{white-space:normal;overflow-wrap:anywhere;max-width:100%}.fm-chosen-sample{border-radius:var(--r-sm);background:#3a5230;flex:none;place-items:center;width:64px;height:48px;display:grid}.fm-chosen-sample canvas{width:calc(var(--w) * 3px);height:calc(var(--h) * 3px);object-fit:contain;max-width:60px}.fm-styles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.fm-styles>div{min-width:0;display:flex}.fm-style{flex-direction:column;align-items:stretch;gap:8px;width:100%}.fm-style .cv-ed-text{text-align:left}.fm-style-sample{border-radius:var(--r-sm);background:#3a5230;place-items:center;height:44px;display:grid}.fm-style-sample canvas{width:calc(var(--w) * 2px);height:calc(var(--h) * 2px)}.fm-blank-grid{background-image:linear-gradient(#ffffff40 1px,#0000 1px),linear-gradient(90deg,#ffffff40 1px,#0000 1px);background-size:8px 8px;width:48px;height:32px;box-shadow:inset 0 0 0 1px #ffffff40}.fm-dz{min-height:132px}.fm-dz.is-busy{pointer-events:none;opacity:.5}.fm-file,.fm-pack,.fm-game,.fm-raster,.fm-embed{flex-direction:column;gap:12px;display:flex}.fm-device{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fm-chips{flex-wrap:wrap;gap:6px;display:flex}.fm-chip{border:2px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);height:32px;color:var(--text-2);cursor:pointer;align-items:center;padding:0 10px;font-size:15px;display:inline-flex}.fm-chip:hover{background:var(--surface-3);color:var(--text)}.fm-chip:focus-visible{box-shadow:var(--focus-ring);outline:none}.fm-font-info{color:var(--text-2);font-size:var(--fs-sm);line-height:var(--lh-sm);overflow-wrap:anywhere;align-items:flex-start;gap:8px;display:flex}.fm-font-info .icon{color:var(--tool-accent);flex:none;margin-top:2px}.fm-raster-sample{border-radius:var(--r-sm);background:#3a5230;align-items:center;min-height:56px;padding:8px;display:flex;overflow-x:auto}.fm-raster-sample canvas{width:calc(var(--w) * 2px);height:calc(var(--h) * 2px);flex:none}.fm-sliders{gap:12px;display:grid}.fm-import-notes .cv-note-list{margin:0}.fm-groups{flex-wrap:wrap;gap:4px;display:flex}.fm-group{border:2px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);min-height:36px;color:var(--text-2);font:inherit;font-size:var(--fs-sm);line-height:var(--lh-sm);cursor:pointer;align-items:baseline;gap:6px;padding:6px 10px;display:inline-flex}.fm-group:hover{background:var(--surface-3);color:var(--text)}.fm-group:focus-visible{box-shadow:var(--focus-ring);outline:none}.fm-group[aria-selected=true]{border-color:var(--tool-accent);background:var(--tool-accent-soft);color:var(--text)}.fm-group-count{font-size:12px}.fm-list{border-radius:var(--r-md);background:var(--surface-2);max-height:196px;box-shadow:inset 0 0 0 2px var(--border);grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:4px;padding:4px;display:grid;overflow-y:auto}.fm-list:empty{display:none}.fm-item{border-radius:var(--r-sm);background:var(--surface);height:44px;color:var(--text);cursor:pointer;border:2px solid #0000;place-items:center;padding:0;display:grid}.fm-item:hover{border-color:var(--border-strong,var(--border))}.fm-item:focus-visible{box-shadow:var(--focus-ring);outline:none}.fm-item[aria-selected=true]{border-color:var(--tool-accent);background:var(--tool-accent-soft)}.fm-item .fm-thumb{width:16px;height:24px}.fm-item-char{color:var(--text-3);font-family:system-ui,sans-serif;font-size:16px;line-height:1}.fm-item.is-empty{border-style:dashed;border-color:var(--border);background:0 0}.fm-item.is-empty[aria-selected=true]{border-color:var(--tool-accent)}.fm-editor{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:20px;display:grid}.fm-canvas-wrap{flex-direction:column;align-items:center;gap:8px;width:240px;max-width:100%;display:flex}.fm-char-nav{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.fm-char-title{align-items:baseline;gap:8px;display:flex}.fm-char-big{font-family:system-ui,sans-serif;font-size:22px;line-height:1}.fm-canvas{border-radius:var(--r-sm);max-width:100%;height:auto;box-shadow:0 0 0 2px var(--border);cursor:crosshair;touch-action:none;display:block}.fm-canvas:focus-visible{box-shadow:0 0 0 2px var(--border), var(--focus-ring);outline:none}.fm-width,.fm-empty-note{text-align:center;margin:0}.fm-empty-note[hidden]{display:none}.fm-side{flex-direction:column;gap:12px;min-width:0;display:flex}.fm-actions{flex-direction:column;gap:8px;display:flex}.fm-action-row{flex-wrap:wrap;gap:4px;display:flex}.fm-add{flex-direction:column;gap:6px;display:flex}.fm-add-row{gap:8px;display:flex}.fm-add-input{flex:0 200px;width:200px;min-width:0}.fm-field-error{color:var(--red);font-size:var(--fs-sm);line-height:var(--lh-sm)}.fm-field-error[hidden],.fm-other-empty[hidden]{display:none}.fm-settings{border-top:2px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:16px;display:grid}.fm-scenes{flex-wrap:wrap;gap:4px;display:flex}.fm-scene{border:2px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);min-height:36px;color:var(--text-2);font:inherit;font-size:var(--fs-sm);line-height:var(--lh-sm);cursor:pointer;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.fm-scene:hover{background:var(--surface-3);color:var(--text)}.fm-scene:focus-visible{box-shadow:var(--focus-ring);outline:none}.fm-scene[aria-selected=true]{border-color:var(--tool-accent);background:var(--tool-accent-soft);color:var(--text)}.fm-scene[aria-selected=true] .icon{color:var(--tool-accent)}.fm-stage{border-radius:var(--r-md);background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--border);justify-content:center;padding:8px 0;display:flex;overflow:hidden}.fm-scene-canvas{max-width:100%;height:auto;display:block}.fm-sample{resize:vertical;width:100%}.fm-missing{color:var(--text-2);font-size:var(--fs-sm);line-height:var(--lh-sm);overflow-wrap:anywhere;gap:8px;display:flex}.fm-missing>.icon{color:#f5f;flex:none;margin-top:2px}.fm-missing.is-ok>.icon{color:var(--tool-accent)}.fm-hint code{overflow-wrap:anywhere}.fm-hint{flex-direction:column;gap:6px;display:flex}.fm-dropped{color:var(--text-2)}.fm-pack-notes{margin:8px 0}.fm-project-modal{flex-direction:column;gap:12px;display:flex}.fm-projects{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow-y:auto}.fm-project{border:2px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:10px;padding:10px 12px;display:flex}.fm-project:hover{border-color:var(--tool-accent)}.fm-project:focus-visible{box-shadow:var(--focus-ring);outline:none}.fm-project-text{flex-direction:column;min-width:0;display:flex}@media (max-width:960px){.fm-grid{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"s1""s2""pv""s3"}.fm-preview{position:static}}@media (max-width:680px){.fm-hero-art{display:none}}@media (max-width:560px){.fm-grid{gap:16px}.fm-editor,.fm-settings,.fm-styles{grid-template-columns:minmax(0,1fr)}.fm-tab{font-size:13px}}
