:root{--oa-primary: #2563eb;--oa-primary-rgb: 37, 99, 235;--oa-primary-hover: #1d4ed8;--oa-primary-light: #eff6ff;--oa-on-primary: #ffffff;--oa-primary-text: #2563eb;--oa-success: #16a34a;--oa-success-light: #f0fdf4;--oa-error: #dc2626;--oa-error-light: #fef2f2;--oa-warning: #d97706;--oa-text: #1f2937;--oa-text-muted: #6b7280;--oa-border: #d1d5db;--oa-border-focus: #2563eb;--oa-bg: #ffffff;--oa-bg-muted: #f9fafb;--oa-highlight: #2563eb;--oa-highlight-bg: #eff6ff;--oa-gap: 1rem;--oa-gap-sm: .5rem;--oa-gap-lg: 1.5rem;--oa-radius: .5rem;--oa-radius-lg: .75rem;--oa-touch-min: 48px}:root{color-scheme:light;--pf-page-bg: #f9fafb;--pf-focus: var(--oa-border-focus)}*{box-sizing:border-box}html,body{margin:0;background:var(--pf-page-bg);color:var(--oa-text)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5;-webkit-tap-highlight-color:transparent}img{max-width:100%}p{margin:0 0 var(--oa-gap-sm)}:focus-visible{outline:2px solid var(--pf-focus);outline-offset:2px}.pf-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.pf-header{background:var(--oa-bg);border-bottom:1px solid var(--oa-border)}.pf-header__inner{max-width:820px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:14px;min-height:56px}.pf-header__logo{height:34px;width:auto}.pf-header__name{font-weight:700;font-size:1.05rem}.pf-header__title{margin-left:auto;color:var(--oa-text-muted);font-size:.875rem;text-align:right}.pf-main{max-width:820px;margin:0 auto;padding:var(--oa-gap-lg) var(--oa-gap) calc(var(--oa-gap-lg) + env(safe-area-inset-bottom))}.pf-footer{max-width:820px;margin:0 auto;padding:0 var(--oa-gap) var(--oa-gap-lg);color:var(--oa-text-muted);font-size:.8125rem;text-align:center}.pf-footer a{color:var(--oa-primary-text)}.pf-h1{font-size:1.375rem;font-weight:700;margin:0 0 var(--oa-gap-sm);line-height:1.3}.pf-h1:focus,.pf-h1:focus-visible{outline:none}.pf-h2{font-size:1.125rem;font-weight:600;margin:0 0 var(--oa-gap-sm)}.pf-lead{color:var(--oa-text-muted);margin-bottom:var(--oa-gap)}.pf-muted{color:var(--oa-text-muted)}.pf-small{font-size:.875rem}.pf-center{text-align:center}.pf-error{color:var(--oa-error);font-weight:600;margin:var(--oa-gap-sm) 0}.pf-pbar{margin-bottom:var(--oa-gap-lg)}.pf-pbar__labels{display:flex;list-style:none;margin:0 0 8px;padding:0}.pf-pbar__label{flex:1;font-size:.75rem;font-weight:600;color:#6b7280;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-pbar__label:first-child{text-align:left}.pf-pbar__label:last-child{text-align:right}.pf-pbar__label--active{color:var(--oa-primary-text, var(--oa-primary))}.pf-pbar__label--done{color:#15803d}.pf-pbar__mobile{display:none;text-align:center;font-size:.8125rem;font-weight:600;color:var(--oa-primary-text, var(--oa-primary));margin:0 0 8px}.pf-pbar__track{position:relative;height:6px;background:#e4e6eb;border-radius:3px;margin:8px 6px}.pf-pbar__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--oa-primary),var(--oa-pbar-fill-end, #6b8cff));transition:width .3s ease}.pf-pbar__dot{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:#d1d5db;transform:translate(-50%,-50%);transition:all .3s ease}.pf-pbar__dot--done{background:var(--oa-primary)}.pf-pbar__dot--active{width:12px;height:12px;background:#fff;border:2px solid var(--oa-primary);box-shadow:0 0 0 3px rgba(var(--oa-primary-rgb),.15)}@media (max-width: 540px){.pf-pbar__labels{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}.pf-pbar__mobile{display:block}}.pf-card{background:var(--oa-bg);border:1px solid var(--oa-border);border-radius:var(--oa-radius-lg);padding:var(--oa-gap);margin-bottom:var(--oa-gap)}.pf-box{padding:var(--oa-gap);border-radius:var(--oa-radius);border-left:4px solid var(--oa-primary);background:var(--oa-primary-light);margin-bottom:var(--oa-gap);font-size:.9375rem}.pf-box--info{border-left-color:var(--oa-primary);background:var(--oa-primary-light)}.pf-box--success{border-left-color:var(--oa-success);background:var(--oa-success-light);color:#166534;font-weight:600}.pf-box--error{border-left-color:var(--oa-error);background:var(--oa-error-light);color:#991b1b;font-weight:600}.pf-box--warning{border-left-color:var(--oa-warning);background:#fffbeb}.pf-box p:last-child{margin-bottom:0}.pf-list{margin:0;padding-left:1.25rem}.pf-list li{margin:6px 0}.pf-nav{display:flex;justify-content:space-between;align-items:center;gap:var(--oa-gap-sm);margin-top:var(--oa-gap-lg);padding-top:var(--oa-gap);border-top:1px solid var(--oa-border);flex-wrap:wrap}.pf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--oa-touch-min);border-radius:12px;font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;text-decoration:none;transition:background-color .15s,border-color .15s,box-shadow .2s,transform .2s}.pf-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.pf-btn--next{background:var(--oa-primary);color:var(--oa-on-primary, #fff);border:none;padding:14px 36px;box-shadow:0 4px 14px rgba(var(--oa-primary-rgb),.25)}.pf-btn--next:disabled{background:#c0c8e0;color:#fff;box-shadow:none;opacity:1}.pf-btn--back{background:none;border:2px solid #c9ced8;padding:12px 28px;font-size:.9375rem;font-weight:600;color:#4b5563}.pf-btn--glass{background:#111827b8;color:#fff;border:none;padding:10px 14px;font-size:.875rem;min-height:44px;backdrop-filter:blur(6px)}.pf-btn--icon{width:44px;min-width:44px;height:44px;padding:0;border-radius:50%}.pf-btn--icon svg{display:block}@media (hover: hover){.pf-btn--next:hover:not(:disabled){background:var(--oa-primary-hover);transform:translateY(-1px);box-shadow:0 6px 20px rgba(var(--oa-primary-rgb),.35)}.pf-btn--back:hover:not(:disabled){border-color:#8a8f9c;color:var(--oa-text)}}@media (max-width: 540px){.pf-nav .pf-btn--next{flex:1 1 100%;order:-1}.pf-nav .pf-btn--back{flex:1 1 100%}.pf-nav>span:empty{display:none}}.pf-qr{display:flex;flex-wrap:wrap;gap:var(--oa-gap);align-items:flex-start}.pf-qr>div{flex:1 1 220px;min-width:0}.pf-qr__img{flex:0 0 auto;width:160px;height:160px;border:1px solid var(--oa-border);border-radius:var(--oa-radius);background:#fff}.pf-stage{--pf-oval-h: 35.1%;--pf-oval-cy: 38.3%;--pf-eye-y: 40.5%;position:relative;width:min(100%,54vh);aspect-ratio:3 / 4;margin:0 auto;background:#000;border-radius:var(--oa-radius-lg);overflow:hidden}.pf-stage__video{width:100%;height:100%;object-fit:cover;display:block}.pf-stage__video--mirror{transform:scaleX(-1)}.pf-overlay{position:absolute;inset:0;pointer-events:none}.pf-oval{position:absolute;left:50%;top:var(--pf-oval-cy);height:var(--pf-oval-h);aspect-ratio:3 / 4;transform:translate(-50%,-50%);border:3px solid rgba(255,255,255,.85);border-radius:50%;transition:border-color .2s;box-shadow:0 0 0 2000px #00000052}.pf-stage--size-ok .pf-oval{border-color:#fbbf24}.pf-stage--ok .pf-oval{border-color:#4ade80}.pf-stage--moving .pf-oval{border-style:dashed}.pf-eyes{position:absolute;left:14%;right:14%;top:var(--pf-eye-y);border-top:2px dashed rgba(255,255,255,.75)}.pf-eyes__label{position:absolute;right:0;top:2px;font-size:.7rem;font-weight:600;letter-spacing:.02em;color:#ffffffd9;text-shadow:0 1px 3px rgba(0,0,0,.8)}.pf-stage--eyes-ok .pf-eyes{border-color:#4ade80}.pf-stage--eyes-ok .pf-eyes__label{color:#4ade80}.pf-eyes-now{position:absolute;left:30%;right:30%;top:40.5%;border-top:3px solid #fbbf24;box-shadow:0 0 6px #0009}.pf-eyes-now[hidden],.pf-stage--eyes-ok .pf-eyes-now{display:none}.pf-countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:5rem;font-weight:800;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6)}.pf-topbar{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;gap:8px}.pf-hint{position:absolute;left:12px;right:12px;bottom:12px;text-align:center}.pf-hint__pill{display:inline-block;padding:10px 16px;border-radius:999px;background:#111827e6;color:#fff;font-weight:600;font-size:.95rem}.pf-hint__pill--ok{background:#15803d}.pf-result{display:grid;grid-template-columns:140px 1fr;gap:var(--oa-gap);align-items:start}.pf-result__img{width:140px;border-radius:var(--oa-radius);border:1px solid var(--oa-border);background:#e5e7eb}@media (max-width: 420px){.pf-result{grid-template-columns:1fr}.pf-result__img{width:55%}}.pf-checks{list-style:none;padding:0;margin:0}.pf-checks li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--oa-border);font-size:.9375rem}.pf-checks li:last-child{border-bottom:0}.pf-badge{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;color:#fff;font-weight:700;margin-top:1px}.pf-badge--pass{background:var(--oa-success)}.pf-badge--fail{background:var(--oa-error)}.pf-check{display:flex;gap:10px;align-items:flex-start;min-height:var(--oa-touch-min);margin:var(--oa-gap-sm) 0;cursor:pointer}.pf-check input{width:20px;height:20px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--oa-primary)}.pf-success{text-align:center;padding:var(--oa-gap-lg) 0}.pf-success__icon{width:56px;height:56px;margin:0 auto var(--oa-gap);border-radius:50%;background:var(--oa-success);color:#fff;display:grid;place-items:center;font-size:1.75rem;font-weight:700}.pf-success__title{font-size:1.5rem;color:#15803d}.pf-close{display:inline-flex;flex-direction:column;align-items:center;gap:8px}.pf-spinner{display:block;width:32px;height:32px;margin:0 auto var(--oa-gap-sm);border:3px solid var(--oa-border);border-top-color:var(--oa-primary);border-radius:50%;animation:pf-spin .8s linear infinite}@keyframes pf-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.pf-spinner{animation-duration:2.4s}.pf-btn,.pf-pbar__fill,.pf-pbar__dot,.pf-oval{transition:none}.pf-btn--next:hover:not(:disabled){transform:none}}@media (prefers-contrast: more){.pf-pbar__label,.pf-lead,.pf-muted,.pf-header__title{color:#374151}.pf-btn--back{border-color:#4b5563;color:var(--oa-text)}.pf-card{border-color:#6b7280}}@media (forced-colors: active){.pf-btn,.pf-box,.pf-card,.pf-hint__pill{border:1px solid ButtonText}.pf-pbar__fill,.pf-pbar__dot--done,.pf-pbar__dot--active{background:Highlight;forced-color-adjust:none}}
