:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{margin:0;display:flex;justify-content:center;align-items:flex-start;min-height:100vh;background:#11151c;color:#e7ecf3}#app{padding:16px;display:flex;flex-direction:row;align-items:flex-start;gap:24px;width:100%;min-width:0;max-width:1100px;box-sizing:border-box}.panel{flex:0 0 300px;width:300px;display:flex;flex-direction:column;gap:12px;position:sticky;top:16px}.board-area{flex:1 1 auto;min-width:0;display:flex;justify-content:center;align-items:flex-start}header{display:flex;align-items:center;gap:12px;width:100%}.logo{height:34px;width:34px;filter:invert(1)}h1{margin:0;font-size:1.6rem}button{padding:6px 14px;border:0;border-radius:8px;background:#2d6cdf;color:#fff;font-size:.95rem;cursor:pointer}button:hover{background:#3b7bf0}header button{margin-left:auto}.config{display:flex;flex-direction:column;align-items:stretch;gap:10px 16px;width:100%;padding:10px 12px;box-sizing:border-box;border-radius:10px;background:#ffffff0a;font-size:.8rem}.ctl{display:flex;flex-direction:column;gap:4px;opacity:.85}.ctl-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.lock{padding:0 3px;background:none;color:inherit;font-size:.85rem;line-height:1.2;border-radius:4px;opacity:.4}.lock:hover{background:#ffffff14;opacity:.85}.lock[aria-pressed=true]{opacity:1}.ctl.locked{opacity:1;border-left:2px solid #2d6cdf;margin-left:-8px;padding-left:6px}.ctl .val{opacity:.6;font-variant-numeric:tabular-nums}.config input[type=number],.config input[type=text]{padding:4px 6px;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:#0d1017;color:#e7ecf3;font:inherit}.config input[type=number]{width:4.5em}.config .code{flex:1 1 12em}.config .code input{width:100%;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em}.seedrow{display:flex;gap:4px}.seedrow input{flex:1;min-width:0}.seedrow button{padding:4px 8px}.edges{display:block;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:2px 8px 6px;margin:0}.edges legend{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 4px;box-sizing:border-box}.edges legend>span{opacity:.6}.edges label{display:inline-flex;align-items:center;gap:2px;margin-right:10px}canvas{border-radius:8px;box-shadow:0 6px 24px #00000073;touch-action:manipulation}.status{margin:0;font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums}.hint{margin:0;font-size:.85rem;opacity:.65;line-height:1.4}.credit{margin:4px 0 0;font-size:.75rem;opacity:.5}.credit a{color:inherit}.loading{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0b0e14bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;opacity:0;pointer-events:none;transition:opacity .15s ease}.loading--visible{opacity:1;pointer-events:all}.loading-box{background:#1a2030;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:24px 32px;display:flex;flex-direction:column;align-items:center;gap:14px;min-width:220px;box-shadow:0 8px 32px #00000080}.loading-label{margin:0;font-size:.95rem;opacity:.8;letter-spacing:.02em}.progress-track{width:100%;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.progress-bar{height:100%;width:0%;background:#2d6cdf;border-radius:3px;transition:width .1s linear}@media(max-width:720px){#app{flex-direction:column;align-items:stretch}.panel{flex-basis:auto;width:100%;position:static}.config{flex-direction:row;flex-wrap:wrap;align-items:flex-end}}
