.app{grid-template:"top top""side main"1fr"status status"/17rem 1fr;height:100dvh;display:grid}.topbar{border-bottom:1px solid var(--border);background:var(--surface);grid-area:top;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.brand,.tool-name,.palette-button{white-space:nowrap}.brand{font-weight:700;text-decoration:none}.tool-name{color:var(--muted)}.palette-button{border:1px solid var(--border);background:var(--surface-2);min-width:14rem;color:var(--muted);font:inherit;text-align:left;cursor:pointer;border-radius:.5rem;margin-left:auto;padding:.4rem .75rem}.sidebar{border-right:1px solid var(--border);background:var(--surface);grid-area:side;padding:.5rem;font-size:.875rem;overflow-y:auto}.sidebar summary{cursor:pointer;border-radius:.375rem;padding:.4rem .5rem;font-weight:600}.sidebar ul{margin:0 0 .5rem;padding:0;list-style:none}.sidebar-action{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.375rem;padding:.3rem .5rem .3rem 1.25rem;display:block}.sidebar-action:hover,.sidebar summary:hover{background:var(--surface-2)}.sidebar-action:focus-visible{outline:2px solid var(--accent)}.editor-host{grid-area:main;min-width:0;min-height:0}.statusbar{border-top:1px solid var(--border);background:var(--surface);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;grid-area:status;padding:.3rem 1rem;font-size:.8rem;overflow:hidden}.palette-backdrop{z-index:20;background:#0f172a66;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;width:min(40rem,100vw - 2rem);overflow:hidden;box-shadow:0 20px 50px #0f172a40}.palette-input{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);font:inherit;background:0 0;outline:none;padding:.85rem 1rem;font-size:1rem}.palette-list{max-height:22rem;margin:0;padding:.25rem;list-style:none;overflow-y:auto}.palette-list li{cursor:pointer;border-radius:.375rem;justify-content:space-between;gap:1rem;padding:.45rem .75rem;display:flex}.palette-list li[aria-selected=true]{background:var(--accent);color:var(--accent-text)}.palette-hint{opacity:.7;white-space:nowrap;font-size:.8rem}.palette-empty{color:var(--muted);cursor:default}@media (max-width:720px){.app{grid-template-columns:minmax(0,1fr);grid-template-areas:"top""main""status"}.sidebar,.tool-name{display:none}.topbar{gap:.5rem;padding:.5rem .75rem}.palette-button{text-overflow:ellipsis;flex:1 1 0;min-width:0;overflow:hidden}.settings-dialog{padding:1rem .75rem}.sc-styles{padding-left:1.1rem}}.param-dialog{border:1px solid var(--border);background:var(--surface);width:min(32rem,100vw - 2rem);color:var(--text);border-radius:.75rem;padding:1.25rem;box-shadow:0 20px 50px #0f172a40}.param-dialog::backdrop{background:#0f172a66}.param-dialog h2{margin:0 0 1rem;font-size:1.05rem}.param-field{flex-direction:column;gap:.35rem;margin-bottom:.9rem;display:flex}.param-field label{color:var(--muted);font-size:.85rem}.param-field input,.param-field textarea{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;font-family:var(--mono);border-radius:.5rem;padding:.5rem .6rem;font-size:.9rem}.param-field input:focus-visible,.param-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.param-actions{justify-content:flex-end;gap:.5rem;display:flex}.param-actions button{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;border-radius:.5rem;padding:.45rem 1rem}.param-actions button.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.topbar-button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:.5rem;padding:.4rem .7rem}.topbar-button:hover{background:var(--surface-2)}.settings-dialog{border:1px solid var(--border);background:var(--surface);width:min(40rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--text);border-radius:.75rem;padding:1.25rem;overflow-x:hidden;box-shadow:0 20px 50px #0f172a40}.settings-dialog::backdrop{background:#0f172a66}.settings-dialog h2{margin:0 0 1rem;font-size:1.15rem}.settings-dialog h3{margin:1.25rem 0 .25rem;font-size:1rem}.settings-dialog .hint{color:var(--muted);margin:.25rem 0 .75rem;font-size:.85rem}.settings-dialog .check{cursor:pointer;align-items:center;gap:.4rem;display:flex}.settings-dialog button,.settings-dialog select,.settings-dialog .sc-name{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;border-radius:.4rem;padding:.35rem .7rem}.settings-dialog button.small{padding:.15rem .5rem;font-size:.8rem}.settings-dialog button:disabled{opacity:.4;cursor:default}.settings-dialog button.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.settings-dialog button.danger{color:var(--danger)}.sc{border:1px solid var(--border);border-radius:.5rem;min-width:0;margin:0 0 .75rem;padding:.5rem .75rem .75rem}.sc legend{padding:0 .25rem}.sc-name{cursor:text;font-weight:600}.sc-styles{margin:.5rem 0;padding-left:1.5rem}.sc-styles li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.15rem 0;display:flex}.sc-styles code{font-family:var(--mono);font-size:.85rem}.sc-buttons{gap:.25rem;display:flex}.sc-footer{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sc-warning{color:var(--danger);font-size:.8rem}@media (max-width:720px){.topbar-button{padding:.4rem .5rem}}
