/* Meterless email-capture modals for the Nightshift landing page:
   waitlist (waitlist.php), verify-to-download (verify.php), free-tool poll
   (vote.php). Palette mirrors the page's orbit/daylight edition dialogs. */
.ml-modal{width:min(520px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:34px clamp(22px,4vw,38px) 28px;border:1px solid #b496d75e;border-radius:15px;background:#100c16;color:#f0edf7;overflow:auto;box-shadow:0 40px 140px #0009}
.ml-modal [hidden]{display:none!important}
.ml-modal.ml-wide{width:min(660px,calc(100vw - 32px))}
.ml-modal::backdrop{background:#050309e0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.ml-modal[open]{animation:mlRise .32s cubic-bezier(.2,.8,.2,1)}
@keyframes mlRise{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
body:has(.ml-modal[open]){overflow:hidden}
.ml-close{position:absolute;top:14px;right:14px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #b496d745;border-radius:50%;background:#20172b;color:#cfbfdc;font-size:22px;line-height:1}
.ml-close:hover{border-color:#d6f588;color:#d6f588}
.ml-eyebrow{font:11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#d6f588;margin-bottom:14px;padding-right:40px}
.ml-eyebrow.ok{color:#5fbfa8}
.ml-title{font-size:32px;font-weight:440;letter-spacing:-.045em;line-height:1.08;margin:0 0 12px;color:#f0edf7}
.ml-title em{font-family:Georgia,serif;font-weight:400;color:#d6f588}
.ml-sub{font-size:14.5px;line-height:1.65;color:#b5a9bf;margin:0 0 20px}
.ml-sub b{color:#f0edf7;font-weight:500}
.ml-form{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}
.ml-form .button,.ml-actions .button,.ml-row-actions .button{width:100%;min-width:0;font-size:14px;border-radius:30px}
.ml-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.ml-error{font-size:13px;line-height:1.45;color:#f2a97e;margin:-4px 0 0}
.ml-fine{display:flex;flex-wrap:wrap;gap:6px 16px;font:10.5px var(--mono);letter-spacing:.06em;color:#8b7f9b}
.ml-actions{display:flex;flex-direction:column;gap:10px;margin:4px 0 14px}
.ml-actions .button{justify-content:flex-start;gap:14px;text-align:left;padding:13px 18px}
.ml-actions .button b{display:block;font-weight:500;font-size:14.5px}
.ml-actions .button small{display:block;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin-top:2px}
.ml-actions .button .ml-body{flex:1;min-width:0}
.ml-actions .button .ml-arrow{flex:none;opacity:.75}
.ml-tip{font:11.5px var(--mono);color:#aaa4b8;background:#09070e;border:1px solid #b49acd30;border-radius:8px;padding:10px 12px;margin:0 0 16px;word-break:break-all}
.ml-tip b{color:#d8cfe3;font-weight:500;margin-right:4px}
.ml-tip[data-vd-note]{word-break:normal;line-height:1.6}
.ml-tip[data-vd-note] a{color:#d6f588;text-decoration:underline}
.ml-cmd{position:relative;margin:4px 0 12px;padding:12px 74px 12px 14px;background:#09070e;border:1px solid #d6f58855;border-radius:10px}
.ml-cmd small{display:block;font:9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#a799b4;margin-bottom:6px}
.ml-cmd code{display:block;font:12.5px var(--mono);color:#e7f5c4;overflow-wrap:anywhere;user-select:all}
.ml-copy{position:absolute;right:10px;top:50%;transform:translateY(-50%);padding:7px 12px;border:1px solid #d6f58866;border-radius:20px;background:none;color:#d6f588;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.ml-copy:hover{background:#d6f5881a}
.ml-row-actions{display:flex;gap:10px;flex-wrap:wrap}
.ml-row-actions .button{flex:1 1 180px;width:auto}

/* Poll */
.ml-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.ml-opt{display:flex;align-items:flex-start;gap:10px;text-align:left;padding:11px 12px;font-size:13.5px;line-height:1.35;color:#ece4f5;background:#09070e;border:1px solid #b49acd45;border-radius:8px}
.ml-opt:before{content:'';flex:none;width:15px;height:15px;margin-top:1px;border:1.5px solid #8b7f9b;border-radius:4px}
.ml-opt:hover{border-color:#d6f58880}
.ml-opt[aria-pressed=true]{border-color:#d6f588;background:#d6f5880d}
.ml-opt[aria-pressed=true]:before{border-color:#d6f588;background:#d6f588 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f132b' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l5 5 9-11'/%3E%3C/svg%3E") center/11px no-repeat}
.ml-opt small{display:block;font-size:11.5px;color:#9d8ba9;margin-top:3px}
.ml-results{display:grid;gap:10px;margin-bottom:20px}
.ml-result{display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:baseline}
.ml-result span{font-size:13.5px;color:#ece4f5}
.ml-result em{font:9px var(--mono);font-style:normal;letter-spacing:.1em;color:#d6f588;margin-left:6px}
.ml-result code{font:11px var(--mono);color:#aaa4b8}
.ml-result i{grid-column:1/-1;height:6px;border-radius:99px;background:#241b2e;overflow:hidden}
.ml-result i b{display:block;height:100%;width:0;background:#8a73a6;border-radius:99px;transition:width .7s cubic-bezier(.2,.7,.2,1)}
.ml-result.mine i b{background:#d6f588}

/* Inline waitlist inside the Mac / DGX release dialog */
.release-notify{margin:0 0 22px;padding:18px;border:1px solid #b49acd35;border-radius:10px;background:#0d0914}
.release-notify .ml-form{margin:0}
.release-notify .rev-field input{font-size:15px}
.release-notify .rev-thanks{margin:0}

/* Desktop download row under the free AI app cards */
.app-downloads{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin-top:28px;padding:20px 22px;border:1px solid #b8a0d030;border-radius:14px;background:#100c16}
.app-downloads>span{font:11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#a799b4;margin-right:auto}
.app-downloads .button{width:auto;min-width:0;min-height:42px;padding:10px 18px;font-size:13.5px;border-radius:30px;gap:10px}

button.tb-cta{background:none;padding:0;text-align:left;border:0}

/* Free Tools header: Find + rotating Launch buttons, and the trust badges */
.tools-cta{display:flex;flex-wrap:wrap;gap:12px;flex:none}
.tools-launch{gap:10px!important;border-color:color-mix(in srgb,var(--app-color,#d6f588) 55%,transparent);color:#f0edf7;transition:border-color .3s,background .2s,transform .2s}
.tools-launch i{width:8px;height:8px;border-radius:50%;background:var(--app-color,#d6f588);box-shadow:0 0 10px var(--app-color,#d6f588);transition:background .3s,box-shadow .3s}
.tools-launch:hover{border-color:var(--app-color,#d6f588);background:color-mix(in srgb,var(--app-color,#d6f588) 10%,transparent)}
.tools-launch-label{display:inline-block;min-width:8.5ch;transition:opacity .22s ease,transform .22s ease}
.tools-launch.is-swapping .tools-launch-label{opacity:0;transform:translateY(4px)}
.tools-badges{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;padding:0}
.tools-badges li{display:inline-flex;align-items:center;gap:9px;padding:8px 15px;border:1px solid #b49acd40;border-radius:999px;background:#ffffff08;font:11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#d8cfe3}
.tools-badges li:before{content:'✓';color:#5fbfa8;font-weight:700}
@media(max-width:760px){.tools-cta{width:100%}.tools-cta .button{flex:1 1 auto}.tools-badges li{font-size:10px;padding:7px 12px}}

@media(max-width:600px){
  .ml-title{font-size:27px}
  .ml-opts{grid-template-columns:1fr}
  .app-downloads{flex-direction:column;align-items:stretch}
  .app-downloads>span{margin:0 0 4px}
  .app-downloads .button{width:100%}
}

/* Nightshift for Mac preorder dialog (site/preorder.js, preorder/offer.php).
   Two panes: the Mac running a night on the left, the offer on the right. Every term stays visible;
   the consent box and button stick to the bottom of the offer pane while the terms scroll. */
.availability.preorder{--po-bg:#130d1b;max-width:none;width:min(1010px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:hidden;background:var(--po-bg);border:1px solid #b092cb55;border-radius:20px;box-shadow:0 50px 160px #000c}
.availability.preorder[open]{animation:mlRise .32s cubic-bezier(.2,.8,.2,1)}
body:has(.availability.preorder[open]){overflow:hidden}
.availability.preorder .dialog-close{z-index:4;top:16px;right:16px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid #b496d745;border-radius:50%;background:#20172bd9;color:#cfbfdc;font-size:22px;line-height:1}
.availability.preorder .dialog-close:hover{border-color:#d6f588;color:#d6f588}
.po-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)}

/* left: the Mac */
.po-stage{position:relative;display:flex;flex-direction:column;justify-content:center;gap:20px;padding:56px 18px 32px;overflow:hidden;border-right:1px solid #b49acd26;background:radial-gradient(80% 50% at 50% 40%,#3b2556 0%,transparent 72%),radial-gradient(70% 30% at 50% 88%,#d6f58812,transparent 70%),linear-gradient(180deg,#1b1127,#0b0811)}
.po-stage:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.7;background:radial-gradient(1px 1px at 12% 14%,#fff9,transparent),radial-gradient(1px 1px at 78% 9%,#fff8,transparent),radial-gradient(1.5px 1.5px at 88% 24%,#d6f588aa,transparent),radial-gradient(1px 1px at 30% 6%,#fff6,transparent),radial-gradient(1px 1px at 58% 18%,#fff5,transparent),radial-gradient(1px 1px at 6% 36%,#fff5,transparent),radial-gradient(1px 1px at 94% 52%,#fff4,transparent)}
.po-visual{position:relative;margin:0}
.po-mac{position:relative;width:100%;max-width:470px;margin:0 auto}
.po-mac:after{content:'';position:absolute;left:4%;right:4%;bottom:-12px;height:26px;border-radius:50%;background:radial-gradient(closest-side,#000d,transparent);z-index:-1}
.po-mbp{display:block;width:100%;height:auto;filter:drop-shadow(0 26px 34px #000b)}
/* the display area of macbook-pro.webp (orbit-daylight-assets/hardware-sources.md); Apple's wallpaper shows around the window */
.po-screen{position:absolute;left:11.33%;top:2.95%;width:78.22%;height:84.87%;container-type:inline-size;display:flex;flex-direction:column;border-radius:1.2cqw 1.2cqw 0 0;overflow:hidden}
.po-menubar{display:flex;align-items:center;gap:2.6cqw;flex:none;height:4.6cqw;padding:0 3cqw;background:#00000059;font:500 max(6px,2cqw)/1 var(--sans);color:#e9e3f2;letter-spacing:0}
.po-menubar b{font-weight:650}
.po-menubar em{margin-left:auto;font-style:normal;opacity:.75}
.po-moon{width:2.4cqw;height:2.4cqw;border-radius:50%;box-shadow:inset .7cqw -.3cqw 0 0 #d6f588}
.po-window{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;margin:3.6cqw 5cqw 5cqw;border:1px solid #b49acd40;border-radius:1.6cqw;background:#120c1bf2;box-shadow:0 2cqw 6cqw #000a;overflow:hidden}
.po-titlebar{display:flex;align-items:center;gap:1.1cqw;flex:none;padding:1.4cqw 2cqw;border-bottom:1px solid #b49acd22;font:max(6px,1.75cqw)/1 var(--mono);letter-spacing:.06em;color:#a798b7}
.po-titlebar i{width:1.5cqw;height:1.5cqw;border-radius:50%;background:#ff5f57}
.po-titlebar i:nth-child(2){background:#febc2e}.po-titlebar i:nth-child(3){background:#28c840}
.po-titlebar span{flex:1;text-align:center;padding-right:5cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.po-night{display:block;flex:1 1 auto;min-height:0;width:100%;height:auto;padding:1cqw 2cqw 0;overflow:hidden}
.po-night .po-zone{display:none}
.po-night .po-verdict text{font-size:13px}
.po-phases{position:relative;display:flex;justify-content:space-between;flex:none;padding:1.6cqw 2.4cqw 1.9cqw;border-top:1px solid #b49acd22;font:max(6px,1.7cqw)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#6f6380}
.po-progress{position:absolute;left:0;right:0;top:-1px;height:1px;background:#d6f588;box-shadow:0 0 6px #d6f588;transform-origin:left;animation:poProg 9s linear infinite}
.po-phases .p1{animation:poP1 9s linear infinite}.po-phases .p2{animation:poP2 9s linear infinite}.po-phases .p3{animation:poP3 9s linear infinite}
@keyframes poProg{0%{transform:scaleX(0);opacity:1}96%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
@keyframes poP1{0%,40%{color:#d6f588}44%,100%{color:#6f6380}}
@keyframes poP2{0%,42%{color:#6f6380}46%,68%{color:#d6f588}72%,100%{color:#6f6380}}
@keyframes poP3{0%,70%{color:#6f6380}74%,97%{color:#d6f588}100%{color:#6f6380}}
.po-visual figcaption{position:relative;max-width:400px;margin:30px auto 0;text-align:center;font-size:13.5px;line-height:1.6;color:#b7a9c6}
.po-badges{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none}
.po-badges li{display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #b49acd33;border-radius:30px;background:#ffffff08;font-size:12.5px;color:#ddd3e8}
.po-badges svg{width:15px;height:15px;fill:none;stroke:#d6f588;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* right: the offer */
.po-form{display:block;min-width:0;max-height:calc(100dvh - 34px);overflow-y:auto;overscroll-behavior:contain;padding:46px 42px 0;scrollbar-width:thin;scrollbar-color:#b49acd40 transparent}
.availability.preorder .eyebrow{margin:0 0 16px;font-size:11px}
.availability.preorder h2{margin:0 0 12px;font-size:46px;line-height:1;letter-spacing:-.05em}
.availability.preorder p{margin:0;font-size:14px;line-height:1.6;color:#cfc4da}
.availability.preorder p.po-lead{margin:0 0 22px;font-size:15.5px;color:#bdb0cb;max-width:470px}
.po-notice{font-size:13px;line-height:1.5;padding:10px 12px;border-radius:8px;border:1px solid #eac58b88;background:#eac58b14;color:#f3dcae;margin:0 0 18px}
.availability.preorder p.po-notice{margin:0 0 18px;font-size:13px;color:#f3dcae}
.po-notice.test{border-color:#6fa8dc66;background:#6fa8dc14}.availability.preorder p.po-notice.test{color:#c9def2}
.po-notice[hidden]{display:none}
.po-price{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 28px;padding-bottom:26px;border-bottom:1px solid #b49acd26}
.po-price b{flex-basis:100%;margin-bottom:6px;white-space:nowrap;font-size:52px;font-weight:450;letter-spacing:-.045em;line-height:1;color:#f7f4fb}
.po-pill{white-space:nowrap;padding:6px 10px;border:1px solid #b49acd40;border-radius:30px;font:11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#bdb0cb}
.po-pill em{font-style:normal}
.po-pill.lime{border-color:#d6f58866;background:#d6f58814;color:#d6f588}
.po-sec{margin:0 0 26px}
.po-label{margin:0 0 14px;font:11px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#a798b7}
.po-steps{margin:0;padding:0;list-style:none;display:grid;gap:18px}
.po-steps li{position:relative;display:grid;grid-template-columns:38px 1fr;gap:14px}
.po-steps li:not(:last-child):before{content:'';position:absolute;left:18.5px;top:42px;bottom:-16px;width:1px;background:linear-gradient(#d6f58870,#b49acd26)}
.po-node{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d6f58850;border-radius:50%;background:#d6f5880f}
.po-node svg{width:18px;height:18px;fill:none;stroke:#d6f588;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.po-steps h4{margin:8px 0 4px;font-size:15px;font-weight:600;letter-spacing:-.01em;color:#f0edf7}
.availability.preorder p.po-big{font-size:20px;line-height:1.3;letter-spacing:-.02em;color:#f0edf7;margin-bottom:4px}
.availability.preorder p.po-sub{font-size:13px;color:#a798b7}
.po-fit{padding:18px 18px 16px;border:1px solid #b49acd30;border-radius:14px;background:#0d0914}
.po-macs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:0 0 4px;padding:0;list-style:none}
.po-macs li{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;line-height:1.2;text-align:center;color:#a798b7}
.po-macs svg{width:40px;height:28px;fill:none;stroke:#e2d9ef;stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}
.po-spec{margin:0}
.po-spec>div{margin-top:14px;padding-top:14px;border-top:1px dashed #b49acd2e}
.po-spec dt,.po-license .po-label{margin:0 0 6px;font:10.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#d6f588}
.po-spec dd{margin:0;font-size:13.5px;line-height:1.55;color:#cfc4da}
.po-insider{margin:-8px 0 26px;padding:12px 14px;border-radius:10px;border:1px solid #d6f58855;background:#d6f58812;font-size:13.5px;line-height:1.55;color:#e4f2c4}.po-insider[hidden]{display:none}.po-insider b{font-weight:550;color:#d6f588}.po-insider a{color:#d6f588;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.po-alt{margin:14px 0 0;padding-top:14px;border-top:1px dashed #b49acd2e;font-size:13.5px;line-height:1.55;color:#cfc4da}.po-alt b{font-weight:550;color:#ede6f3}.po-alt a{color:#d6f588;text-decoration:underline;text-underline-offset:3px}
.po-mem{display:grid;grid-template-columns:.8fr 1fr 1.2fr;gap:5px;margin:4px 0 10px}
.po-mem>span{padding:8px 10px;border-radius:9px;font-size:11px;line-height:1.25;color:#bdb0cb}
.po-mem b{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em}
.po-mem .no{display:flex;align-items:center;border:1px dashed #b49acd33;color:#6f6380;text-decoration:line-through}
.po-mem .min{border:1px solid #d6f58866;background:#d6f5880d;color:#d9ecb0}
.po-mem .rec{background:#d6f588;color:#2a3a17}
.po-license{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:16px 18px;border:1px solid #b49acd30;border-radius:14px;background:#0d0914}
.po-license .po-label{margin-top:2px}
.po-cta{position:sticky;bottom:0;z-index:3;margin:0 -42px;padding:26px 42px 16px;background:linear-gradient(180deg,#130d1b00 0,var(--po-bg) 22px)}
.po-consent{display:flex;gap:11px;align-items:flex-start;margin:0 0 12px;font-size:13px;line-height:1.5;color:#cfc4da;cursor:pointer}
.po-consent input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:#d6f588;cursor:pointer}
.po-form .ml-error{margin:0 0 10px}
.availability.preorder .po-cta .button.primary{width:100%;min-height:56px;margin:0;gap:12px;justify-content:center;border:0;border-radius:12px;background:#d6f588;color:#1b2410;font-size:16px;font-weight:620;letter-spacing:-.01em;box-shadow:0 10px 34px #d6f58830;transition:transform .15s,box-shadow .2s,background .2s}
.availability.preorder .po-cta .button.primary:hover{background:#e2fb9f;box-shadow:0 14px 40px #d6f58848;transform:translateY(-1px)}
.availability.preorder .po-cta .button.primary:disabled{opacity:.7;transform:none}
.po-cta .button svg{width:17px;height:17px}
.availability.preorder p.po-secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;font:11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#8b7f9b}
.po-secure svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}
.availability.preorder p.po-fine{padding:4px 0 30px;font-size:12px;line-height:1.6;color:#8b7f9b}
.po-fine a{color:#cfc4da}
.edition-card.preorder-card .edition-cta{color:#d6f588}
@media(max-width:820px){
  .availability.preorder{overflow:auto;overscroll-behavior:contain}
  .po-grid{display:block}
  .po-stage{gap:16px;padding:48px 22px 24px;border-right:0;border-bottom:1px solid #b49acd26}
  .po-mac{max-width:320px}
  .po-visual figcaption{margin-top:24px;font-size:13px}
  .po-form{max-height:none;overflow:visible;padding:30px 22px 0}
  .availability.preorder h2{font-size:38px}
  .po-macs{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:14px}
  .po-cta{position:static;margin:0;padding:6px 0 14px;background:none}
  .po-price b{font-size:44px}
}
@media(max-width:420px){.po-btn-price{display:none}.availability.preorder .po-cta .button.primary{font-size:15.5px}.po-badges li{font-size:12px;padding:6px 10px}.po-mem{grid-template-columns:1fr 1fr}.po-mem .no{display:none}}

/* The night in miniature, on the Mac screen (race → cluster → scribes read → one clears the bar) */
.po-zone text{font:9px var(--mono);letter-spacing:.14em;fill:#7f7390}
.po-chip rect{fill:#241a30;stroke:#b57edc66;stroke-width:1}
.po-chip .l{fill:#8a73a6;stroke:none}
.po-flow{fill:none;stroke:#b57edc;stroke-opacity:.5;stroke-width:1;stroke-dasharray:260;stroke-dashoffset:260}
.po-cluster .ring{fill:#1b1326;stroke:#b57edc;stroke-width:1.2}
.po-cluster .core{fill:#b57edc;opacity:.55}
.po-cluster .halo{opacity:0}
.po-scribe .head{fill:#e2d9ef}
.po-scribe .body{fill:none;stroke:#e2d9ef;stroke-width:1.6;stroke-linecap:round}
.po-scribe .quill{stroke:#d6f588;stroke-width:1.6;stroke-linecap:round}
.po-read{fill:none;stroke:#d6f588;stroke-width:1;stroke-dasharray:3 4;opacity:0}
.po-verdict text{font:8.5px var(--mono);letter-spacing:.14em;fill:#7f7390;dominant-baseline:middle}
.po-verdict .tick{fill:none;stroke:#d6f588;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24}
.po-verdict.v2 text{fill:#d6f588}
.po-verdict{opacity:0}
.po-chip,.po-scribe,.po-cluster .ring,.po-cluster .core{transform-box:fill-box;transform-origin:center}
/* one 9-second night, looping */
.po-chip{animation:poChip 9s cubic-bezier(.2,.7,.2,1) infinite;animation-delay:var(--d,0s)}
.po-flow{animation:poFlow 9s linear infinite;animation-delay:var(--d,0s)}
.po-cluster .ring,.po-cluster .core{animation:poCluster 9s ease-in-out infinite}
.po-cluster.c2 .halo{animation:poHalo 9s ease-in-out infinite}
.po-cluster.c2 .ring{animation-name:poClusterWin}
.po-cluster.c2 .core{animation-name:poCoreWin}
.po-read{animation:poRead 9s linear infinite}
.po-scribe{animation:poScribe 9s ease-in-out infinite}
.po-verdict{animation:poVerdict 9s ease-out infinite}
.po-verdict.v2 .tick{animation:poTick 9s ease-out infinite}
@keyframes poChip{0%,4%{opacity:0;transform:translateY(6px)}12%,70%{opacity:1;transform:none}80%,100%{opacity:.25}}
@keyframes poFlow{0%,14%{stroke-dashoffset:260;opacity:0}18%{opacity:1}40%,72%{stroke-dashoffset:0;opacity:.6}82%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes poCluster{0%,22%{transform:scale(.55);opacity:.35}42%,100%{transform:none;opacity:1}}
@keyframes poClusterWin{0%,22%{transform:scale(.55);opacity:.35;stroke:#b57edc}42%,66%{transform:none;opacity:1;stroke:#b57edc}74%,100%{transform:scale(1.08);stroke:#d6f588}}
@keyframes poCoreWin{0%,22%{transform:scale(.55);opacity:.35;fill:#b57edc}42%,66%{transform:none;opacity:.55;fill:#b57edc}74%,100%{opacity:.95;fill:#d6f588}}
@keyframes poHalo{0%,66%{opacity:0}78%,96%{opacity:1}100%{opacity:0}}
@keyframes poRead{0%,44%{opacity:0;stroke-dashoffset:0}48%,68%{opacity:.9;stroke-dashoffset:-42}72%,100%{opacity:0}}
@keyframes poScribe{0%,42%{opacity:.35;transform:translateY(0)}48%{opacity:1;transform:translateY(-2px)}56%{transform:translateY(2px)}64%{transform:translateY(-1px)}70%,100%{opacity:1;transform:none}}
@keyframes poVerdict{0%,70%{opacity:0}76%,96%{opacity:1}100%{opacity:0}}
@keyframes poTick{0%,72%{stroke-dashoffset:24}80%,100%{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){
  .po-chip,.po-flow,.po-cluster .ring,.po-cluster .core,.po-cluster .halo,.po-read,.po-scribe,.po-verdict,.po-verdict .tick,.po-phases span,.po-progress{animation:none}
  .po-progress{display:none}.po-phases span{color:#bdb0cb}
  .po-flow{stroke-dashoffset:0;opacity:.5}.po-read{opacity:.7}.po-verdict{opacity:1}.po-verdict .tick{stroke-dashoffset:0}
  .po-cluster.c2 .ring{stroke:#d6f588}.po-cluster.c2 .core{fill:#d6f588;opacity:.95}.po-cluster.c2 .halo{opacity:.8}
}
