/* Source: register/index.html, style 1 */
.subject-embed-root {
          --bg-0: #040a0f;
          --bg-1: #0b1721;
          --bg-2: #142432;
          --line: rgba(155, 188, 206, 0.28);
          --line-soft: rgba(155, 188, 206, 0.14);
          --text-main: #dce6ee;
          --text-sub: #94a8b6;
          --accent: #7fd4ff;
          position: relative;
          display: grid;
          place-items: center;
          min-height: 100dvh;
          margin: 0;
          padding: clamp(var(--ev-space-4), 2.5vw, var(--ev-space-10));
          font-family: var(--ev-font-sans);
          background:
            radial-gradient(1200px 900px at 12% 8%, #203445 0%, transparent 45%),
            radial-gradient(1000px 1000px at 92% 2%, #142838 0%, transparent 46%),
            linear-gradient(180deg, var(--bg-2) 0%, var(--bg-1) 42%, var(--bg-0) 100%);
        }

        .subject-embed-root * { box-sizing: border-box; }

        .subject-embed-root .poster {
          position: relative;
          width: min(100%, 620px);
          min-height: min(92dvh, 900px);
          padding: clamp(var(--ev-space-7), 4.2vw, var(--ev-space-13));
          display: grid;
          grid-template-rows: auto auto 1fr auto auto;
          gap: clamp(var(--ev-space-6), 2.6vh, 30px);
          border: 1px solid var(--line-soft);
          border-bottom: 0;
          border-radius: clamp(16px, 2.2vw, 26px) clamp(16px, 2.2vw, 26px) 0 0;
          background: #07111a;
          box-shadow:
            0 28px 80px rgba(0, 0, 0, 0.5),
            inset 0 0 0 1px rgba(170, 203, 219, 0.12);
          overflow: hidden;
          isolation: isolate;
        }

        .subject-embed-root .poster-bg {
          position: absolute;
          inset: 0;
          z-index: 0;
          pointer-events: none;
        }

        .subject-embed-root .poster-bg img,
        .subject-embed-root .poster-bg video {
          position: absolute;
          inset: 0;
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center 20%;
        }

        .subject-embed-root .poster-bg img {
          opacity: 0.5;
          filter: brightness(1.06) contrast(1.04);
          transition: opacity 280ms ease;
        }

        .subject-embed-root .poster-bg video {
          opacity: 0;
          transition: opacity 320ms ease;
        }

        .subject-embed-root.is-register-active .poster-bg img { opacity: 0; }
        .subject-embed-root.is-register-active .poster-bg video { opacity: 0.9; }

        .subject-embed-root .poster-bg::after {
          content: "";
          position: absolute;
          inset: 0;
          background:
            radial-gradient(80% 55% at 50% 12%, rgba(170, 220, 248, 0.2), rgba(170, 220, 248, 0) 70%),
            linear-gradient(180deg, rgba(5, 11, 18, 0.35) 0%, rgba(5, 11, 18, 0.58) 56%, rgba(5, 11, 18, 0.8) 100%);
        }

        .subject-embed-root .poster::before {
          content: "";
          position: absolute;
          inset: 0;
          z-index: 1;
          background:
            repeating-linear-gradient(90deg, transparent 0 96px, rgba(173, 205, 219, 0.03) 96px 97px),
            repeating-linear-gradient(0deg, transparent 0 86px, rgba(173, 205, 219, 0.022) 86px 87px);
          opacity: 0.6;
          pointer-events: none;
        }

        .subject-embed-root .top {
          position: relative;
          z-index: 1;
          display: flex;
          justify-content: space-between;
          align-items: center;
        }

        .subject-embed-root .logo-small {
          font-size: clamp(18px, 4.6vw, 30px);
          letter-spacing: 0.22em;
          font-weight: 700;
          color: #ecf3f7;
          text-transform: uppercase;
        }

        .subject-embed-root .badge {
          padding: var(--ev-space-1-5) var(--ev-space-4);
          font-size: clamp(12px, 2.8vw, 15px);
          letter-spacing: 0.14em;
          text-transform: uppercase;
          color: #bfd2df;
          border: 1px solid var(--line-soft);
          border-radius: 999px;
          background: rgba(9, 17, 24, 0.65);
        }

        .subject-embed-root .hero {
          position: relative;
          z-index: 1;
          display: grid;
          place-items: center;
          gap: clamp(var(--ev-space-5), 2.2vh, var(--ev-space-9));
          text-align: center;
        }

        .subject-embed-root .avatar-shell {
          position: relative;
          width: clamp(120px, 28vw, 184px);
          aspect-ratio: 1;
          border-radius: 50%;
          padding: 0;
          background: transparent !important;
          overflow: visible;
        }

        .subject-embed-root .avatar-shell::before {
          content: "";
          position: absolute;
          inset: 0;
          border-radius: 50%;
          box-shadow:
            0 0 0 1px rgba(166, 205, 223, 0.38),
            0 0 0 6px rgba(96, 198, 255, 0.08),
            0 14px 34px rgba(0, 0, 0, 0.5);
          pointer-events: none;
          z-index: 2;
        }

        .subject-embed-root .avatar-shell::after {
          content: "";
          position: absolute;
          inset: -16%;
          border-radius: 50%;
          background: radial-gradient(
            circle,
            rgba(96, 198, 255, 0.36) 0%,
            rgba(96, 198, 255, 0.16) 42%,
            rgba(96, 198, 255, 0) 74%
          );
          filter: blur(10px);
          pointer-events: none;
          z-index: 0;
        }

        .subject-embed-root .avatar {
          position: relative;
          width: 100%;
          height: 100%;
          border-radius: 50%;
          overflow: hidden;
          isolation: isolate;
          z-index: 1;
          background: #04090f;
        }

        .subject-embed-root .avatar video {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: 35% 30%;
          filter: grayscale(0.62) contrast(1.12) brightness(1.02) saturate(0.92);
          transform: scale(1.07);
          display: block;
          border-radius: 50%;
          clip-path: circle(50%);
          -webkit-mask-image: -webkit-radial-gradient(white, black);
          background: transparent !important;
        }

        .subject-embed-root .avatar::after {
          content: "";
          position: absolute;
          inset: 0;
          background:
            radial-gradient(circle at 50% 40%, rgba(0, 0, 0, 0) 0 52%, rgba(0, 0, 0, 0.26) 100%),
            linear-gradient(180deg, rgba(8, 12, 16, 0.04) 0%, rgba(6, 10, 14, 0.30) 100%);
        }

        .subject-embed-root .logo-big {
          margin: 0;
          color: #ecf3f7;
          font-size: clamp(44px, 12vw, 82px);
          line-height: 0.95;
          letter-spacing: 0.12em;
          font-weight: 700;
          text-transform: uppercase;
          text-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
        }

        .subject-embed-root .rule {
          width: min(320px, 82%);
          height: 1px;
          margin: 0 auto;
          background: linear-gradient(90deg, transparent, var(--line), transparent);
        }

        .subject-embed-root .headline {
          margin: 0;
          color: #d4e0e8;
          text-transform: uppercase;
          letter-spacing: 0.11em;
          font-size: clamp(24px, 6vw, 42px);
          line-height: 1.04;
        }

        .subject-embed-root .headline strong {
          display: block;
          margin-top: 6px;
          color: #ffffff;
          font-weight: 700;
          letter-spacing: 0.12em;
        }

        .subject-embed-root .sub {
          margin: 0;
          color: var(--text-sub);
          letter-spacing: 0.09em;
          text-transform: uppercase;
          font-size: clamp(16px, 3.4vw, 21px);
        }

        .subject-embed-root .cn {
          margin: 0;
          color: #8ba3b5;
          letter-spacing: 0.08em;
          text-transform: none;
          font-size: clamp(26px, 7vw, 40px);
        }

        .subject-embed-root .meta {
          position: relative;
          z-index: 1;
          display: grid;
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: var(--ev-space-3);
        }

        .subject-embed-root .meta-item {
          padding: var(--ev-space-3) var(--ev-space-3) var(--ev-space-4);
          border: 1px solid var(--line-soft);
          border-radius: 10px;
          background: rgba(9, 16, 23, 0.6);
        }

        .subject-embed-root .meta-item span {
          display: block;
          font-size: clamp(10px, 2.2vw, 12px);
          text-transform: uppercase;
          letter-spacing: 0.12em;
          color: #88a0b1;
        }

        .subject-embed-root .meta-item strong {
          display: block;
          margin-top: 4px;
          font-size: clamp(16px, 3.6vw, 20px);
          letter-spacing: 0.08em;
          text-transform: uppercase;
          color: #e4edf3;
        }

        .subject-embed-root .meta-item strong.meta-soft {
          font-weight: 600;
          letter-spacing: 0.06em;
        }

        .subject-embed-root .btn-wrap {
          position: relative;
          z-index: 1;
          display: grid;
          gap: var(--ev-space-3);
        }

        .subject-embed-root .cta {
          display: flex;
          justify-content: center;
          align-items: center;
          gap: var(--ev-space-3);
          width: 100%;
          padding: clamp(13px, 3.2vw, var(--ev-space-6)) var(--ev-space-7);
          border: 1px solid rgba(164, 202, 221, 0.36);
          border-radius: 12px;
          background: linear-gradient(180deg, rgba(19, 44, 61, 0.74) 0%, rgba(9, 24, 34, 0.86) 100%);
          color: #e6f4ff;
          text-decoration: none;
          text-transform: uppercase;
          letter-spacing: 0.14em;
          font-size: clamp(18px, 4vw, 26px);
          font-weight: 700;
          transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
        }

        .subject-embed-root .cta:hover {
          border-color: rgba(178, 223, 245, 0.58);
          box-shadow: 0 0 24px rgba(76, 158, 206, 0.22);
          transform: translateY(-1px);
        }

        .subject-embed-root .register-panel {
          position: relative;
          z-index: 1;
          display: grid;
          gap: var(--ev-space-3);
          padding: var(--ev-space-5);
          border: 1px solid rgba(166, 202, 220, 0.35);
          border-radius: 12px;
          background: rgba(8, 17, 25, 0.78);
        }

        .subject-embed-root .register-panel[hidden] { display: none; }

        .subject-embed-root .register-title {
          margin: 0;
          text-align: center;
          color: #f1f7fc;
          text-transform: uppercase;
          letter-spacing: 0.14em;
          font-size: clamp(18px, 4.6vw, 24px);
        }

        .subject-embed-root .register-form {
          display: grid;
          gap: var(--ev-space-3);
        }

        .subject-embed-root .register-form label {
          display: grid;
          gap: 5px;
          color: #c6d8e5;
          font-size: clamp(12px, 3vw, 14px);
          text-transform: uppercase;
          letter-spacing: 0.1em;
        }

        .subject-embed-root .register-form input {
          width: 100%;
          padding: var(--ev-space-3) var(--ev-space-4);
          border-radius: 9px;
          border: 1px solid rgba(168, 206, 224, 0.38);
          background: rgba(6, 13, 20, 0.86);
          color: #edf5fb;
          font: inherit;
        }

        .subject-embed-root .register-form input::placeholder { color: #88a0b0; }

        .subject-embed-root .register-form button {
          margin-top: 2px;
          padding: var(--ev-space-3-5) var(--ev-space-4);
          border-radius: 9px;
          border: 1px solid rgba(170, 212, 233, 0.52);
          background: linear-gradient(180deg, rgba(25, 60, 83, 0.88), rgba(11, 28, 40, 0.94));
          color: #eaf6ff;
          text-transform: uppercase;
          letter-spacing: 0.12em;
          font-size: var(--ev-text-15);
          font-weight: 700;
          cursor: pointer;
        }

        .subject-embed-root .register-note {
          margin: 0;
          text-align: center;
          color: #9fc2d7;
          font-size: var(--ev-text-13);
          letter-spacing: 0.06em;
        }

        .subject-embed-root .hal-section {
          width: min(100%, 620px);
          margin-top: 0;
          border: 1px solid var(--line-soft);
          border-top: 0;
          border-radius: 0 0 clamp(16px, 2.2vw, 26px) clamp(16px, 2.2vw, 26px);
          background: radial-gradient(1200px 800px at 50% 45%, #141414 0%, #0a0a0b 55%, #050505 100%);
          padding: var(--ev-space-6) var(--ev-space-3) 38px;
          display: grid;
          place-items: center;
          position: relative;
          isolation: isolate;
        }

        .subject-embed-root .hal-section::before {
          content: "";
          position: absolute;
          left: 0;
          right: 0;
          top: -28px;
          height: 28px;
          pointer-events: none;
          background: linear-gradient(180deg, rgba(6, 13, 20, 0.96), rgba(6, 13, 20, 0));
        }

        .subject-embed-root .hal-frame {
          width: clamp(240px, 72vw, 470px);
          aspect-ratio: 1;
          border-radius: 50%;
          background: radial-gradient(circle at 50% 50%, #2a2a2a 0%, #151515 40%, #0b0b0b 65%, #070707 100%);
          box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.8), 0 0 40px rgba(0, 0, 0, 0.6);
          display: grid;
          place-items: center;
          position: relative;
        }

        .subject-embed-root .hal-bezel {
          width: 82%;
          height: 82%;
          border-radius: 50%;
          background: radial-gradient(circle at 50% 50%, #1b1b1b 0%, #0c0c0c 60%, #070707 100%);
          box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.9), inset 0 0 120px rgba(0, 0, 0, 0.7);
          display: grid;
          place-items: center;
        }

        .subject-embed-root .hal-lens {
          width: 62%;
          height: 62%;
          border-radius: 50%;
          position: relative;
          overflow: hidden;
          cursor: pointer;
          background: radial-gradient(circle at 50% 50%, #1a0b0b 0%, #0b0606 45%, #080404 70%, #060303 100%);
          box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.9);
        }

        .subject-embed-root .hal-glow {
          position: absolute;
          inset: -24%;
          border-radius: 50%;
          background: radial-gradient(circle at 50% 50%, rgba(255, 90, 40, 0.35) 0%, rgba(255, 50, 10, 0.2) 35%, rgba(255, 0, 0, 0) 70%);
          filter: blur(6px);
          opacity: 0.6;
          animation: hal-glow-pulse 3.8s ease-in-out infinite;
          pointer-events: none;
        }

        .subject-embed-root .hal-iris {
          position: absolute;
          inset: 12%;
          border-radius: 50%;
          background: radial-gradient(circle at 50% 50%, rgba(255, 190, 160, 0.3) 0%, rgba(255, 90, 40, 0.75) 22%, rgba(255, 50, 20, 0.9) 36%, rgba(200, 20, 10, 0.85) 52%, rgba(120, 10, 8, 0.8) 70%, rgba(30, 5, 5, 0.9) 100%);
          box-shadow: 0 0 40px rgba(255, 60, 20, 0.7), 0 0 80px rgba(255, 30, 0, 0.5);
          animation: hal-iris-pulse 3.8s ease-in-out infinite;
        }

        .subject-embed-root .hal-core {
          position: absolute;
          inset: 34%;
          border-radius: 50%;
          background: radial-gradient(circle at 50% 50%, #ffe6d8 0%, #ff7a2a 30%, #ff2a00 55%, #b40f05 80%, #5a0606 100%);
          box-shadow: 0 0 45px rgba(255, 80, 30, 0.8), 0 0 110px rgba(255, 40, 0, 0.6);
          animation: hal-core-pulse 3.8s ease-in-out infinite;
        }

        .subject-embed-root .hal-aperture {
          position: absolute;
          inset: 47%;
          border-radius: 50%;
          background: radial-gradient(circle at 50% 50%, #140606 0%, #080303 55%, #050202 100%);
          box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.9);
          opacity: 0.9;
        }

        .subject-embed-root .hal-center {
          position: absolute;
          inset: 46%;
          border-radius: 50%;
          background: radial-gradient(circle at 50% 50%, #fff0e6 0%, #ffb08a 35%, #ff4a24 65%, #9a0d08 100%);
          box-shadow: 0 0 25px rgba(255, 70, 20, 0.9), 0 0 60px rgba(255, 30, 0, 0.7);
          animation: hal-center-pulse 2.8s ease-in-out infinite;
        }

        .subject-embed-root .hal-end-video {
          position: absolute;
          inset: 6%;
          border-radius: 50%;
          overflow: hidden;
          opacity: 0;
          transform: scale(0.98);
          transition: opacity 600ms ease, transform 900ms ease;
          pointer-events: none;
          z-index: 7;
        }

        .subject-embed-root .hal-end-video video {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
          filter: saturate(1.08) contrast(1.04);
        }

        .subject-embed-root .hal-end-video.on {
          opacity: 1;
          transform: scale(1.02);
        }

        .subject-embed-root .hal-blink,
        .subject-embed-root .hal-ring {
          position: absolute;
          border-radius: 50%;
          opacity: 0;
          transition: opacity 150ms ease, transform 260ms ease;
          pointer-events: none;
        }

        .subject-embed-root .hal-blink {
          inset: -10%;
          background: radial-gradient(circle at 50% 50%, rgba(255, 70, 30, 0.6), rgba(0, 0, 0, 0.92));
        }

        .subject-embed-root .hal-ring {
          inset: -12%;
          border: 2px solid rgba(255, 88, 48, 0.58);
          transform: scale(0.98);
        }

        .subject-embed-root .hal-lens.is-pulse .hal-blink { opacity: 1; }
        .subject-embed-root .hal-lens.is-pulse .hal-ring {
          opacity: 1;
          transform: scale(1.02);
        }

        .subject-embed-root .hal-lens.is-pulse.is-fake .hal-blink {
          background: radial-gradient(circle at 50% 50%, rgba(95, 160, 255, 0.55), rgba(0, 0, 0, 0.95));
        }

        .subject-embed-root .hal-lens.is-pulse.is-fake .hal-ring {
          border-color: rgba(116, 175, 255, 0.72);
          border-style: dashed;
          box-shadow: 0 0 16px rgba(96, 156, 255, 0.35);
        }

        .subject-embed-root .hal-frame.is-solved {
          animation: hal-solved-frame 1200ms ease-out;
        }

        .subject-embed-root .hal-frame.is-solved .hal-iris {
          filter: brightness(1.36) saturate(1.55);
        }

        .subject-embed-root .hal-frame.is-solved .hal-core {
          filter: brightness(1.42);
        }

        .subject-embed-root .hal-frame.is-solved .hal-center {
          animation: hal-solved-center 1100ms ease-out;
        }

        .subject-embed-root .hal-frame.is-solved .hal-ring {
          opacity: 1;
          transform: scale(1.14);
          border-color: rgba(255, 118, 76, 0.92);
          box-shadow: 0 0 24px rgba(255, 76, 34, 0.55);
        }

        .subject-embed-root .hal-status {
          margin-top: 18px;
          text-align: center;
          letter-spacing: 0.2em;
          text-transform: uppercase;
          font-size: clamp(11px, 2.2vw, 14px);
          color: #e6ddd7;
          opacity: 0.9;
        }

        @keyframes hal-iris-pulse {
          0%, 100% { transform: scale(1); filter: brightness(1.05) saturate(1.3); }
          50% { transform: scale(1.03); filter: brightness(1.2) saturate(1.45); }
        }

        @keyframes hal-core-pulse {
          0%, 100% { transform: scale(1); filter: brightness(1.1); }
          50% { transform: scale(1.06); filter: brightness(1.35); }
        }

        @keyframes hal-center-pulse {
          0%, 100% { transform: scale(1); filter: brightness(1.2); }
          50% { transform: scale(1.12); filter: brightness(1.6); }
        }

        @keyframes hal-glow-pulse {
          0%, 100% { opacity: 0.55; transform: scale(1); }
          50% { opacity: 0.85; transform: scale(1.05); }
        }

        @keyframes hal-solved-frame {
          0% { transform: scale(1); filter: brightness(1) saturate(1); }
          30% { transform: scale(1.04); filter: brightness(1.15) saturate(1.2); }
          100% { transform: scale(1); filter: brightness(1) saturate(1); }
        }

        @keyframes hal-solved-center {
          0% { transform: scale(1); filter: brightness(1.2); }
          35% { transform: scale(1.22); filter: brightness(1.85); }
          100% { transform: scale(1); filter: brightness(1.2); }
        }

        @media (max-width: 640px) {
          .subject-embed-root .poster {
            min-height: calc(100dvh - 18px);
            border-radius: 14px 14px 0 0;
          }

          .subject-embed-root .meta {
            grid-template-columns: 1fr;
          }

          .subject-embed-root .headline {
            font-size: clamp(22px, 8.8vw, 34px);
          }

          .subject-embed-root .hal-section {
            border-radius: 0 0 14px 14px;
          }
        }

        @media (min-width: 700px) {
          .subject-embed-root .register-form {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            align-items: end;
          }

          .subject-embed-root .register-form label:last-of-type {
            grid-column: span 1;
          }

          .subject-embed-root .register-form button {
            grid-column: 1 / -1;
          }
        }
