/* TWINS v0.2.43 — magenta brand palette + TWIN visual evolution (symbol-free presence) */
:root{
  --twins-bg:#07060a;
  --twins-bg-top:#150912;
  --twins-surface:#141018;
  --twins-surface-2:#1b1420;
  --twins-surface-3:#211724;
  --twins-accent:#cf00b5;
  --twins-accent-strong:#ee19d0;
  --twins-accent-soft:#f18cdf;
  --twins-accent-deep:#79006b;
  --twins-glow:rgba(207,0,181,.38);
  --twins-border:rgba(255,255,255,.09);
  --twins-muted:#9a8f9d;
}

html,body{background:var(--twins-bg)}
body{background:radial-gradient(circle at 50% -6%,#421032 0,#1b0b18 18%,#0c080e 43%,#07060a 78%)}
.topbar{background:linear-gradient(#09070bee,#09070b00)}
.brand-mark{border-color:#df29c8;background:#cf00b51c;color:#f6b6eb;box-shadow:0 0 24px #cf00b522}
.notification-bell.active,.bottom-nav a.active,.page-head small{color:var(--twins-accent-soft)}
.bottom-nav{background:#0c090eed}
.bubble.twin{background:#211724;border-color:#ffffff12}
.bubble.me{background:linear-gradient(135deg,#b800a1,#e31bc9)}
.quick-actions button,.auth-form button,.account-mini-form button,.account-auth-primary-link,.twin-request-actions button,.push-device-row button,.install-primary{background:linear-gradient(135deg,#b900a2,#e119c7)}
.now-badge{background:#c900afcc}
.auth-logo>span{background:linear-gradient(135deg,#ed2bd1,#a60092);box-shadow:0 18px 45px #cf00b544}
.profile-choice-chips input:checked+span{border-color:#e133ca72;background:#cf00b520;color:#f6b9eb}
.twin-comment-toggle input,.push-preferences input{accent-color:var(--twins-accent)}
.public-twin-comment{border-color:#d51abd35;background:linear-gradient(145deg,#cf00b512,#ffffff05)}
.public-twin-comment small,.twin-profile-comment-head>div small{color:#e78bd9}
.public-twin-comment-orb,.twin-profile-comment-preview>span,.twin-profile-comment-locked>span,.twin-daily-nudge-icon{background:radial-gradient(circle at 35% 30%,#ffc2f4,#dd20c4 48%,#700063 78%);box-shadow:0 0 20px #cf00b52e}
.twin-talk-card-focus .twin-composer{background:#110d13;border-color:#ffffff16;box-shadow:0 10px 30px #0007,0 0 0 1px #cf00b508}
.twin-composer:focus-within{border-color:#cf00b54e;box-shadow:0 0 0 3px #cf00b510,0 12px 34px #0007}
.twin-composer button{background:linear-gradient(135deg,#bd00a5,#ea22ce)}
.twin-talk-suggestions button{border-color:#cf00b529;color:#d9c0d5;background:#cf00b508}
.twin-understanding-bubble{border-color:#df29c846;background:#21121eef;box-shadow:0 12px 30px #0006,0 0 28px #cf00b52b}
.twin-understanding-bubble:before{background:#21121e;border-left-color:#df29c846;border-bottom-color:#df29c846}
.twin-understanding-bubble strong{color:#f08bdf}
.account-inline-link{background:#cf00b514;border-color:#cf00b538;color:#ef9de3}

/* TWIN grows from an undefined field of light into a human-like presence. */
.twin-home-focus .twin-orb-wrap{width:194px;min-height:184px}
.twin-home-focus .twin-orb.twin-evolution{
  position:relative;
  width:176px;height:176px;
  margin:0 auto 4px;
  border-radius:50%;
  overflow:visible;
  isolation:isolate;
  background:none;
  filter:none;
  box-shadow:none;
  animation:twinBeingFloat 6.8s ease-in-out infinite;
}
.twin-evolution:before{
  content:"";position:absolute;z-index:-3;inset:-28px;border-radius:50%;
  background:radial-gradient(circle,#d700bd38 0,#b700a51f 35%,#6f006516 53%,transparent 73%);
  filter:blur(9px);animation:twinHaloBreath 5.8s ease-in-out infinite;
}
.twin-aura{position:absolute;z-index:0;inset:0;border-radius:50%;filter:saturate(1.12)}
.twin-aura i{position:absolute;display:block;border-radius:50%;mix-blend-mode:screen;will-change:transform,opacity,filter}
.twin-aura i:nth-child(1){width:116px;height:116px;left:30px;top:29px;background:#d900be96;filter:blur(27px);animation:twinMistOne 7s ease-in-out infinite}
.twin-aura i:nth-child(2){width:72px;height:102px;left:50px;top:18px;background:#ff35db72;filter:blur(24px);animation:twinMistTwo 8.6s ease-in-out infinite}
.twin-aura i:nth-child(3){width:92px;height:62px;left:15px;top:69px;background:#9200817a;filter:blur(23px);animation:twinMistThree 9.4s ease-in-out infinite}
.twin-aura i:nth-child(4){width:63px;height:94px;right:19px;top:56px;background:#e715cb5e;filter:blur(22px);animation:twinMistFour 7.8s ease-in-out infinite}
.twin-aura i:nth-child(5){width:34px;height:34px;left:24px;top:31px;background:#ff78e98c;filter:blur(13px);animation:twinSparkOne 6.4s ease-in-out infinite}
.twin-aura i:nth-child(6){width:29px;height:29px;right:25px;bottom:38px;background:#d400b980;filter:blur(11px);animation:twinSparkTwo 5.9s ease-in-out infinite}
.twin-aura i:nth-child(7){width:22px;height:22px;left:76px;bottom:20px;background:#fff4;filter:blur(9px);animation:twinSparkThree 7.2s ease-in-out infinite}

.twin-form{position:absolute;z-index:1;left:50%;top:48%;width:92px;height:122px;transform:translate(-50%,-50%);opacity:.02;filter:blur(22px);transition:opacity .7s ease,filter .7s ease,transform .7s ease}
.twin-form span{position:absolute;display:block;left:50%;transform:translateX(-50%);background:linear-gradient(180deg,rgba(255,247,253,.91),rgba(241,101,217,.68) 62%,rgba(150,0,126,.34));box-shadow:inset 0 0 26px #fff2,0 0 20px #f229cf35}
.twin-form-head{top:5px;width:43px;height:50px;border-radius:46% 46% 48% 48%}
.twin-form-neck{top:49px;width:20px;height:22px;border-radius:9px}
.twin-form-body{top:62px;width:82px;height:62px;border-radius:45% 45% 33% 33% / 35% 35% 18% 18%;clip-path:polygon(23% 0,77% 0,100% 31%,92% 100%,8% 100%,0 31%)}

.twin-stage-0 .twin-aura{transform:scale(1.13);filter:saturate(1.15) blur(1px)}
.twin-stage-0 .twin-stage-1 .twin-aura{transform:scale(1.06)}
.twin-stage-1 .twin-form{opacity:.12;filter:blur(17px);transform:translate(-50%,-50%) scale(.94)}
.twin-stage-1 .twin-stage-2 .twin-aura{transform:scale(1.0)}
.twin-stage-2 .twin-form{opacity:.33;filter:blur(10px);transform:translate(-50%,-50%) scale(.98)}
.twin-stage-2 .twin-stage-3 .twin-aura{transform:scale(.94);opacity:.84}
.twin-stage-3 .twin-form{opacity:.62;filter:blur(5px);transform:translate(-50%,-50%) scale(1)}
.twin-stage-3 .twin-stage-4 .twin-aura{transform:scale(.9);opacity:.70}
.twin-stage-4 .twin-form{opacity:.86;filter:blur(1.8px);transform:translate(-50%,-50%) scale(1.02)}
.twin-stage-4 .twin-stage-4:after{content:"";position:absolute;z-index:1;left:50%;top:46px;width:30px;height:19px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,#fff4 0,#f38add1c 42%,transparent 72%);filter:blur(6px)}
.twin-meta small{color:#a47a9c}

@keyframes twinBeingFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes twinHaloBreath{0%,100%{opacity:.7;transform:scale(.96)}50%{opacity:1;transform:scale(1.08)}}
@keyframes twinMistOne{0%,100%{transform:translate(-5px,4px) scale(.92);opacity:.62}50%{transform:translate(7px,-8px) scale(1.12);opacity:.95}}
@keyframes twinMistTwo{0%,100%{transform:translate(5px,-7px) rotate(0);opacity:.48}50%{transform:translate(-9px,9px) rotate(17deg);opacity:.86}}
@keyframes twinMistThree{0%,100%{transform:translate(-7px,0) scale(1.06);opacity:.47}50%{transform:translate(11px,-4px) scale(.87);opacity:.8}}
@keyframes twinMistFour{0%,100%{transform:translate(5px,8px) scale(.88);opacity:.4}50%{transform:translate(-8px,-6px) scale(1.1);opacity:.76}}
@keyframes twinSparkOne{0%,100%{transform:translate(0,0) scale(.8);opacity:.35}50%{transform:translate(18px,11px) scale(1.2);opacity:.86}}
@keyframes twinSparkTwo{0%,100%{transform:translate(0,0) scale(.75);opacity:.28}50%{transform:translate(-13px,-17px) scale(1.25);opacity:.72}}
@keyframes twinSparkThree{0%,100%{transform:translate(-6px,4px);opacity:.18}50%{transform:translate(8px,-12px);opacity:.52}}

@media(max-width:430px){
  .twin-home-focus .twin-orb-wrap{width:184px;min-height:174px}
  .twin-home-focus .twin-orb.twin-evolution{width:164px;height:164px}
  .twin-form{transform:translate(-50%,-50%) scale(.94)}
}
@media(prefers-reduced-motion:reduce){
  .twin-home-focus .twin-orb.twin-evolution,.twin-evolution:before,.twin-aura i{animation:none!important}
}

/* Broad accent harmonization across existing screens. */
.profile-nudge,.notice,.twin-memory-explain,.daily-inline-feedback,.daily-feedback{border-color:#cf00b53a!important;background:#cf00b512!important}
.profile-nudge,.notice{color:#efb5e5}
.profile-form button,.profile-actions button,.photo-upload-form>button,.memory-upload-form button,.private-request-button,.locked-button,.notification-request-form button,.daily-answer-form>button,.starter-begin,.twin-name-form button,.twin-help-panel>button{background:linear-gradient(135deg,#b900a2,#e119c7)!important}
.request-actions button,.notification-request-form button,.daily-scale input:checked+span b,.album-main-badge{background:#cf00b5!important}
.profile-reaction-actions .like{background:#c40aac}
.vibe-row i em{background:linear-gradient(90deg,#c400aa,#ef45d5)}
.twin-help-avatar,.twin-guide-avatar,.daily-feedback>span,.daily-inline-feedback>span{background:radial-gradient(circle at 35% 30%,#ffd1f7,#dd25c5 48%,#730067 78%)!important;color:#fff!important;box-shadow:0 0 22px #cf00b538!important}
.daily-scale input:checked+span{border-color:#df29c885;background:#cf00b520}
.twin-talk-dot{background:#ef45d5;box-shadow:0 0 14px #cf00b5}
.me-menu-icon{background:#cf00b516;border-color:#df29c83b;color:#ef9fe3}
.album-slot.is-empty{border-color:#d92cc04d;background:#cf00b50d}
.install-lp-glow{background:radial-gradient(circle,#cf00b546 0,#a900951d 40%,transparent 70%)}
.install-twin-orb{background:radial-gradient(circle at 35% 30%,#ffc6f4 0,#df2bc6 32%,#8c087d 58%,#21101f 72%);box-shadow:0 0 54px #cf00b568,0 18px 50px #0008}
.install-eyebrow,.install-twin-message small,.install-guide-twin small{color:#df8bd3}
.install-auth-links a:first-child{color:#ef9fe3}
.install-feature-grid article>span{background:#cf00b51c;color:#f09ee4}
