:root{color-scheme:dark;--ph-brand-cyan: #48cfff;--ph-brand-green: #4be38a;--ph-brand-pink: #ff5acd;--ph-brand-neutral: #2a2d33;--ph-progress-base: var(--ph-brand-cyan);--ph-progress-total: var(--ph-brand-green);--ph-progress-dlc: var(--ph-brand-pink);--ph-progress-track: var(--ph-brand-neutral);--ph-status-done: var(--ph-brand-green);--ph-status-open: #8a9099;--ph-status-current: var(--ph-brand-cyan);--ph-status-missable: #ff9f0a;--ph-status-pnr: #ff453a;--ph-bg: #0b0c0e;--ph-surface: #14161a;--ph-surface-raised: #1b1e23;--ph-border: var(--ph-brand-neutral);--ph-text: #f2f4f7;--ph-text-secondary: #a7aeb8;--ph-text-muted: #6e757f;--ph-bronze: #c8763c;--ph-silver: #bfc6cf;--ph-gold: #e8b647;--ph-platinum: #9fc7e8;--ph-accent: var(--ph-platinum);--ph-space-xs: 4px;--ph-space-sm: 8px;--ph-space-md: 12px;--ph-space-lg: 16px;--ph-space-xl: 24px;--ph-space-xxl: 32px;--ph-radius-sm: 8px;--ph-radius-md: 12px;--ph-radius-lg: 16px;--ph-radius-pill: 999px;--ph-motion-push: .26s;--ph-motion-tab: .16s;--ph-motion-sheet: .28s}:root[data-theme=bronze]{--ph-accent: var(--ph-bronze)}:root[data-theme=silver]{--ph-accent: var(--ph-silver)}:root[data-theme=gold]{--ph-accent: var(--ph-gold)}:root[data-theme=platinum]{--ph-accent: var(--ph-platinum)}@media(prefers-reduced-motion:reduce){:root{--ph-motion-push: 0ms;--ph-motion-tab: 0ms;--ph-motion-sheet: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--ph-bg);color:var(--ph-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}.ph-admin.va{--ph-bg: #F4F3F0;--ph-surface: #FBFAF8;--ph-surface-raised: #FFFFFF;--ph-border: rgba(20, 22, 24, .14);--ph-text: #121416;--ph-text-secondary: #4B5058;--ph-text-muted: #6B7078;--ph-accent: #1B6A9B;--ph-brand-cyan: #0A7FB5;--ph-status-pnr: #B3402A;--va-ok: #1F7A4D;--va-warn: #8A5A12;--va-bad: #B3402A;--va-info: #1B6A9B;color-scheme:light;color:var(--ph-text);font-family:Geist Variable,Geist,system-ui,sans-serif;font-size:14px;grid-template-columns:200px minmax(0,1fr);grid-template-rows:60px minmax(0,1fr);min-height:100dvh}.va .va-side{grid-row:1 / span 2;position:sticky;top:0;align-self:start;height:100dvh;display:flex;flex-direction:column;gap:0;padding:8px 10px;overflow-y:auto;border-right:1px solid var(--ph-border);background:var(--ph-surface)}.va .va-brand{font-weight:700;letter-spacing:.14em;font-size:13px;padding:2px 10px 6px}.va .va-group{margin:8px 10px 2px;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--ph-text-muted)}.va .va-link{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:26px;padding:3px 10px;border-radius:8px;color:var(--ph-text-secondary);text-decoration:none;overflow-wrap:anywhere}.va .va-link:hover{background:#1416180d}.va .va-link.is-active{background:#fff;color:var(--ph-text);font-weight:600;box-shadow:inset 0 0 0 1px var(--ph-border)}.va .va-link:focus-visible,.va .va-btn:focus-visible,.va .va-tab:focus-visible,.va input:focus-visible,.va select:focus-visible,.va textarea:focus-visible,.va a:focus-visible{outline:2px solid var(--ph-text);outline-offset:2px}.va .va-userbox{margin-top:auto;padding:8px 10px 0;border-top:1px solid var(--ph-border);font-size:12px;color:var(--ph-text-muted)}.va .va-userbox b{display:block;color:var(--ph-text);overflow-wrap:anywhere}.va .va-top{grid-column:2;display:flex;align-items:center;gap:16px;padding:0 24px;border-bottom:1px solid var(--ph-border);background:var(--ph-surface);min-width:0}.va .va-titleblock{display:flex;flex-direction:column;gap:1px;white-space:nowrap}.va .va-titleblock__context{font-size:12px;color:var(--ph-text-muted)}.va .va-titleblock__title{font-size:18px;font-weight:650;letter-spacing:-.02em}.va .va-search{flex:1;max-width:460px;margin-left:auto}.va .va-search input{width:100%;box-sizing:border-box}.va .va-env{font-size:11px;font-weight:700;letter-spacing:.08em;padding:3px 9px;border-radius:999px;border:1px solid var(--ph-border);text-transform:uppercase}.va .va-main{grid-column:2;padding:24px;min-width:0;overflow-x:auto}.va .va-main--split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.va .va-page__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.va .va-title{margin:0;font-size:24px;font-weight:650;letter-spacing:-.03em}.va .va-sub{margin:4px 0 0;color:var(--ph-text-secondary);max-width:70ch;line-height:1.5}.va .va-actions{display:flex;gap:8px;flex-wrap:wrap}.va .va-btn,.va button.va-btn{font:inherit;padding:8px 14px;min-height:36px;border-radius:8px;border:1px solid var(--ph-border);background:#fff;color:var(--ph-text);cursor:pointer}.va .va-btn--primary{background:var(--ph-text);color:#fff;border-color:var(--ph-text)}.va .va-btn--danger{background:var(--va-bad);color:#fff;border-color:var(--va-bad)}.va .va-btn--small{padding:3px 10px;min-height:28px;font-size:13px}.va .va-btn:disabled{opacity:.5;cursor:default}.va .va-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}.va .va-tab{font:inherit;padding:6px 12px;border-radius:999px;border:1px solid var(--ph-border);background:transparent;cursor:pointer;color:var(--ph-text-secondary);min-height:34px}.va .va-tab[aria-pressed=true]{background:var(--ph-text);color:#fff;border-color:var(--ph-text)}.va .va-tab__n{margin-left:6px;font-weight:650}.va .va-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--ph-border);font-size:13.5px}.va .va-table caption{text-align:left;padding:0 0 8px;color:var(--ph-text-muted);font-size:12px;caption-side:top}.va .va-table th,.va .va-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--ph-border);vertical-align:top;overflow-wrap:anywhere}.va .va-table th{font-size:11.5px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--ph-text-muted);background:var(--ph-surface);white-space:nowrap}.va .va-table tr:last-child td{border-bottom:0}.va .va-table tr[aria-selected=true] td{background:#0a7fb512}.va .va-rowbtn{font:inherit;background:none;border:0;padding:0;color:var(--ph-accent);text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.va .va-mono{font-family:Geist Mono,ui-monospace,monospace;font-size:12.5px;overflow-wrap:anywhere}.va .va-badge{display:inline-block;padding:1px 9px;border-radius:999px;font-size:12px;font-weight:650;border:1px solid var(--ph-border);white-space:nowrap}.va .va-badge--ok{color:var(--va-ok);border-color:currentColor}.va .va-badge--warn{color:var(--va-warn);border-color:currentColor}.va .va-badge--bad{color:var(--va-bad);border-color:currentColor}.va .va-badge--info{color:var(--va-info);border-color:currentColor}.va .va-state{margin:8px 0 16px;padding:12px 14px;border:1px solid var(--ph-border);border-radius:10px;background:#fff;color:var(--ph-text-secondary);line-height:1.5}.va .va-state--error{border-color:var(--va-bad);color:var(--va-bad)}.va .va-state--warn{border-color:var(--va-warn);color:var(--va-warn)}.va .va-detail{position:sticky;top:16px;padding:16px;border:1px solid var(--ph-border);border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:12px;max-height:calc(100dvh - 100px);overflow-y:auto}.va .va-detail h2{margin:0;font-size:17px;overflow-wrap:anywhere}.va .va-detail h3{margin:6px 0 0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ph-text-muted)}.va .va-facts{margin:0;display:flex;flex-direction:column}.va .va-facts>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--ph-border)}.va .va-facts>div:last-child{border-bottom:0}.va .va-facts dt{color:var(--ph-text-muted);flex:none}.va .va-facts dd{margin:0;text-align:right;overflow-wrap:anywhere;min-width:0}.va .va-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:14px}.va .va-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.va .va-field label{font-size:12.5px;font-weight:600;color:var(--ph-text-secondary)}.va .va-field small{color:var(--ph-text-muted)}.va input[type=text],.va input[type=search],.va input[type=password],.va input[type=date],.va input:not([type]),.va select,.va textarea{font:inherit;padding:8px 10px;border:1px solid var(--ph-border);border-radius:8px;background:#fff;color:var(--ph-text);min-height:36px;box-sizing:border-box;max-width:100%}.va textarea{width:100%;resize:vertical}.va .va-check{display:flex;gap:8px;align-items:flex-start;margin:6px 0 12px;line-height:1.4}.va .va-scrim{position:fixed;inset:0;z-index:100;background:#14161873;display:flex;align-items:center;justify-content:center;padding:16px}.va .va-dialog{width:min(520px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;background:#fff;border-radius:14px;padding:22px;box-shadow:0 24px 60px #0000004d}.va .va-dialog--danger{border-top:4px solid var(--va-bad)}.va .va-dialog h2{margin:0 0 8px;font-size:19px}.va .va-dialog__body{color:var(--ph-text-secondary);line-height:1.5;margin-bottom:14px}.va .va-dialog__actions{display:flex;justify-content:flex-end;gap:8px}.va .va-cmp{display:grid;grid-template-columns:1fr 1fr;gap:12px}.va .va-cmp>section{border:1px solid var(--ph-border);border-radius:10px;padding:12px;background:#fff;min-width:0}.va .va-cmp h3{margin:0 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ph-text-muted)}.va .va-cmp pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.va .va-switch{display:grid;grid-template-columns:minmax(0,1.2fr) 80px minmax(0,2fr) minmax(0,1.5fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--ph-border)}.va .va-card{border:1px solid var(--ph-border);border-radius:12px;background:#fff}.va .va-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:20px}.va .va-stat{padding:14px 16px;border:1px solid var(--ph-border);border-radius:12px;background:#fff}.va .va-stat b{display:block;font-size:26px;letter-spacing:-.03em}.va .va-stat span{color:var(--ph-text-muted);font-size:12.5px}.va .va-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:1100px){.ph-admin.va{grid-template-columns:168px minmax(0,1fr)}.va .va-brand{white-space:nowrap;letter-spacing:.06em;font-size:12px;padding:2px 4px 6px}.va .va-main--split{grid-template-columns:minmax(0,1fr)}.va .va-detail{position:static;max-height:none}.va .va-cmp,.va .va-switch{grid-template-columns:1fr}}@media(prefers-reduced-motion:no-preference){.va .va-link,.va .va-btn{transition:background-color .12s ease}}.va .va-subhead{margin:22px 0 8px;font-size:15px;font-weight:650}.va .va-card ul{margin:0;padding-left:18px;line-height:1.8}.va .va-table td .va-btn--small{white-space:nowrap}.ph-admin{display:grid;grid-template-columns:240px 1fr;min-height:100dvh;background:var(--ph-bg)}.ph-admin__sidebar{display:flex;flex-direction:column;gap:var(--ph-space-xs);padding:var(--ph-space-lg);border-right:1px solid var(--ph-border);background:var(--ph-surface)}.ph-admin__brand{font-weight:600;margin-bottom:var(--ph-space-lg);color:var(--ph-accent)}.ph-admin__link{display:block;padding:var(--ph-space-sm) var(--ph-space-md);border-radius:var(--ph-radius-sm);color:var(--ph-text-secondary);text-decoration:none;font-size:14px}.ph-admin__link.is-active{background:var(--ph-surface-raised);color:var(--ph-text)}.ph-admin__hint{margin-top:auto;color:var(--ph-text-muted);font-size:12px;line-height:1.5}.ph-admin__content{padding:var(--ph-space-xl);max-width:1100px}.ph-admin__title{margin:0 0 var(--ph-space-sm);font-size:24px}.ph-admin__note{color:var(--ph-text-secondary);line-height:1.6;max-width:60ch}@media(max-width:800px){.ph-admin{grid-template-columns:1fr}.ph-admin__sidebar{border-right:none;border-bottom:1px solid var(--ph-border)}}.ph-admin__gate{display:flex;flex-direction:column;justify-content:center;gap:var(--ph-space-md);min-height:100dvh;max-width:360px;margin:0 auto;padding:var(--ph-space-xl);color:var(--ph-text-secondary)}.ph-admin__form{display:flex;flex-direction:column;gap:var(--ph-space-sm)}.ph-admin__input{padding:12px var(--ph-space-md);border-radius:var(--ph-radius-sm);border:1px solid var(--ph-border);background:var(--ph-surface-raised);color:var(--ph-text);font-size:15px}.ph-admin__input:focus{outline:none;border-color:var(--ph-brand-cyan)}.ph-admin__button{padding:10px var(--ph-space-md);border-radius:var(--ph-radius-sm);border:1px solid var(--ph-border);background:transparent;color:var(--ph-text);font-size:14px;cursor:pointer}.ph-admin__button:disabled{opacity:.55;cursor:default}.ph-admin__error{margin:0;color:var(--ph-status-pnr);font-size:13px}.ph-admin__user{color:var(--ph-text-secondary);overflow-wrap:anywhere}.ph-admin__subtitle{margin:28px 0 10px;font-size:15px;font-weight:600}.ph-admin__table{width:100%;border-collapse:collapse;margin:12px 0 20px;font-size:13px}.ph-admin__table th,.ph-admin__table td{text-align:left;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.1);vertical-align:top}.ph-admin__table th{font-weight:600;white-space:nowrap;opacity:.75}.ph-admin__table code{font-size:12px}.ph-admin__table button,.ph-admin__table select{font:inherit}.ph-guide{display:flex;flex-direction:column;gap:var(--ph-space-md)}.ph-guide__bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ph-space-sm)}.ph-guide__status{padding:4px 10px;border-radius:999px;border:1px solid var(--ph-border);font-size:13px}.ph-guide__status--published{border-color:var(--ph-brand-cyan);color:var(--ph-brand-cyan)}.ph-guide__danger{border-color:#c0392b;color:#c0392b}.ph-guide__blockers{padding:var(--ph-space-md);border:1px solid var(--ph-border);border-radius:var(--ph-radius-sm)}.ph-guide__list{margin:var(--ph-space-xs) 0 0;padding-left:20px;font-size:14px}.ph-guide__block{display:flex;flex-direction:column;gap:var(--ph-space-sm);padding:var(--ph-space-md);border:1px solid var(--ph-border);border-radius:var(--ph-radius-sm)}.ph-guide__block .ph-guide__block{background:var(--ph-surface)}.ph-guide__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ph-space-xs)}.ph-guide__row .ph-admin__input{padding:6px 8px;font-size:14px}.ph-guide__grow{flex:1 1 220px;min-width:120px}.ph-guide__small{padding:4px 8px;font-size:13px}.ph-guide__label{font-size:12px;color:var(--ph-text-muted)}.ph-guide__badge{padding:4px 10px;border-radius:999px;border:1px solid #b7791f;color:#b7791f;font-size:13px}.ph-guide__badge--reviewed{border-color:var(--ph-border);color:var(--ph-text-muted)}.ph-agent__table td,.ph-agent__table th{vertical-align:top}.ph-pass{position:relative;flex:none;font-family:Geist,-apple-system,system-ui,sans-serif}.ph-pass__card{position:relative;width:358px;height:252px;border-radius:18px;overflow:hidden;box-shadow:0 24px 36px -22px #0f192373,0 2px 4px #0f192314}.ph-pass-stage{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}button.ph-pass-stage{padding:0;border:0;background:none;text-align:left;cursor:pointer}.ph-pass-stage__paper{width:100%;cursor:pointer}.ph-pass-stage__fit{position:relative;width:100%;height:252px}.ph-pass-stage__scaler{position:absolute;left:50%;top:0;width:358px;height:252px;transform:translate(-50%) scale(var(--ph-pass-scale, 1));transform-origin:50% 0}.ph-pass-stage__tilt{width:358px;height:252px;perspective:1200px;transform-style:preserve-3d}.ph-pass-stage__flip{width:358px;height:252px;transform:var(--ph-pass-tf, none);transition:transform .12s var(--ph-ease-enter, ease-out);will-change:transform}.ph-pass-stage__flip[data-phase=out]{transform:rotateY(90deg);transition:transform .15s var(--ph-ease-exit, ease-in)}.ph-pass-stage__flip[data-phase=in]{animation:ph-pass-in .18s var(--ph-ease-enter, ease-out)}@keyframes ph-pass-in{0%{transform:rotateY(-90deg)}}.ph-pass-stage__marks{display:flex;gap:2px}.ph-pass-stage__mark{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.ph-pass-stage__mark i{width:7px;height:7px;border-radius:50%;background:var(--ph-color-ink-3, #8C8F94);opacity:.45;transition:opacity var(--ph-dur-fast, .18s),transform var(--ph-dur-fast, .18s)}.ph-pass-stage__mark[aria-pressed=true] i{opacity:1;background:var(--ph-color-ink, #121416);transform:scale(1.25)}.ph-pass-stage__mark:focus-visible,.ph-pass-stage--link:focus-visible{outline:2px solid var(--ph-color-ink, #121416);outline-offset:2px;border-radius:18px}.ph-pass-stage__mark:focus-visible{border-radius:50%}@media(prefers-reduced-motion:reduce){.ph-pass-stage__flip,.ph-pass-stage__flip[data-phase=out]{transform:none;transition:none}.ph-pass-stage__flip[data-phase=in]{animation:ph-pass-fade var(--ph-dur-instant, .1s) linear}.ph-pass-stage__mark i{transition:none}}@keyframes ph-pass-fade{0%{opacity:0}}
