:root{--pf-line:rgba(139,161,231,.19);--pf-muted:#aebbd8}
.pf-page{color:#eef2ff;background:radial-gradient(circle at 18% 18%,rgba(69,91,183,.14),transparent 37%),linear-gradient(180deg,#060c1b,#070c19)}
.pf-page *{box-sizing:border-box}
.pf-shell{max-width:1090px;margin:auto;padding:0 23px 60px}
.pf-skip{position:absolute;left:-9999px}.pf-skip:focus{left:12px;top:12px;z-index:100;background:white;color:black;padding:9px}
.pf-hero{max-width:840px;margin:36px auto 56px;padding:35px 32px 38px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:15px;background:linear-gradient(155deg,rgba(25,37,69,.91),rgba(10,18,37,.95));border:1px solid rgba(133,152,224,.25);border-radius:24px;box-shadow:0 22px 65px rgba(0,0,0,.15)}
.pf-hero-visual{display:flex;flex-direction:column;align-items:center;gap:13px;order:0}
.pf-avatar{height:128px;width:128px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(150deg,rgba(55,71,110,.65),rgba(11,19,37,.95));border:1px solid rgba(171,190,243,.33);box-shadow:0 0 0 7px rgba(111,141,238,.06)}
.pf-avatar svg{width:55px;height:55px;color:#b5c5e7}
.pf-avatar-label{font-size:11px;letter-spacing:.17em;color:#9dadce;font-weight:750}
.pf-hero-copy{order:1;max-width:670px;width:100%}
.pf-eyebrow{display:flex;align-items:center;justify-content:center;gap:9px;margin:3px 0 14px;color:#9eaff5;letter-spacing:.17em;font-size:10px;font-weight:800}
.pf-live-dot{width:8px;height:8px;border-radius:50%;background:#6dd9c9;box-shadow:0 0 0 5px rgba(109,217,201,.09)}
.pf-hero h1{font-size:clamp(35px,5vw,51px);line-height:1.16;letter-spacing:-.05em;margin:0 0 12px;font-weight:820}
.pf-gradient{background:linear-gradient(120deg,#f6f7ff 5%,#a9b5ff 60%,#75caed 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.pf-role{color:#c4d2f4;font-size:12px;line-height:1.7;font-weight:700;margin:0 0 15px}
.pf-role span{color:#8e9bc1;padding:0 4px}
.pf-lead{font-size:15px;line-height:1.75;color:var(--pf-muted);margin:0 auto 22px;max-width:610px}
.pf-hero-actions,.pf-contact-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:11px}
.pf-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:13px;text-decoration:none;font-size:13px;font-weight:800;transition:transform .17s ease}
.pf-button:hover{transform:translateY(-2px)}.pf-button-primary{background:linear-gradient(120deg,#a3b2ff,#83d0ee);color:#0c1833!important;border:1px solid rgba(200,222,255,.32)}.pf-button-secondary{color:#e8eeff!important;border:1px solid rgba(135,158,230,.3);background:#101b34}
.pf-section{padding:54px 0 36px;border-top:1px solid var(--pf-line)}
.pf-section-heading{max-width:780px;margin-bottom:26px}
.pf-kicker{font-size:11px;font-weight:800;letter-spacing:.17em;color:#91a6ea;margin:0 0 11px}
.pf-section-heading h2,.pf-contact h2{font-size:clamp(27px,4vw,41px);letter-spacing:-.04em;line-height:1.2;margin:0 0 12px}
.pf-section-heading>p:not(.pf-kicker),.pf-contact p:not(.pf-kicker){line-height:1.75;color:var(--pf-muted);margin:0}
.pf-tech-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pf-tech{min-height:118px;border-radius:16px;border:1px solid var(--pf-line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:13px 9px;text-align:center;background:linear-gradient(150deg,#15223e,#0d182f);transition:transform .17s ease,border-color .17s ease}
.pf-tech:hover{transform:translateY(-2px);border-color:#526cbe}.pf-tech-icon{width:40px;height:38px;display:grid;place-items:center;font-size:22px;font-weight:800;line-height:1}
.pf-tech-icon svg{height:36px;width:36px}.pf-tech strong{font-size:13px;line-height:1.3}.pf-tech small{font-size:10px;color:#92a2c3}
.pf-tech-node .pf-tech-icon{color:#8bd279}.pf-tech-php .pf-tech-icon{color:#a8b4ef}.pf-tech-html .pf-tech-icon{color:#ee9670}.pf-tech-css .pf-tech-icon{color:#81b5ef}
.pf-tech-js .pf-tech-icon{background:#e8d66f;color:#19213a;border-radius:7px;width:35px;height:35px;font-size:16px}
.pf-tech-linux .pf-tech-icon,.pf-tech-docker .pf-tech-icon{font-size:26px}.pf-tech-api .pf-tech-icon{color:#86d7c6}
.pf-about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:42px}
.pf-about-prose p{color:#b5c1da;font-size:15px;line-height:1.85;margin:0 0 18px}
.pf-focus-list{border-top:1px solid var(--pf-line)}.pf-focus-list>div{display:grid;grid-template-columns:30px 1fr;gap:5px 12px;padding:14px 0;border-bottom:1px solid var(--pf-line)}.pf-focus-list span{grid-row:1/3;color:#92a6e8}.pf-focus-list small{grid-column:2;color:#99a8c7}
.pf-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pf-project{border:1px solid var(--pf-line);border-radius:20px;padding:27px;background:linear-gradient(145deg,#14203b,#091528);display:flex;flex-direction:column;min-height:290px}
.pf-project-num{font-size:11px;color:#a1b0e2;letter-spacing:.12em}.pf-project-symbol{font-size:38px;color:#a5b5fa;margin:17px 0 8px}.pf-project h3{font-size:23px;margin:0 0 12px}.pf-project p{font-size:14px;line-height:1.7;color:#aabbd5;margin:0 0 17px}.pf-tags{display:flex;flex-wrap:wrap;gap:7px;margin:auto 0 19px}.pf-tags span{border:1px solid var(--pf-line);border-radius:8px;color:#aab9db;padding:5px 8px;font-size:11px}.pf-project-link{color:#d8e4ff!important;font-size:13px;font-weight:750;text-decoration:none}
.pf-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:33px;border:1px solid var(--pf-line);border-radius:22px;background:#162340;margin:46px 0 20px}.pf-contact h2{font-size:29px}.pf-contact-actions{flex-shrink:0}.pf-page a:focus-visible,.pf-page button:focus-visible{outline:3px solid #a3beff;outline-offset:3px}
@media(max-width:800px){.pf-about-grid{grid-template-columns:1fr;gap:19px}.pf-contact{flex-direction:column;align-items:flex-start}.pf-project-grid{grid-template-columns:1fr}}
@media(max-width:700px){.pf-shell{padding:0 16px 43px}.pf-hero{margin:18px auto 34px;padding:25px 17px 26px;border-radius:20px;gap:13px}.pf-avatar{width:112px;height:112px}.pf-avatar svg{width:48px;height:48px}.pf-hero h1{font-size:clamp(30px,8.4vw,40px)}.pf-role{font-size:11px;margin-bottom:13px}.pf-lead{font-size:14px;line-height:1.65;margin-bottom:18px}.pf-hero-actions .pf-button{flex:1 1 120px;font-size:12px;padding:10px}.pf-section{padding:39px 0 26px}.pf-tech-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.pf-tech{min-height:110px;border-radius:13px;padding:12px 6px;gap:5px}.pf-tech strong{font-size:11.5px}.pf-tech small{font-size:9px}.pf-project{min-height:0}.pf-contact{padding:23px}.pf-contact-actions{width:100%}.pf-contact-actions .pf-button{flex:1}}
@media(max-width:350px){.pf-hero{padding-inline:12px}.pf-hero h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){.pf-tech,.pf-button{transition:none!important}}

/* Portfolio V4: focused hero, expanded tech grid and finished responsive footer */
.pf-page .pf-hero{padding-bottom:34px;gap:14px}
.pf-page .pf-hero h1{margin-bottom:13px}
.pf-page .pf-lead{margin-bottom:0;max-width:580px}
.pf-page .pf-tech{min-width:0;overflow:hidden}
.pf-page .pf-tech-icon svg{max-width:100%;height:36px;width:36px}
.pf-page .pf-tech-ts .pf-tech-icon{background:#3776c8;color:#fff;border-radius:7px;min-width:35px;width:35px;height:35px;font-size:15px}
.pf-page .pf-tech-express .pf-tech-icon{color:#c4d6eb;font-size:24px;letter-spacing:-.1em}
.pf-page .pf-tech-mysql .pf-tech-icon{color:#67c5d2}
.pf-page .pf-tech-postgres .pf-tech-icon{color:#a1beeb;font-size:19px}
.pf-page .pf-tech-git .pf-tech-icon{color:#f59a75}
.pf-page .pf-tech-github .pf-tech-icon{color:#d9e3fc}
.pf-page .pf-tech-nginx .pf-tech-icon{color:#92d2a6;border:2px solid #4f9976;border-radius:11px;min-width:35px;width:35px;height:35px;font-size:18px}
.pf-page .pf-tech-ptero .pf-tech-icon{color:#aebeff;font-size:22px}
.pf-page .pf-tech-bash .pf-tech-icon{color:#8bdccb;font-size:21px}
.pf-page .pf-tech-ubuntu .pf-tech-icon{color:#e9a078;font-size:29px}
.pf-page .pf-section-heading p{max-width:690px}
.pf-page .pf-about-prose p{line-height:1.9}

/* Contact: simpler and less oversized than full CTA card */
.pf-page .pf-contact{margin:35px 0 30px;padding:28px 30px;background:linear-gradient(125deg,rgba(23,36,70,.8),rgba(10,21,42,.86));border-color:rgba(133,158,232,.2);border-radius:20px;box-shadow:none;gap:20px}
.pf-page .pf-contact-copy{min-width:0;max-width:620px}
.pf-page .pf-contact h2{font-size:clamp(25px,3vw,34px);margin:0 0 11px;line-height:1.2}
.pf-page .pf-contact .pf-kicker{margin-bottom:10px}
.pf-page .pf-contact p:not(.pf-kicker){font-size:14px;line-height:1.65;margin:0;color:#a8b7d4}
.pf-page .pf-contact-actions{gap:9px;flex-shrink:0}
.pf-page .pf-contact-actions .pf-button{min-height:44px;background:#12213c;border:1px solid rgba(139,159,223,.28);padding:10px 13px;color:#e6edff!important;box-shadow:none;gap:8px;white-space:nowrap}
.pf-page .pf-contact-actions .pf-button svg{width:16px;height:16px;flex:0 0 auto}
.pf-page .pf-contact-actions .pf-button span{color:#8ba7df;margin-left:2px}

/* Footer uses its own layout: original nested lists were unstyled on mobile */
.pf-page .pf-footer{display:block!important;width:min(1090px,calc(100% - 46px));margin:8px auto 0;padding:27px 0 calc(28px + env(safe-area-inset-bottom));border-top:1px solid rgba(136,158,229,.16);color:#9aabc8;font-size:12px;line-height:1.6}
.pf-page .pf-footer-inner{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(110px,.7fr) minmax(110px,.7fr);gap:32px;padding:0 0 26px}
.pf-page .pf-footer-identity{min-width:0}
.pf-page .pf-footer-brand{display:inline-flex;align-items:center;gap:10px;color:#ecf2ff;text-decoration:none;font-size:15px}
.pf-page .pf-footer-brand strong{font-weight:800}
.pf-page .pf-footer-brand-mark{width:35px;height:35px;border-radius:0;background-color:transparent;border:0;display:grid;place-items:center;flex:0 0 35px;background-position:center;background-size:contain;background-repeat:no-repeat}
.pf-page .pf-footer-brand-mark svg{width:25px;height:25px;color:#e5efff}
.pf-page .pf-footer-identity p{max-width:310px;font-size:12px;color:#93a4c2;margin:11px 0 0;line-height:1.65}
.pf-page .pf-footer .pf-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;justify-content:start;min-width:0}
.pf-page .pf-footer .pf-footer-links h3{margin:3px 0 6px;color:#d8e2fa;font-size:12px;font-weight:750;letter-spacing:.03em}
.pf-page .pf-footer .pf-footer-links a{display:block!important;min-height:0;padding:0!important;color:#9badd0;text-decoration:none;font-size:12px;line-height:1.45;white-space:nowrap;background:transparent!important;border:0!important}
.pf-page .pf-footer .pf-footer-links a:hover{color:#e7eeff;text-decoration:underline}
.pf-page .pf-footer-bottom{border-top:1px solid rgba(136,158,229,.12);padding-top:17px;display:flex;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;color:#7f92b4;font-size:11px}
@media(max-width:800px){.pf-page .pf-contact{flex-direction:column;align-items:stretch}.pf-page .pf-contact-actions{justify-content:stretch}.pf-page .pf-footer-inner{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:700px){
  .pf-page .pf-hero{padding-bottom:29px}
  .pf-page .pf-lead{margin-bottom:0}
  .pf-page .pf-contact{margin:23px 0 21px;padding:22px 20px;border-radius:18px;gap:22px}
  .pf-page .pf-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:9px}
  .pf-page .pf-contact-actions .pf-button{min-width:0;white-space:normal;justify-content:center;font-size:12px;padding:10px 5px}
  .pf-page .pf-footer{width:calc(100% - 32px)!important;padding-top:25px}
  .pf-page .pf-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;padding-bottom:26px}
  .pf-page .pf-footer-identity{grid-column:1/-1}
  .pf-page .pf-footer .pf-footer-links{gap:11px}
  .pf-page .pf-footer .pf-footer-links h3{margin:0 0 3px}
  .pf-page .pf-footer-bottom{display:flex;flex-direction:column;gap:3px}
}

/* Portfolio V5: real logo image assets, not CSS/text approximations */
.pf-page .pf-tech-icon,
.pf-page .pf-tech-js .pf-tech-icon,
.pf-page .pf-tech-ts .pf-tech-icon,
.pf-page .pf-tech-nginx .pf-tech-icon{
  width:48px!important;height:46px!important;min-width:0!important;
  background:transparent!important;border:none!important;border-radius:0!important;
  color:inherit!important;padding:0!important;display:grid;place-items:center;
}
.pf-page .pf-tech-icon img{
  display:block!important;width:46px!important;height:46px!important;max-width:100%;
  object-fit:contain;object-position:center;filter:none;
}
/* Original Express/GitHub logo art is black; use the original silhouette in white on dark UI. */
.pf-page .pf-tech-express .pf-tech-icon img,
.pf-page .pf-tech-github .pf-tech-icon img,
.pf-page .pf-tech-api .pf-tech-icon img{filter:brightness(0) invert(1)}
@media(max-width:700px){
 .pf-page .pf-tech-icon,.pf-page .pf-tech-js .pf-tech-icon,
 .pf-page .pf-tech-ts .pf-tech-icon,.pf-page .pf-tech-nginx .pf-tech-icon{width:42px!important;height:42px!important}
 .pf-page .pf-tech-icon img{width:42px!important;height:42px!important}
}


/* Portfolio V6: personal story nested under the Developer profile, with no other pages affected */
.pf-page .pf-hero{max-width:840px}
.pf-page .pf-personal{text-align:left;width:100%;margin:24px 0 0;padding:17px;border:1px solid rgba(198,157,235,.26);border-radius:19px;background:linear-gradient(125deg,rgba(53,39,82,.47),rgba(17,25,51,.76) 68%,rgba(22,42,66,.55));box-shadow:0 10px 30px rgba(0,0,0,.1)}
.pf-page .pf-personal-top{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:18px}
.pf-page .pf-personal-polaroid{width:90px;height:104px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:5px solid #d9d6e8;border-bottom-width:20px;border-radius:4px;background:linear-gradient(140deg,#6b688e,#272344 78%);transform:rotate(-4deg);box-shadow:0 8px 20px rgba(0,0,0,.23);position:relative;overflow:hidden}
.pf-page .pf-personal-photo-placeholder{font-size:45px;color:#f0c1e9;line-height:1.2}
.pf-page .pf-personal-photo-label{position:absolute;bottom:-17px;font-size:9px;letter-spacing:.17em;font-weight:800;color:#5b456d}
.pf-page .pf-personal-info{min-width:0}
.pf-page .pf-personal-kicker{display:flex;gap:5px;margin:0 0 6px;color:#d9b3ed;font-size:10px;font-weight:800;letter-spacing:.12em}
.pf-page .pf-personal h2{font-size:23px;margin:0 0 6px;color:#f5eefa;letter-spacing:-.03em;line-height:1.3}
.pf-page .pf-personal h2 span{font-size:18px;color:#db9cce}
.pf-page .pf-personal-quote{font-size:13px;line-height:1.6;color:#c6badb;margin:0;font-style:italic}
.pf-page .pf-personal-socials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 11px}
.pf-page .pf-personal-social{min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 8px;border-radius:12px;border:1px solid rgba(187,161,229,.24);background:rgba(16,26,47,.75);font-size:12px;color:#f0ebfb;text-decoration:none;font-weight:750;transition:border-color .18s ease,background .18s ease}
.pf-page .pf-personal-social small{font-size:9px;color:#b6a2cc;font-weight:500}
.pf-page .pf-personal-social-icon{font-size:18px;color:#e0b7e5}
.pf-page .pf-personal-social[aria-disabled=true]{cursor:default;opacity:.71}
.pf-page .pf-personal-social[aria-disabled=false]:hover{background:rgba(40,42,78,.85);border-color:rgba(215,181,249,.45)}
.pf-page .pf-playlist{border-top:1px solid rgba(186,155,229,.17);padding-top:10px}
.pf-page .pf-playlist-summary{list-style:none;display:flex;align-items:center;gap:12px;padding:5px 3px;cursor:pointer}
.pf-page .pf-playlist-summary::-webkit-details-marker{display:none}
.pf-page .pf-playlist-art{height:43px;width:43px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(140deg,#765797,#443d78);color:#f2dfff;font-size:22px;flex-shrink:0}
.pf-page .pf-playlist-heading{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}
.pf-page .pf-playlist-heading strong{font-size:13px;color:#f1eaf9}
.pf-page .pf-playlist-heading small{font-size:11px;color:#b5a8ca}
.pf-page .pf-playlist-caret{font-size:20px;color:#d7b9eb;transition:transform .17s ease}
.pf-page .pf-playlist[open] .pf-playlist-caret{transform:rotate(180deg)}
.pf-page .pf-playlist-body{padding:13px 5px 5px}
.pf-page .pf-player-track{display:flex;flex-direction:column;gap:4px;text-align:center}
.pf-page .pf-player-track strong{font-size:12px;color:#f2ebfd}
.pf-page .pf-player-track small{font-size:11px;color:#af9fc9}
.pf-page .pf-player-controls{display:flex;justify-content:center;align-items:center;gap:22px;margin:16px 0}
.pf-page .pf-player-controls button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(184,156,224,.35);background:#1c2949;color:#f1eafa;cursor:pointer;font-size:18px}
.pf-page .pf-player-controls [data-pf-play]{width:46px;height:46px;background:linear-gradient(145deg,#a78be1,#728ae2);color:#121a31;border-color:transparent}
.pf-page .pf-player-controls button:disabled{opacity:.46;cursor:not-allowed}
.pf-page .pf-player-time{display:flex;align-items:center;gap:9px;color:#b4a7cc;font-size:10px;font-variant-numeric:tabular-nums}
.pf-page .pf-player-time input{flex:1;min-width:0;accent-color:#a58edd;height:20px}
.pf-page .pf-playlist-tracks{display:flex;flex-direction:column;gap:6px;padding:0;margin:13px 0 0;list-style:none}
.pf-page .pf-playlist-tracks li button{width:100%;text-align:left;color:#d8d1e9;border:1px solid rgba(190,163,228,.16);border-radius:10px;background:rgba(12,20,40,.73);padding:10px;cursor:pointer}
.pf-page .pf-playlist-tracks li button[aria-current=true]{border-color:#a98cdb;color:#fff}
.pf-page .pf-playlist-empty{font-size:11px;color:#a99dbf;text-align:center;line-height:1.6;margin:14px 0 0}
@media(max-width:700px){
 .pf-page .pf-personal{padding:13px;margin-top:20px;border-radius:17px}
 .pf-page .pf-personal-top{grid-template-columns:77px minmax(0,1fr);gap:13px}
 .pf-page .pf-personal-polaroid{width:75px;height:90px}
 .pf-page .pf-personal-photo-placeholder{font-size:37px}
 .pf-page .pf-personal h2{font-size:21px}
 .pf-page .pf-personal-kicker{font-size:9px;letter-spacing:.06em}
 .pf-page .pf-personal-quote{font-size:12px}
 .pf-page .pf-personal-socials{gap:8px}
 .pf-page .pf-personal-social{flex-wrap:wrap;gap:5px;font-size:12px}
 .pf-page .pf-personal-social small{flex-basis:100%;text-align:center}
}
@media(prefers-reduced-motion:reduce){.pf-page .pf-personal-social,.pf-page .pf-playlist-caret{transition:none}}

.pf-page img.pf-personal-social-icon{display:block;width:18px;height:18px;object-fit:contain;filter:brightness(0) invert(1);opacity:.9;flex:0 0 18px}


/* Portfolio V7: user-provided photographs and native YouTube music embeds */
.pf-page .pf-avatar{overflow:hidden;isolation:isolate}
.pf-page .pf-avatar-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%}
.pf-page .pf-personal-polaroid{isolation:isolate}
.pf-page .pf-personal-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:1px}
.pf-page .pf-personal-photo-label{color:#54465f;bottom:-18px;font-size:9px;letter-spacing:.10em}
.pf-page .pf-youtube-shell{aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(180,157,229,.28);border-radius:13px;background:#0b1022;margin:12px 0 10px;position:relative}
.pf-page .pf-youtube-shell iframe{border:0;width:100%;height:100%;display:block}
.pf-page .pf-youtube-shell iframe[hidden]{display:none!important}
.pf-page .pf-youtube-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:14px;text-align:center;color:#c4b6dd}
.pf-page .pf-youtube-placeholder span{font-size:38px;color:#b99adf}
.pf-page .pf-youtube-placeholder p{font-size:12px;margin:0;line-height:1.5}
.pf-page .pf-youtube-placeholder[hidden]{display:none!important}
.pf-page .pf-youtube-nav{display:flex;align-items:center;gap:7px;justify-content:space-between;margin:10px 0}
.pf-page .pf-youtube-nav button{height:35px;width:45px;flex:0 0 45px;border:1px solid rgba(184,156,224,.35);background:#1c2949;color:#f1eafa;border-radius:11px;cursor:pointer;font-size:16px}
.pf-page .pf-youtube-nav a{min-width:0;flex:1;font-size:11px;color:#d8c1f4!important;text-align:center;text-decoration:none;line-height:1.4}
.pf-page .pf-youtube-nav a:hover{text-decoration:underline}
.pf-page .pf-playlist-tracks{margin:8px 0 0}
.pf-page .pf-playlist-tracks li button{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;padding:12px 13px}
.pf-page .pf-playlist-tracks li button[aria-current=true]{border-color:#b6a0ee;background:rgba(107,77,155,.3)}
.pf-page .pf-youtube-note{font-size:11px;line-height:1.55;color:#a9a0ba;margin:12px 0 0;text-align:center}


/* Portfolio V8: compact single-cover playlist with hidden YouTube player */
.pf-page .pf-music-player{padding-top:14px}
.pf-page .pf-music-cover-shell{width:min(100%, 230px);margin:14px auto 0;border:1px solid rgba(184,156,224,.28);border-radius:18px;overflow:hidden;background:rgba(11,16,34,.96);box-shadow:0 14px 34px rgba(8,10,22,.28)}
.pf-page .pf-music-cover{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center;background:#0b1022}
.pf-page .pf-music-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin:16px 0 10px}
.pf-page .pf-music-controls button{height:44px;width:44px;border-radius:14px;border:1px solid rgba(184,156,224,.35);background:#1c2949;color:#f1eafa;cursor:pointer;font-size:18px;display:grid;place-items:center}
.pf-page .pf-music-controls [data-pf-play]{height:56px;width:56px;border-radius:18px;background:linear-gradient(145deg,#a78be1,#728ae2);color:#121a31;border-color:transparent;font-size:22px;font-weight:700;box-shadow:0 12px 24px rgba(110,123,226,.24)}
.pf-page .pf-music-actions{display:flex;justify-content:center;margin:0 0 4px}
.pf-page .pf-music-open{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;border:1px solid rgba(184,156,224,.22);background:rgba(17,24,47,.58);color:#d8c1f4!important;text-decoration:none;font-size:12px;line-height:1.35;text-align:center}
.pf-page .pf-music-open:hover{text-decoration:none;background:rgba(28,41,73,.82)}
.pf-page .pf-music-hidden-player{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.pf-page .pf-music-hidden-player iframe{width:1px;height:1px;border:0}
.pf-page .pf-youtube-note{font-size:11px;line-height:1.55;color:#a9a0ba;margin:12px 0 0;text-align:center}
@media(max-width:700px){
  .pf-page .pf-music-cover-shell{width:min(100%, 210px)}
  .pf-page .pf-music-controls{gap:12px}
  .pf-page .pf-music-controls button{height:42px;width:42px;border-radius:13px}
  .pf-page .pf-music-controls [data-pf-play]{height:54px;width:54px;border-radius:17px}
}


/* Portfolio V9: compact inline playlist without expandable empty space */
.pf-page .pf-playlist.pf-playlist-mini{display:flex;flex-direction:column;gap:8px;padding-top:12px;padding-bottom:0}
.pf-page .pf-playlist.pf-playlist-mini .pf-playlist-summary{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:0}
.pf-page .pf-playlist-thumb{width:64px;height:64px;border-radius:16px;display:block;object-fit:cover;object-position:center;border:1px solid rgba(188,162,231,.28);box-shadow:0 12px 28px rgba(9,12,25,.22);background:#0b1022;flex-shrink:0}
.pf-page .pf-playlist-heading{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
.pf-page .pf-playlist-heading strong{font-size:13px;color:#f1eaf9}
.pf-page .pf-playlist-meta{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.pf-page .pf-playlist-meta small{font-size:11px;color:#b5a8ca;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pf-page .pf-playlist-subtitle{display:block;font-size:11px;color:#b5a8ca;padding-left:76px;margin-top:-2px}
.pf-page .pf-inline-player{display:flex;align-items:center;gap:8px}
.pf-page .pf-inline-player button{height:38px;width:38px;border-radius:12px;border:1px solid rgba(184,156,224,.35);background:#1c2949;color:#f1eafa;cursor:pointer;font-size:16px;display:grid;place-items:center}
.pf-page .pf-inline-player [data-pf-play]{height:46px;width:46px;border-radius:15px;background:linear-gradient(145deg,#a78be1,#728ae2);color:#121a31;border-color:transparent;font-size:19px;font-weight:700;box-shadow:0 12px 24px rgba(110,123,226,.24)}
.pf-page .pf-music-open{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border-radius:999px;border:1px solid rgba(184,156,224,.22);background:rgba(17,24,47,.58);color:#d8c1f4!important;text-decoration:none;font-size:10px;line-height:1.35;text-align:center}
.pf-page .pf-music-open:hover{text-decoration:none;background:rgba(28,41,73,.82)}
.pf-page .pf-playlist-body,.pf-page .pf-player-track,.pf-page .pf-music-cover-shell,.pf-page .pf-music-controls,.pf-page .pf-music-actions,.pf-page .pf-youtube-note{display:none!important}
@media(max-width:700px){
  .pf-page .pf-playlist.pf-playlist-mini .pf-playlist-summary{grid-template-columns:56px minmax(0,1fr);align-items:start}
  .pf-page .pf-playlist-thumb{width:56px;height:56px;border-radius:14px}
  .pf-page .pf-inline-player{grid-column:1 / -1;justify-content:flex-end;padding-left:68px;margin-top:2px}
  .pf-page .pf-playlist-subtitle{padding-left:68px}
  .pf-page .pf-inline-player button{height:36px;width:36px;border-radius:11px}
  .pf-page .pf-inline-player [data-pf-play]{height:42px;width:42px;border-radius:14px}
}

/* Portfolio v10: single-row mini player, exactly inside the existing Aca card */
.pf-page .pf-playlist.pf-playlist-mini{padding:10px 0 0!important;margin:0!important;gap:0!important;min-height:0!important;}
.pf-page .pf-playlist.pf-playlist-mini .pf-playlist-summary{display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;gap:9px!important;align-items:center!important;padding:0!important;min-width:0!important;}
.pf-page .pf-playlist-thumb{width:52px!important;height:52px!important;border-radius:12px!important;}
.pf-page .pf-playlist-heading{min-width:0!important;gap:3px!important;}
.pf-page .pf-playlist-heading strong{font-size:12.5px!important;line-height:1.25!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pf-page .pf-playlist-meta{gap:5px!important;flex-wrap:nowrap!important;}
.pf-page .pf-playlist-meta small{font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pf-page .pf-music-open{font-size:10px!important;padding:2px 5px!important;white-space:nowrap;}
.pf-page .pf-inline-player{grid-column:auto!important;justify-content:center!important;padding:0!important;margin:0!important;gap:5px!important;flex-wrap:nowrap!important;}
.pf-page .pf-inline-player button{width:31px!important;height:34px!important;border-radius:9px!important;font-size:14px!important;}
.pf-page .pf-inline-player [data-pf-play]{width:37px!important;height:39px!important;border-radius:11px!important;font-size:16px!important;}
.pf-page .pf-playlist-subtitle,.pf-page .pf-music-hidden-player{display:none!important;}
.pf-page audio[data-pf-audio]{display:none!important;}
@media(max-width:380px){
 .pf-page .pf-playlist.pf-playlist-mini .pf-playlist-summary{grid-template-columns:47px minmax(0,1fr) auto!important;gap:7px!important;}
 .pf-page .pf-playlist-thumb{width:47px!important;height:47px!important;}
 .pf-page .pf-inline-player{gap:3px!important;}
 .pf-page .pf-inline-player button{width:28px!important;height:32px!important;}
 .pf-page .pf-inline-player [data-pf-play]{width:34px!important;height:36px!important;}
 .pf-page .pf-playlist-heading strong{font-size:11.5px!important;}
}

/* V10 refinement: on mobile use Play/Pause + Next, no previous button. */
.pf-page .pf-playlist-heading strong{font-size:13px!important;}
.pf-page .pf-playlist-meta{gap:5px!important;}
@media(max-width:700px){.pf-page .pf-playlist.pf-playlist-mini .pf-playlist-summary{grid-template-columns:52px minmax(0,1fr) auto!important;gap:9px!important;}
.pf-page .pf-playlist-thumb{width:52px!important;height:52px!important;}
.pf-page .pf-inline-player{gap:6px!important;}
.pf-page .pf-inline-player [data-pf-play]{width:39px!important;height:40px!important;}
.pf-page .pf-inline-player [data-pf-next]{width:34px!important;height:34px!important;}}
@media(max-width:380px){.pf-page .pf-playlist.pf-playlist-mini .pf-playlist-summary{grid-template-columns:47px minmax(0,1fr) auto!important;gap:7px!important;}
.pf-page .pf-playlist-thumb{width:47px!important;height:47px!important;}
.pf-page .pf-inline-player{gap:4px!important;}
.pf-page .pf-inline-player [data-pf-play]{width:36px!important;height:38px!important;}}


/* Portfolio V11 — compact 3-control player, native YouTube modal on playback */
.pf-page .pf-playlist.pf-playlist-mini{padding-bottom:0!important;margin-bottom:0!important}
.pf-page .pf-playlist.pf-playlist-mini .pf-playlist-summary{grid-template-columns:50px minmax(0,1fr) auto!important;gap:8px!important}
.pf-page .pf-playlist-thumb{width:50px!important;height:50px!important;border-radius:11px!important}
.pf-page .pf-inline-player{display:flex!important;gap:4px!important;margin:0!important;padding:0!important}
.pf-page .pf-inline-player button,
.pf-page .pf-inline-player [data-pf-play],
.pf-page .pf-inline-player [data-pf-next],
.pf-page .pf-inline-player [data-pf-previous]{width:30px!important;height:33px!important;min-width:0!important;flex:0 0 30px!important;border-radius:10px!important;font-size:13px!important;box-shadow:none!important}
.pf-page .pf-inline-player [data-pf-play]{background:linear-gradient(145deg,#ad9aed,#8094eb)!important;color:#14213b!important;border-color:transparent!important}
.pf-page .pf-playlist-heading strong{font-size:12.5px!important;line-height:1.4}
.pf-page .pf-playlist-meta{margin-top:0}
.pf-page .pf-playlist-meta small{font-size:11px!important}
@media(max-width:385px){
 .pf-page .pf-playlist.pf-playlist-mini .pf-playlist-summary{grid-template-columns:44px minmax(0,1fr) auto!important;gap:6px!important}
 .pf-page .pf-playlist-thumb{width:44px!important;height:44px!important}
 .pf-page .pf-inline-player button,.pf-page .pf-inline-player [data-pf-play],.pf-page .pf-inline-player [data-pf-next],.pf-page .pf-inline-player [data-pf-previous]{width:27px!important;height:31px!important;flex-basis:27px!important;font-size:12px!important}
 .pf-page .pf-inline-player{gap:3px!important}
 .pf-page .pf-playlist-heading strong{font-size:11.5px!important}
}
.pf-yt-dialog{position:fixed;inset:0;margin:auto;padding:0;background:linear-gradient(145deg,#151e3a,#0c1226);color:#f1eafa;border:1px solid rgba(174,155,235,.4);border-radius:19px;box-shadow:0 26px 80px rgba(0,0,0,.5);width:min(94vw,650px);max-width:650px;max-height:calc(100dvh - 30px);overflow:auto}
.pf-yt-dialog::backdrop{background:rgba(2,5,17,.8);backdrop-filter:blur(6px)}
.pf-yt-dialog-content{padding:14px;display:flex;flex-direction:column;gap:12px}
.pf-yt-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:14px}
.pf-yt-close{width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:#263151;border:1px solid rgba(193,173,235,.25);color:#fff;font-size:16px;cursor:pointer}
.pf-yt-frame-wrap{width:100%;min-height:210px;display:flex;align-items:stretch;background:#090c16;border-radius:12px;overflow:hidden}
.pf-yt-frame-wrap iframe{display:block;border:0;width:100%;height:auto;min-height:210px;aspect-ratio:16/9}
.pf-yt-dialog-bottom{display:flex;justify-content:center;align-items:center;gap:12px}
.pf-yt-dialog-bottom button{height:39px;width:42px;border-radius:12px;border:1px solid rgba(184,156,224,.35);background:#202b4c;color:#f1eafa;cursor:pointer;font-size:16px}
.pf-yt-dialog-bottom .pf-yt-dialog-play{background:linear-gradient(145deg,#ad9aed,#8094eb);color:#14213b}
.pf-yt-dialog-content>a{display:inline-flex;align-self:center;color:#d8c1f4!important;font-size:11px;line-height:1.5;text-decoration:none}
@media(max-width:700px){
 .pf-yt-dialog{width:min(94vw,450px)}
 .pf-yt-dialog-content{padding:11px;gap:11px}
 .pf-yt-frame-wrap,.pf-yt-frame-wrap iframe{min-height:210px}
}

/* Portfolio V12: native audio controls; no YouTube pop-up or video area */
.pf-page .pf-playlist-mini .pf-playlist-summary{min-height:50px!important}
.pf-page .pf-playlist-mini [data-pf-play],
.pf-page .pf-playlist-mini [data-pf-next],
.pf-page .pf-playlist-mini [data-pf-previous]{touch-action:manipulation;cursor:pointer}
.pf-page .pf-playlist-mini [data-pf-play]:focus-visible,
.pf-page .pf-playlist-mini [data-pf-next]:focus-visible,
.pf-page .pf-playlist-mini [data-pf-previous]:focus-visible{outline:2px solid #bf9bff;outline-offset:3px}
.pf-page .pf-playlist-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:100%}
.pf-page .pf-playlist-mini .pf-playlist-heading{min-width:0}
.pf-page .pf-playlist-mini .pf-playlist-thumb{object-fit:cover}

/* V13: actionable audio load error; keeps one-row mini player compact */
.pf-page .pf-player-error{display:block;color:#f3baba;font-size:11px;line-height:1.5;margin:7px 0 0;max-width:100%;text-align:center}
.pf-page .pf-player-error[hidden]{display:none!important}


/* V14 visual correction: remove blue box/highlight behind the mini music player. */
.pf-page .pf-personal .pf-playlist.pf-playlist-mini,
.pf-page .pf-personal .pf-playlist.pf-playlist-mini .pf-playlist-summary,
.pf-page .pf-personal .pf-playlist.pf-playlist-mini .pf-playlist-heading,
.pf-page .pf-personal .pf-playlist.pf-playlist-mini .pf-playlist-meta,
.pf-page .pf-personal .pf-playlist.pf-playlist-mini .pf-inline-player {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
}
.pf-page .pf-personal .pf-playlist.pf-playlist-mini{
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  padding-inline: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.pf-page .pf-personal .pf-playlist.pf-playlist-mini .pf-playlist-summary{
  outline: none !important;
}
.pf-page .pf-personal .pf-playlist.pf-playlist-mini button:focus-visible{
  outline: 2px solid #b6a3ff !important;
  outline-offset: 2px;
}
.pf-page .pf-personal .pf-playlist.pf-playlist-mini .pf-player-error{
  background: transparent !important;
  box-shadow: none !important;
  margin-top: 4px !important;
  font-size: 10px !important;
}

/* Aca Pink Edition: isolated decoration on the existing personal card.
   Only visual styling — the photo, social links, and native MP3 player stay intact. */
.pf-page .pf-personal {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(255, 166, 207, .66);
  background:
    radial-gradient(ellipse at 1% 1%, rgba(255, 152, 207, .25), transparent 54%),
    radial-gradient(ellipse at 98% 85%, rgba(243, 94, 170, .17), transparent 55%),
    linear-gradient(145deg, #302039 0%, #221831 47%, #251a35 100%);
  box-shadow: 0 14px 40px rgba(15, 5, 30, .3), inset 0 1px 0 rgba(255, 230, 245, .16), 0 0 26px rgba(245, 109, 181, .08);
  transition: border-color .25s ease, box-shadow .25s ease;
}
/* Tiny floating heart and star in the spare upper-right corner. */
.pf-page .pf-personal::before {
  content: '♡  ✧';
  position: absolute;
  top: 7px;
  right: 13px;
  z-index: 0;
  color: #ffc9e2;
  font: 400 24px/1 Georgia, serif;
  letter-spacing: 2px;
  opacity: .74;
  transform: rotate(9deg);
  text-shadow: 0 0 14px rgba(255, 167, 208, .38);
  pointer-events: none;
  animation: acaPinkTwinkle 5.5s ease-in-out infinite;
}
/* Decorative diffused pink bloom stays behind content. */
.pf-page .pf-personal::after {
  content: '';
  position: absolute;
  z-index: 0;
  inset: auto -80px -115px auto;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(251, 122, 191, .16), transparent 66%);
  pointer-events: none;
}
.pf-page .pf-personal > .pf-personal-top,
.pf-page .pf-personal > .pf-personal-socials,
.pf-page .pf-personal > .pf-playlist {
  position: relative;
  z-index: 1;
}
/* Photo stays exactly the same; a pink paper frame and little tape dress it up. */
.pf-page .pf-personal .pf-personal-polaroid {
  overflow: hidden;
  border-color: #ffe1ed;
  background: #f8c7dc;
  box-shadow: 0 8px 18px rgba(13, 4, 21, .26), 0 0 0 2px rgba(253, 161, 202, .27);
  transform: rotate(-5deg);
  transition: transform .25s ease;
}
.pf-page .pf-personal .pf-personal-photo-label { color: #9c376d; }
.pf-page .pf-personal .pf-personal-kicker { color: #ffb9d9; }
.pf-page .pf-personal h2 { color: #fff1f8; }
.pf-page .pf-personal h2 span { color: #ffaad0; }
.pf-page .pf-personal .pf-personal-quote { color: #f3d1e4; }
/* Two pink-toned buttons, with contrast retained for readability. */
.pf-page .pf-personal .pf-personal-social {
  border-color: rgba(255, 174, 212, .38);
  background: rgba(86, 39, 75, .28);
  color: #ffeef7;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.pf-page .pf-personal .pf-personal-social[aria-disabled=false]:hover {
  background: rgba(135, 55, 106, .38);
  border-color: rgba(255, 193, 223, .75);
}
.pf-page .pf-personal .pf-personal-social:focus-visible { outline-color: #ffb1d6; }
/* The music row remains transparent; only accent tones change. */
.pf-page .pf-personal .pf-playlist { border-top-color: rgba(255, 179, 219, .29); }
.pf-page .pf-personal .pf-playlist-heading strong { color: #fff0f7; }
.pf-page .pf-personal .pf-playlist-meta small { color: #e3b7d2; }
.pf-page .pf-personal .pf-playlist-thumb {
  border-color: rgba(255, 193, 225, .42);
}
.pf-page .pf-personal .pf-inline-player button {
  border-color: rgba(255, 179, 218, .42);
  background: #503151;
  color: #ffeaf4;
}
.pf-page .pf-personal .pf-inline-player [data-pf-play] {
  background: linear-gradient(135deg, #ffbadb, #e788c1) !important;
  border-color: transparent !important;
  color: #44203d !important;
}
.pf-page .pf-personal .pf-playlist-mini button:focus-visible {
  outline-color: #ffabd1 !important;
}
@keyframes acaPinkTwinkle {
  0%, 100% { opacity: .53; transform: rotate(9deg) scale(.97); }
  50% { opacity: .88; transform: rotate(9deg) scale(1.05); }
}
@media (hover:hover) {
  .pf-page .pf-personal:hover { border-color: rgba(255, 180, 218, .86); box-shadow: 0 16px 42px rgba(15, 5, 30, .32), 0 0 25px rgba(251, 132, 188, .12); }
  .pf-page .pf-personal:hover .pf-personal-polaroid { transform: rotate(-3deg) translateY(-2px); }
}
@media (max-width:700px) {
  .pf-page .pf-personal { padding: 15px 13px 13px; }
  .pf-page .pf-personal::before { right: 9px; top: 5px; font-size: 20px; }
}
@media (prefers-reduced-motion:reduce) {
  .pf-page .pf-personal::before { animation: none; }
  .pf-page .pf-personal,
  .pf-page .pf-personal .pf-personal-polaroid { transition: none; }
}


/* Aca Pink Cute Edition — photo untouched, zero markup or player changes. */
.pf-page .pf-personal {
  /* Strawberry-milk rose with tiny scattered light reflections */
  border-color: rgba(255, 184, 222, .77);
  background:
    radial-gradient(circle at 9% 12%, rgba(255, 196, 224, .23), transparent 28%),
    radial-gradient(circle at 94% 91%, rgba(253, 143, 203, .22), transparent 42%),
    radial-gradient(circle at 85% 4%, rgba(255, 220, 240, .10), transparent 30%),
    linear-gradient(135deg, #422940 0%, #29192f 46%, #603353 100%);
  box-shadow: 0 14px 35px rgba(16, 4, 24, .28),
    inset 0 1px 0 rgba(255, 231, 244, .22),
    0 0 19px rgba(255, 138, 202, .12);
}
/* Floating pink stars: safely in the upper-right margin, off the portrait */
.pf-page .pf-personal::before {
  content: '✧  ✦  ♡';
  top: 9px;
  right: 12px;
  z-index: 0;
  font-family: Georgia, serif;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 3px;
  color: #ffd5ec;
  opacity: .82;
  transform-origin: center;
  text-shadow: 0 0 8px rgba(255, 193, 228, .75), 0 0 17px rgba(255, 150, 210, .31);
  animation: pfAcaCuteStars 2.9s ease-in-out infinite;
}
/* A hazy, slow-moving pink aura behind the content */
.pf-page .pf-personal::after {
  content: '';
  position: absolute;
  inset: auto -68px -105px auto;
  width: 215px;
  height: 215px;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(255,172,217,.21) 0%,rgba(246,103,177,.11) 30%,transparent 68%);
  opacity: .75;
  transform: translateY(0) scale(.97);
  animation: pfAcaCuteAura 5.8s ease-in-out infinite;
}
/* Clean pink polaroid, no tape and nothing covering her face */
.pf-page .pf-personal .pf-personal-polaroid {
  border-color: #ffe2ee;
  background: #ffe2ee;
  box-shadow: 0 9px 19px rgba(28, 8, 34, .28), 0 0 0 2px rgba(255, 178, 218, .44);
}
.pf-page .pf-personal .pf-personal-polaroid::before,
.pf-page .pf-personal .pf-personal-polaroid::after {
  content: none !important;
  display: none !important;
}
/* Tiny animated heart after Aca's name, never over the photo */
.pf-page .pf-personal h2 span {
  display: inline-block;
  transform-origin: 50% 65%;
  color: #ffb9dc;
  text-shadow: 0 0 10px rgba(255, 154, 211, .36);
  animation: pfAcaCuteHeartbeat 3.4s ease-in-out infinite;
}
/* A little twinkle accompanying the 'someone special' label */
.pf-page .pf-personal-kicker::after {
  content: '✧';
  display: inline-block;
  margin-left: 3px;
  color: #ffdfef;
  text-shadow: 0 0 9px rgba(255, 179, 223, .7);
  animation: pfAcaCuteStars 2.9s ease-in-out 1s infinite;
}
/* Smooth candy-like buttons and player accents, functionality unchanged */
.pf-page .pf-personal .pf-personal-social {
  border-color: rgba(255, 188, 224, .46);
  background: linear-gradient(160deg,rgba(255,176,221,.12),rgba(114,49,102,.26));
  box-shadow: inset 0 1px 0 rgba(255,237,248,.10);
}
.pf-page .pf-personal .pf-inline-player [data-pf-play] {
  background: linear-gradient(140deg,#ffd0e5,#f7a2d0) !important;
  color: #51213e !important;
  box-shadow: 0 5px 16px rgba(245, 122, 192, .28) !important;
}
.pf-page .pf-personal .pf-playlist-thumb {
  border-color: rgba(255, 211, 236, .5);
}
@keyframes pfAcaCuteStars {
  0%, 100% { opacity: .5; transform: translateY(0) scale(.96); }
  45% { opacity: 1; transform: translateY(-3px) scale(1.09); }
  70% { opacity: .65; transform: translateY(-1px) scale(1.02); }
}
@keyframes pfAcaCuteAura {
  0%, 100% { opacity: .52; transform: translateY(0) scale(.96); }
  50% { opacity: .87; transform: translateY(-11px) scale(1.04); }
}
@keyframes pfAcaCuteHeartbeat {
  0%, 100%, 24%, 37% { transform: scale(1); }
  28%, 33% { transform: scale(1.16); }
}
@media (max-width: 700px) {
  .pf-page .pf-personal::before { top: 7px; right: 8px; font-size: 17px; letter-spacing: 2px; }
  .pf-page .pf-personal::after { width: 178px; height: 178px; right: -65px; bottom: -80px; }
}
@media (prefers-reduced-motion: reduce) {
  .pf-page .pf-personal::before,
  .pf-page .pf-personal::after,
  .pf-page .pf-personal h2 span,
  .pf-page .pf-personal-kicker::after {
    animation: none !important;
  }
}


/* Aca Bloom v1 — decorative pink bouquet, animated paper plane, and petals.
   Only the portfolio's [data-pf-personal] card is affected. Existing player/links are untouched. */
.pf-page [data-pf-personal].pf-personal {
  background:
    radial-gradient(circle at 12% 11%, rgba(255,184,220,.36), transparent 36%),
    radial-gradient(circle at 90% 85%, rgba(255,145,199,.30), transparent 42%),
    linear-gradient(135deg, #753d63 0%, #4d294e 44%, #783c64 100%);
  border: 1px solid rgba(255,203,229,.85);
  box-shadow: 0 15px 38px rgba(17,6,26,.3), 0 0 30px rgba(252,139,194,.17), inset 0 1px 0 rgba(255,242,250,.28);
  overflow: hidden;
}
/* Remove earlier fake stars so decorations never overlap the bouquet. */
.pf-page [data-pf-personal].pf-personal::before { content: none !important; display:none !important; }
.pf-page [data-pf-personal] .pf-personal-top,
.pf-page [data-pf-personal] .pf-personal-socials,
.pf-page [data-pf-personal] .pf-playlist { position: relative; z-index: 2; }
.pf-page [data-pf-personal] .pf-personal-info { padding-right: 5px; }
.pf-page [data-pf-personal] .pf-personal-kicker { color: #ffd2e9; }
.pf-page [data-pf-personal] .pf-personal-quote { color: #ffe1ed; }
.pf-page [data-pf-personal] .pf-personal-polaroid { border-color: #ffeaf2; box-shadow: 0 8px 24px #240b29aa, 0 0 0 3px #ffb9d466; }
.pf-page [data-pf-personal] .pf-personal-social { background: linear-gradient(145deg, #ffc1df28, #b64f8a30); border-color: #ffcee49e; }
.pf-page [data-pf-personal] .pf-playlist { border-top-color: #ffd7e563; }
.pf-page [data-pf-personal] .pf-playlist-meta small { color: #f9d1e5; }
.pf-page [data-pf-personal] .pf-inline-player [data-pf-play] {
  background:linear-gradient(140deg,#ffd4e9,#f7a2d0) !important;
}
/* This overlay takes no layout space, preserving the compact card. */
.pf-page [data-pf-personal] .pf-aca-decor {
  pointer-events:none; position:absolute; inset:0; z-index:1; overflow:hidden; border-radius:inherit;
}
.pf-page [data-pf-personal] .pf-aca-bouquet {
  position:absolute; right:-3px; top:-13px; width:94px; height:109px;
  filter:drop-shadow(0 4px 7px rgba(58,8,48,.32));
  transform-origin: 55% 90%; animation:pfAcaBouquetSway 5s ease-in-out infinite;
}
.pf-page [data-pf-personal] .pf-aca-flight-trail {
  position:absolute; width:126px; height:44px; top:2px; right:75px; opacity:.75;
  transform:rotate(-8deg);
}
.pf-page [data-pf-personal] .pf-aca-paper-plane {
  position:absolute; top:16px; right:110px; width:33px; height:31px;
  filter:drop-shadow(0 2px 3px rgba(56,8,49,.3));
  animation:pfAcaPaperFlight 8.5s ease-in-out infinite;
  will-change: transform;
}
.pf-page [data-pf-personal] .pf-aca-petal {
  position:absolute; display:block; color:#ffe6f0; font-size:17px;
  text-shadow:0 0 11px #ffb1db99; opacity:.8;
  animation:pfAcaPetalFloat 5.5s ease-in-out infinite;
}
.pf-page [data-pf-personal] .pf-aca-petal-one {left:4px; top:43%; font-size:21px; animation-delay:-1.2s;}
.pf-page [data-pf-personal] .pf-aca-petal-two {right:11px; top:52%; font-size:16px; animation-delay:-3.4s;}
.pf-page [data-pf-personal] .pf-aca-petal-three {right:29px; bottom:27%; font-size:21px; animation-delay:-.8s;}
@keyframes pfAcaPaperFlight {
  0%,100% { transform:translate3d(0,2px,0) rotate(-12deg); opacity:.85; }
  35% { transform:translate3d(-24px,12px,0) rotate(-23deg); opacity:1; }
  70% { transform:translate3d(-48px,0px,0) rotate(-7deg); opacity:.86; }
}
@keyframes pfAcaBouquetSway {
  0%,100% {transform:rotate(-4deg) translateY(0)}
  50% {transform:rotate(3deg) translateY(2px)}
}
@keyframes pfAcaPetalFloat {
  0%,100% {transform:translateY(0) rotate(-8deg); opacity:.58}
  50% {transform:translateY(-7px) rotate(8deg); opacity:.94}
}
@media (max-width:700px) {
  .pf-page [data-pf-personal].pf-personal {padding:31px 13px 13px;}
  .pf-page [data-pf-personal] .pf-aca-bouquet {width:65px;height:76px;top:-11px;right:-9px;}
  .pf-page [data-pf-personal] .pf-aca-flight-trail {width:80px;height:29px;right:51px;top:-5px;}
  .pf-page [data-pf-personal] .pf-aca-paper-plane {width:24px;height:23px;top:-5px;right:76px;animation-name:pfAcaPaperFlightSmall;}
  .pf-page [data-pf-personal] .pf-aca-petal-one {font-size:16px;left:3px;top:41%;}
  .pf-page [data-pf-personal] .pf-aca-petal-two {font-size:13px;right:5px;top:48%;}
  .pf-page [data-pf-personal] .pf-aca-petal-three {font-size:15px;right:8px;bottom:25%;}
}
@keyframes pfAcaPaperFlightSmall {
  0%,100% {transform:translate3d(0,0,0) rotate(-10deg);opacity:.75}
  50% {transform:translate3d(-27px,9px,0) rotate(-21deg);opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .pf-page [data-pf-personal] .pf-aca-bouquet,
  .pf-page [data-pf-personal] .pf-aca-paper-plane,
  .pf-page [data-pf-personal] .pf-aca-petal {animation:none!important;will-change:auto!important;}
}
