:root{color-scheme:dark;--accent:#2dd4bf;--grad:linear-gradient(92deg,#2ee6a6,#38bdf8 60%,#818cf8)}*{box-sizing:border-box}body,html{height:100%}body{background:radial-gradient(1100px 720px at 50% -8%,#0c1320 0,transparent 55%),#05070a;color:#e8edf1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0;-webkit-font-smoothing:antialiased}.fractal,body{min-height:100vh}.fractal{display:flex;flex-direction:column;margin:0 auto;max-width:1100px;padding:26px 18px 34px}.fractal__bar{align-items:center;display:flex;gap:12px;margin-bottom:16px}.fractal__title{background:var(--grad);-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:800;letter-spacing:-.01em;margin:0;white-space:nowrap;-webkit-text-fill-color:transparent}.fractal__back{margin-right:auto}.fractal__back,.fractal__home{color:#9fb0bb;font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap}.fractal__home{margin-left:auto}.fractal__back:hover,.fractal__home:hover{color:#67e8f9}.fractal__stage{background:radial-gradient(130% 120% at 50% 0,rgba(45,212,191,.08),transparent 62%),radial-gradient(120% 130% at 50% 120%,rgba(129,140,248,.1),transparent 60%),#060a10;border:1px solid hsla(0,0%,100%,.08);border-radius:18px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.04),0 20px 50px rgba(0,0,0,.45);flex:1 1 auto;min-height:60vh;overflow:hidden;position:relative}.fractal__canvas{cursor:grab;display:block;height:100%;inset:0;position:absolute;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;width:100%}.fractal__canvas.is-grabbing{cursor:grabbing}.fractal__canvas.is-picking{cursor:crosshair}.fractal__fallback{align-items:center;color:#cdd9e1;display:flex;flex-direction:column;gap:8px;inset:0;justify-content:center;padding:24px;position:absolute;text-align:center}.fractal__fallback[hidden]{display:none}.fractal__fallback p{font-size:15px;line-height:1.6;margin:0;max-width:34ch}.fractal__fallback-sub{color:#71808a;font-size:13px!important}.no-webgl .fractal__controls,.no-webgl .fractal__hint,.no-webgl .fractal__readout{display:none}.fractal__readout{backdrop-filter:blur(8px);background:rgba(6,11,18,.62);border:1px solid hsla(0,0%,100%,.1);border-radius:11px;box-shadow:0 8px 22px rgba(0,0,0,.4);display:grid;font-variant-numeric:tabular-nums;gap:2px;left:12px;padding:9px 11px;pointer-events:none;position:absolute;top:12px;z-index:4}.ro{align-items:baseline;display:flex;gap:8px}.ro__k{color:#6f8593;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;width:34px}.ro__v{color:#cfe9e2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ro--c{display:none}.julia-on .ro--c{display:flex}.ro__note{color:#fbbf24;font-size:9.5px;font-weight:700;letter-spacing:.06em;margin-top:4px;text-transform:uppercase}.ro__note[hidden]{display:none}.fractal__controls{align-items:start;display:grid;gap:16px 22px;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));margin:18px 0 6px}.ctl{display:flex;flex-direction:column;gap:9px;min-width:0}.ctl--wide{grid-column:span 2}.ctl>span{align-items:baseline;color:#9fb0bb;display:flex;font-size:11px;font-weight:700;gap:7px;letter-spacing:.1em;text-transform:uppercase}.ctl>span em{color:#67e8f9;font-style:normal;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.02em}.ctl input[type=range]{accent-color:var(--accent);height:24px;width:100%}.ctl input[type=range]:disabled{opacity:.45}.chk{align-items:center;color:#b9c6cf;cursor:pointer;display:flex;font-size:12.5px;font-weight:600;gap:8px;letter-spacing:0;text-transform:none}.chk input{accent-color:var(--accent);cursor:pointer;height:16px;width:16px}.fractal__palettes{display:flex;flex-wrap:wrap;gap:8px}.pal{border:1px solid hsla(0,0%,100%,.14);border-radius:9px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08);cursor:pointer;flex:1 1 52px;height:34px;min-width:48px;outline:none;padding:0;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.pal:hover{border-color:hsla(0,0%,100%,.3);transform:translateY(-1px)}.pal.is-active{border-color:#67e8f9;box-shadow:0 0 0 2px rgba(45,212,191,.45),inset 0 1px 0 hsla(0,0%,100%,.1)}.pal:focus-visible{box-shadow:0 0 0 2px rgba(45,212,191,.7)}.pal--aurora{background:linear-gradient(92deg,#0e7490,#2dd4bf 40%,#38bdf8 70%,#818cf8)}.pal--inferno{background:linear-gradient(92deg,#1a0008,#b30016 30%,#ff7a00 62%,#ffd83a 85%,#fffbe6)}.pal--ultra{background:linear-gradient(92deg,#00031f,#1b6bcb 26%,#edffff 50%,#fa0 78%,#050200)}.pal--spectrum{background:linear-gradient(92deg,#ff2d55,#ffd000 22%,#26ff5a 46%,#00b3ff 68%,#7a3cff 88%,#ff2d55)}.pal--neon{background:linear-gradient(92deg,#07203f,#13f7d3 34%,#7b2ff7 66%,#ff3df0)}.btn{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.16);border-radius:9px;color:#e8edf1;cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:9px 14px;transition:border-color .12s ease,background .12s ease,transform .12s ease,color .12s ease}.btn:hover{background:rgba(45,212,191,.08);border-color:rgba(45,212,191,.5)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid rgba(45,212,191,.7);outline-offset:1px}.btn--toggle[aria-pressed=true]{background:linear-gradient(92deg,#2ee6a6,#38bdf8);border-color:transparent;color:#04221c}.btn--toggle[aria-pressed=true]:hover{background:linear-gradient(92deg,#41f0b4,#59c8ff)}.fractal__julia{display:none}.julia-on .fractal__julia{display:flex}.fractal__hint{color:#71808a;font-size:12.5px;line-height:1.7;margin-top:14px}.fractal__hint strong{color:#cdd9e1}.fractal__hint kbd{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.14);border-radius:4px;color:#cdd9e1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;padding:1px 6px}@media (max-width:620px){.fractal{padding:20px 14px 28px}.fractal__title{font-size:19px}.fractal__back,.fractal__home{font-size:14px}.fractal__bar{gap:8px}.fractal__stage{min-height:52vh}.ctl--wide{grid-column:1/-1}}@media (max-width:420px){.fractal__controls{grid-template-columns:1fr 1fr}.ctl--wide{grid-column:1/-1}}@media (pointer:coarse){.pal{height:44px}.btn{min-height:44px}}