:root{
  --ink:#0A101E;
  --surface:#111a2c;
  --line:rgba(147,160,184,.18);
  --muted:#93A0B8;
  --text:#EAF0FA;
  --cyan:#19B8D4;
  --violet:#8B5CF6;
  --radius:14px;
  color-scheme: dark;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--ink);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  display:flex;flex-direction:column;min-height:100vh;
}
.topbar{padding:28px 32px 8px}
.topbar h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.3px}
.accent{background:linear-gradient(135deg,var(--cyan),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.tagline{color:var(--muted);margin:8px 0 0;font-size:14px}

.layout{flex:1;display:grid;grid-template-columns:1fr 1.4fr;gap:18px;padding:16px 32px 8px;min-height:0}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;min-height:420px;overflow:hidden}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);font-weight:600}
.btns{display:flex;gap:8px}
.btn{font-family:inherit;font-size:12.5px;font-weight:600;padding:7px 14px;border-radius:8px;border:1px solid var(--line);cursor:pointer;background:transparent;color:var(--text);transition:border-color .15s,transform .15s}
.btn:hover{border-color:var(--cyan);transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--cyan),var(--violet));border:none;color:#06121A}

#outlineInput{
  flex:1;resize:none;border:none;outline:none;background:transparent;color:var(--text);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;line-height:1.6;
  padding:16px;white-space:pre;
}
.hint{margin:0;padding:8px 16px 12px;font-size:11.5px;color:var(--muted)}

.canvas-wrap{flex:1;overflow:auto;background:radial-gradient(circle at 1px 1px, rgba(147,160,184,.18) 1px, transparent 0) 0 0/18px 18px}
#mindmap{display:block}
#mindmap .node rect{fill:var(--surface);stroke:var(--line);stroke-width:1.4;rx:10}
#mindmap .node.root rect{fill:url(#rootGrad);stroke:none}
#mindmap .node text{fill:var(--text);font-size:13px;font-family:inherit;dominant-baseline:middle}
#mindmap .node.root text{fill:#06121A;font-weight:700}
#mindmap .link{fill:none;stroke:var(--line);stroke-width:1.6}

.footer{padding:14px 32px 26px;color:var(--muted);font-size:12.5px;text-align:center}
.footer p{margin:4px 0}
.footer a{color:var(--cyan);text-decoration:none}
.footer a:hover{text-decoration:underline}

@media (max-width:860px){
  .layout{grid-template-columns:1fr}
}
