:root {
  --stagger-dur: 500ms;
  --stagger-distance: 12px;
  --stagger-stagger: 40ms;
  --stagger-blur: 3px;
  --stagger-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Lines start translated down + blurred + invisible; .is-shown
   on the parent flips them to their resting state. The second
   line's transition-delay holds it back by --stagger-stagger
   so the eye lands on the headline first. */
.t-stagger-line {
  display: block;
  opacity: 0;
  transform: translateY(var(--stagger-distance));
  filter: blur(var(--stagger-blur));
  transition:
    opacity   var(--stagger-dur) var(--stagger-ease),
    transform var(--stagger-dur) var(--stagger-ease),
    filter    var(--stagger-dur) var(--stagger-ease);
  will-change: transform, opacity, filter;
}
.t-stagger-line--2 { transition-delay: var(--stagger-stagger); }

.t-stagger.is-shown .t-stagger-line {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
/* Exit decouples from the stagger: same fade for every line,
   no Y return, no blur — so the disappearance reads as a
   single quiet fade instead of a reverse reveal. */
.t-stagger.is-hiding .t-stagger-line {
  opacity: 0;
  transform: translateY(0);
  filter: blur(0);
  transition:
    opacity 200ms ease,
    transform 0s linear,
    filter 0s linear;
  transition-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
  .t-stagger-line { transition: none !important; }
}

.kun-feature-ribbon { padding: 80px 0 90px; }
.kun-feature-ribbon > h2 { max-width: 900px; margin: 0 auto 52px; padding-inline: 24px; color: #f6f5ef; font-size: clamp(36px,4.1vw,64px); font-weight: 400; line-height: 1.08; letter-spacing: -.03em; text-align: center; text-wrap: balance; }
.kun-feature-track { display: flex; gap: 20px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 24px; padding: 8px 24px 32px; scrollbar-width: thin; scrollbar-color: #60664c #171a12; cursor: grab; touch-action: pan-x pan-y; }
.kun-feature-track.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.kun-feature-track:focus-visible { outline: 1px solid var(--lime); outline-offset: -4px; }
.kun-feature-tile { flex: 0 0 clamp(280px,26vw,450px); min-width: 0; scroll-snap-align: start; }
.kun-feature-tile > h3 { margin: 25px 12px 12px; color: #f6f5ef; text-align: center; font-size: clamp(23px,2vw,29px); font-weight: 500; line-height: 1.16; letter-spacing: -.025em; }
.kun-feature-tile > p { margin: 0 auto; width: 88%; color: #a5aa9e; text-align: center; font-size: 16px; line-height: 1.5; text-wrap: pretty; }
.kun-feature-art { position: relative; width: 100%; aspect-ratio: 1; border-radius: 24px; overflow: hidden; isolation: isolate; container-type: inline-size; background: #1c2418; }
.kun-feature-art img { display: block; width: 100%; height: 100%; object-fit: cover; user-select: none; -webkit-user-drag: none; }
.kun-art-generation { background: #d4ff62; }
.kun-mini-chat { position: absolute; inset: 10% 12% -4%; display: flex; flex-direction: column; gap: 5cqw; }
.kun-mini-chat > p { margin: 0 0 0 auto; background: #f9ffe9; color: #243015; border-radius: 5cqw 5cqw 1cqw 5cqw; padding: 3.7cqw 4.5cqw; font-size: 4.4cqw; line-height: 1.3; }
.kun-generated-photo { position: relative; width: 83%; min-height: 0; flex: 1; overflow: hidden; border-radius: 6cqw 6cqw 6cqw 1cqw; box-shadow: 0 20px 45px #45592030; }
.kun-generated-photo img { object-position: center 30%; }
.kun-photo-shine { position: absolute; inset: 0; background: linear-gradient(115deg,transparent 25%,#ffffff90 50%,transparent 75%); transform: translateX(-130%); }
.kun-feature-art.is-in-view .kun-photo-shine { animation: kun-photo-reveal 6s ease-in-out infinite; }
@keyframes kun-photo-reveal { 0%,55% { transform: translateX(-130%); } 78%,100% { transform: translateX(130%); } }
.kun-tile-backdrop { position: absolute; inset: 0; }
.kun-art-roleplay .kun-tile-backdrop { object-position: center 24%; }
.kun-art-roleplay::after, .kun-art-novels::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 15%,#080c06d9); }
.kun-tile-dialogue { position: absolute; z-index: 1; inset: auto 8% 8%; font-size: 4.6cqw; line-height: 1.4; }
.kun-tile-dialogue em { display: block; color: #e6e9df; font-style: normal; font-size: 3.8cqw; margin-bottom: 3cqw; }
.kun-tile-dialogue p { width: fit-content; padding: 3.4cqw 5cqw; margin: 0 0 3cqw; background: #f7f8f0; color: #192015; border-radius: 4cqw 4cqw 4cqw 1cqw; }
.kun-tile-dialogue > span { display: block; width: fit-content; margin-left: auto; background: #d4ff62; color: #1a240b; border-radius: 4cqw 4cqw 1cqw 4cqw; padding: 3.4cqw 5cqw; }
.kun-feature-art.is-in-view .kun-tile-dialogue > span { animation: kun-reply-rise 7s var(--kun-ease) infinite; }
@keyframes kun-reply-rise { 0%,15% { opacity: 0; transform: translateY(12px); } 30%,90% { opacity: 1; transform: none; } 100% { opacity: 0; transform: none; } }
.kun-art-novels .kun-tile-backdrop { object-position: 71% center; }
.kun-novel-tile-copy { position: absolute; z-index: 1; inset: auto 8% 8%; }
.kun-novel-tile-copy small { color: #d4ff62; font-size: 3cqw; letter-spacing: .12em; }
.kun-novel-tile-copy strong { display: block; font-size: 9cqw; font-weight: 400; line-height: 1.05; margin: 2cqw 0 6cqw; color: white; }
.kun-mini-choice { padding: 3.5cqw; border: 1px solid #ffffff70; border-radius: 3cqw; color: white; background: #ffffff15; font-size: 4cqw; text-align: center; backdrop-filter: blur(8px); }
.kun-feature-art.is-in-view .kun-mini-choice { animation: kun-choice-glow 5s ease-in-out infinite; }
@keyframes kun-choice-glow { 0%,100% { border-color: #ffffff70; } 50% { border-color: #d4ff62; background: #cfff4220; } }
.kun-art-memory { background: #eef0e7; color: #18220e; }
.kun-memory-notes { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: 11%; gap: 6%; }
.kun-note { background: #fff; padding: 7cqw; border-radius: 5cqw; box-shadow: 0 12px 28px #38462915; transform: rotate(-5deg); }
.kun-note:nth-child(2) { transform: rotate(5deg); background: #d4ff62; margin-left: 10%; }
.kun-note small { display: block; font-size: 3.6cqw; color: #58624a; margin-bottom: 2.5cqw; }
.kun-note strong { display: block; font-size: 5.4cqw; line-height: 1.2; font-weight: 500; }
.kun-feature-art.is-in-view .kun-note:nth-child(2) { animation: kun-note-float 6s ease-in-out infinite; }
@keyframes kun-note-float { 0%,100% { transform: rotate(5deg) translateY(0); } 50% { transform: rotate(3deg) translateY(-7px); } }
.kun-art-relationships { background: #333e2d; }
.kun-photo-pair { position: absolute; inset: 10% 8% 18%; }
.kun-photo-pair img { position: absolute; width: 60%; height: 95%; padding: 2cqw 2cqw 7cqw; background: #f8f7ed; border-radius: 2cqw; transform: rotate(-12deg); box-shadow: 0 12px 25px #0005; }
.kun-photo-pair img:nth-child(2) { right: 0; top: 8%; transform: rotate(11deg); object-position: center 18%; }
.kun-relationship-message { position: absolute; bottom: 10%; left: 10%; right: 10%; width: fit-content; margin-inline: auto; border-radius: 5cqw; padding: 4cqw 6cqw; background: #f7f9ef; color: #212b17; font-size: 4.4cqw; box-shadow: 0 10px 25px #0002; }
.kun-feature-art.is-in-view .kun-relationship-message { animation: kun-note-float 6s ease-in-out infinite; }
.kun-art-creators { background: #d4ff62; }
.kun-creator-cards { position: absolute; inset: 13% 8% 24%; }
.kun-creator-cards img { position: absolute; width: 58%; height: 100%; border-radius: 4cqw; box-shadow: 0 10px 30px #14240940; object-position: top; }
.kun-creator-cards img:nth-child(1) { transform: rotate(-15deg) translate(-4%,4%); }
.kun-creator-cards img:nth-child(3) { right: 0; transform: rotate(15deg) translate(4%,4%); }
.kun-creator-cards img:nth-child(2) { z-index: 2; left: 21%; }
.kun-feature-art.is-in-view .kun-creator-cards img:nth-child(2) { animation: kun-creator-float 6s ease-in-out infinite; }
@keyframes kun-creator-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
.kun-creator-signature { position: absolute; inset: auto 8% 8%; text-align: center; font-size: 4.8cqw; font-weight: 500; color: #203010; }
.kun-feature-track:hover .kun-feature-art *, .kun-feature-track:focus-within .kun-feature-art * { animation-play-state: paused; }
.kun-feature-art * { animation-play-state: var(--ribbon-motion,running); }

body[data-home="true"] .kun-footer { display: block; position: relative; margin: 80px 0 0; padding: 64px 36px 26px; border: 0; background: #f6f6f0; color: #11140e; overflow: hidden; border-radius: 28px 28px 0 0; }
.kun-footer-top { display: flex; justify-content: space-between; gap: 80px; }
.kun-footer-invite { width: min(460px,45%); }
.kun-footer h2 { margin: 0 0 32px; color: #11140e; font-size: clamp(37px,4vw,64px); font-weight: 500; line-height: 1.04; letter-spacing: -.035em; text-wrap: balance; }
body[data-home="true"] .kun-footer .store-buttons { justify-content: flex-start; gap: 10px; }
body[data-home="true"] .kun-footer .store-button { min-width: 0; padding: 14px 20px; min-height: 50px; border-radius: 12px; box-shadow: none; background: #fff; border: 1px solid #d6d8cf; color: #142005; }
body[data-home="true"] .kun-footer .store-copy strong { color: #142005; }
body[data-home="true"] .kun-footer .store-button:hover { background: var(--lime); border-color: var(--lime); transform: translateY(-2px); }
body[data-home="true"] .hero .store-button { background: transparent; color: #f6f5ef; border: 1px solid #ffffff70; box-shadow: none; }
body[data-home="true"] .hero .store-button .store-copy strong { color: #f6f5ef; }
body[data-home="true"] .hero .store-button:hover { background: var(--lime); border-color: var(--lime); color: #142005; }
body[data-home="true"] .hero .store-button:hover .store-copy strong { color: #142005; }
.kun-footer-nav { display: grid; grid-template-columns: repeat(3,minmax(110px,1fr)); gap: clamp(30px,5vw,100px); }
.kun-footer-nav h3 { font-size: 16px; line-height: 1.3; margin: 0 0 25px; color: #11140e; font-weight: 600; }
.kun-footer-nav a { display: block; width: fit-content; margin: 0 0 14px; color: #666b5e; text-decoration: none; font-size: 16px; line-height: 1.35; transition: color 200ms ease; }
.kun-footer-nav a:hover { color: #11140e; text-decoration: underline; text-underline-offset: 5px; }
.kun-footer-wordmark { display: block; margin: clamp(110px,15vw,240px) 0 36px; color: #11140e; overflow: hidden; }
.kun-footer-logo { display: block; width: 100%; height: auto; overflow: visible; }
.kun-footer-logo path { transform-box: fill-box; transform-origin: center bottom; transform: translateY(calc(var(--footer-letter-shift,0) * (1 + var(--letter-index) * .13) * 1%)); }
body[data-home="true"] .kun-footer .footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 0; padding: 0; border: 0; color: #74796c; font-size: 12px; }
.kun-footer .footer-bottom a { color: #555d49; text-decoration: none; }
.kun-footer a:focus-visible { outline: 2px solid #283718; outline-offset: 5px; }
@media(max-width:1100px) {
 .kun-footer-top { gap: 40px; }
 .kun-footer-nav { gap: 28px; grid-template-columns: repeat(3,minmax(90px,1fr)); }
 body[data-home="true"] .kun-footer .store-button { padding: 13px 16px; }
}
@media(max-width:760px) {
 .kun-feature-ribbon { padding: 48px 0 60px; }
 .kun-feature-ribbon > h2 { margin-bottom: 30px; }
 .kun-feature-track { padding-inline: 20px; scroll-padding-inline: 20px; gap: 14px; }
 .kun-feature-tile { flex-basis: min(80vw,360px); }
 .kun-feature-art { border-radius: 20px; }
 .kun-feature-tile > h3 { font-size: 24px; margin-top: 22px; }
 .kun-feature-tile > p { font-size: 15px; }
 body[data-home="true"] .kun-footer { margin-top: 44px; padding: 40px 22px 26px; border-radius: 22px 22px 0 0; }
 .kun-footer-top { display: block; }
 .kun-footer-invite { width: 100%; max-width: 450px; }
 .kun-footer h2 { max-width: 360px; font-size: 42px; }
 .kun-footer-nav { grid-template-columns: 1fr 1fr; gap: 28px 18px; margin-top: 54px; }
 .kun-footer-nav h3 { margin-bottom: 20px; font-size: 15px; }
 .kun-footer-nav a { font-size: 15px; }
 .kun-footer-wordmark { margin: 70px 0 30px; }
 body[data-home="true"] .kun-footer .footer-bottom { font-size: 11px; }
}
@media(prefers-reduced-motion:reduce) {
 .kun-feature-art *, .kun-footer * { animation: none !important; transition: none !important; }
 .kun-footer-logo path { transform: none; }
}

:root {
  --toast-open: 350ms;
  --toast-close: 250ms;
  --toast-distance: 16px;
  --toast-blur: 2px;
  --toast-scale: 0.97;
  --toast-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.t-toast {
  opacity: 0;
  transform: translateY(var(--toast-distance)) scale(var(--toast-scale));
  filter: blur(var(--toast-blur));
  will-change: transform, opacity, filter;
  transition:
    opacity var(--toast-close) var(--toast-ease),
    transform var(--toast-close) var(--toast-ease),
    filter var(--toast-close) var(--toast-ease);
}
.t-toast.is-open {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
  transition:
    opacity var(--toast-open) var(--toast-ease),
    transform var(--toast-open) var(--toast-ease),
    filter var(--toast-open) var(--toast-ease);
}

@media (prefers-reduced-motion: reduce) {
  .t-toast { transition: none !important; }
}
.kun-hero-notes { position: absolute; z-index: 4; right: 10%; bottom: 46px; width: min(390px,36vw); height: 86px; pointer-events: none; }
.kun-hero-note { position: absolute; inset: 0; display: flex; align-items: center; gap: 13px; padding: 14px 18px; border: 1px solid #ffffff38; border-radius: 20px; background: #f5f7efee; color: #192015; box-shadow: 0 12px 45px #0003; backdrop-filter: blur(16px); }
.kun-hero-note img { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: center 20%; }
.kun-hero-note strong { display: block; font-size: 14px; font-weight: 600; line-height: 1.3; margin-bottom: 4px; }
.kun-hero-note p { margin: 0; font-size: 14px; line-height: 1.4; color: #3d4735; }
@media(max-width:1100px) {
 .kun-hero-notes { right: 6%; bottom: auto; top: min(31svh,250px); width: min(390px,50vw); }
}
@media(max-width:760px) {
 .kun-hero-notes { right: 18px; top: min(25svh,200px); width: min(310px,82vw); height: 76px; }
 .kun-hero-note { padding: 11px 13px; gap: 10px; border-radius: 17px; }
 .kun-hero-note img { flex-basis: 38px; width: 38px; height: 38px; }
 .kun-hero-note strong { font-size: 13px; margin-bottom: 2px; }
 .kun-hero-note p { font-size: 12px; }
}

/* A continuous ribbon; hover stops travel so each scene can be watched. */
.kun-feature-ribbon { position: relative; }
.kun-feature-track.is-looping { scroll-snap-type: none; scrollbar-width: none; }
.kun-feature-track.is-looping::-webkit-scrollbar { display: none; }
.kun-ribbon-pause { position: absolute; top: 100px; right: 28px; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #ffffff35; border-radius: 50%; background: #080b06; color: #eff0e8; cursor: pointer; }
.kun-ribbon-pause span { width: 9px; height: 11px; border-inline: 2px solid currentColor; }
.kun-ribbon-pause[aria-pressed="true"] span { width: 0; height: 0; margin-left: 2px; border: 6px solid transparent; border-left: 9px solid currentColor; border-right: 0; }
.kun-ribbon-pause:hover { color: var(--lime); border-color: var(--lime); }
.kun-ribbon-pause:focus-visible { outline: 2px solid var(--lime); outline-offset: 4px; }
.kun-feature-art { --scene-time: 8s; }
.kun-feature-art.is-in-view * { animation-duration: var(--scene-time); animation-iteration-count: infinite; animation-timing-function: cubic-bezier(.22,1,.36,1); animation-delay: var(--scene-delay,0s); }
.kun-feature-art.is-in-view .kun-mini-chat > p { animation-name: kun-prompt-scene; }
.kun-feature-art.is-in-view .kun-generated-photo > img { animation-name: kun-image-scene; }
.kun-feature-art.is-in-view .kun-photo-shine { animation-name: kun-scan-scene; }
.kun-generating-dots { position: absolute; z-index: 2; inset: 0; display: flex; align-items: center; justify-content: center; gap: 6px; opacity: 0; }
.kun-generating-dots i { width: 8px; height: 8px; background: #476124; border-radius: 50%; }
.kun-feature-art.is-in-view .kun-generating-dots { animation-name: kun-loading-scene; }
.kun-feature-art.is-in-view .kun-tile-dialogue em { animation-name: kun-prompt-scene; }
.kun-feature-art.is-in-view .kun-tile-dialogue p { animation-name: kun-message-scene; }
.kun-feature-art.is-in-view .kun-tile-dialogue > span { animation-name: kun-answer-scene; }
.kun-feature-art.is-in-view .kun-tile-backdrop { animation-name: kun-camera-scene; transform-origin: 70% 40%; }
.kun-feature-art.is-in-view .kun-mini-choice { animation-name: kun-choice-scene; }
.kun-feature-art.is-in-view .kun-note:first-child { animation-name: kun-memory-first; }
.kun-feature-art.is-in-view .kun-note:nth-child(2) { animation-name: kun-memory-second; }
.kun-feature-art.is-in-view .kun-photo-pair img:first-child { animation-name: kun-print-first; }
.kun-feature-art.is-in-view .kun-photo-pair img:nth-child(2) { animation-name: kun-print-second; }
.kun-feature-art.is-in-view .kun-relationship-message { animation-name: kun-answer-scene; }
.kun-feature-art.is-in-view .kun-creator-cards img:first-child { animation-name: kun-fan-left; }
.kun-feature-art.is-in-view .kun-creator-cards img:nth-child(2) { animation-name: kun-fan-middle; }
.kun-feature-art.is-in-view .kun-creator-cards img:nth-child(3) { animation-name: kun-fan-right; }
.kun-feature-track:hover .kun-feature-art *, .kun-feature-track:focus-within .kun-feature-art *, .kun-feature-art * { animation-play-state: var(--scene-motion,running); }
.kun-feature-track.is-paused .kun-feature-art * { animation-play-state: paused; }
@keyframes kun-prompt-scene { 0%,5% { opacity:0; transform:translateY(12px) scale(.96); } 14%,86% { opacity:1; transform:none; } 97%,100% { opacity:0; transform:translateY(-5px); } }
@keyframes kun-image-scene { 0%,16% { opacity:0; transform:scale(1.08); filter:blur(8px); } 34%,87% { opacity:1; transform:scale(1); filter:blur(0); } 98%,100% { opacity:0; transform:scale(1.02); filter:blur(2px); } }
@keyframes kun-loading-scene { 0%,12%,35%,100% { opacity:0; transform:scale(.9); } 18%,27% { opacity:1; transform:scale(1); } }
@keyframes kun-scan-scene { 0%,26% { transform:translateX(-130%); opacity:1; } 48%,100% { transform:translateX(130%); opacity:0; } }
@keyframes kun-message-scene { 0%,18% { opacity:0; transform:translateY(15px) scale(.94); } 30%,87% { opacity:1; transform:none; } 98%,100% { opacity:0; transform:translateY(-5px); } }
@keyframes kun-answer-scene { 0%,38% { opacity:0; transform:translateY(18px) scale(.93); } 50%,87% { opacity:1; transform:none; } 98%,100% { opacity:0; transform:translateY(-5px); } }
@keyframes kun-camera-scene { 0%,100% { transform:scale(1); } 65% { transform:scale(1.08) translateX(-1%); } }
@keyframes kun-choice-scene { 0%,25%,100% { background:#ffffff15; color:white; border-color:#ffffff70; transform:none; } 38% { background:#d4ff62; border-color:#d4ff62; color:#18220e; transform:scale(.965); } 45%,78% { background:#d4ff62; border-color:#d4ff62; color:#18220e; transform:scale(1); } }
@keyframes kun-memory-first { 0%,5% { opacity:0; transform:translateY(32px) rotate(3deg) scale(.94); } 20%,85% { opacity:1; transform:rotate(-5deg); } 100% { opacity:0; transform:translateY(-12px) rotate(-5deg); } }
@keyframes kun-memory-second { 0%,24% { opacity:0; transform:translateY(38px) rotate(-8deg) scale(.9); } 42%,85% { opacity:1; transform:rotate(5deg); } 100% { opacity:0; transform:translateY(-12px) rotate(5deg); } }
@keyframes kun-print-first { 0%,5% { opacity:0; transform:translateY(32px) rotate(-20deg); } 22%,85% { opacity:1; transform:rotate(-12deg); } 100% { opacity:0; transform:rotate(-12deg); } }
@keyframes kun-print-second { 0%,20% { opacity:0; transform:translateY(32px) rotate(20deg); } 38%,85% { opacity:1; transform:rotate(11deg); } 100% { opacity:0; transform:rotate(11deg); } }
@keyframes kun-fan-left { 0%,100% { transform:translateX(27%) rotate(-3deg) scale(.93); } 25%,78% { transform:rotate(-15deg) translate(-4%,4%); } }
@keyframes kun-fan-middle { 0%,100% { transform:translateY(9px) scale(.95); } 30%,78% { transform:translateY(-4px) scale(1); } }
@keyframes kun-fan-right { 0%,100% { transform:translateX(-27%) rotate(3deg) scale(.93); } 25%,78% { transform:rotate(15deg) translate(4%,4%); } }

/* The conversation lives inside the scene. */
body[data-home="true"] .romance-continuation { background: #050704; padding: 95px 6%; gap: clamp(50px,7vw,120px); align-items: center; }
.romance-continuation > .romance-heading { max-width: 540px; }
.romance-continuation .romance-heading h2 { font-size: clamp(42px,5.2vw,76px); line-height: 1.04; letter-spacing: -.045em; }
.romance-continuation .romance-heading > p { max-width: 430px; font-size: 18px; line-height: 1.65; }
.romance-continuation .romance-heading .romance-text-link { margin-top: 30px; }
body[data-home="true"] .romance-chat { position: relative; isolation: isolate; overflow: hidden; width: 100%; max-width: 560px; min-height: 640px; border: 1px solid #ffffff22; border-radius: 30px; padding-top: 0; background: #101411; box-shadow: 0 30px 100px #0007; }
.kun-chat-scene { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 72% center; }
.romance-chat::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,#03060425 5%,#060a0850 32%,#060a08ec 85%); }
body[data-home="true"] .romance-chat-header { padding: 22px 25px; border: 0; background: linear-gradient(#0507059c,transparent); gap: 12px; }
.romance-chat-header img { width: 42px; height: 42px; object-fit: cover; object-position: top; border: 1px solid #fff6; }
.romance-chat-header span { color: #e2e4dc; font-size: 12px; }
body[data-home="true"] .romance-chat-body { padding: 185px 24px 8px; }
body[data-home="true"] .romance-chat-line { max-width: 88%; padding: 14px 18px; font-size: 15px; line-height: 1.45; color: #f5f6ef; background: #28332ecf; border: 1px solid #ffffff17; border-radius: 18px 18px 18px 4px; backdrop-filter: blur(16px); }
body[data-home="true"] .romance-chat-line--you { background: #d4ff62; color: #142006; border-color: transparent; border-radius: 18px 18px 4px 18px; }
.romance-chat.is-in-view .romance-chat-body > p { animation: kun-chat-arrive .75s both cubic-bezier(.22,1,.36,1); }
.romance-chat.is-in-view .romance-chat-body > p:nth-child(2) { animation-delay: .55s; }
.romance-chat.is-in-view .romance-chat-body > p:nth-child(3) { animation-delay: 1.25s; }
body[data-home="true"] .romance-memory { margin: 16px 24px 0; border-top-color: #ffffff24; }
body[data-home="true"] .romance-memory summary { font-size: 14px; color: #e1e5da; }
body[data-home="true"] .romance-chat-note { margin: 20px 24px 22px; color: #a2aaa0; font-size: 11px; }
@keyframes kun-chat-arrive { from { opacity:0; transform:translateY(20px) scale(.97); } to { opacity:1; transform:none; } }

/* Voice: an image composition with a visible sound texture. */
body[data-home="true"] .kun-voice { gap: clamp(44px,6vw,100px); padding-block: 100px; align-items: center; }
.kun-voice .romance-heading { max-width: 520px; }
.kun-voice .romance-heading h2 { font-size: clamp(42px,5vw,72px); line-height: 1.07; letter-spacing: -.04em; }
.kun-voice .romance-heading > p { font-size: 18px; line-height: 1.65; }
body[data-home="true"] .kun-voice-art { position: relative; overflow: visible; width: 100%; max-width: 550px; aspect-ratio: 1/1.15; padding: 0 32px 36px 0; background: none; }
.kun-voice-art::before { content:''; position:absolute; z-index:-1; inset:30px 0 0 28px; border-radius:28px; background:#1c2719; transform:rotate(4deg); }
body[data-home="true"] .kun-voice-art > img { width:100%; height:100%; object-fit:cover; object-position:center 72%; border-radius:26px; }
.kun-voice-wave { position:absolute; bottom:0; right:0; width:78%; padding:20px 24px; border-radius:22px; background:#ecefe4; color:#14210f; border:1px solid #fff9; box-shadow:0 20px 65px #0006; transform:rotate(-3deg); }
.kun-voice-wave-label { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:18px; }
.kun-voice-wave-label strong { font-size:18px; font-weight:600; }
.kun-voice-wave-label span { font-size:12px; color:#59634e; }
.kun-wave-bars { height:48px; display:flex; align-items:center; gap:4px; }
.kun-wave-bars i { display:block; flex:1; height:var(--bar); min-height:4px; border-radius:4px; background:#536c35; transform-origin:center; }
.kun-voice-art.is-in-view .kun-wave-bars i { animation:kun-voice-beat 1.6s var(--beat) ease-in-out infinite; }
@keyframes kun-voice-beat { 0%,100% { transform:scaleY(.4); opacity:.5; } 45% { transform:scaleY(1); opacity:1; } }
@media(max-width:760px) {
 .kun-feature-ribbon > h2 { padding-inline:48px; }
 .kun-ribbon-pause { top:52px; right:12px; width:30px; height:30px; }
 body[data-home="true"] .romance-continuation { padding:64px 20px; gap:36px; }
 .romance-continuation .romance-heading h2, .kun-voice .romance-heading h2 { font-size:42px; }
 .romance-continuation .romance-heading > p, .kun-voice .romance-heading > p { font-size:16px; }
 body[data-home="true"] .romance-chat { min-height:590px; border-radius:24px; }
 body[data-home="true"] .romance-chat-body { padding:150px 18px 8px; }
 body[data-home="true"] .romance-chat-line { font-size:14px; }
 body[data-home="true"] .kun-voice { padding-block:64px; gap:46px; }
 body[data-home="true"] .kun-voice-art { max-width:430px; padding:0 20px 30px 0; }
 .kun-voice-wave { width:84%; padding:17px 20px; }
 .kun-wave-bars { gap:3px; height:38px; }
}
@media(prefers-reduced-motion:reduce) {
 .kun-feature-art *, .romance-chat *, .kun-voice-art * { animation:none !important; }
 .kun-generating-dots { display:none; }
}
body[data-home="true"] .store-button--web { cursor:default; opacity:1; gap:12px; }
body[data-home="true"] .store-button--web .store-copy { display:flex; flex-direction:column; gap:1px; align-items:flex-start; }
body[data-home="true"] .store-button--web .store-copy .kun-coming-soon { display:block; color:inherit; font-size:10px; line-height:1.2; font-weight:400; letter-spacing:0; opacity:.66; }
body[data-home="true"] .hero .store-button--web:hover { background:transparent; color:#f6f5ef; border-color:#ffffff70; transform:none; }
body[data-home="true"] .hero .store-button--web:hover .store-copy strong { color:#f6f5ef; }
body[data-home="true"] .kun-footer .store-button--web:hover { background:#fff; border-color:#d6d8cf; transform:none; }
body[data-home="true"] .kun-footer .store-buttons { flex-wrap:wrap; }
.romance-chat *, .kun-voice-art * { animation-play-state:var(--scene-motion,running); }
body[data-home="true"] .romance-chat-note { padding:0; }
