.pt-section{
  --pt-cyan:var(--accent-2,#00e3db);
  --pt-violet:var(--accent,#5148ff);
  --pt-rose:var(--accent-3,#ff4d8d);
  --pt-gold:#ffd154;
  max-width:var(--max,1480px);
  margin:0 auto;
  padding:clamp(72px,10vw,150px) clamp(20px,5vw,80px);
  border-top:1px solid var(--hair,rgba(255,255,255,.16));
  position:relative;
}
.pt-section::before{
  content:"";
  position:absolute;
  inset:4% 5% auto;
  height:360px;
  background:radial-gradient(circle at 38% 45%,color-mix(in srgb,var(--pt-cyan) 15%,transparent),transparent 43%),radial-gradient(circle at 69% 48%,color-mix(in srgb,var(--pt-rose) 13%,transparent),transparent 38%);
  filter:blur(30px);
  pointer-events:none;
}
.pt-heading,.pt-workspace,.pt-ledgers{position:relative;z-index:1}
.pt-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(250px,.9fr);align-items:end;gap:24px 70px;margin-bottom:clamp(34px,6vw,76px)}
.pt-heading>p{grid-column:1/-1;font:600 .66rem/1.35 var(--mono,monospace);letter-spacing:.18em;color:var(--pt-cyan)}
.pt-heading h2{font:500 clamp(2.7rem,6vw,6rem)/.9 var(--serif,serif);letter-spacing:-.05em}
.pt-heading>div>p{max-width:42rem;color:var(--muted,rgba(255,255,255,.7));font-size:.95rem}
.pt-local-state{justify-self:end;align-self:end;display:flex;gap:9px;align-items:center;max-width:310px;padding:12px 14px;border:1px solid var(--hair,rgba(255,255,255,.16));border-radius:999px;font:.62rem/1.4 var(--mono,monospace);letter-spacing:.05em;color:var(--muted,rgba(255,255,255,.7))}
.pt-local-state::before{content:"";width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--pt-gold);box-shadow:0 0 16px var(--pt-gold)}
.pt-local-state[data-mode="local"]::before{background:#44f3a7;box-shadow:0 0 16px #44f3a7}
.pt-workspace{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(310px,.84fr);gap:18px;align-items:stretch}
.pt-stage-panel,.pt-control-panel,.pt-ledger{
  border:1px solid var(--hair,rgba(255,255,255,.16));
  border-radius:var(--radius,28px);
  background:linear-gradient(145deg,color-mix(in srgb,var(--glass,rgba(8,11,35,.78)) 88%,transparent),color-mix(in srgb,var(--panel-2,rgba(30,35,74,.8)) 92%,transparent));
  box-shadow:var(--shadow,0 30px 90px #0007);
  backdrop-filter:blur(18px);
  overflow:hidden;
  position:relative;
}
.pt-stage-panel{min-height:720px;display:flex;flex-direction:column}
.pt-stage-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:clamp(20px,3vw,34px);position:relative;z-index:5}
.pt-stage-top span,.pt-panel-kicker,.pt-ledger-kicker{font:600 .62rem/1.35 var(--mono,monospace);letter-spacing:.17em;color:var(--pt-cyan)}
.pt-stage-top p{margin-top:7px;color:var(--muted,rgba(255,255,255,.7));font-size:.78rem;max-width:33rem}
.pt-stage-top output{font:600 .64rem/1.3 var(--mono,monospace);letter-spacing:.08em;color:var(--ink,#fff);text-align:right}
.pt-optic-stage{min-height:510px;flex:1;position:relative;display:grid;place-items:center;perspective:1100px;isolation:isolate;overflow:hidden;touch-action:pan-y;cursor:grab}
.pt-optic-stage:active{cursor:grabbing}
.pt-optic-stage::before{content:"";position:absolute;inset:12% 8%;border:1px solid color-mix(in srgb,var(--ink,#fff) 9%,transparent);border-radius:50%;transform:rotateX(68deg);box-shadow:0 0 80px color-mix(in srgb,var(--pt-violet) 16%,transparent),inset 0 0 70px color-mix(in srgb,var(--pt-cyan) 8%,transparent)}
.pt-optic-stage::after{content:"";position:absolute;left:50%;top:50%;width:1px;height:62%;background:linear-gradient(transparent,color-mix(in srgb,var(--ink,#fff) 25%,transparent),transparent);transform:translate(-50%,-50%);pointer-events:none}
.pt-exposure{position:absolute;inset:-8%;pointer-events:none;mix-blend-mode:screen;transition:opacity .6s,transform .8s}
.pt-exposure-a{opacity:var(--pt-a-light,.28);background:radial-gradient(ellipse at 27% 47%,color-mix(in srgb,var(--pt-rose) 76%,transparent),transparent 38%);transform:translateX(var(--pt-a-shift,0%))}
.pt-exposure-b{opacity:var(--pt-b-light,.28);background:radial-gradient(ellipse at 73% 50%,color-mix(in srgb,var(--pt-cyan) 82%,transparent),transparent 38%);transform:translateX(var(--pt-b-shift,0%))}
.pt-beam{position:absolute;top:50%;height:2px;width:43%;pointer-events:none;filter:drop-shadow(0 0 8px currentColor);opacity:.66}
.pt-beam::before{content:"";position:absolute;inset:-8px 0;background:linear-gradient(90deg,transparent,currentColor,transparent);clip-path:polygon(0 47%,100% 0,100% 100%,0 53%);opacity:.32}
.pt-beam-a{left:-2%;color:var(--pt-rose);transform:rotate(4deg);transform-origin:right center}
.pt-beam-b{right:-2%;color:var(--pt-cyan);transform:rotate(-4deg);transform-origin:left center}
.pt-prism-rig{width:220px;height:270px;position:relative;transform-style:preserve-3d;transform:rotateX(var(--pt-rot-x,-13deg)) rotateY(var(--pt-rot-y,24deg));transition:transform .7s cubic-bezier(.2,.8,.2,1);z-index:3}
.pt-optic-stage.is-dragging .pt-prism-rig{transition:none}
.pt-prism-core{position:absolute;inset:0;transform-style:preserve-3d}
.pt-prism-face{--pt-face-color:var(--pt-cyan);--pt-face-mix:9%;--pt-face-glow:5%;position:absolute;inset:0;display:grid;align-content:center;justify-items:center;gap:8px;padding:24px;text-align:center;border:1px solid color-mix(in srgb,var(--pt-face-color) 58%,transparent);background:linear-gradient(150deg,color-mix(in srgb,var(--pt-face-color) var(--pt-face-mix),transparent),rgba(4,7,24,.3));box-shadow:inset 0 0 45px color-mix(in srgb,var(--pt-face-color) var(--pt-face-glow),transparent),0 0 35px color-mix(in srgb,var(--pt-face-color) 8%,transparent);backdrop-filter:blur(12px);backface-visibility:visible;transition:opacity .35s,border-color .35s,background .35s,box-shadow .35s}
.pt-prism-face:nth-child(1){transform:rotateY(0deg) translateZ(111px)}
.pt-prism-face:nth-child(2){transform:rotateY(60deg) translateZ(111px)}
.pt-prism-face:nth-child(3){transform:rotateY(120deg) translateZ(111px)}
.pt-prism-face:nth-child(4){transform:rotateY(180deg) translateZ(111px)}
.pt-prism-face:nth-child(5){transform:rotateY(240deg) translateZ(111px)}
.pt-prism-face:nth-child(6){transform:rotateY(300deg) translateZ(111px)}
.pt-prism-face.is-selected{border-color:var(--ink,#fff);box-shadow:inset 0 0 58px color-mix(in srgb,var(--pt-face-color) 26%,transparent),0 0 45px color-mix(in srgb,var(--pt-face-color) 28%,transparent)}
.pt-face-code{font:600 .58rem var(--mono,monospace);letter-spacing:.14em;color:var(--pt-face-color)}
.pt-prism-face strong{font:500 1.18rem/1.1 var(--serif,serif)}
.pt-prism-face output{font:600 .68rem/1.4 var(--mono,monospace);color:var(--muted,rgba(255,255,255,.72))}
.pt-ray{--pt-ray-color:var(--pt-gold);position:absolute;left:50%;top:50%;width:44%;height:2px;z-index:4;transform-origin:left center;transform:rotate(var(--pt-ray-angle,-30deg)) scaleX(0);color:var(--pt-ray-color);background:linear-gradient(90deg,currentColor,transparent);box-shadow:0 0 8px currentColor,0 0 24px currentColor;opacity:0;pointer-events:none}
.pt-ray::before{content:"";position:absolute;left:0;top:-10px;width:100%;height:22px;background:linear-gradient(90deg,color-mix(in srgb,currentColor 65%,transparent),transparent);clip-path:polygon(0 47%,100% 0,100% 100%,0 53%);opacity:.28}
.pt-optic-stage.is-simulating .pt-ray{animation:ptRay 1.4s cubic-bezier(.2,.8,.2,1) both}
.pt-ray-target{position:absolute;width:14px;height:14px;border-radius:50%;left:calc(50% + var(--pt-target-x,150px));top:calc(50% + var(--pt-target-y,-85px));border:1px solid var(--pt-ray-color);box-shadow:0 0 22px var(--pt-ray-color);opacity:0;transition:opacity .3s;z-index:4}
.pt-optic-stage.is-simulating .pt-ray-target{opacity:1}
@keyframes ptRay{0%{transform:rotate(var(--pt-ray-angle)) scaleX(0);opacity:0}24%,82%{transform:rotate(var(--pt-ray-angle)) scaleX(1);opacity:1}100%{transform:rotate(var(--pt-ray-angle)) scaleX(1);opacity:.62}}
.pt-stage-legend{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;padding:18px clamp(20px,3vw,34px);border-top:1px solid var(--hair,rgba(255,255,255,.16));font:.61rem/1.4 var(--mono,monospace);letter-spacing:.08em;color:var(--muted,rgba(255,255,255,.7));position:relative;z-index:5}
.pt-stage-legend span:last-child{text-align:right}.pt-stage-legend strong{color:var(--ink,#fff);text-align:center}
.pt-control-panel{padding:clamp(22px,3vw,36px);display:grid;align-content:start;gap:24px}
.pt-control-panel section{border-top:1px solid var(--hair,rgba(255,255,255,.16));padding-top:21px}
.pt-control-panel section:first-of-type{border-top:0;padding-top:0}
.pt-control-panel h3,.pt-ledger h3{font:500 clamp(1.4rem,2.4vw,2.25rem)/1 var(--serif,serif);margin:7px 0 10px}
.pt-control-panel p,.pt-ledger-head p{color:var(--muted,rgba(255,255,255,.7));font-size:.8rem}
.pt-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.pt-field{display:grid;gap:8px;color:var(--muted,rgba(255,255,255,.7));font-size:.74rem;letter-spacing:.04em}
.pt-field.pt-span{grid-column:1/-1}
.pt-field input,.pt-field textarea,.pt-field select{width:100%;min-height:46px;border:1px solid var(--hair,rgba(255,255,255,.16));border-radius:14px;background:color-mix(in srgb,var(--bg,#080b23) 78%,transparent);color:var(--ink,#fff);padding:12px 13px}
.pt-field textarea{min-height:92px;resize:vertical;line-height:1.5}
.pt-field input[type="range"]{padding:0;border:0;background:transparent;accent-color:var(--pt-cyan)}
.pt-field small{font:500 .62rem/1.4 var(--mono,monospace);color:var(--muted,rgba(255,255,255,.65))}
.pt-axis-actions,.pt-orientation,.pt-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.pt-axis-actions button,.pt-orientation button,.pt-actions button,.pt-item-actions button,.pt-status-select{
  min-height:44px;border:1px solid var(--hair,rgba(255,255,255,.18));border-radius:999px;background:color-mix(in srgb,var(--bg,#080b23) 72%,transparent);color:var(--ink,#fff);padding:9px 13px;cursor:pointer;font:600 .66rem/1.2 var(--mono,monospace);letter-spacing:.04em
}
.pt-axis-actions button{flex:1 1 92px}
.pt-orientation{display:grid;grid-template-columns:repeat(5,44px);align-items:center}
.pt-orientation button{width:44px;padding:0;font-size:1rem}
.pt-orientation .pt-auto{width:auto;grid-column:span 1;padding:0 12px;font-size:.58rem}
.pt-orientation button[aria-pressed="true"],.pt-axis-actions button:active,.pt-actions .pt-primary{background:var(--ink,#fff);color:var(--bg,#080b23);border-color:var(--ink,#fff)}
.pt-exposure-meter{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;margin-top:12px;font:600 .59rem var(--mono,monospace);letter-spacing:.06em;color:var(--muted,rgba(255,255,255,.7))}
.pt-exposure-meter i{height:4px;background:linear-gradient(90deg,var(--pt-rose),var(--pt-violet),var(--pt-cyan));border-radius:99px;position:relative;overflow:hidden}
.pt-exposure-meter i::after{content:"";position:absolute;top:-3px;left:var(--pt-exposure-center,50%);width:2px;height:10px;background:var(--ink,#fff);box-shadow:0 0 8px var(--ink,#fff)}
.pt-counter-output{min-height:84px;margin-top:15px;padding:15px;border-left:2px solid var(--pt-gold);background:color-mix(in srgb,var(--pt-gold) 6%,transparent);color:var(--muted,rgba(255,255,255,.74));font-size:.78rem;line-height:1.6}
.pt-counter-output strong{display:block;color:var(--ink,#fff);font:600 .64rem var(--mono,monospace);letter-spacing:.08em;margin-bottom:5px}
.pt-definition-output{border-left-color:var(--pt-cyan);background:color-mix(in srgb,var(--pt-cyan) 6%,transparent)}
.pt-ledgers{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.pt-ledger{padding:clamp(22px,3vw,36px)}
.pt-ledger-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid var(--hair,rgba(255,255,255,.16))}
.pt-count{flex:0 0 auto;min-width:44px;height:44px;border:1px solid var(--hair,rgba(255,255,255,.16));border-radius:50%;display:grid;place-items:center;font:600 .65rem var(--mono,monospace);color:var(--pt-cyan)}
.pt-ledger form{display:grid;gap:12px;padding:22px 0;border-bottom:1px solid var(--hair,rgba(255,255,255,.16))}
.pt-check{display:flex;align-items:flex-start;gap:10px;color:var(--muted,rgba(255,255,255,.72));font-size:.72rem;line-height:1.5}
.pt-check input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--pt-cyan)}
.pt-list{list-style:none;display:grid;gap:10px;margin-top:18px}
.pt-empty{padding:24px 0;color:var(--muted,rgba(255,255,255,.66));font-size:.78rem;text-align:center}
.pt-entry{border:1px solid var(--hair,rgba(255,255,255,.16));border-radius:18px;padding:16px;background:color-mix(in srgb,var(--bg,#080b23) 68%,transparent);display:grid;gap:10px}
.pt-entry-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.pt-entry-head>div{display:grid;gap:5px;min-width:0}
.pt-entry-tag{width:max-content;max-width:100%;font:600 .56rem/1.3 var(--mono,monospace);letter-spacing:.1em;color:var(--pt-cyan)}
.pt-entry time{font:500 .58rem var(--mono,monospace);color:var(--muted,rgba(255,255,255,.6))}
.pt-entry>p{font-size:.82rem;line-height:1.58;white-space:pre-wrap}
.pt-entry-map{padding-top:9px;border-top:1px dashed var(--hair,rgba(255,255,255,.16));font:500 .59rem/1.6 var(--mono,monospace);color:var(--muted,rgba(255,255,255,.65))}
.pt-item-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.pt-item-actions button{min-height:44px;padding:7px 11px;font-size:.6rem}
.pt-item-actions .pt-danger{color:#ff9bad;border-color:color-mix(in srgb,#ff9bad 35%,transparent)}
.pt-experiment-fields{display:grid;gap:7px}
.pt-experiment-fields strong{font:600 .6rem var(--mono,monospace);letter-spacing:.08em;color:var(--pt-gold)}
.pt-experiment-fields p{font-size:.78rem;color:var(--muted,rgba(255,255,255,.72));white-space:pre-wrap}
.pt-result-field{display:grid;gap:7px;color:var(--muted,rgba(255,255,255,.7));font-size:.68rem}
.pt-result-field textarea{min-height:74px;border:1px solid var(--hair,rgba(255,255,255,.16));border-radius:12px;background:color-mix(in srgb,var(--bg,#080b23) 76%,transparent);color:var(--ink,#fff);padding:11px;resize:vertical}
.pt-status-select{border-radius:12px;padding:9px;width:auto;max-width:150px}
.pt-live{min-height:1.5em;margin-top:11px;color:var(--muted,rgba(255,255,255,.68));font-size:.7rem}
.pt-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:980px){
  .pt-workspace,.pt-ledgers{grid-template-columns:1fr}.pt-stage-panel{min-height:650px}.pt-optic-stage{min-height:460px}.pt-heading{grid-template-columns:1fr}.pt-heading>p{grid-column:auto}.pt-local-state{justify-self:start}
}
@media(max-width:620px){
  .pt-section{padding-left:14px;padding-right:14px}.pt-stage-panel,.pt-control-panel,.pt-ledger{border-radius:22px}.pt-stage-panel{min-height:610px}.pt-optic-stage{min-height:420px}.pt-prism-rig{width:162px;height:216px}.pt-prism-face:nth-child(1){transform:rotateY(0deg) translateZ(82px)}.pt-prism-face:nth-child(2){transform:rotateY(60deg) translateZ(82px)}.pt-prism-face:nth-child(3){transform:rotateY(120deg) translateZ(82px)}.pt-prism-face:nth-child(4){transform:rotateY(180deg) translateZ(82px)}.pt-prism-face:nth-child(5){transform:rotateY(240deg) translateZ(82px)}.pt-prism-face:nth-child(6){transform:rotateY(300deg) translateZ(82px)}.pt-prism-face{padding:14px}.pt-prism-face strong{font-size:.94rem}.pt-stage-legend{grid-template-columns:1fr 1fr}.pt-stage-legend strong{grid-column:1/-1;grid-row:1;text-align:left}.pt-form-grid{grid-template-columns:1fr}.pt-field.pt-span{grid-column:auto}.pt-ledger-head{display:grid}.pt-actions button{flex:1 1 130px}.pt-entry-head{display:grid}.pt-item-actions{justify-content:flex-start}.pt-status-select{max-width:none;width:100%}
}
@media(prefers-reduced-motion:reduce){.pt-section *{animation:none!important;transition:none!important}.pt-prism-rig{transition:none}.pt-optic-stage.is-simulating .pt-ray{transform:rotate(var(--pt-ray-angle)) scaleX(1);opacity:.72}}
@media(prefers-contrast:more){.pt-stage-panel,.pt-control-panel,.pt-ledger{backdrop-filter:none;background:var(--bg,#080b23)}.pt-prism-face{backdrop-filter:none;background:var(--bg,#080b23)}}
@media print{.pt-control-panel,.pt-actions,.pt-orientation,.pt-axis-actions,.pt-ledger form,.pt-item-actions,.pt-result-field{display:none!important}.pt-workspace,.pt-ledgers{grid-template-columns:1fr}.pt-stage-panel,.pt-ledger{box-shadow:none;break-inside:avoid}.pt-optic-stage{min-height:420px}}
