.face-portal-main{margin-top:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem 1rem;position:relative;overflow-x:hidden}.portal-hero{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:1280px;margin:0 auto}.portal-identity{margin-bottom:1.2rem;display:flex;justify-content:center;align-items:center;z-index:20}.portal-phonetic-chip{display:inline-flex;align-items:center;gap:.65rem;background:var(--bg-card);border:1px solid rgba(43,11,14,.1);padding:.45rem 1.15rem .45rem 1.25rem;border-radius:999px;margin:0;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:1.15rem;font-weight:500;color:var(--primary);box-shadow:0 4px 18px #0000000a,0 1px 3px #00000005;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .28s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none;outline:none;position:relative}[data-theme=dark] .portal-phonetic-chip{background:#1a1a1ad9;border-color:#ffffff1f;color:#f0f0f0;box-shadow:0 6px 24px #00000059}.portal-phonetic-chip.pronounce:after{display:none!important;content:none!important}.portal-phonetic-chip:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--accent);box-shadow:0 8px 24px #a0404029}[data-theme=dark] .portal-phonetic-chip:hover{border-color:#fff;color:#fff;box-shadow:0 8px 26px #ffffff2e}.portal-phonetic-chip:active{transform:scale(.97)}.phonetic-bracket{opacity:.4;font-weight:400;transition:opacity .2s ease}.portal-phonetic-chip:hover .phonetic-bracket{opacity:.75}.phonetic-text{letter-spacing:.02em;font-weight:550}.phonetic-divider{width:1px;height:14px;background:#2b0b0e26;margin:0 .1rem;transition:background .2s ease}[data-theme=dark] .phonetic-divider{background:#ffffff2e}.portal-phonetic-chip:hover .phonetic-divider{background:var(--accent);opacity:.5}.soundwave-bars{display:inline-flex;align-items:center;gap:2.5px;height:16px;padding-left:2px}.soundwave-bar{width:2.5px;border-radius:999px;background:var(--text-light);transition:height .2s ease,background .2s ease}.portal-phonetic-chip:hover .soundwave-bar{background:var(--accent)}[data-theme=dark] .portal-phonetic-chip:hover .soundwave-bar{background:#fff}.bar-1{height:6px}.bar-2{height:13px}.bar-3{height:8px}.bar-4{height:11px}.portal-phonetic-chip:hover .soundwave-bar{animation:soundwave-idle 1.1s ease-in-out infinite alternate}.portal-phonetic-chip:hover .bar-1{animation-delay:.05s}.portal-phonetic-chip:hover .bar-2{animation-delay:.25s}.portal-phonetic-chip:hover .bar-3{animation-delay:.12s}.portal-phonetic-chip:hover .bar-4{animation-delay:.3s}@keyframes soundwave-idle{0%{transform:scaleY(.7)}to{transform:scaleY(1.3)}}.portal-phonetic-chip.speaking{border-color:var(--accent)!important;color:var(--accent)!important;box-shadow:0 0 25px #a040404d!important;animation:pulse-badge .6s ease-in-out infinite alternate}[data-theme=dark] .portal-phonetic-chip.speaking{border-color:#fff!important;color:#fff!important;box-shadow:0 0 30px #ffffff59!important}.portal-phonetic-chip.speaking .soundwave-bar{background:var(--accent)!important;animation:soundwave-active .35s ease-in-out infinite alternate!important}[data-theme=dark] .portal-phonetic-chip.speaking .soundwave-bar{background:#fff!important}.portal-phonetic-chip.speaking .bar-1{animation-delay:.08s!important}.portal-phonetic-chip.speaking .bar-2{animation-delay:.24s!important}.portal-phonetic-chip.speaking .bar-3{animation-delay:.16s!important}.portal-phonetic-chip.speaking .bar-4{animation-delay:.32s!important}@keyframes soundwave-active{0%{height:4px}to{height:16px}}@keyframes pulse-badge{0%{transform:scale(1)}to{transform:scale(1.03)}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.portal-stage{position:relative;width:100%;display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"left face right" ".    bottom .";align-items:center;column-gap:1.5rem;margin:0 auto}.portal-col{display:flex;flex-direction:column;gap:1.6rem}.portal-col-left{grid-area:left;align-items:flex-end}.portal-col-right{grid-area:right;align-items:flex-start}.portal-col-left,.portal-col-right{gap:2.4rem}.portal-col-left .portal-sat{margin-right:1.2rem}.portal-col-right .portal-sat{margin-left:1.2rem}.portal-col-bottom{grid-area:bottom;align-items:center;margin-top:-2.6rem;position:relative;z-index:6}.portal-canvas-wrapper{grid-area:face;position:relative;width:clamp(360px,min(44vw,64vh),580px);height:clamp(360px,min(44vw,64vh),580px);display:flex;align-items:center;justify-content:center;cursor:crosshair;z-index:5}#hero-ipa-canvas{width:100%;height:100%;display:block;background:transparent}.portal-pulse-ring{position:absolute;top:15px;right:15px;bottom:15px;left:15px;border-radius:50%;background:radial-gradient(circle,rgba(160,64,64,.08) 0%,transparent 70%);pointer-events:none;z-index:-1;animation:portal-breathe 4s ease-in-out infinite}[data-theme=dark] .portal-pulse-ring{background:radial-gradient(circle,rgba(233,69,96,.12) 0%,transparent 70%)}@keyframes portal-breathe{0%,to{transform:scale(.96);opacity:.6}50%{transform:scale(1.08);opacity:1}}.portal-sat{position:relative;display:flex;align-items:center;gap:.8rem;width:clamp(200px,17vw,240px);padding:.7rem 1rem .7rem .7rem;background:var(--bg-card);border:1px solid rgba(43,11,14,.09);border-radius:16px;text-decoration:none;color:inherit;text-align:left;box-shadow:0 6px 22px #2b0b0e0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;animation:sat-in .75s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(.9s + var(--i, 0) * .08s);transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .2s,box-shadow .3s}.portal-col-left .portal-sat{--from-x: 40px}.portal-col-right .portal-sat{--from-x: -40px}.portal-col-bottom .portal-sat{--from-y: -24px;width:auto}@keyframes sat-in{0%{opacity:0;transform:translate(var(--from-x, 0),var(--from-y, 0)) scale(.92);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}[data-theme=dark] .portal-sat{border-color:#ffffff1f;box-shadow:0 10px 30px #00000073}.portal-sat:hover,.portal-sat:focus-visible{border-color:var(--accent);box-shadow:0 14px 34px #a0404029;outline:none}.portal-col-left .portal-sat:hover,.portal-col-left .portal-sat:focus-visible{transform:translate(-6px)}.portal-col-right .portal-sat:hover,.portal-col-right .portal-sat:focus-visible{transform:translate(6px)}.portal-col-bottom .portal-sat:hover,.portal-col-bottom .portal-sat:focus-visible{transform:translateY(-3px)}.sat-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:#2b0b0e0b;color:var(--primary);flex-shrink:0;transition:background .25s,color .25s}.sat-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sat-icon-lx img{width:22px;height:auto;transition:filter .25s}[data-theme=dark] .sat-icon-lx img,.portal-sat:hover .sat-icon-lx img,.portal-sat:focus-visible .sat-icon-lx img{filter:invert(1)}.sat-icon-omikro img{width:22px;height:auto}.portal-sat:hover .sat-icon.sat-icon-omikro,.portal-sat:focus-visible .sat-icon.sat-icon-omikro{background:#f6d24a}[data-theme=dark] .sat-icon{background:#ffffff0f}.portal-sat:hover .sat-icon,.portal-sat:focus-visible .sat-icon{background:var(--accent);color:#fff}.sat-content{display:flex;flex-direction:column;min-width:0}.sat-title{font-family:Playfair Display,serif;font-size:1rem;font-weight:700;color:var(--primary);line-height:1.25}.sat-sub{position:relative;display:block;height:1.15em;margin-top:3px;font-size:.74rem;line-height:1.15;overflow:hidden}.sat-desc,.sat-ipa{display:block;white-space:nowrap;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s}.sat-desc{color:var(--text-light)}.sat-ipa{position:absolute;top:0;left:0;font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--accent);transform:translateY(100%);opacity:0}.portal-sat:hover .sat-desc,.portal-sat:focus-visible .sat-desc{transform:translateY(-100%);opacity:0}.portal-sat:hover .sat-ipa,.portal-sat:focus-visible .sat-ipa{transform:none;opacity:1}.portal-social{display:flex;justify-content:center;gap:.6rem;margin-top:-.7rem;opacity:0;animation:sat-in .75s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(.9s + var(--i, 0) * .08s);--from-y: -12px}.social-link{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--bg-card);border:1px solid rgba(43,11,14,.1);color:var(--text-light);font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:-.02em;text-decoration:none;box-shadow:0 4px 14px #2b0b0e0d;transition:color .2s,border-color .2s,transform .25s cubic-bezier(.16,1,.3,1)}.social-link sup{font-size:.62em;vertical-align:.45em}[data-theme=dark] .social-link{border-color:#ffffff1f}.social-link:hover,.social-link:focus-visible{color:var(--accent);border-color:var(--accent);transform:translateY(-2px);outline:none}.js-orbit .portal-sat,.js-orbit .portal-social{animation:none;opacity:1;transition:transform .8s cubic-bezier(.34,1.45,.64,1),opacity .35s ease,border-color .2s,box-shadow .3s;transition-delay:calc(var(--i, 0) * .06s)}.js-orbit.is-collapsed .portal-sat,.js-orbit.is-collapsed .portal-social{opacity:0;transform:translate(var(--to-face-x, 0),var(--to-face-y, 0)) scale(.2)!important;pointer-events:none;transition-duration:.45s,.3s,.2s,.3s;transition-timing-function:cubic-bezier(.55,0,.75,.3),ease,ease,ease;transition-delay:calc((7 - var(--i, 0)) * .03s)}@media (min-width: 901px) and (prefers-reduced-motion: no-preference){.js .portal-stage:not(.js-orbit) .portal-sat,.js .portal-stage:not(.js-orbit) .portal-social{animation-delay:calc(4s + var(--i, 0) * .08s)}}.orbit-instant .portal-sat,.orbit-instant .portal-social{transition:none!important}.js-orbit.is-settled .portal-sat,.js-orbit.is-settled .portal-social{transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .2s,box-shadow .3s}.is-measuring .portal-sat,.is-measuring .portal-social{transform:none!important;transition:none!important}.js-orbit.is-collapsed .portal-canvas-wrapper{cursor:pointer}.js-orbit.is-collapsed .portal-canvas-wrapper:after{content:"";position:absolute;top:7%;right:7%;bottom:7%;left:7%;border-radius:50%;border:1.5px solid var(--accent);pointer-events:none;animation:portal-ring 2.4s ease-out infinite}@keyframes portal-ring{0%{transform:scale(.9);opacity:.4}to{transform:scale(1.08);opacity:0}}.portal-hint{position:absolute;left:50%;bottom:3%;margin:0;padding:.35rem .85rem;transform:translate(-50%);font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.06em;color:var(--text-light);background:var(--bg-card);border:1px solid rgba(43,11,14,.1);border-radius:999px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .5s ease;z-index:6}[data-theme=dark] .portal-hint{border-color:#ffffff24}.js-orbit.is-collapsed.show-hint .portal-hint{opacity:1;animation:portal-hint-bob 1.8s ease-in-out infinite}@keyframes portal-hint-bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-4px)}}@media (prefers-reduced-motion: reduce){.portal-sat,.portal-social{animation:none;opacity:1}}@media (max-width: 1080px){.portal-col-left .portal-sat{margin-right:.7rem}.portal-col-right .portal-sat{margin-left:.7rem}}@media (max-width: 900px){.face-portal-main{min-height:auto;justify-content:flex-start;padding-top:1.5rem}.portal-stage{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:none;align-items:stretch;gap:.75rem;max-width:520px}.portal-col{display:contents}.portal-canvas-wrapper{grid-area:auto;grid-column:1 / -1;order:-1;justify-self:center;width:340px;height:340px;margin-bottom:-1.5rem}.portal-sat,.portal-col-bottom .portal-sat{order:var(--i);width:auto;min-width:0;margin:0!important;--from-x: 0;--from-y: 16px;animation-delay:calc(.6s + var(--i, 0) * .06s)}.portal-col-bottom .portal-sat{grid-column:1 / -1;justify-content:center}.portal-social{grid-column:1 / -1;order:var(--i);margin-top:.25rem}.sat-sub{height:auto}.sat-desc{white-space:normal;transform:none!important;opacity:1!important}.sat-ipa{display:none}.portal-sat:hover,.portal-sat:focus-visible{transform:none!important}}@media (max-width: 540px){.portal-canvas-wrapper{width:min(320px,86vw);height:min(320px,86vw)}.portal-sat{padding:.6rem;gap:.6rem}.sat-icon{width:32px;height:32px}.sat-title{font-size:.86rem}.sat-sub{display:none}.portal-col-bottom .sat-sub{display:block}}.social-lang{font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:500;letter-spacing:.04em}
