:root{--dd-bg: #0f172a;--dd-panel: #1e293b;--dd-panel-2: #111827;--dd-border: #334155;--dd-ink: #e2e8f0;--dd-muted: #94a3b8;--dd-accent: #f59e0b;--dd-accent-ink: #1f1300;--dd-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--dd-mono: "SFMono-Regular", "JetBrains Mono", "Cascadia Code", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%}body{display:flex;flex-direction:column;height:100vh;font-family:var(--dd-font);color:var(--dd-ink);background:var(--dd-bg)}.dd-toolbar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--dd-panel);border-bottom:1px solid var(--dd-border);flex-wrap:wrap}.dd-brand{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:16px;letter-spacing:.2px}.dd-logo{flex:0 0 auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.dd-wordmark-accent{color:var(--dd-accent)}.dd-spacer{flex:1 1 auto}.dd-theme-label{font-size:12px;color:var(--dd-muted);display:inline-flex;align-items:center;gap:6px}select,button{font-family:inherit;font-size:13px}select{background:var(--dd-panel-2);color:var(--dd-ink);border:1px solid var(--dd-border);border-radius:7px;padding:5px 8px}select:disabled{opacity:.6}button{cursor:pointer;border-radius:7px;border:1px solid var(--dd-border);background:var(--dd-panel-2);color:var(--dd-ink);padding:6px 12px;transition:background .12s,border-color .12s}button:hover{border-color:var(--dd-muted)}button.primary{background:var(--dd-accent);color:var(--dd-accent-ink);border-color:var(--dd-accent);font-weight:600}button.primary:hover{filter:brightness(1.06)}button.ghost{background:transparent}.dd-export{display:inline-flex;align-items:center;gap:4px;padding-left:8px;margin-left:2px;border-left:1px solid var(--dd-border)}.dd-export-label{font-size:11px;color:var(--dd-muted);margin-right:2px}.dd-export button{padding:6px 10px}.dd-help{width:30px;height:30px;flex:0 0 auto;display:inline-grid;place-items:center;border-radius:50%;border:1px solid transparent;color:var(--dd-muted);text-decoration:none;font-weight:700;font-size:14px}.dd-help:hover{color:var(--dd-accent);border-color:var(--dd-accent)}.dd-help:focus-visible{outline:2px solid var(--dd-accent);outline-offset:1px}.dd-main{flex:1 1 auto;display:grid;grid-template-columns:minmax(280px,38%) 1fr;min-height:0}.dd-editor-pane{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--dd-border);background:var(--dd-panel-2)}.dd-editor-host{flex:1 1 auto;min-height:0;display:flex}.dd-editor-host .cm-editor{flex:1 1 auto;height:100%;min-width:0}::selection{background:#f59e0b52}button:focus-visible,select:focus-visible{outline:2px solid var(--dd-accent);outline-offset:1px}.dd-status{flex:0 0 auto;padding:8px 14px;font-size:12px;line-height:1.45;white-space:pre-wrap;border-top:1px solid var(--dd-border);max-height:30%;overflow:auto}.dd-status.ok{color:#86efac}.dd-status.warn{color:#fcd34d}.dd-status.err{color:#fca5a5}.dd-preview{position:relative;min-height:0;overflow:hidden;background:#0b1220;background-image:radial-gradient(circle at 1px 1px,rgba(148,163,184,.12) 1px,transparent 0);background-size:22px 22px;touch-action:none;cursor:grab}.dd-preview.dd-grabbing{cursor:grabbing}.dd-stage{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.dd-stage svg{display:block;border-radius:12px;box-shadow:0 10px 40px #00000059}.dd-zoom{position:absolute;left:12px;bottom:12px;z-index:5;display:inline-flex;gap:1px;padding:3px;background:#0f172ad1;border:1px solid var(--dd-border);border-radius:9px;backdrop-filter:blur(6px);box-shadow:0 6px 20px #0006}.dd-zoom button{border:0;background:transparent;color:var(--dd-ink);border-radius:6px;padding:5px 9px;font-size:12px;font-weight:600;min-width:30px}.dd-zoom button:hover{background:var(--dd-panel-2)}.dd-zoom button:focus-visible{outline:2px solid var(--dd-accent);outline-offset:1px}.dd-minimap{position:absolute;right:12px;bottom:12px;z-index:5;display:none;padding:6px;background:#0f172ad1;border:1px solid var(--dd-border);border-radius:9px;backdrop-filter:blur(6px);box-shadow:0 6px 20px #0006;cursor:pointer}.dd-minimap-inner{position:relative;overflow:hidden;border-radius:4px}.dd-minimap-inner svg{border-radius:4px;opacity:.92}.dd-minimap-view{position:absolute;border:1.5px solid var(--dd-accent);background:#f59e0b29;border-radius:2px;pointer-events:none}.dd-footer{flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:7px 14px;background:var(--dd-panel);border-top:1px solid var(--dd-border);font-size:12px;color:var(--dd-muted)}.dd-foot-logo{height:22px;width:auto;display:block;flex:0 0 auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.dd-foot-text strong{color:var(--dd-ink);font-weight:650}.dd-foot-text a{color:var(--dd-muted);text-decoration:none;font-weight:600}.dd-foot-text a:hover{color:var(--dd-accent)}@media print{.dd-footer{display:none}}.dd-editor-hint{flex:0 0 auto;padding:6px 14px;border-top:1px solid var(--dd-border);background:var(--dd-panel);color:var(--dd-muted);font-size:11px;line-height:1.6}.dd-editor-hint span{display:inline-block;white-space:nowrap;margin-right:6px}.dd-editor-hint strong{color:var(--dd-ink);font-weight:650}.dd-mobile-gate{display:none}.dd-gate-card{width:min(380px,calc(100vw - 36px));margin:auto 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.dd-gate-dodo{filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.dd-mobile-gate h1{margin:4px 0 0;font-size:clamp(19px,6vw,23px);line-height:1.25;letter-spacing:-.01em}.dd-mobile-gate p{margin:0;font-size:15px;line-height:1.5;color:var(--dd-ink)}.dd-gate-tip{font-size:13px!important;color:var(--dd-muted)!important}.dd-gate-btn{margin-top:6px;min-height:44px;padding:10px 22px;background:transparent;color:var(--dd-accent);border:1px solid var(--dd-accent);border-radius:8px;font:inherit;font-weight:700;cursor:pointer}.dd-gate-btn:active{background:#f59e0b1f}.dd-gate-credit{margin-top:10px;font-size:12px;color:var(--dd-muted)}@media (max-width: 760px){.dd-mobile-gate{display:flex;flex-direction:column;align-items:center;position:fixed;inset:0;z-index:100;overflow-y:auto;background:var(--dd-panel);color:var(--dd-ink);padding:28px 22px}body:not(.dd-force)>.dd-toolbar,body:not(.dd-force)>.dd-main,body:not(.dd-force)>.dd-footer{display:none}html,body{overflow-x:hidden}}body.dd-force .dd-mobile-gate{display:none!important}.dd-welcome-card{width:min(440px,100%);background:var(--dd-panel);border:1px solid var(--dd-border);border-radius:14px;box-shadow:0 20px 60px #00000080;padding:28px 26px 22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:13px}.dd-welcome-card svg{width:60px;height:60px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.dd-welcome-card h2{margin:0;font-size:21px;letter-spacing:-.01em}.dd-welcome-card p{margin:0;color:var(--dd-muted);font-size:14.5px;line-height:1.6}.dd-welcome-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}.dd-welcome-actions a,.dd-welcome-actions button{font:inherit;font-weight:650;cursor:pointer;border-radius:8px;padding:10px 18px;border:1px solid var(--dd-border);background:var(--dd-panel-2);color:var(--dd-ink);text-decoration:none}.dd-welcome-actions .primary{background:var(--dd-accent);color:var(--dd-accent-ink);border-color:var(--dd-accent)}.dd-welcome-actions a:hover,.dd-welcome-actions button:hover{border-color:var(--dd-accent)}.dd-welcome-actions a:focus-visible,.dd-welcome-actions button:focus-visible{outline:2px solid var(--dd-accent);outline-offset:2px}.dd-modal{position:fixed;inset:0;background:#020617a8;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.dd-modal-card{background:var(--dd-panel);border:1px solid var(--dd-border);border-radius:14px;width:min(760px,100%);max-height:86vh;display:flex;flex-direction:column;padding:18px;gap:12px}.dd-modal-card h2{margin:0;font-size:16px}.dd-modal-text{flex:1 1 auto;min-height:240px;resize:none;border-radius:8px;border:1px solid var(--dd-border);background:var(--dd-panel-2);color:var(--dd-ink);font-family:var(--dd-mono);font-size:12px;line-height:1.5;padding:12px}.dd-modal-note{margin:0;font-size:12px;color:var(--dd-muted)}.dd-modal-actions{display:flex;gap:8px;justify-content:flex-end}.dd-design{position:fixed;top:0;left:0;bottom:0;z-index:55;width:min(340px,92vw);display:flex;flex-direction:column;background:var(--dd-panel);border-right:1px solid var(--dd-border);box-shadow:0 0 50px #0206178c}.dd-design-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--dd-border)}.dd-design-head h2{margin:0;font-size:15px}.dd-design-x{background:none;border:0;color:var(--dd-muted);font-size:22px;line-height:1;cursor:pointer;padding:0 4px}.dd-design-x:hover{color:var(--dd-ink)}.dd-design-body{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:14px}.dd-design-field{display:flex;align-items:center;justify-content:space-between;gap:10px}.dd-design-lbl{font-size:13px;color:var(--dd-ink)}.dd-design-select{background:var(--dd-panel-2);color:var(--dd-ink);border:1px solid var(--dd-border);border-radius:6px;padding:6px 8px;font:inherit;font-size:13px;flex:1;max-width:180px}.dd-design-select:focus{outline:none;border-color:var(--dd-accent)}.dd-design-toggle{appearance:none;-webkit-appearance:none;position:relative;width:38px;height:22px;border-radius:11px;background:var(--dd-panel-2);border:1px solid var(--dd-border);cursor:pointer;flex:none;transition:background .15s}.dd-design-toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--dd-muted);transition:transform .15s,background .15s}.dd-design-toggle:checked{background:var(--dd-accent);border-color:var(--dd-accent)}.dd-design-toggle:checked:after{transform:translate(16px);background:var(--dd-accent-ink)}.dd-design-toggle:focus-visible{outline:2px solid var(--dd-accent);outline-offset:2px}.dd-design-foot{display:flex;align-items:center;gap:10px;justify-content:flex-end;padding:14px 18px;border-top:1px solid var(--dd-border)}@media (max-width: 820px){.dd-main{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.dd-editor-pane{border-right:0;border-bottom:1px solid var(--dd-border)}}
