/* Portfolio Phase B: the "Big news!" moment and College's "I got in!"
   (static/js/wins.js). Loaded by app_base.html. */
dialog.cfpw{border:0;padding:0;background:transparent;max-width:min(440px,calc(100vw - 32px));width:100%;overflow:visible}
dialog.cfpw::backdrop{background:rgba(11,16,32,.72);backdrop-filter:blur(3px)}
.cfpw-box{position:relative;overflow:hidden;border-radius:26px;padding:34px 24px 22px;text-align:center;color:#fff;
  background:radial-gradient(120% 70% at 50% 0%,#6d28d9,#1e1b4b 60%,#0b1020);box-shadow:0 30px 80px rgba(0,0,0,.5);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;animation:cfpwIn .45s cubic-bezier(.2,1.4,.4,1) both}
@keyframes cfpwIn{from{opacity:0;transform:translateY(16px) scale(.92)}}
.cfpw.k-hired .cfpw-box{background:radial-gradient(120% 70% at 50% 0%,#16a34a,#064e3b 60%,#03251c)}
.cfpw.k-offer .cfpw-box{background:radial-gradient(120% 70% at 50% 0%,#db2777,#4a044e 60%,#1a0b14)}
.cfpw.k-accepted .cfpw-box{background:radial-gradient(120% 70% at 50% 0%,#f97316,#7c2d12 60%,#1a0b14)}
.cfpw.k-milestone .cfpw-box,.cfpw.k-certified .cfpw-box{background:radial-gradient(120% 70% at 50% 0%,#0891b2,#164e63 60%,#04141c)}
.cfpw-conf{position:absolute;inset:0;pointer-events:none}
.cfpw-conf i{position:absolute;top:-20px;width:9px;height:16px;border-radius:3px;animation:cfpwFall 2.4s ease-in forwards}
@keyframes cfpwFall{to{top:110%;rotate:600deg;opacity:.2}}
.cfpw-medal{width:86px;height:86px;margin:0 auto 14px;border-radius:50%;position:relative;
  background:radial-gradient(circle at 35% 30%,#fef3c7,#f59e0b 55%,#b45309);box-shadow:0 0 0 6px rgba(250,204,21,.25),0 0 50px rgba(250,204,21,.55);animation:cfpwPop 2.4s ease-in-out infinite}
.cfpw-medal::after{content:"\2605";position:absolute;inset:0;display:grid;place-items:center;font-size:40px;color:#fff;text-shadow:0 2px 0 rgba(120,53,15,.4)}
.cfpw.k-hired .cfpw-medal::after{content:"\2714"}
.cfpw.k-accepted .cfpw-medal::after{content:"\1F393";font-size:38px}
.cfpw.k-milestone .cfpw-medal::after{content:"\2691"}
@keyframes cfpwPop{0%,100%{scale:1}12%{scale:1.14}24%{scale:.97}36%{scale:1}}
.cfpw-hi{margin:0;font-size:13px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#fde68a}
.cfpw-t{margin:6px 0 8px;font-size:32px;line-height:1.05;font-weight:900;letter-spacing:-.03em;color:#fff}
.cfpw-what{margin:0 0 6px;font-size:16px;font-weight:800;color:#e9d5ff}
.cfpw-note{margin:0 0 18px;font-size:13px;color:#c7d2fe}
.cfpw-acts{display:grid;gap:10px}
.cfpw-btn{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;font:inherit;font-size:15px;font-weight:800;text-decoration:none;cursor:pointer;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff}
.cfpw-btn.pri{background:#fff;color:#1e1b4b;border-color:#fff}
.cfpw-btn.ghost{background:transparent;border-color:transparent;color:#c7d2fe;min-height:40px}
.cfpw-btn:focus-visible{outline:3px solid #fde68a;outline-offset:2px}
/* College: "I got in!" */
.hm .nsl:has(.cfpw-gotin){grid-template-columns:minmax(0,1fr) auto auto}
.cfpw-gotin{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid #f59e0b;background:#fffbeb;color:#92400e;font:inherit;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap}
.cfpw-gotin.on{background:#16a34a;border-color:#16a34a;color:#fff}
.cfpw-gotin:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.cfpw-box,.cfpw-medal,.cfpw-conf i{animation:none!important}}
