.pdv{--bg:#04060f;--glass:rgba(14,18,32,0.55);--glass-strong:rgba(16,20,36,0.82);--line:rgba(255,255,255,0.09);--line-bright:rgba(255,255,255,0.16);--text:rgba(236,240,255,0.92);--text-dim:rgba(180,190,220,0.62);--accent:#74e0ff;--pdv-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;--pdv-mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;position:fixed;inset:0;z-index:0;background:var(--bg);color:var(--text);font-family:var(--pdv-font);font-size:16px;line-height:1.5;overflow:hidden;-webkit-font-smoothing:antialiased}.pdv,.pdv *{box-sizing:border-box}.pdv .stage{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.pdv .overlay{position:absolute;inset:0;pointer-events:none;padding:20px;display:grid;grid-template-columns:300px 1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"top top" "controls ." "info hint";gap:16px;transition:opacity .4s ease}.pdv .overlay--hidden{opacity:0;pointer-events:none!important}.pdv .overlay>*{pointer-events:auto}.pdv .topbar{grid-area:top;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.pdv .topbar>*{pointer-events:auto}.pdv .topbar__actions{display:flex;align-items:center;gap:10px}.pdv .brand{display:flex;align-items:center;gap:12px}.pdv .brand__mark{width:30px;height:30px;border-radius:8px;background:conic-gradient(from 210deg,#16e0c4,#2f7bff,#b14bff,#ff5bdb,#16e0c4);box-shadow:0 0 22px rgba(80,160,255,.55),inset 0 0 10px rgba(255,255,255,.35);filter:saturate(1.1)}.pdv .brand__text h1{margin:0;font-size:18px;font-weight:700;letter-spacing:.32em;text-shadow:0 0 18px rgba(120,200,255,.45)}.pdv .brand__text p{margin:2px 0 0;font-size:11px;letter-spacing:.04em;color:var(--text-dim)}.pdv .panel{background:var(--glass);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06)}.pdv .panel__title{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim)}.pdv .controls{grid-area:controls;align-self:start;width:300px;padding:18px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 200px);overflow:auto}.pdv .palette-row{display:flex;gap:8px}.pdv .swatch{flex:1;height:26px;border-radius:8px;border:1px solid rgba(255,255,255,.12);cursor:pointer;padding:0;opacity:.55;transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease}.pdv .swatch:hover{opacity:.85;transform:translateY(-1px)}.pdv .swatch--on{opacity:1;box-shadow:0 0 0 1.5px rgba(255,255,255,.85),0 0 16px rgba(120,200,255,.4)}.pdv .slider{display:flex;flex-direction:column;gap:7px}.pdv .slider__top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.04em;color:var(--text-dim);text-transform:uppercase}.pdv .slider__val{color:var(--accent);font-family:var(--pdv-mono);font-size:11px}.pdv input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;background:rgba(255,255,255,.12);outline:none;cursor:pointer}.pdv input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffff,var(--accent));box-shadow:0 0 12px rgba(116,224,255,.8);border:none}.pdv input[type=range]::-moz-range-thumb{width:15px;height:15px;border:none;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffff,var(--accent));box-shadow:0 0 12px rgba(116,224,255,.8)}.pdv .toggles{display:flex;flex-wrap:wrap;gap:8px}.pdv .toggle{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text-dim);font-size:11px;letter-spacing:.04em;cursor:pointer;transition:all .16s ease}.pdv .toggle__dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.22);transition:all .16s ease}.pdv .toggle--on{color:var(--text);border-color:rgba(116,224,255,.5);background:rgba(116,224,255,.1)}.pdv .toggle--on .toggle__dot{background:var(--accent);box-shadow:0 0 10px var(--accent)}.pdv .toggle:hover{border-color:var(--line-bright)}.pdv .action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border-radius:12px;border:1px solid rgba(116,224,255,.35);background:linear-gradient(180deg,rgba(116,224,255,.18),rgba(116,224,255,.06));color:var(--text);font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .16s ease}.pdv .action-btn:hover{border-color:rgba(116,224,255,.7);box-shadow:0 0 22px rgba(116,224,255,.32);transform:translateY(-1px)}.pdv .kbd{font-family:var(--pdv-mono);font-size:10px;padding:1px 6px;border-radius:5px;background:rgba(255,255,255,.12);color:var(--text-dim)}.pdv .back-link,.pdv .ghost-btn,.pdv .reveal-btn{pointer-events:auto;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--text-dim);border-radius:10px;padding:8px 12px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;transition:all .16s ease}.pdv .back-link:hover,.pdv .ghost-btn:hover,.pdv .reveal-btn:hover{color:var(--text);border-color:var(--line-bright)}.pdv .reveal-btn{position:absolute;top:20px;right:20px;z-index:30}.pdv .info{grid-area:info;align-self:end;max-width:380px;overflow:hidden}.pdv .info__head{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:none;border:none;cursor:pointer;color:inherit}.pdv .info__chev{font-family:var(--pdv-mono);color:var(--accent);font-size:16px}.pdv .info__body{padding:0 18px 18px;font-size:12.5px;line-height:1.55;color:rgba(214,222,245,.82)}.pdv .info__body p{margin:0 0 10px}.pdv .info__body b{color:#fff;font-weight:600}.pdv .formula{display:block;font-family:var(--pdv-mono);font-size:13px;color:var(--accent);background:rgba(116,224,255,.08);border:1px solid rgba(116,224,255,.18);border-radius:8px;padding:9px 12px;margin:0 0 10px;text-align:center}.pdv .info__dim{line-height:1.5}.pdv .info__credit,.pdv .info__dim{color:var(--text-dim);font-size:11.5px}.pdv .info__credit a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(116,224,255,.4)}.pdv .hint{grid-area:hint;align-self:end;justify-self:end;text-align:right;font-size:11px;letter-spacing:.03em;color:var(--text-dim);text-shadow:0 1px 8px rgba(0,0,0,.6);max-width:360px}.pdv .intro{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at center,rgba(4,6,15,.55),rgba(4,6,15,.84));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:pdv-fade .5s ease;cursor:pointer}.pdv .intro__card{max-width:440px;padding:26px 26px 24px;border-radius:18px;background:var(--glass-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--line-bright);box-shadow:0 30px 80px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08);cursor:default;animation:pdv-rise .45s cubic-bezier(.22,1,.36,1)}.pdv .intro__tag{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.pdv .intro__body{font-size:15px;line-height:1.6;color:var(--text);margin:0 0 14px}.pdv .intro__body a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(116,224,255,.4)}.pdv .intro__hint{font-size:12.5px;line-height:1.55;color:var(--text-dim);margin:0 0 20px}.pdv .intro__hint b{color:var(--text)}.pdv .intro__btn{width:100%;padding:12px;border-radius:12px;border:1px solid rgba(116,224,255,.4);background:linear-gradient(180deg,rgba(116,224,255,.22),rgba(116,224,255,.07));color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .16s ease}.pdv .intro__btn:hover{border-color:rgba(116,224,255,.75);box-shadow:0 0 26px rgba(116,224,255,.36)}@keyframes pdv-fade{0%{opacity:0}to{opacity:1}}@keyframes pdv-rise{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}@media (max-width:720px){.pdv .overlay{grid-template-columns:1fr;grid-template-areas:"top" "controls" "info"}.pdv .controls{width:100%}.pdv .hint{display:none}}