.ph-overlay{position:fixed;inset:0;z-index:1200;overflow:hidden;background:radial-gradient(ellipse at 50% 80%,#0e3044 0,#050a14 60%);font-family:var(--ph-body),"Chakra Petch",system-ui,sans-serif;color:#e6fbff}.ph-display{font-family:var(--ph-display),"Zen Dots",sans-serif}.ph-mono{font-family:ui-monospace,JetBrains Mono,monospace;font-size:12px;color:#7fb3c2}.ph-help{font-size:16px;color:#8fb7c4}.ph-stage{position:absolute;left:50%;top:50%;width:1280px;height:720px;transform-origin:50% 50%}.ph-lines{inset:0;background:repeating-linear-gradient(0deg,rgba(95,233,255,.035) 0 1px,transparent 1px 4px)}.ph-grid,.ph-lines{position:absolute;pointer-events:none}.ph-grid{left:90px;right:90px;bottom:-40px;height:300px;perspective:600px}.ph-grid>div{position:absolute;inset:0;transform:rotateX(68deg);transform-origin:50% 100%;background-image:linear-gradient(rgba(95,233,255,.4) 1px,transparent 0),linear-gradient(90deg,rgba(95,233,255,.4) 1px,transparent 0);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 50% 60%,#000 20%,transparent 70%);mask-image:radial-gradient(ellipse at 50% 60%,#000 20%,transparent 70%)}.ph-glow{position:absolute;left:50%;top:560px;width:300px;height:50px;margin-left:-150px;border-radius:50%;background:radial-gradient(ellipse,rgba(95,233,255,.7),rgba(95,233,255,0) 70%)}.ph-steps{position:absolute;top:26px;left:0;right:0;display:flex;justify-content:center;gap:8px}.ph-steps span{width:60px;height:5px;border-radius:3px;background:rgba(95,233,255,.18);box-shadow:0 0 6px rgba(95,233,255,.4);transition:background .3s}.ph-steps span.is-on{background:#5fe9ff}.ph-speech{position:absolute;left:50%;top:56px;width:560px;margin-left:-280px;box-sizing:border-box;padding:14px 22px;border-radius:16px;border:1.5px solid rgba(95,233,255,.7);background:rgba(8,32,46,.72);box-shadow:0 0 24px rgba(95,233,255,.25);text-align:center;display:flex;flex-direction:column;gap:4px}.ph-line{margin:0;font-size:25px;font-weight:600;line-height:1.25;color:#e9fcff;min-height:31px}.ph-sub{margin:0;font-size:18px;color:#9fefff;min-height:22px;transition:opacity .4s}.ph-holo{position:absolute;left:50%;top:250px;width:440px;height:320px;margin-left:-220px;animation:ph-float 4s ease-in-out infinite;pointer-events:none}.ph-holo-in{width:100%;height:100%;position:relative;transform-origin:50% 100%;transform:scaleY(.03) scaleX(1.25);opacity:0;transition:transform .3s ease-in,opacity .3s ease-in;animation:ph-flicker 6s linear infinite}.ph-holo-in.is-on{transform:none;opacity:1;transition:transform .55s cubic-bezier(.2,.9,.3,1.15),opacity .2s}.ph-holo-in img{width:100%;height:100%;object-fit:contain;object-position:50% 100%;filter:grayscale(1) sepia(1) hue-rotate(150deg) saturate(2.8) brightness(1.2) drop-shadow(0 0 10px rgba(95,233,255,.8))}.ph-holo-scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(4,12,22,.5) 0 1px,transparent 1px 4px);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 100%;mask-position:50% 100%}.ph-holo.is-still,.ph-holo.is-still .ph-holo-in{animation:none}.ph-holo.is-still .ph-holo-in{transition:none}@keyframes ph-float{0%,to{translate:0 0}50%{translate:0 -8px}}@keyframes ph-flicker{0%,93%,to{opacity:1}94%{opacity:.55}95%{opacity:1}97%{opacity:.75}}.ph-left{left:60px;width:340px}.ph-left,.ph-right{position:absolute;top:200px;perspective:900px}.ph-right{right:60px;width:400px}.ph-panel{padding:20px 22px;border-radius:18px;border:1.5px solid rgba(95,233,255,.65);background:rgba(8,32,46,.7);box-shadow:0 0 26px rgba(95,233,255,.22);display:flex;flex-direction:column;gap:14px;position:relative;box-sizing:border-box}.ph-left .ph-panel{transform:rotateY(16deg);transform-origin:0 50%}.ph-right .ph-panel{transform:rotateY(-16deg);transform-origin:100% 50%}.ph-title{font-size:19px;letter-spacing:.08em;color:#e9fcff}.ph-id-head{display:flex;justify-content:space-between;align-items:center}.ph-id-head .ph-display{font-size:13px;letter-spacing:.18em;color:#5fe9ff}.ph-id-name{display:flex;flex-direction:column;gap:2px}.ph-id-callsign{font-size:26px;letter-spacing:.06em;color:#f0fdff;min-height:38px;overflow-wrap:anywhere}.ph-rule{height:1px;background:rgba(95,233,255,.3)}.ph-id-row{justify-content:space-between}.ph-id-row,.ph-id-val{display:flex;align-items:center}.ph-id-val{gap:8px;font-size:18px;font-weight:700;color:#e6fbff}.ph-id-val i{width:10px;height:10px;border-radius:50%}.ph-stamp{align-self:flex-start;margin-top:4px;transform:rotate(-6deg);border:2.5px solid #9ff7c4;color:#9ff7c4;font-family:ui-monospace,JetBrains Mono,monospace;font-weight:700;font-size:15px;letter-spacing:.14em;padding:6px 12px;border-radius:8px;background:rgba(5,30,24,.85);box-shadow:0 0 14px rgba(159,247,196,.5);animation:ph-stamp .45s cubic-bezier(.3,1.6,.5,1) both}@keyframes ph-stamp{0%{transform:rotate(-6deg) scale(2);opacity:0}to{transform:rotate(-6deg);opacity:1}}.ph-input{font:inherit;font-size:22px;color:#e6fbff;background:rgba(10,40,56,.6);border:1.5px solid #5fe9ff;border-radius:12px;padding:14px 16px;outline:none}.ph-input::placeholder{color:#6f9aa8}.ph-input:focus-visible{box-shadow:0 0 0 3px rgba(95,233,255,.35)}.ph-btn,.ph-choice,.ph-ghost,.ph-link,.ph-opt,.ph-track{font:inherit;cursor:pointer}.ph-btn{text-align:center;font-weight:700;font-size:19px;color:#04121c;background:#5fe9ff;border:0;border-radius:12px;padding:13px;box-shadow:0 0 16px rgba(95,233,255,.5)}.ph-btn--big{font-size:20px;padding:15px}.ph-btn:disabled{opacity:.4;cursor:default}.ph-ghost{text-align:center;font-weight:700;font-size:20px;color:#e6fbff;background:transparent;border:1.5px solid rgba(95,233,255,.6);border-radius:12px;padding:15px}.ph-link{align-self:center;font-size:16px;color:#9fefff;background:none;border:0;border-bottom:1px solid #5fe9ff;padding:0 0 1px}.ph-btn:focus-visible,.ph-choice:focus-visible,.ph-ghost:focus-visible,.ph-link:focus-visible,.ph-opt:focus-visible,.ph-track:focus-visible{outline:2px solid #dffaff;outline-offset:3px}.ph-tracks{display:flex;flex-direction:column;gap:7px}.ph-track{height:54px;box-sizing:border-box;padding:0 14px;display:flex;align-items:center;gap:12px;text-align:left;border:0;border-top:2px solid var(--t-line);border-bottom:2px solid var(--t-line);background:repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 2px,transparent 2px 7px),linear-gradient(90deg,var(--t-tint),rgba(10,14,28,.92));transition:all .25s}.ph-track img{width:36px;height:42px;object-fit:contain;filter:drop-shadow(0 0 6px var(--t-line))}.ph-track-name{font-size:15px;letter-spacing:.22em;text-transform:uppercase;color:var(--t-text);text-shadow:0 0 10px var(--t-line)}.ph-track-ages{margin-left:auto;font-weight:700;font-size:14px;color:var(--t-text)}.ph-track.is-sel{box-shadow:0 0 26px color-mix(in srgb,var(--t-line) 67%,transparent),inset 0 0 34px color-mix(in srgb,var(--t-line) 27%,transparent);transform:translateX(8px)}.ph-track.is-dim{opacity:.55}.ph-choice{display:flex;flex-direction:column;gap:2px;text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid rgba(95,233,255,.6);background:transparent}.ph-choice b{font-size:21px;color:#e6fbff}.ph-choice span{font-size:15px;color:#a9c6d0}.ph-choice--go{background:#5fe9ff;border-color:#5fe9ff;box-shadow:0 0 18px rgba(95,233,255,.5)}.ph-choice--go b{color:#04121c}.ph-choice--go span{color:#0b3442}.ph-q{text-align:center;font-size:34px;font-weight:700;color:#fff;text-shadow:0 0 14px rgba(95,233,255,.7);padding:4px 0}.ph-q .katex-display{margin:0}.ph-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ph-opt{height:54px;border-radius:12px;border:1.5px solid rgba(95,233,255,.55);background:rgba(10,40,56,.6);color:#e6fbff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:23px;transition:all .25s}.ph-opt:disabled{cursor:default}.ph-opt.is-right{background:#5fe9ff;border-color:#5fe9ff;color:#04121c}.ph-opt.is-wrong{background:rgba(90,20,34,.55);border-color:#ff8a8a;color:#ffc4c4}.ph-opt.is-dim{opacity:.4}.ph-stack{height:100%;overflow-y:auto;box-sizing:border-box;padding:18px 16px 28px;display:flex;flex-direction:column;gap:14px}.ph-stack .ph-holo,.ph-stack .ph-speech,.ph-stack .ph-steps{position:static;margin:0;width:auto}.ph-stack .ph-steps span{width:44px}.ph-stack .ph-line{font-size:20px}.ph-stack .ph-sub{font-size:15px}.ph-stack .ph-holo{height:190px}.ph-stack .ph-panel{transform:none}.ph-stack .ph-q{font-size:28px}@media (prefers-reduced-motion:reduce){.ph-holo,.ph-holo-in{animation:none!important}.ph-holo-in{transition:none!important}.ph-opt,.ph-stamp,.ph-track{animation:none;transition:none}}