/* Animux Social 1.3.0 */
.notification-icon-btn{position:relative}.notification-badge{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#b64f68;color:#fff;font-size:10px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 14px rgba(182,79,104,.45)}.notification-icon-btn.has-unread{border-color:rgba(141,128,214,.45);box-shadow:0 0 18px -7px var(--glow)}
.mood-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line);border-radius:99px;font-size:12px;color:var(--ink2);background:rgba(141,128,214,.06);transition:.25s}.mood-chip:hover{color:var(--ink);border-color:var(--line2);background:rgba(141,128,214,.1)}.post-mood-row{margin:0 0 12px}.edited-mark{font-size:10px;color:var(--ink3);font-style:italic}.mention-link{color:#b9addf;font-weight:600}.mention-link:hover{color:#d5ccfa}.mention-link.muted{cursor:default}
.bookmark-action.saved{color:#d7cef8;background:rgba(141,128,214,.1)}.bookmark-action.saved span:first-child{filter:drop-shadow(0 0 5px rgba(141,128,214,.55))}
.comment-replies{margin:8px 0 0 42px;padding-left:12px;border-left:1px solid rgba(141,128,214,.2)}.comment-replies .comment{margin:10px 0;background:rgba(12,16,30,.5)}.reply-context{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink2);font-size:13px;background:rgba(141,128,214,.06)}.reply-context button{float:right;background:none;border:0;color:var(--ink2);font-size:18px}
.mention-suggestions{margin-top:6px;border:1px solid var(--line2);background:#101527;border-radius:10px;overflow:hidden;box-shadow:0 18px 42px -22px rgba(0,0,0,.9);position:relative;z-index:5}.mention-result{display:flex;width:100%;align-items:center;gap:10px;padding:10px 12px;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left}.mention-result:last-child{border-bottom:0}.mention-result:hover{background:rgba(141,128,214,.08)}.mention-avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;display:grid;place-items:center;border:1px solid var(--line2)}.mention-avatar img{width:100%;height:100%;object-fit:cover}.mention-result b,.mention-result small{display:block}.mention-result small{color:var(--ink3);margin-top:2px}.mention-loading{padding:12px;color:var(--ink3);font-size:13px;display:flex;align-items:center;gap:8px}
.mood-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:9px;margin:9px 0 24px}.mood-option{position:relative;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(75,68,95,.22);border-radius:10px;background:rgba(255,255,255,.15);cursor:pointer;transition:.25s}.mood-option input{position:absolute;opacity:0;pointer-events:none}.mood-option span{font-size:18px}.mood-option b{font-size:13px;font-weight:500}.mood-option:has(input:checked){border-color:#7669b9;background:rgba(111,95,192,.12);box-shadow:0 0 0 2px rgba(111,95,192,.08)}.mood-option.no-mood{opacity:.8}.draft-reminder{display:block;margin:0 0 18px;padding:10px 12px;border:1px dashed rgba(111,95,192,.28);border-radius:9px;color:#6f5fc0;background:rgba(111,95,192,.05);font-size:13px}.draft-status{min-height:18px;font-size:12px;color:var(--cream-ink2);margin-top:8px}
.draft-list{display:grid;gap:14px;max-width:760px}.draft-card{display:flex;align-items:flex-start;gap:16px}.draft-card>a{flex:1;color:var(--ink)}.draft-card b{display:block;font-family:var(--serif);font-weight:normal;font-size:18px}.draft-card p{color:var(--ink2);margin:6px 0}.draft-card small{color:var(--ink3)}
.notification-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.notification-list{display:grid;gap:10px;max-width:760px}.notification-row{display:flex;align-items:center;gap:13px;padding:14px 16px;color:var(--ink2)}.notification-row.unread{border-color:rgba(141,128,214,.34);background:linear-gradient(165deg,rgba(141,128,214,.12),var(--paper) 68%)}.notification-avatar{width:44px;height:44px;min-width:44px;border-radius:50%;overflow:hidden;display:grid;place-items:center;border:1px solid var(--line2)}.notification-avatar img{width:100%;height:100%;object-fit:cover}.notification-copy{flex:1}.notification-copy b{display:block;color:var(--ink);font-weight:500}.notification-copy small{display:block;margin-top:4px;color:var(--ink3)}.notification-dot{width:7px;height:7px;border-radius:50%;background:transparent}.notification-row.unread .notification-dot{background:#8d80d6;box-shadow:0 0 10px var(--glow)}
.pinned-profile-post{margin:20px 0 26px;max-width:760px}.pinned-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px}.pinned-profile-post .postcard{margin-bottom:0}.profile-safety .safety-actions{display:grid;gap:10px;margin:20px 0}.manage-post-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.mood-discover-strip{margin:22px 0 26px}.mood-discover-list{display:flex;gap:9px;flex-wrap:wrap}.mood-discover-list a{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink2);background:rgba(18,24,41,.55);transition:.25s}.mood-discover-list a:hover{color:var(--ink);border-color:var(--line2);transform:translateY(-1px)}.mood-page-head{display:flex;align-items:center;gap:18px}.mood-page-emoji{font-size:52px;filter:drop-shadow(0 0 18px rgba(141,128,214,.18))}
.preference-editor p{color:var(--ink2)}
@media(max-width:720px){.notification-head{display:block}.notification-head .btn{margin-top:14px}.comment-replies{margin-left:18px;padding-left:8px}.mood-picker{grid-template-columns:1fr 1fr}.mood-option{padding:9px}.mood-option b{font-size:12px}.manage-post-actions{justify-content:flex-start}.notification-row{align-items:flex-start}.mood-page-head{align-items:flex-start}.mood-page-emoji{font-size:42px}}
@media(max-width:480px){.mood-picker{grid-template-columns:1fr}.comment-replies{margin-left:8px}.notification-avatar{width:38px;height:38px;min-width:38px}.draft-card{display:block}.draft-card .linklike{margin-top:10px}.profile-tabs{overflow-x:auto;white-space:nowrap}}

/* 1.3.1 — author identity, page compatibility and context placement */
.post-author-meta>.chip,.post-author-meta>.chip.viola,.post-author-meta>.chip.luce{display:none!important}
.post-detail .post-author-meta{margin-bottom:18px}
.post-detail .post-author-avatar{width:38px;height:38px;min-width:38px}
.post-context-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.post-context-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:99px;border:1px solid var(--line);background:rgba(137,168,216,.07);color:var(--ink3);font-size:11.5px;letter-spacing:.03em}
.post-context-chip:hover{color:var(--blue);border-color:rgba(137,168,216,.28)}
.ale-page-loading{max-width:420px;margin:10vh auto;display:flex;justify-content:center;align-items:center;gap:12px;color:var(--ink2)}
@media(max-width:560px){.post-detail .post-author-avatar{width:34px;height:34px;min-width:34px}.post-context-row{margin-top:12px}}

/* 1.3.3 — cinematic writing invitation in an empty personal profile */
.profile-write-spot{
  position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(220px,.82fr) minmax(360px,1.42fr);
  align-items:center; gap:clamp(22px,4vw,58px); min-height:276px; margin:0 0 28px; padding:clamp(28px,4vw,48px);
  overflow:hidden; border:1px solid rgba(145,128,232,.64); border-radius:28px; color:var(--ink);
  background:
    radial-gradient(440px 240px at 14% 58%,rgba(103,82,194,.25),transparent 66%),
    radial-gradient(480px 280px at 83% 44%,rgba(93,79,188,.18),transparent 70%),
    linear-gradient(145deg,rgba(30,36,70,.96),rgba(10,14,29,.98) 70%);
  box-shadow:0 28px 80px -34px rgba(0,0,0,.92),0 0 55px -26px rgba(124,102,238,.72),inset 0 1px 0 rgba(255,255,255,.06);
  transform:translateZ(0); transition:transform .65s var(--ease),border-color .65s ease,box-shadow .65s ease;
}
.profile-write-spot::before{content:'';position:absolute;inset:-1px;z-index:-2;pointer-events:none;background:linear-gradient(115deg,transparent 13%,rgba(194,180,255,.16) 31%,transparent 48%);transform:translateX(-80%);animation:writeSpotSheen 8s ease-in-out infinite}
.profile-write-spot::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.48;background-image:radial-gradient(1.5px 1.5px at 12% 18%,rgba(235,229,255,.85),transparent 70%),radial-gradient(2px 2px at 23% 74%,rgba(193,181,255,.8),transparent 70%),radial-gradient(1px 1px at 61% 14%,rgba(255,255,255,.7),transparent 70%),radial-gradient(1.7px 1.7px at 87% 66%,rgba(204,195,255,.8),transparent 70%),radial-gradient(1px 1px at 75% 31%,rgba(255,255,255,.6),transparent 70%)}
.profile-write-spot:hover{transform:translateY(-5px) scale(1.006);border-color:rgba(176,160,255,.9);box-shadow:0 36px 100px -34px rgba(0,0,0,.95),0 0 75px -22px rgba(124,102,238,.82),inset 0 1px 0 rgba(255,255,255,.08)}
.write-spot-art{position:relative;min-height:190px;display:flex;align-items:flex-end;justify-content:center;filter:drop-shadow(0 22px 26px rgba(0,0,0,.46));animation:writeArtFloat 6.5s ease-in-out infinite alternate}
.write-spot-moon{position:absolute;left:14%;top:4%;font-size:34px;filter:drop-shadow(0 0 14px rgba(255,229,164,.62));animation:writeMoonFloat 5.4s ease-in-out infinite alternate}
.write-spot-spark{position:absolute;color:#c7b8ff;text-shadow:0 0 13px #8e75ff;animation:writeSpark 3.6s ease-in-out infinite}
.write-spot-spark.spark-a{left:5%;top:42%;font-size:18px}.write-spot-spark.spark-b{right:7%;top:20%;font-size:22px;animation-delay:-1.2s}.write-spot-spark.spark-c{right:20%;bottom:10%;font-size:28px;animation-delay:-2.2s}
.typewriter-scene{position:relative;width:min(250px,100%);height:170px;display:flex;align-items:flex-end;justify-content:center}
.typewriter-paper{position:absolute;z-index:1;left:50%;top:4px;width:112px;height:82px;padding:15px 14px 8px;transform:translateX(-50%) rotate(-1deg);border-radius:4px 4px 1px 1px;background:linear-gradient(165deg,#e7e0d0,#cfc5ad);box-shadow:0 10px 20px rgba(0,0,0,.28),inset 0 0 22px rgba(83,67,42,.1);animation:paperBreathe 5.8s ease-in-out infinite}
.typewriter-paper i{display:block;height:2px;margin:0 0 8px;border-radius:9px;background:rgba(69,60,70,.26)}.typewriter-paper i:nth-child(2){width:82%}.typewriter-paper i:nth-child(3){width:90%}.typewriter-paper i:nth-child(4){width:64%}
.typewriter-body{position:absolute;z-index:2;left:50%;bottom:14px;width:220px;height:94px;transform:translateX(-50%);border-radius:24px 24px 17px 17px;background:linear-gradient(155deg,#40396a,#17192c 64%,#0d0f1c);box-shadow:0 24px 40px rgba(0,0,0,.48),inset 0 2px 1px rgba(255,255,255,.08),inset 0 -10px 24px rgba(0,0,0,.32)}
.typewriter-bar{position:absolute;left:22px;right:22px;top:13px;height:9px;border-radius:10px;background:linear-gradient(90deg,#0b0d17,#77709b 50%,#0b0d17);box-shadow:0 3px 8px rgba(0,0,0,.5)}
.typewriter-keys{position:absolute;left:27px;right:27px;top:37px;display:grid;grid-template-columns:repeat(6,1fr);gap:7px 6px;transform:perspective(150px) rotateX(9deg)}
.typewriter-keys i{height:8px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#7d739e,#343047 60%,#151624);box-shadow:inset 0 1px 1px rgba(255,255,255,.16),0 2px 3px rgba(0,0,0,.48)}
.write-spot-feather{position:absolute;z-index:3;right:-1px;bottom:30px;font-size:52px;transform:rotate(-18deg);filter:drop-shadow(0 8px 10px rgba(0,0,0,.4));animation:featherSway 4.8s ease-in-out infinite alternate}
.write-spot-candle{position:absolute;z-index:4;left:0;bottom:4px;font-size:38px;filter:drop-shadow(0 0 16px rgba(255,195,105,.4));animation:candleGlow 2.8s ease-in-out infinite}
.write-spot-copy{text-align:center;padding-right:clamp(0px,2vw,18px)}
.write-spot-kicker{margin-bottom:10px;font-size:10.5px;letter-spacing:.27em;text-transform:uppercase;color:#a999ec}
.write-spot-copy h3{margin:0;font-family:var(--serif);font-weight:normal;font-size:clamp(30px,4vw,48px);line-height:1.08;color:#f0edf9;text-wrap:balance;text-shadow:0 8px 30px rgba(0,0,0,.34)}
.write-spot-copy p{max-width:660px;margin:16px auto 22px;color:rgba(233,231,244,.69);font-size:clamp(14px,1.6vw,18px);line-height:1.55}
.write-spot-cta{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:min(430px,100%);min-height:62px;padding:14px 30px;border:1px solid rgba(182,164,255,.72);border-radius:999px;background:linear-gradient(110deg,rgba(96,69,205,.98),rgba(63,52,136,.95) 46%,rgba(27,34,76,.98));background-size:180% 180%;box-shadow:0 0 0 5px rgba(115,88,232,.09),0 14px 36px -15px rgba(111,82,239,.95),inset 0 1px 0 rgba(255,255,255,.16);color:#fff;font-size:17px;letter-spacing:.01em;transition:transform .42s var(--ease),box-shadow .42s ease;animation:ctaPulse 3.2s ease-in-out infinite,ctaGradientShift 6.6s ease-in-out infinite}
.profile-write-spot:hover .write-spot-cta{transform:scale(1.04) translateY(-1px);box-shadow:0 0 0 8px rgba(115,88,232,.08),0 19px 45px -12px rgba(111,82,239,.98),inset 0 1px 0 rgba(255,255,255,.18)}
.write-spot-typing{position:relative;display:inline-block;overflow:hidden;white-space:nowrap;width:16ch;animation:typeSpot 4.8s steps(16,end) infinite,textGlowPulse 2.6s ease-in-out infinite}
.write-spot-cta>span[aria-hidden="true"]{display:inline-block;animation:typeIconHop 1.9s ease-in-out infinite}.write-spot-cta>i{width:1.5px;height:21px;border-radius:3px;background:#e8e3ff;box-shadow:0 0 10px rgba(232,227,255,.5);animation:cursorBlink .9s steps(1,end) infinite}
.write-spot-orbit{position:absolute;z-index:3;color:rgba(211,202,255,.78);text-shadow:0 0 15px rgba(141,120,255,.75);pointer-events:none;animation:orbitDrift 7s ease-in-out infinite alternate}.orbit-a{right:8%;top:18%;font-size:18px}.orbit-b{right:14%;bottom:17%;font-size:30px;animation-delay:-2s}.orbit-c{left:51%;top:12%;font-size:14px;animation-delay:-4s}
@keyframes writeSpotSheen{0%,58%,100%{transform:translateX(-80%);opacity:0}70%{opacity:1}88%{transform:translateX(115%);opacity:0}}
@keyframes writeArtFloat{from{transform:translateY(5px)}to{transform:translateY(-6px)}}
@keyframes writeMoonFloat{from{transform:translateY(2px) rotate(-3deg)}to{transform:translateY(-7px) rotate(4deg)}}
@keyframes writeSpark{0%,100%{opacity:.25;transform:scale(.75) rotate(0)}50%{opacity:1;transform:scale(1.28) rotate(20deg)}}
@keyframes paperBreathe{0%,100%{transform:translateX(-50%) translateY(3px) rotate(-1deg)}50%{transform:translateX(-50%) translateY(-2px) rotate(.5deg)}}
@keyframes featherSway{from{transform:rotate(-20deg) translateY(2px)}to{transform:rotate(-12deg) translateY(-5px)}}
@keyframes candleGlow{0%,100%{filter:drop-shadow(0 0 10px rgba(255,195,105,.25))}50%{filter:drop-shadow(0 0 22px rgba(255,195,105,.62))}}
@keyframes typeSpot{0%,12%{width:0}55%,82%{width:16ch}100%{width:0}}
@keyframes cursorBlink{0%,46%{opacity:1}47%,100%{opacity:0}}
@keyframes orbitDrift{from{transform:translate(0,0) scale(.9);opacity:.25}to{transform:translate(12px,-10px) scale(1.2);opacity:.95}}

@keyframes ctaPulse{0%,100%{transform:translateY(0);box-shadow:0 0 0 5px rgba(115,88,232,.09),0 14px 36px -15px rgba(111,82,239,.95),inset 0 1px 0 rgba(255,255,255,.16)}50%{transform:translateY(-2px) scale(1.015);box-shadow:0 0 0 8px rgba(133,105,255,.12),0 24px 48px -14px rgba(111,82,239,.98),inset 0 1px 0 rgba(255,255,255,.18)}}
@keyframes ctaGradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes textGlowPulse{0%,100%{text-shadow:0 0 0 rgba(255,255,255,0)}50%{text-shadow:0 0 14px rgba(255,255,255,.26)}}
@keyframes typeIconHop{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-3px) rotate(-6deg)}}
@media(max-width:760px){.profile-write-spot{grid-template-columns:1fr;gap:10px;padding:28px 18px 24px;border-radius:22px}.write-spot-art{min-height:155px}.typewriter-scene{transform:scale(.84);transform-origin:center bottom}.write-spot-copy{padding:0}.write-spot-copy h3{font-size:clamp(28px,9vw,40px)}.write-spot-cta{min-width:0;width:100%;font-size:16px}.orbit-c{left:76%;top:9%}}
@media(max-width:480px){.profile-write-spot{margin-left:-2px;margin-right:-2px}.write-spot-art{min-height:138px}.typewriter-scene{transform:scale(.74)}.write-spot-copy p br{display:none}.write-spot-kicker{font-size:9.5px}.write-spot-cta{min-height:56px;padding:12px 18px}.write-spot-typing{width:16ch}}
@media(prefers-reduced-motion:reduce){.profile-write-spot::before,.write-spot-art,.write-spot-moon,.write-spot-spark,.typewriter-paper,.write-spot-feather,.write-spot-candle,.write-spot-orbit,.write-spot-typing,.write-spot-cta,.write-spot-cta>span[aria-hidden="true"],.write-spot-cta>i{animation:none!important}.write-spot-typing{width:auto;overflow:visible}}

/* 1.3.6 FINAL — full motion pass for the writing spot, desktop + mobile */
.profile-write-spot[data-motion-ready="true"] .write-spot-typing{
  width:auto;
  overflow:visible;
  animation:textGlowPulse 2.8s ease-in-out infinite;
}
.profile-write-spot[data-motion-ready="true"] .write-spot-copy .write-spot-kicker,
.profile-write-spot[data-motion-ready="true"] .write-spot-copy h3,
.profile-write-spot[data-motion-ready="true"] .write-spot-copy p,
.profile-write-spot[data-motion-ready="true"] .write-spot-copy .write-spot-cta{
  opacity:0;
  transform:translateY(12px);
}
.profile-write-spot.is-inview .write-spot-copy .write-spot-kicker{animation:spotReveal .7s var(--ease) .08s both}
.profile-write-spot.is-inview .write-spot-copy h3{animation:spotRevealTitle .9s var(--ease) .16s both}
.profile-write-spot.is-inview .write-spot-copy p{animation:spotReveal .8s var(--ease) .28s both}
.profile-write-spot.is-inview .write-spot-copy .write-spot-cta{animation:spotReveal .85s var(--ease) .42s both,ctaGlowOnly 3.4s ease-in-out 1.35s infinite}

/* Real typewriter micro-interactions */
.typewriter-keys i{
  transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;
  transform:translateY(0) scaleY(1);
}
.typewriter-keys i.is-pressing{
  transform:translateY(3px) scaleY(.72);
  filter:brightness(1.28);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.2),0 0 7px rgba(169,153,255,.32);
}
.typewriter-paper.paper-nudge{animation:paperAdvance .52s cubic-bezier(.2,.8,.3,1) both!important}

/* CTA shimmer and premium button motion */
.write-spot-cta{overflow:hidden;isolation:isolate;animation:none}
.write-spot-cta::before{
  content:'';position:absolute;inset:-35% auto -35% -35%;width:26%;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  transform:skewX(-22deg) translateX(-220%);
  animation:ctaShimmer 7.5s ease-in-out 2s infinite;
}
.write-spot-cta::after{
  content:'';position:absolute;inset:1px;border-radius:inherit;z-index:-2;pointer-events:none;
  background:linear-gradient(110deg,rgba(120,88,236,.98),rgba(74,58,162,.94) 47%,rgba(24,31,72,.98));
  background-size:190% 190%;animation:ctaGradientShift 7s ease-in-out infinite;
}
.profile-write-spot:hover .write-spot-cta,
.profile-write-spot:focus-visible .write-spot-cta{
  transform:translateY(-2px) scale(1.025);
  box-shadow:0 0 0 7px rgba(115,88,232,.10),0 22px 48px -14px rgba(111,82,239,.98),inset 0 1px 0 rgba(255,255,255,.2);
}
.write-spot-cta:active{transform:translateY(0) scale(.975)!important}
.write-spot-typing.typed-complete{letter-spacing:.005em}

/* Animate the decorative scene without aggressive motion */
.profile-write-spot.is-inview .typewriter-body{animation:typewriterBodyBreath 6.8s ease-in-out infinite}
.profile-write-spot.is-inview .write-spot-copy h3>span{display:inline-block;animation:titleSpark 3.2s ease-in-out 1.2s infinite}
.profile-write-spot.is-inview .typewriter-paper i{transform-origin:left center;animation:paperLineGlow 4.8s ease-in-out infinite}
.profile-write-spot.is-inview .typewriter-paper i:nth-child(2){animation-delay:-1.1s}
.profile-write-spot.is-inview .typewriter-paper i:nth-child(3){animation-delay:-2.4s}
.profile-write-spot.is-inview .typewriter-paper i:nth-child(4){animation-delay:-3.3s}

@keyframes spotReveal{from{opacity:0;transform:translateY(12px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes spotRevealTitle{from{opacity:0;transform:translateY(14px) scale(.985);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes ctaGlowOnly{0%,100%{box-shadow:0 0 0 5px rgba(115,88,232,.08),0 14px 36px -15px rgba(111,82,239,.8),inset 0 1px 0 rgba(255,255,255,.16)}50%{box-shadow:0 0 0 9px rgba(133,105,255,.11),0 25px 50px -14px rgba(111,82,239,.98),inset 0 1px 0 rgba(255,255,255,.2)}}
@keyframes ctaShimmer{0%,65%{transform:skewX(-22deg) translateX(-220%);opacity:0}70%{opacity:1}86%{transform:skewX(-22deg) translateX(620%);opacity:0}100%{transform:skewX(-22deg) translateX(620%);opacity:0}}
@keyframes paperAdvance{0%{transform:translateX(-50%) translateY(0) rotate(-1deg)}42%{transform:translateX(-50%) translateY(-7px) rotate(.4deg)}68%{transform:translateX(-50%) translateY(-4px) rotate(-.2deg)}100%{transform:translateX(-50%) translateY(0) rotate(-1deg)}}
@keyframes typewriterBodyBreath{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-2px)}}
@keyframes titleSpark{0%,100%{transform:scale(.88) rotate(-8deg);filter:drop-shadow(0 0 3px rgba(193,178,255,.2));opacity:.65}50%{transform:scale(1.18) rotate(8deg);filter:drop-shadow(0 0 12px rgba(193,178,255,.7));opacity:1}}
@keyframes paperLineGlow{0%,100%{opacity:.42;transform:scaleX(.92)}50%{opacity:.72;transform:scaleX(1)}}

/* Mobile: same personality, lower battery/GPU load and larger touch target */
@media(max-width:760px){
  .profile-write-spot{min-height:auto;gap:2px;padding:24px 16px 20px}
  .write-spot-art{animation-duration:10s}
  .write-spot-moon{animation-duration:9s}
  .write-spot-feather{animation-duration:8s}
  .write-spot-candle{animation-duration:5.5s}
  .write-spot-spark.spark-c,.write-spot-orbit.orbit-b{display:none}
  .write-spot-copy h3{line-height:1.04}
  .write-spot-copy p{font-size:15px;line-height:1.5;margin:13px auto 18px}
  .write-spot-cta{min-height:58px;width:100%;font-size:16px;touch-action:manipulation}
  .profile-write-spot:hover{transform:none}
  .profile-write-spot:hover .write-spot-cta{transform:none}
  .write-spot-cta::before{animation-duration:10s}
}
@media(max-width:480px){
  .profile-write-spot{border-radius:20px;padding-left:14px;padding-right:14px}
  .write-spot-art{min-height:130px}
  .typewriter-scene{transform:scale(.70)}
  .write-spot-copy h3{font-size:clamp(27px,8.6vw,36px)}
  .write-spot-kicker{letter-spacing:.2em}
  .write-spot-cta{min-height:56px;padding:12px 15px;gap:9px}
  .write-spot-orbit.orbit-c{display:none}
}

@media(prefers-reduced-motion:reduce){
  .profile-write-spot[data-motion-ready="true"] .write-spot-copy .write-spot-kicker,
  .profile-write-spot[data-motion-ready="true"] .write-spot-copy h3,
  .profile-write-spot[data-motion-ready="true"] .write-spot-copy p,
  .profile-write-spot[data-motion-ready="true"] .write-spot-copy .write-spot-cta{opacity:1;transform:none;filter:none}
  .write-spot-cta::before,.write-spot-cta::after,.profile-write-spot.is-inview .typewriter-body,
  .profile-write-spot.is-inview .write-spot-copy h3>span,.profile-write-spot.is-inview .typewriter-paper i{animation:none!important}
  .write-spot-typing{width:auto!important;overflow:visible!important}
}

/* 1.3.7 — continuous living motion for the profile writing spot.
   Every object has its own rhythm; no single static image layer is used. */
.profile-write-spot .typewriter-scene{
  translate:0 0;
  rotate:0deg;
  animation:animuxMachineFloat 4.6s cubic-bezier(.45,.05,.55,.95) infinite;
  will-change:translate,rotate;
}
.profile-write-spot .typewriter-body,
.profile-write-spot.is-inview .typewriter-body{
  animation:animuxMachineBody 3.2s ease-in-out infinite!important;
  will-change:transform,filter;
}
.profile-write-spot .typewriter-paper{
  animation:animuxPaperLive 4.9s ease-in-out infinite!important;
  will-change:transform;
}
.profile-write-spot .typewriter-bar{
  animation:animuxCarriageIdle 5.2s ease-in-out infinite;
  will-change:transform;
}
.profile-write-spot .typewriter-scene.machine-jolt{
  animation:animuxMachineJolt .42s cubic-bezier(.2,.8,.3,1) both,animuxMachineFloat 4.6s cubic-bezier(.45,.05,.55,.95) .42s infinite;
}
.profile-write-spot .write-spot-moon{
  animation:animuxMoonWander 8.4s cubic-bezier(.45,.02,.52,.98) infinite!important;
  transform-origin:center;
  will-change:translate,rotate,scale,filter;
}
.profile-write-spot .write-spot-spark.spark-a{
  animation:animuxStarA 3.1s ease-in-out infinite!important;
}
.profile-write-spot .write-spot-spark.spark-b{
  animation:animuxStarB 5.3s cubic-bezier(.4,0,.6,1) -1.7s infinite!important;
}
.profile-write-spot .write-spot-spark.spark-c{
  animation:animuxStarC 4.2s ease-in-out -2.3s infinite!important;
}
.profile-write-spot .orbit-a{animation:animuxOrbitA 8.2s ease-in-out infinite!important}
.profile-write-spot .orbit-b{animation:animuxOrbitB 10.5s ease-in-out -3.2s infinite!important}
.profile-write-spot .orbit-c{animation:animuxOrbitC 6.7s ease-in-out -1.9s infinite!important}
.profile-write-spot .write-spot-feather{
  animation:animuxFeatherLive 5.9s cubic-bezier(.45,.05,.55,.95) infinite!important;
  transform-origin:72% 86%;
  will-change:transform;
}
.profile-write-spot .write-spot-candle{
  animation:animuxCandleLive 2.15s ease-in-out infinite!important;
  transform-origin:center bottom;
  will-change:transform,filter;
}

@keyframes animuxMachineFloat{
  0%{translate:0 2px;rotate:-.35deg}
  22%{translate:-1px -3px;rotate:.15deg}
  48%{translate:2px -6px;rotate:.55deg}
  72%{translate:1px -2px;rotate:-.12deg}
  100%{translate:0 2px;rotate:-.35deg}
}
@keyframes animuxMachineBody{
  0%,100%{transform:translateX(-50%) translateY(1px);filter:brightness(.98)}
  50%{transform:translateX(-50%) translateY(-2px);filter:brightness(1.04)}
}
@keyframes animuxPaperLive{
  0%,100%{transform:translateX(-50%) translateY(4px) rotate(-1.1deg)}
  34%{transform:translateX(-50%) translateY(-2px) rotate(.1deg)}
  66%{transform:translateX(-50%) translateY(-5px) rotate(.7deg)}
}
@keyframes animuxCarriageIdle{
  0%,100%{transform:translateX(-3px)}
  45%{transform:translateX(4px)}
  56%{transform:translateX(1px)}
}
@keyframes animuxMachineJolt{
  0%{translate:0 0;rotate:0}
  22%{translate:-2px 1px;rotate:-.7deg}
  52%{translate:2px -2px;rotate:.8deg}
  76%{translate:-1px 0;rotate:-.25deg}
  100%{translate:0 0;rotate:0}
}
@keyframes animuxMoonWander{
  0%{translate:0 2px;rotate:-5deg;scale:.96;filter:drop-shadow(0 0 8px rgba(255,229,164,.36))}
  28%{translate:5px -6px;rotate:2deg;scale:1.02;filter:drop-shadow(0 0 17px rgba(255,229,164,.64))}
  61%{translate:-3px -10px;rotate:7deg;scale:1.05;filter:drop-shadow(0 0 22px rgba(255,229,164,.72))}
  100%{translate:0 2px;rotate:-5deg;scale:.96;filter:drop-shadow(0 0 8px rgba(255,229,164,.36))}
}
@keyframes animuxStarA{
  0%,100%{opacity:.2;translate:0 4px;rotate:0deg;scale:.68}
  42%{opacity:1;translate:4px -5px;rotate:32deg;scale:1.32}
  66%{opacity:.5;translate:-2px -1px;rotate:18deg;scale:.92}
}
@keyframes animuxStarB{
  0%,100%{opacity:.3;translate:-3px 0;rotate:-15deg;scale:.82}
  30%{opacity:.68;translate:5px 3px;rotate:8deg;scale:1.08}
  72%{opacity:1;translate:1px -8px;rotate:38deg;scale:1.26}
}
@keyframes animuxStarC{
  0%,100%{opacity:.15;translate:0 0;scale:.55}
  36%{opacity:.9;translate:-7px -3px;scale:1.1}
  53%{opacity:.35;translate:3px -8px;scale:.75}
  78%{opacity:1;translate:6px 2px;scale:1.35}
}
@keyframes animuxOrbitA{
  0%,100%{translate:0 0;rotate:0deg;scale:.78;opacity:.25}
  50%{translate:14px -12px;rotate:55deg;scale:1.2;opacity:1}
}
@keyframes animuxOrbitB{
  0%,100%{translate:0 0;scale:.7;opacity:.2}
  33%{translate:-10px -7px;scale:1.15;opacity:.75}
  68%{translate:8px -16px;scale:.9;opacity:1}
}
@keyframes animuxOrbitC{
  0%,100%{translate:0 0;rotate:-12deg;scale:.75;opacity:.25}
  45%{translate:-6px 9px;rotate:18deg;scale:1.25;opacity:.95}
}
@keyframes animuxFeatherLive{
  0%,100%{transform:rotate(-21deg) translate(0,2px)}
  32%{transform:rotate(-14deg) translate(2px,-5px)}
  64%{transform:rotate(-9deg) translate(-2px,-8px)}
}
@keyframes animuxCandleLive{
  0%,100%{transform:translateY(0) scale(1);filter:drop-shadow(0 0 9px rgba(255,195,105,.28))}
  31%{transform:translateY(-1px) scale(.98,1.04);filter:drop-shadow(0 0 18px rgba(255,195,105,.54))}
  67%{transform:translateY(1px) scale(1.02,.97);filter:drop-shadow(0 0 25px rgba(255,195,105,.72))}
}

/* Mobile keeps the motion, but slower and lighter for touch devices and battery life. */
@media(max-width:760px){
  .profile-write-spot .typewriter-scene{animation-duration:7.2s}
  .profile-write-spot .typewriter-body,.profile-write-spot.is-inview .typewriter-body{animation-duration:4.8s!important}
  .profile-write-spot .typewriter-paper{animation-duration:6.7s!important}
  .profile-write-spot .write-spot-moon{animation-duration:11s!important}
  .profile-write-spot .write-spot-spark.spark-a{animation-duration:4.8s!important}
  .profile-write-spot .write-spot-spark.spark-b{animation-duration:7.2s!important}
  .profile-write-spot .write-spot-feather{animation-duration:8.5s!important}
  .profile-write-spot .write-spot-candle{animation-duration:3.4s!important}
}

@media(prefers-reduced-motion:reduce){
  .profile-write-spot .typewriter-scene,.profile-write-spot .typewriter-body,.profile-write-spot .typewriter-paper,
  .profile-write-spot .typewriter-bar,.profile-write-spot .write-spot-moon,.profile-write-spot .write-spot-spark,
  .profile-write-spot .write-spot-orbit,.profile-write-spot .write-spot-feather,.profile-write-spot .write-spot-candle{
    animation:none!important;translate:none!important;rotate:none!important;scale:none!important
  }
}

/* ============================================================
   SCRIVI · mani sparse e vive (Animux Social 1.3.12)
   Poche mani, grandi, asimmetriche, senza ripetizioni e senza ghosting.
   ============================================================ */
.scrivi-hands-stage{
  position:relative;
  width:100vw;
  max-width:none;
  left:50%;
  margin:-22px 0 80px -50vw;
  padding:96px max(18px,calc((100vw - 760px)/2)) 110px;
  isolation:isolate;
  overflow:hidden;
}
.scrivi-hands-stage .scrivipaper{
  position:relative;
  z-index:4;
  width:100%;
  max-width:760px;
  margin:0 auto;
  box-shadow:
    0 42px 95px -35px rgba(0,0,0,.86),
    0 0 0 1px rgba(255,248,226,.18),
    0 0 48px -20px rgba(157,132,240,.26),
    inset 0 0 80px rgba(120,100,60,.07);
}
.scrivi-hands-ambient{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}
.scrivi-hand{
  position:absolute;
  display:block;
  width:clamp(300px,31vw,560px);
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
  opacity:.94;
  filter:saturate(.95) brightness(.94) contrast(1.02);
  will-change:transform;
  transform-origin:center;
}
.scrivi-hand.hand-left-top{
  left:-18px; top:2%; height:300px;
  background-image:url('../images/hand-left-top.png');
  animation:animuxHandFloatA 8.4s ease-in-out infinite alternate;
}
.scrivi-hand.hand-right-top{
  right:-12px; top:8%; height:300px;
  background-image:url('../images/hand-right-top.png');
  animation:animuxHandFloatB 10.6s ease-in-out infinite alternate;
}
.scrivi-hand.hand-left-mid{
  left:-34px; top:34%; height:370px;
  background-image:url('../images/hand-left-mid.png');
  animation:animuxHandFloatC 9.7s ease-in-out infinite alternate;
}
.scrivi-hand.hand-right-mid{
  right:-28px; top:43%; height:370px;
  background-image:url('../images/hand-right-mid.png');
  animation:animuxHandFloatA 11.2s ease-in-out infinite alternate-reverse;
}
.scrivi-hand.hand-left-bottom{
  left:-22px; bottom:8%; height:464px;
  background-image:url('../images/hand-left-bottom.png');
  animation:animuxHandFloatB 12.4s ease-in-out infinite alternate;
}
.scrivi-hand.hand-right-bottom{
  right:-24px; bottom:2%; height:464px;
  background-image:url('../images/hand-right-bottom.png');
  animation:animuxHandFloatC 9.2s ease-in-out infinite alternate-reverse;
}
.scrivi-hands-stage::before{
  content:'';
  position:absolute;
  inset:4% 8%;
  z-index:0;
  pointer-events:none;
  border-radius:50%;
  background:radial-gradient(circle,rgba(128,106,220,.14),rgba(128,106,220,.045) 46%,transparent 73%);
  filter:blur(20px);
  animation:animuxHandsGlow 9s ease-in-out infinite;
}
.scrivi-hands-stage::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(2px 2px at 11% 12%,rgba(225,215,255,.85),transparent 65%),
    radial-gradient(1.5px 1.5px at 88% 18%,rgba(255,223,164,.72),transparent 65%),
    radial-gradient(2px 2px at 7% 49%,rgba(205,214,255,.72),transparent 65%),
    radial-gradient(1.6px 1.6px at 92% 58%,rgba(230,217,255,.72),transparent 65%),
    radial-gradient(1.8px 1.8px at 16% 84%,rgba(255,224,169,.62),transparent 65%),
    radial-gradient(1.3px 1.3px at 84% 91%,rgba(218,225,255,.65),transparent 65%);
  animation:animuxHandsStars 7.8s ease-in-out infinite alternate;
}
@keyframes animuxHandFloatA{
  0%{transform:translate3d(0,0,0) rotate(0deg)}
  50%{transform:translate3d(3px,-5px,0) rotate(.35deg)}
  100%{transform:translate3d(-2px,3px,0) rotate(-.25deg)}
}
@keyframes animuxHandFloatB{
  0%{transform:translate3d(0,0,0) rotate(.15deg)}
  50%{transform:translate3d(-4px,4px,0) rotate(-.4deg)}
  100%{transform:translate3d(2px,-3px,0) rotate(.3deg)}
}
@keyframes animuxHandFloatC{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(2px,-4px,0) scale(1.006)}
  100%{transform:translate3d(-3px,2px,0) scale(.998)}
}
@keyframes animuxHandsGlow{
  0%,100%{opacity:.5;transform:scale(.985)}
  50%{opacity:.92;transform:scale(1.025)}
}
@keyframes animuxHandsStars{
  0%{opacity:.38;transform:translateY(0)}
  50%{opacity:.9}
  100%{opacity:.52;transform:translateY(-4px)}
}

@media (max-width:1100px){
  .scrivi-hands-stage{padding-top:82px;padding-bottom:92px}
  .scrivi-hand{width:clamp(260px,34vw,430px);opacity:.78}
  .scrivi-hand.hand-left-mid{top:31%}
  .scrivi-hand.hand-right-mid{top:48%}
}

@media (max-width:760px){
  .scrivi-hands-stage{
    margin:-18px 0 50px -50vw;
    padding:54px 12px 64px;
  }
  .scrivi-hands-stage .scrivipaper{
    border-radius:16px;
    box-shadow:0 28px 65px -28px rgba(0,0,0,.9),0 0 28px -18px rgba(157,132,240,.28);
  }
  .scrivi-hand{width:230px;opacity:.42;filter:saturate(.82) brightness(.78)}
  .scrivi-hand.hand-left-top{left:-120px;top:1%}
  .scrivi-hand.hand-right-top{right:-120px;top:10%}
  .scrivi-hand.hand-left-mid{left:-145px;top:38%}
  .scrivi-hand.hand-right-mid{right:-145px;top:57%}
  .scrivi-hand.hand-left-bottom{left:-135px;bottom:8%}
  .scrivi-hand.hand-right-bottom{right:-135px;bottom:0}
  .scrivi-hands-stage::after{opacity:.55;animation-duration:11s}
}

@media (max-width:480px){
  .scrivi-hand.hand-left-mid,
  .scrivi-hand.hand-right-mid{display:none}
  .scrivi-hand{opacity:.34}
}

@media (prefers-reduced-motion:reduce){
  .scrivi-hand,
  .scrivi-hands-stage::before,
  .scrivi-hands-stage::after{animation:none!important;transform:none!important}
}


/* ============================================================
   Animux Social 1.3.15 — profili isolati per user_id + copertina
   ============================================================ */
.social-profile-head.with-cover{
  display:block;
  padding:0;
  overflow:hidden;
  position:relative;
}
.profile-cover{
  position:relative;
  height:210px;
  background:
    radial-gradient(circle at 20% 30%,rgba(141,128,214,.26),transparent 34%),
    radial-gradient(circle at 78% 18%,rgba(93,124,214,.18),transparent 36%),
    linear-gradient(135deg,#11172a,#0b1020 58%,#12182b);
  background-size:cover;
  background-position:center;
  border-bottom:1px solid rgba(188,177,240,.14);
}
.profile-cover.has-image{background-size:cover;background-position:center}
.profile-cover-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(5,7,13,.04),rgba(5,7,13,.15) 58%,rgba(5,7,13,.76));pointer-events:none}
.profile-head-content{
  display:grid;
  grid-template-columns:170px 1fr;
  gap:34px;
  align-items:end;
  padding:0 34px 34px;
  margin-top:-74px;
  position:relative;
  z-index:2;
}
.profile-head-content .profile-avatar-wrap{background-color:#11172a}
.cover-edit-block{margin:18px 0 22px}
.profile-cover-preview{
  height:150px;
  border-radius:14px;
  border:1px dashed rgba(188,177,240,.26);
  background:
    radial-gradient(circle at 24% 30%,rgba(141,128,214,.22),transparent 34%),
    linear-gradient(135deg,#151b30,#0c1120);
  background-size:cover;
  background-position:center;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:var(--ink3);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  position:relative;
}
.profile-cover-preview.has-image::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(5,7,13,.44),transparent 55%)}
.profile-cover-preview span{position:relative;z-index:1;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.cover-edit-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.cover-edit-actions .quiet{flex-basis:100%}

@media (max-width:700px){
  .profile-cover{height:155px}
  .profile-head-content{grid-template-columns:1fr;text-align:center;gap:14px;padding:0 18px 26px;margin-top:-58px}
  .profile-head-content .profile-avatar-wrap{margin:0 auto;width:126px;height:126px}
  .profile-head-content .profile-title-row{display:block}
  .profile-head-content .profile-stats{justify-content:center}
  .profile-head-content .profile-bio{margin-left:auto;margin-right:auto}
  .profile-cover-preview{height:120px}
}

/* ============================================================
   Animux Social 1.3.16 — posizionamento copertina drag/touch
   ============================================================ */
.profile-cover.has-image{
  background-size:cover;
  background-repeat:no-repeat;
}
.profile-cover-preview{
  background-size:cover;
  background-repeat:no-repeat;
  user-select:none;
  -webkit-user-select:none;
}
.profile-cover-preview.is-positioning{
  cursor:grab;
  touch-action:none;
  outline:2px solid rgba(167,145,255,.68);
  outline-offset:3px;
  box-shadow:0 0 0 1px rgba(255,255,255,.06),0 0 34px rgba(126,99,255,.22);
}
.profile-cover-preview.is-positioning.is-dragging{cursor:grabbing}
.profile-cover-preview.is-positioning::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(to right,transparent 33.2%,rgba(255,255,255,.18) 33.33%,transparent 33.46%,transparent 66.5%,rgba(255,255,255,.18) 66.66%,transparent 66.8%),
    linear-gradient(to bottom,transparent 33.2%,rgba(255,255,255,.18) 33.33%,transparent 33.46%,transparent 66.5%,rgba(255,255,255,.18) 66.66%,transparent 66.8%);
  opacity:.42;
}
.profile-cover-preview .cover-preview-label{z-index:4}
.cover-position-hint{
  position:absolute;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  z-index:5;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(5,8,18,.78);
  border:1px solid rgba(205,195,255,.22);
  color:#e8e3ff;
  font-size:11px;
  letter-spacing:.02em;
  text-transform:none;
  white-space:nowrap;
  box-shadow:0 8px 24px rgba(0,0,0,.24);
  backdrop-filter:blur(9px);
}
.cover-position-controls{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-top:10px;
  padding:10px;
  border:1px solid rgba(188,177,240,.16);
  border-radius:12px;
  background:rgba(17,23,42,.42);
}
.cover-position-controls[hidden]{display:none!important}

@media(max-width:700px){
  .profile-cover-preview.is-positioning{height:150px}
  .cover-position-hint{bottom:9px;max-width:calc(100% - 24px);white-space:normal;text-align:center}
  .cover-position-controls{justify-content:stretch}
  .cover-position-controls .btn{flex:1}
}

/* ============================================================
   PROFILE PUBLIC POSTS · animated 3D cards (Animux 1.3.21)
   Responsive by available viewport width: 3 / 2 / 1 columns.
   ============================================================ */
.profile-public-showcase{width:100%;margin:18px 0 28px;container-type:inline-size}
.profile-public-3d-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%;align-items:stretch}
.profile-post-3d-card{
  --rx:0deg;--ry:0deg;--mx:50%;--my:50%;
  position:relative;display:flex;min-width:0;min-height:330px;overflow:hidden;isolation:isolate;
  border:1px solid rgba(146,132,215,.28);border-radius:22px;
  color:var(--ink);text-decoration:none;
  background:
    radial-gradient(circle at 18% 8%,rgba(126,104,226,.18),transparent 38%),
    linear-gradient(155deg,rgba(27,34,61,.97),rgba(9,13,26,.99) 72%);
  box-shadow:0 28px 60px -34px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.055);
  transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry)) translateZ(0);
  transform-style:preserve-3d;
  transition:transform .22s ease,border-color .35s ease,box-shadow .35s ease,filter .35s ease;
  will-change:transform;
}
.profile-post-3d-card::before{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(145deg,rgba(255,255,255,.07),transparent 28%,transparent 70%,rgba(120,95,230,.08));
  opacity:.72;
}
.profile-post-3d-card::after{
  content:'';position:absolute;inset:auto 12% -1px;height:1px;z-index:4;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(164,144,255,.78),transparent);
  box-shadow:0 0 18px rgba(126,101,239,.52);
}
.profile-post-3d-card:hover,.profile-post-3d-card:focus-visible{
  border-color:rgba(166,148,255,.62);
  box-shadow:0 36px 78px -32px rgba(0,0,0,.98),0 0 44px -24px rgba(120,92,238,.78),inset 0 1px 0 rgba(255,255,255,.09);
  outline:none;
}
.profile-post-3d-card:not(.is-tilting):hover{transform:perspective(1100px) rotateX(0deg) rotateY(0deg) translateY(-6px) scale(1.012)}
.profile-card-glare{
  position:absolute;inset:-28%;z-index:5;pointer-events:none;opacity:0;
  background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.2),rgba(161,139,255,.08) 18%,transparent 42%);
  transition:opacity .25s ease;
  mix-blend-mode:screen;
}
.profile-post-3d-card.is-tilting .profile-card-glare,.profile-post-3d-card:hover .profile-card-glare{opacity:.8}
.profile-card-media{position:absolute;inset:0;z-index:0;overflow:hidden}
.profile-card-media::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(5,8,18,.06) 10%,rgba(7,10,20,.52) 48%,rgba(7,10,20,.98) 88%)}
.profile-card-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.035);filter:saturate(.88) brightness(.82);transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .55s ease}
.profile-post-3d-card:hover .profile-card-media img{transform:scale(1.09);filter:saturate(1) brightness(.92)}
.profile-card-surface{position:relative;z-index:3;display:flex;flex-direction:column;width:100%;min-width:0;padding:22px;transform:translateZ(28px)}
.profile-post-3d-card.has-image .profile-card-surface{justify-content:flex-end;padding-top:112px}
.profile-post-3d-card.is-text .profile-card-surface{background:radial-gradient(circle at 90% 5%,rgba(141,128,214,.12),transparent 33%)}
.profile-card-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.profile-card-topic,.profile-card-pinned{display:inline-flex;align-items:center;max-width:100%;padding:6px 9px;border:1px solid rgba(162,147,228,.24);border-radius:999px;background:rgba(10,14,29,.48);backdrop-filter:blur(10px);font-size:10px;letter-spacing:.05em;color:rgba(235,230,250,.78);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-card-pinned{flex:0 0 auto;color:#d9cffd;border-color:rgba(166,146,255,.38)}
.profile-card-title{display:block;margin:0 0 12px;font-family:var(--serif);font-size:clamp(22px,2.1vw,31px);line-height:1.08;font-weight:400;color:#f1eef8;text-wrap:balance}
.profile-card-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;color:rgba(225,222,237,.72);font-size:14px;line-height:1.62}
.profile-card-excerpt.is-empty{font-style:italic;color:rgba(225,222,237,.48)}
.profile-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:22px;color:rgba(208,203,223,.52);font-size:11px}
.profile-card-stats{display:flex;align-items:center;gap:11px}.profile-card-stats b{font-weight:500;color:rgba(235,231,246,.78)}.profile-card-stats i{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid rgba(155,140,221,.24);border-radius:50%;font-style:normal;color:#c8bbff;transition:transform .28s ease,background .28s ease}
.profile-post-3d-card:hover .profile-card-stats i{transform:translate(2px,-2px);background:rgba(127,105,228,.14)}
.profile-post-3d-card.is-pinned{border-color:rgba(172,153,255,.42)}

@media(max-width:1040px){
  .profile-public-3d-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .profile-post-3d-card{min-height:310px}
}
@media(max-width:680px){
  .profile-public-showcase{margin:14px 0 22px}
  .profile-public-3d-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .profile-post-3d-card{min-height:270px;border-radius:19px;transform:none!important;will-change:auto}
  .profile-post-3d-card:not(.is-tilting):hover{transform:none!important}
  .profile-card-surface{padding:18px;transform:none}
  .profile-post-3d-card.has-image .profile-card-surface{padding-top:118px}
  .profile-card-title{font-size:clamp(23px,7.2vw,30px)}
  .profile-card-excerpt{-webkit-line-clamp:4;font-size:13.5px}
  .profile-card-glare{display:none}
}
@media(max-width:390px){
  .profile-public-3d-grid{gap:12px}
  .profile-post-3d-card{min-height:250px;border-radius:17px}
  .profile-card-surface{padding:16px}
  .profile-card-topline{margin-bottom:12px}.profile-card-topic,.profile-card-pinned{font-size:9px;padding:5px 8px}
  .profile-card-footer{padding-top:17px;gap:8px}.profile-card-stats{gap:8px}
}
@media(hover:none),(pointer:coarse){
  .profile-post-3d-card{transform:none!important;will-change:auto}
  .profile-post-3d-card:active{transform:scale(.985)!important}
}
@media(prefers-reduced-motion:reduce){
  .profile-post-3d-card,.profile-card-media img,.profile-card-stats i{transition:none!important;animation:none!important;transform:none!important}
  .profile-card-glare{display:none!important}
}


/* 1.3.22 · post editor */
.post-editor .edit-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin:12px 0 18px}.post-editor .edit-media-item{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;border:1px solid rgba(151,132,232,.22);background:rgba(10,12,24,.55)}.post-editor .edit-media-item img{width:100%;height:100%;object-fit:cover;display:block}.post-editor .edit-media-item button{position:absolute;top:7px;right:7px;width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(7,8,17,.82);color:#fff;cursor:pointer}.post-editor .edit-media-add{display:flex;align-items:center;justify-content:center;min-height:110px;border:1px dashed rgba(151,132,232,.35);border-radius:14px;cursor:pointer;background:rgba(126,104,220,.05)}.post-owner-action{white-space:nowrap}
