/* Alicia Companion — romantic 2.5D scene choreography, no explicit motion */
.romance-scenes{margin:14px 0 8px;padding:15px;background:linear-gradient(125deg,#34263f,#222748 70%,#242541);border:1px solid #efa8d44e;border-radius:14px;box-shadow:inset 0 1px 0 #ffffff12}
.romance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:13px;margin-bottom:11px}
.romance-heading strong{display:block;font-size:13px;color:#ffe3f3;letter-spacing:.15px}
.romance-heading p{margin:4px 0 0;color:#d6c1dc;font-size:11px;line-height:1.5}
.romance-pill{font-size:9px;letter-spacing:.9px;padding:6px 9px;background:#be81ad29;border:1px solid #f0b6db66;border-radius:30px;color:#ffd5f1;white-space:nowrap}
.romance-scene-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.romance-scene-grid button{min-height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 3px;border:1px solid #e1adca41;border-radius:10px;background:linear-gradient(140deg,#473450ad,#303458d2);color:#ffe4f0;cursor:pointer;font-size:20px;transition:background .18s,border-color .18s,transform .18s}
.romance-scene-grid button span{font:750 10px/1.25 ui-sans-serif,system-ui,sans-serif}
.romance-scene-grid button:hover,.romance-scene-grid button.active{background:linear-gradient(135deg,#805579,#475479);border-color:#ffbbe1;color:#fff}
.romance-scene-grid button:focus-visible,#romance-scene-stop:focus-visible{outline:2px solid #ffdbed;outline-offset:2px}
.romance-scene-controls{margin-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 13px;color:#ead3e8;font-size:11px}
.romance-scene-controls select{padding:5px 8px;border:1px solid #bc99ce88;border-radius:7px;background:#252344;color:white}
.romance-scene-controls label{display:inline-flex;align-items:center;gap:7px}.romance-scene-controls input{accent-color:#e7a1c5}
#romance-scene-stop{border:1px solid #d6a6c879;background:#3c324c;color:#ffe5f2;border-radius:8px;padding:8px 12px;cursor:pointer}
#romance-scene-status{margin-left:auto;font-size:10px;color:#ffcde5}
.romance-scene-fx{position:absolute;z-index:2;pointer-events:none;inset:0;opacity:0;transition:opacity .48s;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--romance-accent,#e5abff) 35%,transparent),transparent 68%);mix-blend-mode:screen}
.romance-scene-fx:before,.romance-scene-fx:after{content:'♡';position:absolute;left:50%;top:37%;font-family:Georgia,serif;color:#ffe6f6;text-shadow:0 0 22px var(--romance-accent,#e5abff);opacity:0}
.romance-scene-fx:before{font-size:30px;animation:romance-floating-mark 2.7s ease-out infinite}
.romance-scene-fx:after{font-size:19px;animation:romance-floating-mark 2.7s ease-out 1.1s infinite}
.talk-portrait-frame[data-romance-scene]:not([data-romance-scene="idle"]) .romance-scene-fx{opacity:clamp(0,calc(var(--romance-glow,.3) * 2),.76)}
.talk-portrait-frame[data-romance-scene]:not([data-romance-scene="idle"]) .romance-scene-fx:before,
.talk-portrait-frame[data-romance-scene]:not([data-romance-scene="idle"]) .romance-scene-fx:after{opacity:.7}
#romance-scene-label{position:absolute;pointer-events:none;z-index:11;left:50%;bottom:8%;transform:translateX(-50%);width:max-content;max-width:90%;text-align:center;padding:8px 15px;background:#20142abb;border:1px solid #e9a8d577;border-radius:30px;color:#ffe6f2;text-shadow:0 1px 8px #0008;box-shadow:0 8px 24px #0004;font-size:12px;letter-spacing:.4px;opacity:0;transition:opacity .3s}
@keyframes romance-floating-mark{0%{transform:translate(-50%,24px) scale(.6);opacity:0}25%{opacity:.75}85%{opacity:.45}100%{transform:translate(75px,-85px) scale(1.35);opacity:0}}
.stage25-scene[data-romance-scene]:not([data-romance-scene="idle"]) .stage25-halo{box-shadow:0 0 75px var(--romance-accent,#e4a4ee),inset 0 0 40px #ddc9ff5a}
@media(max-width:690px){.romance-scene-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.romance-pill{display:none}#romance-scene-status{margin-left:0}}
@media(prefers-reduced-motion:reduce){.romance-scene-fx{transition:none!important;opacity:0!important}.romance-scene-fx:before,.romance-scene-fx:after{animation:none!important;opacity:0!important}#romance-scene-label{transition:none}}

/* Advanced interaction studio — status and pacing UI */
.romance-scenes{background:linear-gradient(132deg,#30253f,#192b43 64%,#2a2542);border-color:#e5a9d275;box-shadow:0 14px 42px #070d2840,inset 0 1px 0 #ffffff24}
.romance-scene-grid button{min-height:71px;position:relative;box-shadow:inset 0 1px 0 #ffffff14,0 4px 12px #090e2438}
.romance-scene-grid button.active:after{content:"";position:absolute;inset:3px;border-radius:8px;border:1px solid #f7d6ebaa;pointer-events:none}
#interaction-sequence{cursor:pointer;border-radius:8px;padding:9px 12px;border:1px solid #9dc8fa70;background:#314b68;color:#e7f5ff;font-weight:700}
#interaction-sequence:hover{background:#416489}
.interaction-advanced{margin-top:13px;padding:12px;border-radius:10px;background:#101a32a8;border:1px solid #bfd2ff2b}
.interaction-detail-line{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#d5e5ff;font-size:11px;line-height:1.6}
#interaction-queue{color:#c7c4dd}
#interaction-progress{display:block;margin:9px 0;width:100%;height:5px;accent-color:#eeb2df}
.interaction-hint{font-size:11px;line-height:1.55;color:#c6bdd5}
@media(prefers-reduced-motion:reduce){.romance-scene-grid button{transition:none!important}.interaction-advanced{animation:none!important}}

.interaction-sequence-builder{margin-top:12px;padding:12px;background:#211f39bb;border:1px solid #f2b4d538;border-radius:10px;color:#f5dcf3}
.interaction-sequence-builder strong{display:block;font-size:11px;letter-spacing:.5px;margin-bottom:8px}
.interaction-sequence-inputs{display:flex;gap:7px;flex-wrap:wrap}.interaction-sequence-inputs label{display:flex;flex:1 1 120px;flex-direction:column;gap:4px;font-size:10px;color:#e8cee5}
.interaction-sequence-inputs select{width:100%;min-width:0;font-size:11px;padding:6px;border:1px solid #d5a7c77b;border-radius:7px;background:#292843;color:#fff}
.interaction-sequence-builder p{font-size:10px;color:#c7bbd3;line-height:1.5;margin:8px 0 0}
