:root{color-scheme:dark;--bg:#080d19;--panel:#0d1422;--panel-2:#101a2b;--line:#273346;--line-soft:#1d2939;--text:#f0f0e9;--muted:#96a2b3;--dim:#637184;--mint:#a9eacb;--gold:#e3bd7d;--sans:"DM Sans",sans-serif;--display:"Space Grotesk",sans-serif;--mono:"DM Mono",monospace}
*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{min-width:320px;min-height:100%;margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.topbar{height:78px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line-soft);background:#090f1a;gap:20px}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap}.brand-mark{position:relative;width:29px;height:34px;display:inline-block;transform:rotate(-25deg)}.brand-mark span{position:absolute;border:1.5px solid var(--mint);border-radius:50%;width:13px;height:29px;left:8px;top:2px}.brand-mark span:nth-child(2){transform:rotate(60deg)}.brand-mark span:nth-child(3){transform:rotate(120deg)}.brand-text{font:700 17px/.9 var(--display);letter-spacing:.015em}.brand-text>span{color:var(--mint)}.brand-text small{display:block;margin-top:7px;color:#73839a;font:400 8px/1 var(--mono);letter-spacing:.19em}.topbar-center,.footer,.eyebrow,.section-heading,.fractal-copy small,.palette-label,.palette-choice,.range-ends,.performance-note,.panel-end,.canvas-kicker,.coordinates,.canvas-hint,.canvas-action,.canvas-tools,.header-button,.text-button,.segmented,.dialog-grid,.dialog-start{font-family:var(--mono)}.topbar-center{color:#8492a4;font-size:10px;letter-spacing:.13em}.live-dot{display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px #a9eacb88}.topbar-slash{margin:0 10px;color:#536074}.topbar-actions{display:flex;align-items:center;gap:8px}.header-button{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 12px;border:1px solid #354154;border-radius:4px;background:#101a2a;color:#d8e1e5;font-size:10px;letter-spacing:.08em;transition:background .2s,border-color .2s,transform .2s}.header-button:hover,.canvas-action:hover,.tool-button:hover{background:#1e3040;border-color:#7a9c9e;transform:translateY(-1px)}.header-button-accent{background:#bce9d3;border-color:#bce9d3;color:#0b1720;font-weight:500}.header-button-accent:hover{background:#d3f4e2;border-color:#d3f4e2}.header-button svg,.canvas-action svg,.motion-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.header-icon{display:grid;place-items:center;width:16px;height:16px;border:1px solid currentColor;border-radius:50%;font-size:11px}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:336px minmax(0,1fr);padding:16px;gap:16px}.control-panel{max-height:calc(100dvh - 130px);min-height:670px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#34465b transparent;background:linear-gradient(155deg,#111c2b 0%,#0b1421 63%);border:1px solid var(--line);border-radius:7px;padding:25px 22px 17px}.panel-intro{padding:3px 4px 25px}.eyebrow{display:flex;align-items:center;gap:8px;color:var(--mint);font-size:9px;letter-spacing:.13em;white-space:nowrap}.eyebrow-line{width:16px;height:1px;background:var(--mint)}.panel-intro h1,.about-dialog h2{margin:17px 0 10px;font:600 28px/1.07 var(--display);letter-spacing:-.045em}.panel-intro h1 em,.about-dialog h2 em{color:var(--mint);font-style:normal}.panel-intro p{max-width:250px;margin:0;color:#a5afbc;font-size:12px;line-height:1.6}.panel-section{border-top:1px solid var(--line);padding:18px 0 20px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:#a4b4bd;font-size:10px;letter-spacing:.1em}.section-heading h2{margin:0;font:inherit;font-weight:500;color:#d7dedc}.section-heading>span{color:#66788b}.fractal-list{display:grid;gap:5px}.fractal-choice{width:100%;min-height:60px;display:flex;align-items:center;gap:12px;padding:7px 10px 7px 7px;text-align:left;color:var(--text);background:transparent;border:1px solid transparent;border-radius:4px;transition:background .2s,border-color .2s,transform .2s}.fractal-choice:hover{background:#1b2b3c;transform:translateX(2px)}.fractal-choice.is-active{background:#18323a;border-color:#567c7b}.fractal-thumb{width:48px;height:44px;flex:none;position:relative;overflow:hidden;border-radius:3px;display:grid;place-items:center;background:radial-gradient(circle at 72% 33%,#dfaa72 0%,#315e69 33%,#102332 75%)}.fractal-thumb::before,.fractal-thumb::after{content:"";position:absolute;border:1px solid #e5b579;border-radius:50%;opacity:.7}.fractal-thumb::before{width:42px;height:42px;left:22px;top:-1px}.fractal-thumb::after{width:62px;height:62px;left:12px;top:-11px;opacity:.3}.thumb-shape{width:21px;height:27px;position:relative;background:#0b1a2a;border-radius:43% 58% 44% 60%;box-shadow:0 0 0 2px #e9be7c,0 0 0 5px #5a9a92,0 0 14px 8px #edb97180;transform:rotate(-32deg)}.thumb-julia{background:radial-gradient(circle,#dcc6b3,#65467a 42%,#17263f 80%)}.thumb-julia .thumb-shape{width:27px;height:15px;border-radius:50%;transform:rotate(40deg);box-shadow:0 0 0 2px #e8d3d3,0 0 0 5px #9a78a7,0 0 13px 7px #7f6dab}.thumb-burning{background:linear-gradient(0deg,#281c29,#864954 48%,#e6a66d)}.thumb-burning .thumb-shape{width:26px;height:20px;border-radius:90% 4% 20% 2%;transform:rotate(-15deg);box-shadow:0 0 0 2px #d78a64,0 0 0 6px #8e5350,0 0 16px 8px #e7aa68}.thumb-tricorn{background:radial-gradient(circle,#9bb8ca,#3d6d8a 42%,#142b44 80%)}.thumb-tricorn .thumb-shape{width:25px;height:24px;border-radius:3% 80% 15% 55%;transform:rotate(35deg);box-shadow:0 0 0 2px #bbd2d4,0 0 0 5px #5689a0,0 0 14px 7px #9bb8c2}.thumb-multibrot{background:radial-gradient(circle,#e9cf9d,#a17c90 40%,#213049 80%)}.thumb-multibrot .thumb-shape{width:22px;height:22px;border-radius:33% 70% 39% 67%;transform:rotate(90deg);box-shadow:0 0 0 2px #f2cf9a,0 0 0 5px #ae88a8,0 0 15px 7px #d4a6a6}.fractal-copy{flex:1;min-width:0}.fractal-copy strong{display:block;color:#e7ebea;font:600 13px/1.25 var(--display);letter-spacing:-.01em}.fractal-copy small{display:block;margin-top:5px;color:#81909e;font-size:8px;letter-spacing:.04em;white-space:nowrap}.is-active .fractal-copy strong{color:#d8f2e4}.choice-arrow{color:#78909b;font-size:17px}.is-active .choice-arrow{color:var(--mint)}.tune-section{padding-bottom:23px}.control-group{margin:0 3px 19px}.control-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;color:#c8d3d8;font-size:12px}.control-label output{color:var(--mint);font:11px var(--mono)}input[type=range]{width:100%;height:5px;margin:0;appearance:none;background:linear-gradient(to right,var(--mint) 0,var(--mint) var(--fill,50%),#2d3c4d var(--fill,50%),#2d3c4d 100%);border-radius:99px;cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:13px;height:13px;border:3px solid #dff7e8;border-radius:50%;background:#1a5c5a;box-shadow:0 0 0 2px #223e46}input[type=range]::-moz-range-thumb{width:9px;height:9px;border:3px solid #dff7e8;border-radius:50%;background:#1a5c5a;box-shadow:0 0 0 2px #223e46}.range-ends{display:flex;justify-content:space-between;margin-top:9px;color:#657687;font-size:8px;letter-spacing:.07em}.julia-controls{margin:1px 0 18px;padding:12px 5px 1px;background:#122a35;border:1px solid #376269;border-radius:4px}.julia-controls[hidden]{display:none}.julia-controls .control-group{margin-bottom:14px}.palette-label{display:flex;align-items:center;justify-content:space-between;margin:2px 3px 10px;color:#c5d0d5;font-size:10px;letter-spacing:.08em}.text-button{border:0;background:transparent;padding:3px 0;color:var(--mint);font-size:9px;letter-spacing:.04em}.text-button:hover{text-decoration:underline}.palette-list{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.palette-choice{min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:7px 3px 8px;border:1px solid #344153;border-radius:3px;background:#131f2d;color:#98a8b3;font-size:8px;letter-spacing:.02em;transition:border-color .2s,background .2s}.palette-choice:hover{border-color:#80a6a5}.palette-choice.is-active{background:#1c343b;border-color:#7ab6a7;color:#e1f5e9}.palette-preview{display:block;width:30px;height:22px;border-radius:3px}.palette-aurora{background:linear-gradient(135deg,#152a43,#4db2ad 42%,#efbc7b 72%,#f6e5b0)}.palette-ember{background:linear-gradient(135deg,#29233d,#9e4b66 42%,#ec8c54 72%,#f1c378)}.palette-tidal{background:linear-gradient(135deg,#101d45,#315b9b 44%,#5dc4c6 72%,#c5e5db)}.palette-electric{background:linear-gradient(135deg,#1b1648,#6b4dac 42%,#bd66af 70%,#f0a3bb)}.color-speed{margin-top:20px;margin-bottom:0}.performance-section{padding-bottom:11px}.segmented{display:flex;gap:4px;padding:4px;background:#0a1422;border:1px solid #29384a;border-radius:4px}.quality-choice{flex:1;border:0;border-radius:3px;background:transparent;color:#8598a6;font-size:10px;letter-spacing:.06em;padding:9px 2px;transition:background .2s,color .2s}.quality-choice:hover{color:#e9f6ed}.quality-choice.is-active{background:#a9eacb;color:#0d2328;font-weight:500}.performance-note{margin:12px 4px 0;color:#788a99;font-size:9px;line-height:1.5}.panel-end{padding:12px 2px 0;border-top:1px solid #243344;color:#66798b;font-size:8px;letter-spacing:.04em}.panel-end span{color:var(--gold);margin-right:5px}.explorer{position:relative;min-width:0;min-height:670px;overflow:hidden;isolation:isolate;border:1px solid #344555;border-radius:7px;background:radial-gradient(ellipse at 65% 50%,#173b48 0%,#0b1929 55%,#07101d 100%);touch-action:none;cursor:grab}.explorer:active{cursor:grabbing}#fractalCanvas,#transitionCanvas{position:absolute;inset:0;width:100%;height:100%;display:block}#transitionCanvas{pointer-events:none;opacity:0;z-index:1;transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1),clip-path .65s ease;clip-path:circle(150% at 50% 50%)}#transitionCanvas.is-transitioning{opacity:0;transform:scale(1.03);clip-path:circle(0% at var(--wipe-x,50%) var(--wipe-y,50%))}.canvas-grain{pointer-events:none;position:absolute;inset:0;z-index:2;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}.explorer::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at center,transparent 20%,#0611204d 100%)}.canvas-topline,.canvas-bottom{position:absolute;left:0;right:0;z-index:3;pointer-events:none}.canvas-topline{top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:32px 35px}.canvas-title{text-shadow:0 2px 14px #00141dbb}.canvas-kicker{display:flex;align-items:center;gap:8px;color:#b8e6d7;font-size:9px;letter-spacing:.11em}.crosshair-icon{font-size:16px;line-height:1}.kicker-index{margin-left:9px;padding-left:14px;border-left:1px solid #aac8c887;color:#a2b6bf}.canvas-title h2{margin:11px 0 4px;font:600 clamp(24px,2.6vw,37px)/1 var(--display);letter-spacing:-.045em;color:#f6f3e9}.canvas-title p{margin:0;color:#bdcdd1;font-size:12px;line-height:1.5}.canvas-side-actions{display:flex;gap:7px;pointer-events:auto}.canvas-action,.tool-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #73909a88;border-radius:4px;background:#0d1b2a9e;color:#e5eee8;backdrop-filter:blur(12px);transition:background .2s,border-color .2s,transform .2s}.canvas-action{height:36px;padding:0 12px;font-size:10px;letter-spacing:.04em}.canvas-action>span:first-child{color:var(--mint);font-size:15px}.icon-action{width:36px;padding:0}.canvas-center-mark{position:absolute;left:50%;top:50%;z-index:2;width:20px;height:20px;transform:translate(-50%,-50%);opacity:.55;pointer-events:none}.canvas-center-mark span:first-child{position:absolute;left:9px;top:0;width:1px;height:20px;background:#f0f1e580}.canvas-center-mark span:last-child{position:absolute;left:0;top:9px;width:20px;height:1px;background:#f0f1e580}.canvas-bottom{bottom:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:20px;padding:35px}.coordinates{display:flex;flex-direction:column;gap:6px;color:#f1eee7;font-size:12px;text-shadow:0 1px 9px #001624}.coordinates-label,.coordinate-note{color:#b1c7c8;font-size:9px;letter-spacing:.08em}.coordinate-note{color:#77a1a3}.canvas-tools{display:flex;align-items:center;gap:3px;padding:5px;border:1px solid #64808d8c;border-radius:5px;background:#0d1a29ca;backdrop-filter:blur(15px);pointer-events:auto}.tool-button{width:31px;height:29px;border:0;background:transparent;font-size:20px;line-height:1}.canvas-tools>span:not(.tool-divider){min-width:68px;text-align:center;color:#ecf2ec;font-size:11px}.tool-divider{height:23px;margin:0 4px;border-left:1px solid #6a879060}.motion-button svg{fill:currentColor;stroke:none;width:17px;height:17px}.motion-button.is-active{color:var(--mint)}.motion-button.is-active svg{fill:var(--mint)}.canvas-hint{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:#d7e4dc;font-size:9px;line-height:1.7;letter-spacing:.02em;text-align:right;text-shadow:0 1px 8px #001624}.hint-mouse{display:grid;place-items:center;width:29px;height:31px;border:1px solid #b2c5c584;border-radius:4px;font-size:17px}.canvas-corner{position:absolute;z-index:2;width:12px;height:12px;pointer-events:none;border-color:#88b3ae85;border-style:solid}.corner-tl{top:13px;left:13px;border-width:1px 0 0 1px}.corner-tr{top:13px;right:13px;border-width:1px 1px 0 0}.corner-bl{bottom:13px;left:13px;border-width:0 0 1px 1px}.corner-br{bottom:13px;right:13px;border-width:0 1px 1px 0}.footer{height:36px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-top:1px solid #1c2a38;color:#6f8392;font-size:8px;letter-spacing:.1em}.footer-star{color:var(--gold);font-size:12px}.about-dialog{width:min(430px,calc(100vw - 32px));padding:32px;border:1px solid #668684;border-radius:7px;background:linear-gradient(145deg,#152b35,#0a1625);color:var(--text);box-shadow:0 24px 90px #000a}.about-dialog::backdrop{background:#020912cf;backdrop-filter:blur(6px)}.dialog-close{position:absolute;top:14px;right:17px;border:0;background:transparent;color:#becfcb;font-size:24px}.about-dialog h2{font-size:33px;margin:20px 0 12px}.about-dialog p{margin:0;color:#b2c4c7;font-size:13px;line-height:1.7}.dialog-grid{display:grid;grid-template-columns:130px 1fr;gap:11px 14px;padding:22px 0;margin:22px 0;border-top:1px solid #456169;border-bottom:1px solid #456169;font-size:10px}.dialog-grid span{color:var(--mint)}.dialog-grid strong{font-weight:400;color:#dce5e3}.dialog-start{width:100%;height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border:0;border-radius:3px;background:var(--mint);color:#0b262a;font-size:11px;letter-spacing:.07em}.dialog-start span{font-size:18px}.toast{position:fixed;left:50%;bottom:52px;z-index:10;transform:translate(-50%,20px);padding:10px 15px;border:1px solid #668f86;border-radius:4px;background:#142b32;color:#eaf9ef;font:11px var(--mono);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
#transitionCanvas.is-captured{opacity:1}#transitionCanvas.is-captured.is-transitioning{opacity:0}
@media(max-width:1050px){.topbar-center{display:none}.workspace{grid-template-columns:300px minmax(0,1fr);gap:12px;padding:12px}.control-panel{padding:21px 17px}.canvas-topline{padding:25px}.canvas-bottom{padding:25px}.canvas-hint{display:none}.canvas-bottom{grid-template-columns:1fr auto}.canvas-tools{grid-column:2}}
@media(max-width:750px){.app-shell{overflow:visible}.topbar{height:65px;padding:0 17px}.workspace{display:flex;flex-direction:column;padding:10px;gap:10px}.explorer{order:0;min-height:0;height:60vh;height:60dvh;max-height:650px;min-height:390px}.control-panel{order:1;max-height:none;min-height:0;overflow:visible}.panel-intro{padding-bottom:20px}.panel-intro h1{font-size:26px}.fractal-list{grid-template-columns:repeat(2,minmax(0,1fr))}.fractal-choice{min-height:58px}.fractal-thumb{width:39px;height:39px}.fractal-copy small{font-size:7px}.tune-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:17px}.tune-section .section-heading,.tune-section .julia-controls,.tune-section .palette-label,.tune-section .palette-list,.tune-section .color-speed{grid-column:1/-1}.tune-section .control-group{margin-bottom:17px}.julia-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.julia-controls[hidden]{display:none}.performance-section{padding-bottom:18px}.footer{height:auto;min-height:38px;padding:9px 17px;gap:8px;flex-wrap:wrap}.footer span:last-child{display:none}}
@media(max-width:520px){.brand-text{font-size:14px}.brand-text small{font-size:7px}.brand-mark{transform:scale(.82) rotate(-25deg);margin-right:-5px}.topbar-actions{gap:5px}.header-button{height:34px;padding:0 9px}.header-label{display:none}.canvas-topline{padding:22px 19px}.canvas-title h2{font-size:25px}.canvas-title p{font-size:11px;max-width:235px}.canvas-action{width:33px;height:33px;padding:0}.canvas-action>span:last-child{display:none}.icon-action{width:33px}.canvas-side-actions{gap:5px}.canvas-bottom{padding:20px 18px;gap:8px}.coordinates{font-size:10px}.coordinates-label,.coordinate-note{font-size:8px}.canvas-tools{padding:3px}.tool-button{width:27px;height:27px}.canvas-tools>span:not(.tool-divider){min-width:45px;font-size:9px}.fractal-list{gap:5px}.fractal-choice{padding:5px;gap:7px}.fractal-thumb{width:34px;height:36px}.fractal-copy strong{font-size:11px}.fractal-copy small{font-size:6px;white-space:normal;line-height:1.2}.choice-arrow{display:none}.footer span:nth-child(2){display:none}}
@media(max-width:750px){.explorer{position:sticky;top:10px;z-index:5}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
