:root{--ink:#14100e;--card:#1c1714;--card-2:#221b18;--border:#c4b5ae24;--cream:#f5efe8;--mid:#a3948b;--light-mid:#8f7f74;--blush:#f2d4c8;--rose:#d4897b;--deep-rose:#e8a294;--sage:#8aab8a;--gold:#c9a85c;--danger:#e2726b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--ink);min-height:100%;color:var(--cream);overscroll-behavior-y:none;overflow-x:hidden}#root{min-height:100dvh}button,a,[role=slider]{touch-action:manipulation}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;font-family:inherit}input,button{font-family:inherit}:focus-visible{outline:2px solid var(--deep-rose);outline-offset:2px}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.pad>*{animation:.45s both fadeUp}@media (prefers-reduced-motion:reduce){.pad>*{animation:none}}.pv{isolation:isolate;background:#0a0807;border-radius:7px;width:100%;height:100%;min-height:34px;display:block;position:relative;overflow:hidden}.pv>i{display:block;position:absolute;inset:0}.pv>span{position:absolute;inset:0}.pv[data-playing="0"] i,.pv[data-playing="0"] span>i{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.pv i{animation:none!important}}.pv-slide{background-image:linear-gradient(90deg, var(--ramp)), linear-gradient(90deg, var(--ramp));width:200%;animation:pv-slide var(--dur) linear infinite;background-position:0 0,100% 0;background-repeat:no-repeat;background-size:50% 100%}@keyframes pv-slide{to{transform:translate(-50%)}}.pv-scroll .pv-slide{animation-timing-function:linear}.pv-chase .pv-slide{background-image:repeating-linear-gradient(90deg, var(--hot) 0 7%, transparent 7% 21%);background-size:50% 100%}.pv-comet .pv-slide{background-image:linear-gradient(90deg, transparent, var(--hot));width:42%;animation-name:pv-across;animation-timing-function:linear}@keyframes pv-across{0%{transform:translate(-110%)}to{transform:translate(340%)}}.pv-travel .pv-slide{background-image:linear-gradient(90deg, transparent, var(--mid), transparent);width:55%;animation-name:pv-swing;animation-timing-function:ease-in-out;animation-direction:alternate}@keyframes pv-swing{0%{transform:translate(-20%)}to{transform:translate(100%)}}.pv-waves .pv-slide{opacity:.85;animation-name:pv-swing;animation-timing-function:ease-in-out;animation-direction:alternate}.pv-waves .pv-slide-2{animation-duration:calc(var(--dur) * 1.6);opacity:.5;mix-blend-mode:screen;animation-direction:alternate-reverse}.pv-scan{background-image:linear-gradient(90deg, transparent, var(--hot), transparent);width:26%;animation:pv-swing calc(var(--dur) * .5) ease-in-out infinite alternate}.pv-wipe{background-image:linear-gradient(90deg, var(--ramp));transform-origin:0;animation:pv-grow var(--dur) linear infinite}@keyframes pv-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.pv-centre{background-image:linear-gradient(90deg, transparent 0%, var(--mid) 22%, var(--hot) 50%, var(--mid) 78%, transparent 100%);transform-origin:50%;animation:pv-breathe-x calc(var(--dur) * .8) ease-in-out infinite alternate}@keyframes pv-breathe-x{0%{opacity:.75;transform:scaleX(.12)}to{opacity:1;transform:scaleX(1)}}.pv-ring{background-image:linear-gradient(90deg, transparent, var(--hot), transparent);transform-origin:50%;width:22%;animation:pv-expand var(--dur) ease-out infinite;margin-left:-11%;left:50%;right:auto}.pv-ring-2{animation-delay:calc(var(--dur) * .5)}@keyframes pv-expand{0%{opacity:.2;transform:scaleX(.25)}18%{opacity:1}55%{opacity:.85}to{opacity:0;transform:scaleX(4)}}.pv-bars{align-items:flex-end;gap:4%;padding:0 6%;display:flex}.pv-bars>i{background-image:linear-gradient(0deg, var(--ramp));transform-origin:bottom;height:100%;animation:pv-bar calc(var(--dur) * .7) ease-in-out infinite alternate;border-radius:2px;flex:1;display:block;position:relative;inset:auto}@keyframes pv-bar{0%{transform:scaleY(.18)}to{transform:scaleY(1)}}.pv-blob{background:radial-gradient(circle, var(--hot) 0%, transparent 70%);opacity:.9;width:34%;animation:pv-swing calc(var(--dur) * 1.3) ease-in-out infinite alternate;border-radius:50%;left:8%;right:auto}.pv-blob-2{background:radial-gradient(circle, var(--mid) 0%, transparent 70%);animation-duration:calc(var(--dur) * 1.9);animation-direction:alternate-reverse;left:34%}.pv-blob-3{width:26%;animation-duration:calc(var(--dur) * 2.4);left:58%}.pv-base{background-color:var(--mid);opacity:.6}.pv-dot{background:var(--hot);opacity:0;width:7px;height:7px;animation:pv-blink calc(var(--dur) * .9) ease-in-out infinite;border-radius:50%;margin:-3.5px 0 0 -3.5px;inset:50% auto auto 0}.pv-dot-white{background:#fff}@keyframes pv-blink{0%,to{opacity:0;transform:scale(.5)}40%{opacity:1;transform:scale(1)}}.pv-fill{background-color:var(--mid)}.pv-static{animation:none}.pv-breathe .pv-fill{animation:pv-dim var(--dur) ease-in-out infinite alternate}@keyframes pv-dim{0%{opacity:.22}to{opacity:1}}.pv-pulse .pv-fill{animation:pv-hit var(--dur) ease-out infinite}@keyframes pv-hit{0%{opacity:1}55%,to{opacity:.14}}.pv-flicker .pv-fill{animation:pv-flicker calc(var(--dur) * 1.1) ease-in-out infinite}@keyframes pv-flicker{0%{opacity:.72}18%{opacity:1}32%{opacity:.6}47%{opacity:.92}61%{opacity:.55}76%{opacity:.88}to{opacity:.72}}.pv-flame{background-image:linear-gradient(0deg, var(--ramp));transform-origin:bottom;animation:pv-lick calc(var(--dur) * .6) ease-in-out infinite alternate}.pv-flame-2{opacity:.55;mix-blend-mode:screen;animation-duration:calc(var(--dur) * .95);animation-direction:alternate-reverse}@keyframes pv-lick{0%{transform:scaleY(.72)translateY(6%)}to{transform:scaleY(1)translateY(0)}}.pv-drift{background-image:linear-gradient(90deg, var(--ramp));width:140%;animation:pv-nudge var(--dur) ease-in-out infinite alternate}.pv-hueshift .pv-drift{width:700%;animation-name:pv-crawl;animation-timing-function:linear;animation-direction:normal;animation-duration:calc(var(--dur) * 2.4)}@keyframes pv-crawl{0%{transform:translate(0)}to{transform:translate(-85%)}}@keyframes pv-nudge{0%{transform:translate(0)}to{transform:translate(-28%)}}.ge{flex-direction:column;gap:12px;padding:0 11px;display:flex}.ge-bar{border:1px solid var(--border);touch-action:none;cursor:crosshair;border-radius:10px;height:44px;position:relative}.ge-handle{touch-action:none;cursor:grab;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;display:grid;position:absolute;top:50%}.ge-handle:active{cursor:grabbing}.ge-handle i{border:2.5px solid #ffffffeb;border-radius:50%;width:18px;height:18px;transition:transform .14s;display:block;box-shadow:0 0 0 1px #0000008c,0 2px 6px #00000080}.ge-handle.on i{border-color:#fff;transform:scale(1.35)}.ge-handle:focus-visible{outline:none}.ge-handle:focus-visible i{box-shadow:0 0 0 2px var(--ink), 0 0 0 4px var(--deep-rose);transform:scale(1.35)}.ge-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.ge-count{letter-spacing:.4px;color:var(--mid);font-size:12px}.ge-mini{border:1px solid var(--border);background:var(--card-2);color:var(--cream);border-radius:9px;min-height:36px;padding:8px 14px;font-size:12.5px;font-weight:500}.ge-mini:disabled{opacity:.35}.ge-hint{color:var(--mid);font-size:12px;line-height:1.5}.ge-wheel.react-colorful{gap:12px;width:100%;height:190px}.ge-wheel .react-colorful__saturation{border-bottom:none;border-radius:10px}.ge-wheel .react-colorful__hue{border-radius:13px;height:26px}.ge-wheel .react-colorful__pointer{border-width:3px;width:24px;height:24px}.gl{flex-direction:column;gap:12px;display:flex}.gl-modes{background:var(--card-2);border-radius:9px;gap:3px;padding:3px;display:flex}.gl-mode{min-height:30px;color:var(--mid);letter-spacing:.4px;background:0 0;border-radius:7px;padding:5px 11px;font-size:11.5px;font-weight:600}.gl-mode.on{background:var(--accent);color:#14100e}.gl-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.gl-swatch{border:2px solid #0000;border-radius:11px;justify-content:center;align-items:flex-end;height:52px;padding:4px 3px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0006}.gl-swatch span{color:#fff;text-shadow:0 1px 3px #000000e6;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9.5px;font-weight:600;overflow:hidden}.gl-swatch.sel{border-color:#ffffff8c}.gl-swatch.on{border-color:#fff}.gl-mixbar{border-radius:11px;height:44px;box-shadow:inset 0 0 0 1px #0006}.gl-hint{color:var(--light-mid);font-size:12.5px;line-height:1.5}.gl-reset,.gl-apply{border:1px solid var(--border);background:var(--card-2);min-height:44px;color:var(--cream);border-radius:12px;font-size:14px;font-weight:500}.gl-apply{background:var(--accent);color:#14100e;border-color:#0000;font-weight:600}.app{--accent:#ff9640;flex-direction:column;min-height:100dvh;display:flex}.app:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(70% 40% at 50% 0%, color-mix(in srgb, var(--accent) 15%, transparent), transparent 72%), radial-gradient(80% 45% at 50% 100%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 72%);transition:background .6s;position:fixed;inset:0}.topbar{z-index:20;max-width:520px;padding:calc(env(safe-area-inset-top) + 10px) 18px 10px;background:var(--ink);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex;position:fixed;top:0;left:0;right:0}.topbar-name{letter-spacing:.2px;font-family:Playfair Display,Georgia,serif;font-size:17px;font-weight:700}.pad{width:100%;max-width:520px;padding:calc(env(safe-area-inset-top) + 58px) 16px calc(env(safe-area-inset-bottom) + 96px);flex-direction:column;flex:1;gap:14px;margin:0 auto;display:flex}.connect{justify-content:center;padding-top:12vh}.brand{text-align:center;margin-bottom:8px}.brand h1{font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,8vw,2.7rem);font-weight:700;line-height:1.1}.brand h1 em{color:var(--deep-rose);font-style:italic}.tabbar{z-index:20;max-width:520px;padding:6px 10px calc(env(safe-area-inset-bottom) + 8px);background:var(--ink);border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:2px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbtn{min-height:52px;color:var(--light-mid);letter-spacing:.3px;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:7px 4px;font-size:11px;font-weight:500;transition:color .18s;display:flex}.tabbtn-icon{font-size:17px;line-height:1}.tabbtn.on{color:var(--accent)}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:12px;padding:16px;display:flex}.card.centre{text-align:center;align-items:stretch}.card h2{font-size:19px;font-weight:600}.card p{color:var(--mid);font-size:14px;line-height:1.55}.lede{color:var(--cream)!important;font-size:15.5px!important}.error{color:#f7cdc9;background:#e2726b1f;border-color:#e2726b66;font-size:13.5px;line-height:1.5}.hint{line-height:1.55;color:var(--light-mid)!important;font-size:12.5px!important}.footnote{color:var(--light-mid);text-align:center;padding:0 8px;font-size:12.5px;line-height:1.55}.label{letter-spacing:1.3px;text-transform:uppercase;color:var(--mid);justify-content:space-between;align-items:center;gap:10px;font-size:11px;font-weight:600;display:flex}.linkbtn{color:var(--accent);letter-spacing:.6px;text-transform:uppercase;background:0 0;border:0;min-height:32px;padding:6px 2px;font-size:11.5px;font-weight:600}.now{border:1px solid var(--border);background:radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%), var(--card);border-radius:20px;flex-direction:column;gap:14px;padding:16px;display:flex}.now-pv{border-radius:12px;height:64px;overflow:hidden}.now-pv.dark{border:1px dashed var(--border);background:#c4b5ae0f}.now-text h2{letter-spacing:-.2px;font-size:22px;font-weight:600}.now-text p{color:var(--mid);margin-top:4px;font-size:13px;line-height:1.5}.btn{border:1px solid var(--border);background:var(--card-2);min-height:48px;color:var(--cream);text-align:center;border-radius:13px;justify-content:center;align-items:center;padding:13px 18px;font-size:14.5px;font-weight:500;text-decoration:none;transition:background .16s,border-color .16s;display:inline-flex}.btn:disabled{opacity:.5}.btn.primary{background:var(--accent);color:#14100e;border-color:#0000;font-weight:600}.btn.big-btn{min-height:56px;font-size:16px}.btn.ghost{color:var(--mid);background:0 0}.btn.active{border-color:var(--accent);color:var(--accent)}.chip-btn{border:1px solid var(--border);background:var(--card-2);min-height:36px;color:var(--mid);border-radius:10px;padding:8px 14px;font-size:12.5px;font-weight:500}.chip-btn.on{border-color:var(--accent);color:var(--accent)}.chips{flex-wrap:wrap;gap:8px;display:flex}.fs{border:1px solid var(--border);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;isolation:isolate;background:#c4b5ae1c;border-radius:14px;height:52px;position:relative;overflow:hidden}.fs-big{border-radius:16px;height:64px}.fs-fill{transform-origin:0;transform:scaleX(var(--t));background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 68%, #000), var(--accent));transition:transform 90ms linear;position:absolute;inset:0}.fs:active .fs-fill{transition:none}.fs-face{pointer-events:none;color:#fff;text-shadow:0 1px 6px #000c;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;font-size:14.5px;font-weight:600;display:flex;position:absolute;inset:0}.fs-big .fs-face{padding:0 18px;font-size:15.5px}.fs-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fs-val{font-variant-numeric:tabular-nums;flex:none}.fs:focus-visible{outline:2px solid var(--deep-rose);outline-offset:2px}@media (prefers-reduced-motion:reduce){.fs-fill{transition:none}}.tg{border:1px solid var(--border);background:var(--card-2);width:100%;min-height:52px;color:var(--cream);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:15px;font-weight:500;display:flex}.tg i{background:#c4b5ae2e;border-radius:15px;flex:none;width:50px;height:30px;transition:background .2s;position:relative}.tg i:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s cubic-bezier(.3,1.4,.5,1);position:absolute;top:3px;left:3px}.tg.on i{background:var(--accent)}.tg.on i:after{transform:translate(20px)}.grid{grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:10px;display:grid}.tile{content-visibility:auto;contain-intrinsic-size:auto 78px;background:var(--card-2);color:var(--mid);text-align:center;border:1.5px solid #0000;border-radius:13px;flex-direction:column;gap:6px;padding:6px 6px 8px;transition:border-color .16s,color .16s;display:flex}.tile-pv{height:40px;display:block}.tile-name{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:500;line-height:1.2;overflow:hidden}.tile.on{border-color:var(--accent);color:var(--cream)}.slots{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.slot{border:1px solid var(--border);border-radius:13px;justify-content:center;align-items:flex-end;height:62px;padding:7px 6px;display:flex;position:relative;overflow:hidden}.slot span{color:#fff;text-shadow:0 1px 4px #000000d9;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-weight:600;overflow:hidden}.slot.empty{background:var(--card-2);color:var(--light-mid);align-items:center;font-size:22px}.slot.editing{outline-offset:-4px;outline:2px dashed #ffffff59}.slot-x{color:#fff;background:#0000009e;border-radius:50%;place-items:center;width:24px;height:24px;font-size:15px;line-height:1;display:grid;position:absolute;top:4px;right:5px}.swatches{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.sw{border:2px solid #0000;border-radius:11px;height:44px;box-shadow:inset 0 0 0 1px #00000059}.sw.on{border-color:#fff}.palettes{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.palette{border:2px solid #0000;border-radius:11px;height:44px;box-shadow:inset 0 0 0 1px #00000059}.palette.on{border-color:#fff}.wheel.react-colorful{gap:12px;width:100%;height:200px}.wheel .react-colorful__saturation{border-bottom:none;border-radius:12px}.wheel .react-colorful__hue{border-radius:14px;height:28px}.wheel .react-colorful__pointer{border-width:3px;width:26px;height:26px}.vis{opacity:.45;flex-direction:column;gap:10px;transition:opacity .3s;display:flex}.vis.on{opacity:1}.vis-bars{align-items:flex-end;gap:5px;height:92px;display:flex;position:relative}.vis-idle{letter-spacing:.4px;color:var(--mid);pointer-events:none;place-items:center;font-size:12.5px;display:grid;position:absolute;inset:0}.vis-bars i{transform-origin:bottom;background:linear-gradient(0deg, color-mix(in srgb, var(--accent) 45%, #000), var(--accent));border-radius:4px;flex:1;height:100%;transition:transform 70ms linear;transform:scaleY(.03)}.vis-level{background:#c4b5ae24;border-radius:3px;height:6px;overflow:hidden}.vis-level i{transform-origin:0;background:var(--accent);height:100%;transition:transform 70ms linear;display:block;transform:scaleX(0)}@media (prefers-reduced-motion:reduce){.vis-bars i,.vis-level i,.tg i:after{transition:none}}.vpick{background:var(--card);border:1px solid var(--border);border-radius:15px;grid-template-columns:repeat(5,1fr);gap:6px;padding:6px;display:grid}.vpick-btn{min-height:50px;color:var(--light-mid);background:0 0;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:7px 2px;transition:background .16s,color .16s;display:flex}.vpick-btn b{font-size:15px;font-weight:700;line-height:1}.vpick-btn span{letter-spacing:.3px;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9.5px;font-weight:500;overflow:hidden}.vpick-btn.on{background:var(--card-2);color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}.filters{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;margin:-2px -4px 0;padding:2px 4px 4px;display:flex;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.filter{background:var(--card-2);border:1px solid var(--border);min-height:36px;color:var(--mid);letter-spacing:.3px;white-space:nowrap;border-radius:10px;flex:none;padding:8px 14px;font-size:12.5px;font-weight:600}.filter.on{background:var(--accent);color:#14100e;border-color:#0000}
