.phantom-shell{min-height:calc(100dvh - var(--nav-h));background:#020509;display:flex;flex-direction:column;overflow-y:auto}.ph-intro{max-width:560px;margin:0 auto;padding:32px 22px 52px;display:flex;flex-direction:column;align-items:center;gap:24px;width:100%}.ph-intro-logo{text-align:center}.ph-ghost-orb{position:relative;width:90px;height:90px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.ph-ghost-ring{position:absolute;inset:0;border:1.5px solid rgba(167,139,250,.4);border-radius:50%;animation:ph-ring-pulse 2.4s ease-out infinite}.ph-ring2{animation-delay:.8s;border-color:#22d3ee4d}.ph-ring3{animation-delay:1.6s;border-color:#a78bfa2e}@keyframes ph-ring-pulse{0%{transform:scale(.65);opacity:1}to{transform:scale(2.1);opacity:0}}.ph-orb-canvas{position:absolute;inset:0;width:90px;height:90px;pointer-events:none}.ph-ghost-glyph{font-size:2.7rem;position:relative;z-index:1}.ph-title{font-size:2.1rem;font-weight:900;letter-spacing:.1em;color:#f0f6ff;text-transform:uppercase;line-height:1;display:flex;align-items:center;gap:10px;justify-content:center}.ph-title-ink{color:#a78bfa}.ph-v2-badge{font-size:.6rem;font-weight:800;background:linear-gradient(135deg,#7c3aed,#22d3ee);color:#fff;padding:3px 7px;border-radius:6px;letter-spacing:.1em}.ph-tagline{font-size:.75rem;color:#ffffff59;margin-top:5px;letter-spacing:.06em}.ph-how{width:100%;background:#ffffff06;border:1px solid rgba(255,255,255,.055);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:11px}.ph-how-step{display:flex;align-items:flex-start;gap:11px;font-size:.82rem;color:#8b9cb8;line-height:1.5}.ph-how-step strong{color:#f0f6ff}.ph-step-num{min-width:22px;height:22px;background:#a78bfa24;color:#a78bfa;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;flex-shrink:0;margin-top:1px}.ph-step-hint{background:rgba(var(--a3-rgb),.14);color:#f59e0b}.ph-config{width:100%;display:flex;flex-direction:column;gap:15px}.ph-config-row{display:flex;flex-direction:column;gap:7px}.ph-config-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#ffffff73}.ph-config-label small{text-transform:none;font-weight:400;letter-spacing:0;color:#ffffff4d}.ph-mode-btns{display:flex;gap:7px;flex-wrap:wrap}.ph-mode-btn{flex:1;min-width:105px;padding:10px 8px;background:#ffffff07;border:1px solid rgba(255,255,255,.065);border-radius:12px;color:#8b9cb8;font-family:inherit;cursor:pointer;text-align:center;line-height:1.3;transition:all .18s;display:flex;flex-direction:column;align-items:center;gap:3px}.phmb-label{font-size:.82rem;font-weight:700}.phmb-desc{font-size:.62rem;color:#ffffff59}.ph-mode-btn:hover{border-color:#a78bfa4d;color:#f0f6ff}.ph-mode-btn.active{background:#a78bfa1a;border-color:#a78bfa80;color:#a78bfa}.ph-mode-btn.active .phmb-desc{color:#a78bfab3}.ph-len-btns{display:flex;gap:7px}.ph-len-btn{flex:1;padding:9px;text-align:center;background:#ffffff07;border:1px solid rgba(255,255,255,.065);border-radius:10px;color:#8b9cb8;font-size:.85rem;font-family:inherit;cursor:pointer;transition:all .18s}.ph-len-btn:hover{border-color:#a78bfa4d;color:#f0f6ff}.ph-len-btn.active{background:#a78bfa1a;border-color:#a78bfa;color:#a78bfa}.ph-cefr-filter{display:flex;flex-wrap:wrap;gap:6px}.ph-cefr-btn{padding:4px 12px;background:#ffffff07;border:1px solid rgba(255,255,255,.065);border-radius:20px;color:#ffffff73;font-size:.72rem;font-weight:700;font-family:inherit;cursor:pointer;transition:all .18s;letter-spacing:.05em}.ph-cefr-btn:hover{border-color:#a78bfa4d;color:#8b9cb8}.ph-cefr-btn.active{background:#a78bfa1f;border-color:#a78bfa;color:#a78bfa}.ph-start-btn{width:100%;padding:15px;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;border:none;border-radius:14px;font-size:1rem;font-weight:700;font-family:inherit;cursor:pointer;letter-spacing:.04em;box-shadow:0 6px 32px rgba(var(--a2-rgb),.42);transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.ph-start-icon{font-size:1.1rem}.ph-start-btn:hover{transform:translateY(-2px);box-shadow:0 10px 40px rgba(var(--a2-rgb),.6)}.ph-start-btn:active{transform:translateY(0)}.ph-back-btn{background:none;border:none;color:#ffffff59;font-size:.78rem;font-family:inherit;cursor:pointer;transition:color .2s}.ph-back-btn:hover{color:#ffffffa6}.ph-chamber{display:flex;flex-direction:column;height:calc(100dvh - var(--nav-h));background:#020509;position:relative;overflow:hidden}.ph-neural-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 1s ease;z-index:0}.ph-neural-active .ph-neural-canvas{opacity:1}.ph-screen-flash{position:absolute;inset:0;pointer-events:none;z-index:50;opacity:0;border-radius:0}.ph-flash-green.ph-flash-active{animation:flash-green .45s ease-out}.ph-flash-red.ph-flash-active{animation:flash-red .45s ease-out}.ph-flash-violet.ph-flash-active{animation:flash-violet .45s ease-out}.ph-flash-gold.ph-flash-active{animation:flash-gold .55s ease-out}@keyframes flash-green{0%,to{opacity:0}20%{opacity:1;background:rgba(var(--a4-rgb),.08)}}@keyframes flash-red{0%,to{opacity:0}20%{opacity:1;background:#ef44441a}}@keyframes flash-violet{0%,to{opacity:0}20%{opacity:1;background:#a78bfa1a}}@keyframes flash-gold{0%,to{opacity:0}20%{opacity:1;background:#f5d3701a}}.ph-topbar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.038);flex-shrink:0;position:relative;z-index:2}.ph-exit{background:none;border:none;color:#4a5568;font-size:.76rem;font-family:inherit;cursor:pointer;white-space:nowrap;transition:color .2s}.ph-exit:hover{color:#8b9cb8}.ph-progress-wrap{flex:1;display:flex;align-items:center;gap:8px}.ph-counter{font-size:.7rem;color:#4a5568;white-space:nowrap}.ph-prog-track{flex:1;height:3px;background:#ffffff0b;border-radius:2px;overflow:hidden}.ph-prog-fill{height:100%;background:linear-gradient(90deg,#7c3aed,#22d3ee);border-radius:2px;transition:width .55s ease}.ph-topbar-right{display:flex;align-items:center;gap:8px;white-space:nowrap}.ph-combo{display:inline-flex;align-items:center;gap:3px;background:rgba(var(--a3-rgb),.1);border:1px solid rgba(var(--a3-rgb),.28);color:#f59e0b;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:20px;transition:transform .2s}.ph-combo-burst{animation:combo-burst .7s cubic-bezier(.34,1.56,.64,1)}@keyframes combo-burst{0%{transform:scale(1)}40%{transform:scale(1.6)}to{transform:scale(1)}}.ph-score-chip{font-size:.75rem;font-weight:700;color:#a78bfa}.ph-word-info{display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 16px;transition:opacity .45s;flex-shrink:0;position:relative;z-index:2}.ph-word-icon{font-size:1.1rem}.ph-cefr{font-size:.63rem;font-weight:700;padding:2px 9px;border-radius:20px}.ph-cefr[data-level=A1]{background:rgba(var(--a4-rgb),.1);color:#4ade80}.ph-cefr[data-level=A2]{background:#22d3ee1a;color:#22d3ee}.ph-cefr[data-level=B1]{background:#a78bfa1a;color:#a78bfa}.ph-cefr[data-level=B2]{background:rgba(var(--a3-rgb),.1);color:#f59e0b}.ph-cefr[data-level=C1]{background:#f973161a;color:#f97316}.ph-cefr[data-level=C2]{background:#ef44441a;color:#ef4444}.ph-cat{font-size:.66rem;color:#4a5568}.ph-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;position:relative;padding:18px 22px;overflow:hidden;z-index:1}.ph-fog{position:absolute;inset:0;background:radial-gradient(ellipse at center,#02050900 25%,#020509a6);pointer-events:none;opacity:0;transition:opacity 1s ease}.ph-fog-active{opacity:1}.ph-letters-wrap{position:relative;z-index:2;width:100%}.ph-letters{display:flex;gap:var(--slot-gap, 7px);flex-wrap:nowrap;justify-content:center;align-items:center;width:100%}.ph-letter{display:inline-flex;align-items:center;justify-content:center;font-size:var(--slot-fs, clamp(1.4rem, 6vw, 3rem));font-weight:900;width:var(--slot-w, clamp(30px, 9vw, 54px));height:var(--slot-h, clamp(40px, 12vw, 72px));border-radius:var(--slot-r, 10px);flex-shrink:0;border:1.5px solid rgba(167,139,250,.25);background:#a78bfa0a;color:transparent;position:relative;transition:color .35s ease,border-color .35s ease,background .25s ease,box-shadow .35s ease}.ph-letter.ph-faded{color:transparent;border-color:#a78bfa33;background:#a78bfa08;box-shadow:none}.ph-letter.ph-lit{color:#f5d770;border-color:#f5d370a6;background:#f5d37012;box-shadow:0 0 16px #f5d3704d,inset 0 0 14px #f5d3700f;animation:ph-lit-in .22s ease}@keyframes ph-lit-in{0%{transform:scale(1.25);filter:brightness(2.2)}to{transform:scale(1);filter:brightness(1)}}.ph-letter.ph-fading-out{color:#f5d77014;border-color:#a78bfa33;background:#a78bfa08;box-shadow:none;transition:color .55s ease,border-color .55s ease,background .55s ease,box-shadow .55s ease}.ph-letter.ph-cursor{border-color:#a78bfabf;background:#a78bfa17;animation:cursor-box-blink 1s ease-in-out infinite}@keyframes cursor-box-blink{0%,to{border-color:#a78bfabf;box-shadow:0 0 10px #a78bfa4d}50%{border-color:#a78bfa33;box-shadow:none}}.ph-letter.ph-crystal{color:#fff!important;border-color:#a78bfad9!important;background:#a78bfa21!important;box-shadow:0 0 18px #a78bfa8c,inset 0 0 12px #a78bfa1f!important;animation:ph-crystallize .4s cubic-bezier(.34,1.56,.64,1)}@keyframes ph-crystallize{0%{transform:scale(.6);filter:brightness(4)}55%{transform:scale(1.22);filter:brightness(1.6)}to{transform:scale(1);filter:brightness(1)}}.ph-letter.ph-hint-glow{color:#fbbf24!important;border-color:#fbbf24b3!important;background:#fbbf2414!important;box-shadow:0 0 14px #fbbf2459!important;animation:ph-hint-in .35s ease}@keyframes ph-hint-in{0%{transform:scale(.75)}to{transform:scale(1)}}.ph-letter.ph-error{animation:ph-err .32s ease}@keyframes ph-err{0%,to{transform:translate(0);border-color:#a78bfa40}20%{transform:translate(-8px);border-color:#ef4444cc;box-shadow:0 0 14px #ef444466}40%{transform:translate(8px);border-color:#ef4444cc}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.ph-letter.ph-reveal{color:#f87171!important;border-color:#f87171a6!important;background:#f8717112!important;box-shadow:0 0 12px #ef44444d!important}.ph-status{font-size:.9rem;font-weight:600;min-height:24px;text-align:center;position:relative;z-index:2}.ph-status-watch{color:#22d3ee}.ph-status-write{color:#a78bfa;animation:ph-pulse 1.5s ease-in-out infinite}.ph-status-success{color:#4ade80;animation:ph-pop .42s cubic-bezier(.34,1.56,.64,1)}.ph-status-fail{color:#f87171}@keyframes ph-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes ph-pop{0%{transform:scale(.75)}60%{transform:scale(1.18)}to{transform:scale(1)}}.ph-meta{display:flex;flex-direction:column;align-items:center;gap:5px;transition:opacity .5s;position:relative;z-index:2;text-align:center}.ph-translation{font-size:1.2rem;font-weight:700;color:#f0f6ff}.ph-ipa{font-size:.83rem;color:#4a5568}.ph-example{font-size:.78rem;font-style:italic;color:#4a5568;max-width:380px;line-height:1.55}.ph-syns{font-size:.72rem;color:#2d3748}.ph-hint-row{display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 16px;border-top:1px solid rgba(255,255,255,.035);flex-shrink:0;position:relative;z-index:2}.ph-hint-btn{padding:5px 11px;background:rgba(var(--a3-rgb),.07);border:1px solid rgba(var(--a3-rgb),.2);border-radius:20px;color:#f59e0b;font-size:.7rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .18s;display:flex;align-items:center;gap:4px}.ph-hint-btn:hover:not(:disabled){background:rgba(var(--a3-rgb),.14);border-color:rgba(var(--a3-rgb),.45)}.ph-hint-btn:disabled{opacity:.3;cursor:not-allowed}.ph-hint-penalty{font-size:.6rem;color:#ef4444}.ph-hints-left{font-size:.65rem;color:#4a5568;margin-left:4px}.ph-footer{display:flex;align-items:center;justify-content:space-between;padding:9px 18px;border-top:1px solid rgba(255,255,255,.035);flex-shrink:0;position:relative;z-index:2}.ph-mode-label{font-size:.68rem;color:#4a5568;font-weight:600}.ph-skip{background:none;border:none;color:#4a5568;font-size:.73rem;font-family:inherit;cursor:pointer;transition:color .2s}.ph-skip:hover{color:#8b9cb8}.ph-letter.ph-letter-space{width:clamp(14px,4vw,22px);border:none;background:transparent;box-shadow:none!important;pointer-events:none}.ph-letter.ph-letter-space.ph-crystal{background:transparent!important;border:none!important;box-shadow:none!important}.ph-vkb{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 7px 13px;background:#020509f5;border-top:1px solid rgba(255,255,255,.042);flex-shrink:0;position:relative;z-index:2}.ph-vkb-row{display:flex;gap:4px;justify-content:center}.ph-key{min-width:30px;height:38px;padding:0 7px;background:#ffffff0e;border:1px solid rgba(255,255,255,.07);border-radius:7px;color:#f0f6ff;font-size:.82rem;font-weight:700;font-family:inherit;cursor:pointer;transition:all .1s;text-transform:uppercase}.ph-key:active{transform:scale(.88)}.ph-key-ok{background:rgba(var(--a4-rgb),.2)!important;border-color:#4ade80!important;color:#4ade80!important}.ph-key-err{background:#ef44442e!important;border-color:#ef4444!important;color:#ef4444!important}.ph-key-space{min-width:90px;font-size:.7rem;letter-spacing:.08em;color:#8b9cb8}.ph-key-bs{min-width:58px;font-size:1rem;color:#f87171;border-color:#f8717133}.ph-key-bs:hover{background:#f871711a}.ph-result{max-width:540px;margin:0 auto;padding:30px 20px 52px;display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.ph-result-grade{width:100px;height:100px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:2px solid;animation:grade-appear .6s cubic-bezier(.34,1.56,.64,1)}@keyframes grade-appear{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.grade-gold{background:#f5d3701a;border-color:#f5d770}.grade-blue{background:#22d3ee1a;border-color:#22d3ee}.grade-violet{background:#a78bfa1a;border-color:#a78bfa}.grade-gray{background:#ffffff0a;border-color:#4a5568}.ph-grade-icon{font-size:2.1rem}.ph-grade-label{font-size:.58rem;font-weight:800;letter-spacing:.12em;color:#8b9cb8}.ph-result-header{text-align:center}.ph-result-title{font-size:1.1rem;font-weight:700;color:#f0f6ff}.ph-result-msg{font-size:.78rem;color:#4a5568;margin-top:3px}.ph-result-stats{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}.ph-rs{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:60px}.ph-rs-val{font-size:1.5rem;font-weight:800;color:#f0f6ff}.ph-rs-lbl{font-size:.6rem;color:#4a5568;text-transform:uppercase;letter-spacing:.08em}.ph-rs-green{color:#4ade80}.ph-rs-gold{color:#f5d770}.ph-rs-xp .ph-rs-val{color:#a78bfa}.ph-missed-block{width:100%;background:#ef44440d;border:1px solid rgba(239,68,68,.15);border-radius:14px;padding:14px}.ph-missed-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#f87171;margin-bottom:10px}.ph-missed-list{display:flex;flex-direction:column;gap:6px}.ph-missed-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#ffffff06;border-radius:9px;font-size:.8rem}.ph-mi-icon{font-size:1rem}.ph-mi-en{font-weight:700;color:#f0f6ff;flex:1}.ph-mi-tr{color:#4a5568;font-size:.73rem}.ph-mi-listen{background:none;border:none;font-size:.85rem;cursor:pointer;opacity:.55;transition:opacity .2s}.ph-mi-listen:hover{opacity:1}.ph-result-words{width:100%;border:1px solid rgba(255,255,255,.045);border-radius:14px;padding:12px;max-height:260px;overflow-y:auto}.ph-rw-title{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#4a5568;margin-bottom:8px}.ph-rw{display:flex;align-items:center;gap:8px;padding:6px 9px;border-radius:8px;font-size:.78rem;margin-bottom:3px}.ph-rw-ok{background:rgba(var(--a4-rgb),.05)}.ph-rw-miss{background:#ef44440d}.ph-rw-icon{font-size:.95rem}.ph-rw-en{font-weight:700;color:#f0f6ff;flex:1}.ph-rw-tr{color:#4a5568;font-size:.72rem}.ph-rw-mark{font-weight:800}.ph-rw-ok .ph-rw-mark{color:#4ade80}.ph-rw-miss .ph-rw-mark{color:#f87171}.ph-result-acts{display:flex;flex-direction:column;gap:8px;width:100%}.action-card.phantom{--card-glow: rgba(167,139,250,.09)}@media(max-width:480px){.ph-letter{flex-shrink:0}.ph-mode-btns{flex-direction:column}.ph-mode-btn{min-width:unset;flex-direction:row;justify-content:space-between}.ph-hint-row{flex-wrap:wrap}.ph-result-stats{gap:14px}.ph-ghost-orb{width:76px;height:76px}}
