:root {
    --bg:#f7fbfb;
    --card:#ffffff;
    --card2:#eef7f7;
    --line:rgba(24,50,58,.14);
    --text:#18323a;
    --muted:#526a70;
    --blue:#2f737c;
    --cyan:#a4dee5;
    --green:#70d8b2;
    --orange:#ffb35c;
    --yellow:#ffd56a;
    --brand:#a4dee5;
    --brand-soft:#e8f7f8;
    --brand-deep:#2f737c;
    --ink:#18323a;
    --sand:#f4eee3;
    --shadow:0 14px 36px rgba(24,50,58,.10);
  }

* { box-sizing:border-box; }

html,body {
    margin:0;
    background:
      radial-gradient(circle at top, rgba(164,222,229,.46), transparent 30%),
      linear-gradient(180deg, #f7fbfb, #edf7f7 55%, #f8fcfc);
    color:var(--text);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC","PingFang TC",Arial,sans-serif;
  }

label { display:block; font-size:12px; color:var(--muted); margin-bottom:6px; }

input, select, button {
    width:100%; border:none; outline:none; border-radius:14px; padding:12px 14px; font-size:15px;
  }

input, select {
    color:var(--text); background:#fff; border:1px solid var(--line);
  }

button { font-weight:700; cursor:pointer; }

canvas {
    width:100%; height:100%; display:block; border-radius:16px;
    cursor:crosshair; touch-action:pan-y;
    background:linear-gradient(180deg, #18323a, #10272e);
  }

table { width:100%; border-collapse:collapse; font-size:14px; }

th, td {
    padding:12px 10px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top;
  }

th { color:var(--text); font-size:13px; }

td { color:var(--text); }

tr:hover td { background:rgba(255,255,255,.03); }

details { margin-top:12px; }

pre {
    margin:0; background:#07101d; border:1px solid var(--line); border-radius:16px; padding:14px;
    overflow:auto; max-height:340px; color:#d8e7ff; font-size:12px; line-height:1.5;
  }

:root{
    --surface:#0d1a2b;--surface-2:#13243a;--surface-3:#19304d;
    --accent:#58c7ff;--accent-2:#6ee7d8;--danger:#ff8d8d;
  }

body{padding-bottom:76px;background:radial-gradient(circle at 12% -5%,rgba(88,199,255,.19),transparent 28%),linear-gradient(180deg,#06101c 0%,#091522 55%,#07111d 100%)}
