:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#101211;color:#f4f0e8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:#101211}button,select,input{font:inherit}#fractal-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;background:#070807;cursor:grab;touch-action:none}#fractal-canvas:active{cursor:grabbing}.panel{position:fixed;inset:18px auto 18px 18px;width:min(342px,calc(100vw - 36px));max-height:calc(100vh - 36px);display:flex;flex-direction:column;gap:12px;padding:14px;overflow:auto;border:1px solid rgb(255 255 255 / .18);border-radius:8px;background:linear-gradient(135deg,#ffffff1c,#ffffff09),#0c0e0d75;box-shadow:inset 0 1px #ffffff1f,0 18px 44px #00000057;backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35);transition:width .16s ease,max-height .16s ease,padding .16s ease,background .16s ease,box-shadow .16s ease}.panel__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 2px 6px;min-height:42px}.panel__identity{min-width:0}.panel__actions{display:flex;gap:7px;align-items:center;flex:0 0 auto}.panel__content{display:flex;flex-direction:column;gap:12px}.panel.is-collapsed{width:58px;max-height:58px;padding:8px;overflow:hidden;background:linear-gradient(135deg,#ffffff29,#ffffff0b),#0c0e0d57;box-shadow:inset 0 1px #ffffff29,0 14px 34px #00000047}.panel.is-collapsed .panel__header{justify-content:center;padding:0}.panel.is-collapsed .panel__identity,.panel.is-collapsed #reset-all,.panel.is-collapsed .panel__content{display:none}.eyebrow{margin:0 0 2px;color:#8fd2b1;font-size:.72rem;font-weight:760;letter-spacing:0}.eyebrow a{color:inherit;text-decoration:none}.eyebrow a:hover,.eyebrow a:focus-visible{text-decoration:underline}h1{margin:0;font-size:1.28rem;line-height:1.1;letter-spacing:0}.icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgb(255 255 255 / .14);border-radius:8px;background:#ffffff1a;color:#f4f0e8;cursor:pointer;line-height:1}.icon-button:hover{background:#ffffff2e}.mini-icon-button{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgb(255 255 255 / .13);border-radius:7px;background:#ffffff13;color:#ede5d5;cursor:pointer;line-height:1}.mini-icon-button:hover{border-color:#d9a4418c;background:#d9a44124}.control-block{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid rgb(255 255 255 / .12);border-radius:8px;background:#080a0938;box-shadow:inset 0 1px #ffffff0e}.section-title{color:#d3c5a1;font-size:.76rem;font-weight:780;letter-spacing:0;text-transform:uppercase}.section-heading{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:12px}.control{position:relative;display:grid;grid-template-columns:94px minmax(0,1fr);align-items:center;gap:10px;min-height:30px;color:#d9d6ce;font-size:.82rem}.control span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control[data-tooltip]>span:first-child{display:inline-flex;align-items:center;gap:5px;min-width:0}.control[data-tooltip]>span:first-child:after{content:"?";width:14px;height:14px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid rgb(143 210 177 / .46);border-radius:50%;color:#aee0c2;background:#8fd2b117;font-size:.6rem;font-weight:800;line-height:1}.toggle-row{grid-template-columns:1fr auto}select,input[type=range]{width:100%}select{min-height:34px;padding:6px 9px;border:1px solid rgb(255 255 255 / .16);border-radius:7px;background:#101312b8;color:#f4f0e8}input[type=range]{accent-color:#d9a441}input[type=checkbox]{width:18px;height:18px;accent-color:#79c69d}.preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.preset-grid button{min-height:32px;padding:0 8px;overflow:hidden;border:1px solid rgb(255 255 255 / .14);border-radius:7px;background:#ffffff13;color:#f4f0e8;cursor:pointer;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.preset-grid button:hover{border-color:#d9a441a6;background:#d9a44126}.readout-grid{display:grid;grid-template-columns:1fr;gap:6px;color:#b8c5bd;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.74rem}.readout-grid output{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#center-readout{max-height:5.2em;overflow:auto;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.hud{position:fixed;right:18px;bottom:18px;display:flex;gap:8px;align-items:center;max-width:calc(100vw - 36px)}.hud output{min-height:30px;display:inline-flex;align-items:center;padding:6px 10px;border:1px solid rgb(255 255 255 / .12);border-radius:8px;background:#0c0d0d80;color:#e9e2d2;box-shadow:0 8px 24px #00000047;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.75rem;white-space:nowrap}.parameter-tooltip{position:fixed;z-index:30;max-width:min(286px,calc(100vw - 24px));padding:9px 10px;border:1px solid rgb(255 255 255 / .17);border-radius:8px;background:linear-gradient(135deg,#ffffff21,#ffffff0a),#0b0d0cd1;box-shadow:inset 0 1px #ffffff1f,0 14px 34px #00000057;backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);color:#efe8dc;font-size:.75rem;line-height:1.35;opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity 90ms ease,transform 90ms ease}.parameter-tooltip.is-visible{opacity:1;transform:translateY(0)}.unsupported{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:8px;padding:24px;background:#101211;text-align:center}.unsupported h2,.unsupported p{margin:0}@media(max-width:780px){.panel{inset:auto 10px 10px 10px;width:auto;max-height:48vh;padding:10px}.panel.is-collapsed{inset:auto auto 10px 10px;width:54px;max-height:54px;padding:8px}.hud{right:10px;top:10px;bottom:auto;flex-wrap:wrap;justify-content:flex-end}.control{grid-template-columns:88px minmax(0,1fr)}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
