      @import url("https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;500;700&family=Mali:wght@400;700&family=Noto+Sans:wght@400;500;700&family=Noto+Serif:wght@400;700&family=Noto+Sans+Mono:wght@400;700&display=swap");
      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }
      body {
        min-height: 100vh;
        background: #0a0a0f;
        font-family: "Noto Serif", Georgia, serif;
        overflow-x: hidden;
      }
      canvas {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 0;
        pointer-events: none;
      }

      /* LOGIN GATE */
      #login-gate {
        min-height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        z-index: 10;
        padding: 40px 20px;
      }
      .login-card {
        max-width: 480px;
      }
      .login-intro {
        font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
        font-size: 14px;
        color: rgba(240, 237, 232, 0.55);
        margin-bottom: 22px;
      }
      .login-label {
        display: block;
        text-align: left;
        font-family: "Noto Serif", Georgia, serif;
        font-size: 15px;
        color: rgba(240, 237, 232, 0.78);
        margin-bottom: 8px;
      }
      .login-hint {
        display: block;
        font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
        font-size: 11px;
        font-style: italic;
        color: rgba(240, 237, 232, 0.35);
        margin-top: 2px;
      }
      .login-input {
        width: 100%;
        padding: 14px 18px;
        border-radius: 100px;
        border: 1px solid rgba(255, 255, 255, 0.15);
        background: rgba(255, 255, 255, 0.04);
        color: #f0ede8;
        font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
        font-size: 14px;
        text-align: center;
        margin-bottom: 16px;
        outline: none;
        transition: border-color 0.25s, background 0.25s;
      }
      .login-input:focus {
        border-color: rgba(180, 220, 255, 0.5);
        background: rgba(255, 255, 255, 0.07);
      }
      .login-input::placeholder {
        color: rgba(240, 237, 232, 0.3);
      }
      .login-submit {
        border: none;
      }
      .login-error {
        font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
        font-size: 13px;
        color: rgba(255, 110, 110, 0.85);
        margin-top: 18px;
        min-height: 18px;
      }
      .login-error.shake {
        animation: loginShake 0.5s ease;
      }
      @keyframes loginShake {
        0%, 100% { transform: translateX(0); }
        20% { transform: translateX(-8px); }
        40% { transform: translateX(8px); }
        60% { transform: translateX(-6px); }
        80% { transform: translateX(6px); }
      }

      /* PAGE 1 */
      #page1 {
        min-height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        z-index: 10;
        padding: 40px 20px;
      }
      .card {
        max-width: 864px;
        width: 100%;
        background: rgba(15, 15, 22, 0.82);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 20px;
        padding: 56px 60px;
        backdrop-filter: blur(18px);
        text-align: center;
      }
      .eyebrow {
        font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
        font-size: 11px;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.28);
        margin-bottom: 28px;
      }
      h1 {
        font-size: 42px;
        font-weight: 400;
        color: #f0ede8;
        line-height: 1.2;
        margin-bottom: 32px;
        letter-spacing: -0.5px;
      }
      .divider {
        width: 36px;
        height: 1px;
        background: rgba(255, 255, 255, 0.18);
        margin: 0 auto 32px;
      }
      .message {
        font-size: 16px;
        line-height: 1.85;
        color: rgba(240, 237, 232, 0.72);
        margin-bottom: 20px;
        text-align: justify;
      }
      .message-secondary {
        font-size: 15px;
        line-height: 1.8;
        color: rgba(240, 237, 232, 0.48);
        margin-bottom: 40px;
        font-style: italic;
        text-align: justify;
      }
      .apology-quote {
        font-family: "Noto Serif", Georgia, serif;
        font-size: 17px;
        font-style: italic;
        line-height: 1.75;
        color: #f5e9da;
        background: rgba(255, 200, 150, 0.06);
        border-left: 3px solid rgba(255, 200, 150, 0.45);
        padding: 18px 22px;
        margin: 22px 0;
        text-align: left;
        border-radius: 0 10px 10px 0;
      }
      .quote-label {
        display: block;
        font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
        font-size: 10px;
        font-style: normal;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: rgba(255, 200, 150, 0.6);
        margin-bottom: 8px;
      }
      .btn-wrap {
        display: flex;
        flex-direction: column;
        gap: 12px;
        align-items: center;
      }
      button {
        font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
        cursor: pointer;
        transition: all 0.25s ease;
        border: none;
      }
      .btn-forgive {
        font-size: 13px;
        letter-spacing: 0.08em;
        padding: 13px 32px;
        border-radius: 100px;
        background: #f0ede8;
        color: #0a0a0f;
        font-weight: 500;
        width: 100%;
        max-width: 280px;
      }
      .btn-forgive:hover {
        background: #ffffff;
        transform: translateY(-1px);
      }
      .btn-chaos {
        font-size: 12px;
        letter-spacing: 0.05em;
        padding: 11px 24px;
        border-radius: 100px;
        background: transparent;
        color: rgba(240, 237, 232, 0.38);
        border: 1px solid rgba(255, 255, 255, 0.1);
        width: 100%;
        max-width: 280px;
      }
      .btn-chaos:hover {
        color: rgba(240, 237, 232, 0.65);
        border-color: rgba(255, 255, 255, 0.22);
      }

      /* PAGE 3 - FORGIVEN (elegant, dark, different context) */
      #page3 {
        display: none;
        min-height: 100vh;
        align-items: center;
        justify-content: center;
        position: relative;
        z-index: 10;
        padding: 40px 20px;
      }
      @keyframes p3FadeIn {
        from {
          opacity: 0;
          transform: translateY(20px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }
      @keyframes glowPulse {
        from {
          text-shadow: 0 0 6px rgba(180, 220, 255, 0.2);
        }
        to {
          text-shadow: 0 0 20px rgba(180, 220, 255, 0.5);
        }
      }
      @keyframes floatMoon {
        0%,
        100% {
          transform: translateY(0);
        }
        50% {
          transform: translateY(-7px);
        }
      }
      .p3-card {
        max-width: 520px;
        width: 100%;
        background: rgba(15, 15, 22, 0.85);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 20px;
        padding: 52px 48px;
        backdrop-filter: blur(18px);
        text-align: center;
        animation: p3FadeIn 0.9s ease forwards;
      }
      .p3-eyebrow {
        font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
        font-size: 11px;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.22);
        margin-bottom: 28px;
      }
      .p3-icon {
        font-size: 52px;
        display: block;
        margin-bottom: 20px;
        animation: floatMoon 3s ease-in-out infinite;
      }
      .p3-divider {
        width: 28px;
        height: 1px;
        background: rgba(180, 220, 255, 0.25);
        margin: 0 auto 28px;
      }
      .p3-title {
        font-family: "Noto Serif", Georgia, serif;
        font-size: 36px;
        font-weight: 400;
        color: #f0ede8;
        margin-bottom: 8px;
        letter-spacing: -0.5px;
        animation: glowPulse 2.5s ease infinite alternate;
      }
      .p3-subtitle {
        font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
        font-size: 12px;
        color: rgba(255, 255, 255, 0.2);
        margin-bottom: 32px;
        letter-spacing: 0.08em;
      }
      .p3-msg {
        font-family: "Noto Serif", Georgia, serif;
        font-size: 16px;
        line-height: 1.9;
        color: rgba(240, 237, 232, 0.68);
        margin-bottom: 20px;
        text-align: justify;
      }
      .p3-msg-soft {
        font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
        font-size: 13px;
        line-height: 1.8;
        color: rgba(240, 237, 232, 0.3);
        font-style: italic;
        margin-bottom: 36px;
        text-align: justify;
      }
      .p3-sign {
        font-family: "Noto Sans Mono", "Courier New", monospace;
        font-size: 14px;
        color: rgba(180, 220, 255, 0.45);
        letter-spacing: 3px;
      }

      /* PAGE 2 - CHAOS */
      #page2 {
        display: none;
        min-height: 100vh;
        position: relative;
        z-index: 10;
        overflow: hidden;
      }
      .floater {
        position: fixed;
        pointer-events: none;
        animation: floatUp linear infinite;
        z-index: 1;
        user-select: none;
      }
      @keyframes floatUp {
        0% {
          transform: translateY(110vh) rotate(0deg);
          opacity: 1;
        }
        100% {
          transform: translateY(-10vh) rotate(720deg);
          opacity: 0.2;
        }
      }
      .fly {
        position: fixed;
        font-family: "Baloo 2", "Bangers", cursive;
        font-size: 18px;
        color: rgba(255, 255, 255, 0.1);
        pointer-events: none;
        animation: flyAcross linear infinite;
        z-index: 1;
        white-space: nowrap;
      }
      @keyframes flyAcross {
        from {
          transform: translateX(-200px);
        }
        to {
          transform: translateX(110vw);
        }
      }
      .chaos-container {
        position: relative;
        z-index: 10;
        max-width: 640px;
        margin: 0 auto;
        padding: 40px 20px 80px;
        text-align: center;
      }
      @keyframes wobble {
        from {
          transform: rotate(-2deg) scale(1);
        }
        to {
          transform: rotate(2deg) scale(1.04);
        }
      }
      @keyframes flashBg {
        0%,
        100% {
          background: #0d0d0d;
        }
        25% {
          background: #1a0a2e;
        }
        50% {
          background: #0a1a0a;
        }
        75% {
          background: #2a0a0a;
        }
      }
      #page2.active {
        animation: flashBg 4s ease infinite;
      }
      .chaos-title {
        font-family: "Baloo 2", "Bangers", cursive;
        font-size: clamp(52px, 12vw, 90px);
        color: #fff;
        letter-spacing: 4px;
        display: inline-block;
        animation: wobble 0.4s ease infinite alternate;
        text-shadow:
          4px 4px 0 #ff0080,
          8px 8px 0 #00ffff;
        line-height: 1;
      }
      .chaos-subtitle {
        font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
        font-size: 13px;
        color: rgba(255, 255, 255, 0.35);
        letter-spacing: 0.15em;
        text-transform: uppercase;
        margin: 8px 0 32px;
      }
      .meme-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        margin-bottom: 20px;
      }
      .meme-card {
        background: rgba(255, 255, 255, 0.05);
        border: 2px solid rgba(255, 255, 255, 0.1);
        border-radius: 12px;
        padding: 16px 12px;
        transition: transform 0.15s;
      }
      .meme-card:hover {
        transform: scale(1.04) rotate(1deg);
      }
      .emoji-big {
        font-size: 48px;
        display: block;
        margin-bottom: 8px;
        animation: spin 3s linear infinite;
      }
      .meme-card:nth-child(2) .emoji-big {
        animation-direction: reverse;
        animation-duration: 2s;
      }
      .meme-card:nth-child(3) .emoji-big {
        animation: bounceMeme 0.6s ease infinite alternate;
      }
      .meme-card:nth-child(4) .emoji-big {
        animation: shakeMeme 0.3s ease infinite;
      }
      @keyframes spin {
        from {
          transform: rotate(0deg);
        }
        to {
          transform: rotate(360deg);
        }
      }
      @keyframes bounceMeme {
        from {
          transform: translateY(0);
        }
        to {
          transform: translateY(-12px);
        }
      }
      @keyframes shakeMeme {
        0%,
        100% {
          transform: translateX(0);
        }
        25% {
          transform: translateX(-4px);
        }
        75% {
          transform: translateX(4px);
        }
      }
      .meme-text {
        font-family: "Mali", "Comic Neue", cursive;
        font-size: 12px;
        color: rgba(255, 255, 255, 0.7);
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        line-height: 1.4;
      }
      .apology-box {
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 16px;
        padding: 28px 24px;
        margin: 20px 0;
        position: relative;
      }
      .apology-box::before {
        content: "📜 THE APOLOGY 📜";
        position: absolute;
        top: -12px;
        left: 50%;
        transform: translateX(-50%);
        background: #ff0080;
        color: white;
        font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.1em;
        padding: 4px 14px;
        border-radius: 100px;
        white-space: nowrap;
      }
      .apology-text {
        font-family: "Mali", "Comic Neue", cursive;
        font-size: 15px;
        line-height: 1.85;
        color: rgba(255, 255, 255, 0.8);
        margin-bottom: 16px;
        text-align: justify;
      }
      .apology-text.sweet {
        font-size: 14px;
        color: rgba(255, 255, 255, 0.5);
        font-style: italic;
      }
      .btn-rainbow {
        display: inline-block;
        margin-top: 24px;
        background: linear-gradient(90deg, #ff0080, #7928ca, #00ffff, #ff0080);
        background-size: 300% 100%;
        animation: gradientShift 2s ease infinite;
        color: white;
        font-family: "Baloo 2", "Bangers", cursive;
        font-size: 22px;
        letter-spacing: 2px;
        padding: 16px 40px;
        border-radius: 100px;
        border: none;
        cursor: pointer;
        transition: transform 0.15s;
        text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.4);
      }
      .btn-rainbow:hover {
        transform: scale(1.08) rotate(-1deg);
      }
      @keyframes gradientShift {
        0%,
        100% {
          background-position: 0% 50%;
        }
        50% {
          background-position: 100% 50%;
        }
      }
      .accepted-state {
        display: none;
        margin-top: 28px;
      }
      .big-heart {
        font-size: 72px;
        display: block;
        animation: heartbeat 0.8s ease infinite alternate;
      }
      @keyframes heartbeat {
        from {
          transform: scale(1);
        }
        to {
          transform: scale(1.2);
        }
      }
      .accepted-state .yay {
        font-family: "Baloo 2", "Bangers", cursive;
        font-size: 28px;
        color: #ff0080;
        letter-spacing: 2px;
        margin-top: 12px;
        text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.5);
      }
      .accepted-state .sweet-end {
        font-family: "Mali", "Comic Neue", cursive;
        font-size: 14px;
        color: rgba(255, 255, 255, 0.5);
        font-style: italic;
        margin-top: 8px;
        font-weight: 700;
      }
      .ticker {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: #ff0080;
        color: white;
        font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.08em;
        padding: 8px 0;
        overflow: hidden;
        z-index: 100;
        white-space: nowrap;
        display: none;
      }
      .ticker-inner {
        display: inline-block;
        animation: ticker 18s linear infinite;
      }
      @keyframes ticker {
        from {
          transform: translateX(100vw);
        }
        to {
          transform: translateX(-100%);
        }
      }

      /* PAGE 4 */
      #page4 {
        display: none;
        min-height: 100vh;
        background: #000;
        position: relative;
        overflow: hidden;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        z-index: 10;
        padding: 40px 20px;
        gap: 24px;
      }
      #page4.active {
        display: flex;
        animation: flashBg 4s ease infinite;
      }
      @keyframes spinIn {
        0% {
          transform: scale(0) rotate(0deg);
          opacity: 0;
        }
        70% {
          transform: scale(1.2) rotate(1080deg);
          opacity: 1;
        }
        85% {
          transform: scale(0.92) rotate(1060deg);
        }
        100% {
          transform: scale(1) rotate(1080deg);
          opacity: 1;
        }
      }
      @keyframes spinForever {
        from {
          transform: scale(1) rotate(0deg);
        }
        to {
          transform: scale(1) rotate(360deg);
        }
      }
      @keyframes arrowBounce {
        0%,
        100% {
          transform: translateY(0);
        }
        50% {
          transform: translateY(8px);
        }
      }
      @keyframes p4txt {
        0%,
        100% {
          color: #fff;
        }
        33% {
          color: #ff0080;
        }
        66% {
          color: #00ffff;
        }
      }
      @keyframes shatter {
        0% {
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          opacity: 1;
          filter: none;
        }
        20% {
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          filter: brightness(3) contrast(2);
        }
        40% {
          clip-path: polygon(5% 0, 95% 5%, 90% 95%, 10% 100%);
          filter: hue-rotate(90deg) brightness(2);
        }
        60% {
          clip-path: polygon(15% 10%, 80% 0, 100% 80%, 0 90%);
          filter: hue-rotate(180deg);
          transform: scale(1.05) rotate(2deg);
        }
        80% {
          clip-path: polygon(30% 20%, 70% 10%, 85% 70%, 20% 85%);
          opacity: 0.5;
          transform: scale(1.1) rotate(-3deg);
        }
        100% {
          clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
          opacity: 0;
          transform: scale(1.2);
        }
      }
      @keyframes glitchLines {
        0%,
        100% {
          box-shadow: none;
        }
        10% {
          box-shadow:
            inset 0 20px 0 rgba(255, 0, 128, 0.4),
            inset 0 60px 0 rgba(0, 255, 255, 0.3);
        }
        30% {
          box-shadow:
            inset 0 40px 0 rgba(255, 255, 0, 0.3),
            inset 0 80px 0 rgba(255, 0, 0, 0.4);
        }
        50% {
          box-shadow: inset 0 10px 0 rgba(0, 255, 128, 0.5);
        }
        70% {
          box-shadow: inset 0 90px 0 rgba(255, 128, 0, 0.4);
        }
      }
      @keyframes fadeToBlack {
        0% {
          opacity: 1;
        }
        100% {
          opacity: 0;
        }
      }
      @keyframes screenShake {
        0%,
        100% {
          transform: translate(0, 0);
        }
        10% {
          transform: translate(-8px, 4px);
        }
        20% {
          transform: translate(8px, -6px);
        }
        30% {
          transform: translate(-6px, 8px);
        }
        40% {
          transform: translate(10px, -4px);
        }
        50% {
          transform: translate(-10px, 6px);
        }
        60% {
          transform: translate(6px, 10px);
        }
        70% {
          transform: translate(-4px, -8px);
        }
        80% {
          transform: translate(8px, 4px);
        }
        90% {
          transform: translate(-6px, -6px);
        }
      }
      .p4-arrows {
        display: flex;
        justify-content: center;
        gap: 80px;
        margin-bottom: 8px;
        position: relative;
        z-index: 20;
      }
      .p4-arrow {
        display: flex;
        flex-direction: column;
        align-items: center;
        animation: arrowBounce 0.7s ease infinite;
      }
      .p4-arrow span {
        font-family: "Mali", "Comic Neue", cursive;
        font-size: 12px;
        color: #ffff00;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        margin-bottom: 4px;
        text-shadow: 0 0 8px #ffff00;
        white-space: nowrap;
      }
      .p4-arrow .arr {
        font-size: 28px;
        line-height: 1;
      }
      .p4-imgs {
        display: flex;
        gap: 48px;
        margin-bottom: 12px;
        position: relative;
        z-index: 20;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-start;
      }
      .p4-col {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 18px;
      }
      .p4-img {
        width: min(320px, 80vw);
        height: min(320px, 80vw);
        object-fit: cover;
        border-radius: 20px;
        opacity: 0;
        border: 3px solid rgba(255, 255, 255, 0.15);
      }
      .p4-img.spin-in {
        animation: spinIn 1.4s cubic-bezier(0.36, 0.07, 0.19, 0.97) forwards;
      }
      .p4-img.spin-loop {
        animation: spinForever 4s linear infinite;
        opacity: 1;
      }
      .p4-label {
        font-family: "Baloo 2", "Bangers", cursive;
        font-size: clamp(30px, 7vw, 56px);
        letter-spacing: 3px;
        text-align: center;
        animation: p4txt 1.5s ease infinite;
        margin-bottom: 8px;
        position: relative;
        z-index: 20;
        text-shadow:
          3px 3px 0 #ff0080,
          -3px -3px 0 #00ffff;
      }
      .p4-sub {
        font-family: "Mali", "Comic Neue", cursive;
        font-size: 14px;
        color: rgba(255, 255, 255, 0.45);
        margin-bottom: 32px;
        text-align: center;
        position: relative;
        z-index: 20;
      }
      .btn-getout {
        font-family: "Baloo 2", "Bangers", cursive;
        font-size: 20px;
        letter-spacing: 2px;
        padding: 14px 28px;
        border-radius: 100px;
        background: #ff0000;
        color: white;
        border: 3px solid #ff6666;
        cursor: pointer;
        position: relative;
        z-index: 20;
        text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
        transition: transform 0.1s;
        flex-shrink: 0;
        text-align: center;
      }
      .btn-getout:hover {
        transform: scale(1.1) rotate(-1deg);
      }
      .btn-forgive-p4 {
        flex-shrink: 0;
        font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
        font-size: 13px;
        letter-spacing: 0.08em;
        padding: 13px 28px;
        border-radius: 100px;
        background: rgba(240, 237, 232, 0.12);
        color: rgba(240, 237, 232, 0.5);
        border: 1px solid rgba(255, 255, 255, 0.15);
        cursor: pointer;
        position: relative;
        z-index: 20;
        text-align: center;
        transition: all 0.25s;
      }
      .btn-forgive-p4:hover {
        background: rgba(240, 237, 232, 0.22);
        color: rgba(240, 237, 232, 0.8);
      }
      #shatter-overlay {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 998;
        pointer-events: none;
        background: white;
      }
      #shatter-overlay.active {
        display: block;
        animation:
          shatter 1.8s ease forwards,
          glitchLines 0.2s ease infinite;
      }
      #shard-canvas {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 997;
        pointer-events: none;
      }

      /* FINAL MESSAGE — same card as page3, withered rose palette */
      #final-msg .p3-card {
        max-width: 880px;
      }
      #final-msg {
        display: none;
        min-height: 100vh;
        align-items: center;
        justify-content: center;
        position: fixed;
        inset: 0;
        z-index: 1000;
        padding: 40px 20px;
        overflow-y: auto;
      }
      #final-msg.active {
        display: flex;
        animation: p3FadeIn 1s ease forwards;
      }
      @keyframes wiltPulse {
        from { opacity: 0.55; text-shadow: 0 0 4px rgba(180,110,110,0.1); }
        to   { opacity: 0.80; text-shadow: 0 0 14px rgba(180,110,110,0.4); }
      }
      .final-rose-ascii {
        font-family: "Noto Sans Mono", "Courier New", monospace;
        font-size: 9.5px;
        line-height: 1.35;
        color: #c49090;
        white-space: pre;
        display: inline-block;
        text-align: left;
        margin-bottom: 24px;
        animation: wiltPulse 4s ease infinite alternate;
      }
      .final-divider {
        width: 28px;
        height: 1px;
        background: rgba(180, 120, 120, 0.28);
        margin: 0 0 28px 0;
      }
      .final-inner {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 32px;
        max-width: 820px;
        width: 100%;
      }
      .final-text-col {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        flex: 1;
      }
      .final-text-col .p3-title,
      .final-text-col .p3-subtitle,
      .final-text-col .p3-msg,
      .final-text-col .p3-msg-soft,
      .final-text-col .p3-sign {
        text-align: left;
      }

      @media (max-width: 480px) {
        .card {
          padding: 40px 28px;
        }
        h1 {
          font-size: 32px;
        }
        .p4-arrows {
          gap: 80px;
        }
      }

    
      .back-btn {
        position: fixed;
        top: 20px;
        left: 20px;
        z-index: 9999;
        background: rgba(255,255,255,0.07);
        border: 1px solid rgba(255,255,255,0.15);
        border-radius: 50%;
        width: 40px;
        height: 40px;
        font-size: 18px;
        cursor: pointer;
        backdrop-filter: blur(8px);
        transition: background 0.2s, transform 0.2s;
        display: none;
        align-items: center;
        justify-content: center;
        color: rgba(255,255,255,0.6);
        line-height: 1;
      }
      .back-btn:hover {
        background: rgba(255,255,255,0.15);
        transform: scale(1.1);
        color: rgba(255,255,255,0.9);
      }

    
      #mute-btn {
        position: fixed;
        bottom: 20px;
        right: 20px;
        z-index: 9999;
        background: rgba(255,255,255,0.07);
        border: 1px solid rgba(255,255,255,0.15);
        border-radius: 50%;
        width: 42px;
        height: 42px;
        font-size: 18px;
        cursor: pointer;
        backdrop-filter: blur(8px);
        transition: background 0.2s;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      #mute-btn:hover { background: rgba(255,255,255,0.18); }

