:root{--ink:#17233b;--blue:#2754d8;--line:#dce2ee;--muted:#65738b;--surface:#f3f5fa}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--surface);font:15px/1.5 system-ui,sans-serif}h1,h2,h3,p{margin-top:0}h1{font-size:2.3rem;letter-spacing:-.045em;line-height:1.15}h2{font-size:1.1rem}h3{font-size:.85rem;color:var(--muted);margin:22px 0 8px}a{color:var(--blue)}button,.primary{font:inherit;border:1px solid var(--line);background:white;color:var(--ink);border-radius:8px;padding:9px 13px;cursor:pointer;text-decoration:none;display:inline-block;white-space:normal}button:hover{background:#edf2ff}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #94b0ff;outline-offset:2px}.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.primary:hover{background:#1e43b3}.quiet{border-color:transparent;background:transparent}label{display:block;font-size:.9rem;font-weight:600;margin:16px 0}input,textarea,select{display:block;width:100%;padding:11px;font:inherit;font-weight:400;color:var(--ink);border:1px solid var(--line);background:white;border-radius:7px;margin-top:7px}textarea{resize:vertical}.top{height:76px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);gap:20px}.brand{font-weight:750;color:var(--ink);text-decoration:none;font-size:1.2rem;display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:35px;height:35px;background:var(--blue);color:white;border-radius:9px;font-size:1.2rem}.account{display:flex;align-items:center;gap:20px;font-size:.85rem;flex-wrap:wrap}.eyebrow{color:var(--blue);font-weight:700;font-size:.8rem;letter-spacing:.12em}.dashboard{max-width:1280px;margin:auto;padding:48px 32px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.page-heading h1{margin-bottom:0}.site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.site-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.site-cover{height:160px;background:linear-gradient(135deg,var(--cover),#10203f);display:grid;place-items:center}.site-cover span{font-size:4rem;font-weight:800;color:#fff}.site-info{padding:24px}.site-info small{color:var(--muted)}.site-info h2{font-size:1.35rem;margin:10px 0}.site-info p{color:var(--muted)}.empty{padding:50px 30px;border:1px dashed #adb9d1;border-radius:12px;grid-column:1/-1;text-align:center}.settings{padding-top:40px;margin-top:40px;border-top:1px solid var(--line)}.login{max-width:440px;padding:40px;margin:70px auto;background:white;border:1px solid var(--line);border-radius:16px}.login .primary{width:100%;margin-top:12px}.login p{color:var(--muted)}.editor{display:grid;grid-template-columns:230px minmax(300px,1fr) 285px;grid-template-rows:auto 1fr;min-height:calc(100vh - 76px)}.toolbar{grid-column:1/-1;padding:22px 28px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;align-items:center}.toolbar h1{font-size:1.35rem;margin:0 0 3px}.toolbar small{color:var(--muted)}.toolbar-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.toolbar button{font-size:.85rem}.left-panel,.right-panel{padding:22px 18px;background:#fff;overflow:auto;max-height:calc(100vh - 190px)}.left-panel{border-right:1px solid var(--line)}.right-panel{border-left:1px solid var(--line)}.panel-title{display:flex;align-items:center;justify-content:space-between}.panel-title h2{margin:0}.mini-actions{display:flex;gap:5px;margin:10px 0 25px}.mini-actions button{font-size:.8rem;padding:6px}#palette button{display:block;text-align:left;width:100%;margin-bottom:6px}.canvas-panel{min-width:0;padding:20px}.canvas-toolbar{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;gap:10px;margin-bottom:15px}.canvas-toolbar button{font-size:.8rem}.preview-wrap{display:flex;justify-content:center;width:100%;height:calc(100vh - 270px);min-height:480px}#preview{width:100%;height:100%;border:1px solid var(--line);border-radius:8px;background:white;box-shadow:0 12px 40px #17233b12}#preview.mobile{max-width:390px}.tree-row{border-radius:6px}.tree-row.selected{background:#edf2ff}.tree-select{display:block;width:100%;text-align:left;border:none;background:transparent;font-size:.85rem;padding:9px 6px}.component-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.component-actions button{font-size:.8rem;padding:7px}.muted{color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:22px 0}dialog{border:1px solid var(--line);border-radius:14px;max-width:600px;width:calc(100% - 32px);padding:28px;color:var(--ink)}dialog::backdrop{background:#12213d70}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-heading h2{font-size:1.3rem;margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:5;max-width:calc(100% - 32px);background:#17233b;color:#fff;border-radius:10px;padding:14px 20px;display:none;box-shadow:0 8px 30px #0002}#notice.show{display:block}#notice a{color:#d9e4ff}#notice.error,.error{color:#a32a2a;background:#fff0f0}.error{padding:12px;border-radius:8px}@media(max-width:1100px){.editor{grid-template-columns:190px minmax(260px,1fr) 240px}.toolbar{align-items:flex-start}.toolbar-actions{max-width:70%}}@media(max-width:850px){.top{padding:16px;height:auto;flex-wrap:wrap}.account{gap:10px}.editor{display:flex;flex-direction:column}.toolbar{padding:16px;flex-direction:column}.toolbar-actions{max-width:100%;justify-content:flex-start}.left-panel,.right-panel{max-height:none}.left-panel{order:2;border:0}.canvas-panel{order:1}.right-panel{order:3;border:0}.preview-wrap{height:550px}#palette{display:flex;flex-wrap:wrap;gap:6px}#palette h3{width:100%}#palette button{width:auto}.dashboard{padding:30px 18px}.page-heading{align-items:flex-start;flex-direction:column}.login{margin:30px 16px;padding:28px}.account span{overflow-wrap:anywhere}h1{font-size:2rem}}
#palette details{margin-top:18px}#palette summary{font-weight:700;color:#65738b;cursor:pointer;margin-bottom:10px;font-size:.9rem}#palette [hidden]{display:none!important}#component-search{margin-bottom:14px}#dialog-fields textarea{font-family:ui-monospace,monospace;font-size:.85rem;line-height:1.5}#properties textarea{font-size:.9rem}#properties input[type=number]{max-width:100%}
