:root{--color-bg: #f7f7f8;--color-surface: #ffffff;--color-text: #16181d;--color-text-muted: #6b7280;--color-text-faint: #9aa1ad;--color-accent: #2f6feb;--color-accent-contrast: #ffffff;--color-accent-soft: #e8eefd;--color-success: #1a8a5f;--color-success-soft: #e3f5ed;--color-danger: #c2453b;--color-danger-soft: #fbeae8;--color-ring-track: #e6e8ec;--color-border-subtle: rgba(20, 22, 28, .08);--ease: cubic-bezier(.22, 1, .36, 1);color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--color-bg: #101114;--color-surface: #17181c;--color-text: #f2f3f5;--color-text-muted: #9aa1ad;--color-text-faint: #6b7280;--color-accent: #6c9bff;--color-accent-contrast: #0b1220;--color-accent-soft: rgba(108, 155, 255, .16);--color-success: #4ecb96;--color-success-soft: rgba(78, 203, 150, .16);--color-danger: #f28b8b;--color-danger-soft: rgba(242, 139, 139, .16);--color-ring-track: #2a2c32;--color-border-subtle: rgba(255, 255, 255, .08)}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:6px}.shell{min-height:100%;display:flex;flex-direction:column}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,5vw,44px);color:var(--color-text-muted)}.stage-viewport{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 20px 72px}.stage{width:100%;max-width:420px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}.stage-transition{width:100%;animation:stage-in .32s var(--ease)}@keyframes stage-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.stage-transition{animation:none}}.app-footer{text-align:center;font-size:.78rem;color:var(--color-text-faint);padding:0 20px 28px}.display-title{font-size:clamp(1.7rem,4.2vw,2.4rem);font-weight:700;letter-spacing:-.02em;line-height:1.12;margin:0}.stage-subtitle{font-size:1.02rem;color:var(--color-text-muted);line-height:1.55;margin:0;max-width:36ch}.hint-text{font-size:.85rem;color:var(--color-text-faint);margin:0;max-width:38ch}.inline-note{font-size:.88rem;color:var(--color-text-muted);margin:0;max-width:38ch}.inline-note.error{color:var(--color-danger)}.file-caption{font-size:.8rem;color:var(--color-text-faint);word-break:break-all;margin:0;max-width:34ch}.logo-img{display:block;height:auto}.hero-logo{width:136px;margin:4px 0 10px}.status-line{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--color-success);margin:0}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.demo-badge{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;color:var(--color-accent);background:var(--color-accent-soft);padding:4px 11px;border-radius:999px}.stage-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:6px}.btn-primary,.btn-plain{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer}.btn-primary{background:var(--color-accent);color:var(--color-accent-contrast);border-radius:980px;padding:15px 30px;font-weight:600;font-size:1rem;box-shadow:0 10px 24px -10px #141e3c73;transition:transform .18s var(--ease),box-shadow .18s var(--ease),opacity .18s var(--ease)}.btn-primary:hover:not(:disabled){transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:scale(.97)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-large{min-width:220px}.btn-plain{background:none;color:var(--color-text-muted);font-size:.92rem;font-weight:500;padding:6px 4px;border-radius:6px;transition:color .15s var(--ease)}.btn-plain:hover{color:var(--color-text)}.progress-ring{position:relative;display:flex;align-items:center;justify-content:center}.progress-ring-fill{transition:stroke-dashoffset .3s var(--ease)}.progress-ring-label{position:absolute;font-size:1.6rem;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.progress-stage-text{font-size:1.1rem;font-weight:600;margin:0}.result-mark{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;animation:mark-pop .34s var(--ease)}@keyframes mark-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.result-mark{animation:none}}.result-mark.check{background:var(--color-success-soft);color:var(--color-success)}.result-mark.error{background:var(--color-danger-soft);color:var(--color-danger)}.result-mark.neutral{background:var(--color-ring-track);color:var(--color-text-muted)}.technical-details{margin-top:10px;width:100%}.technical-details summary{cursor:pointer;font-size:.85rem;color:var(--color-text-faint);list-style:none;display:inline-flex;gap:4px;align-items:center;transition:color .15s var(--ease)}.technical-details summary::-webkit-details-marker{display:none}.technical-details summary:hover{color:var(--color-text-muted)}.technical-details .content{margin-top:18px;text-align:left;border-top:1px solid var(--color-border-subtle);padding-top:18px;display:flex;flex-direction:column;gap:14px}.diagnostic-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;font-size:.8rem}.diagnostic-facts div{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:8px;padding:8px 10px}.diagnostic-facts .label{color:var(--color-text-faint);display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.03em}.event-log{max-height:240px;overflow-y:auto;border:1px solid var(--color-border-subtle);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem}.event-log .row{padding:6px 10px;border-bottom:1px solid var(--color-border-subtle);display:flex;gap:10px}.event-log .row:last-child{border-bottom:none}.event-log .row.error{color:var(--color-danger)}.event-log .row.warn{color:var(--color-danger);opacity:.85}.event-log .time{color:var(--color-text-faint);flex:0 0 auto}.event-log .empty{padding:14px;color:var(--color-text-faint);text-align:center}.technical-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;background:var(--color-surface);border:1px solid var(--color-border-subtle);padding:2px 8px;border-radius:6px}.status-dot.warn{background:var(--color-danger)}.hint-text.warn{color:var(--color-danger);font-weight:600}.hardware-validation-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;text-align:left;width:100%}.hardware-validation-checklist label{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:var(--color-text-muted)}.hardware-validation-checklist input[type=checkbox]{margin-top:3px;flex:0 0 auto}.hardware-validation-confirm-label{font-size:.82rem;color:var(--color-text-faint)}.hardware-validation-confirm-input{width:100%;max-width:260px;padding:10px 12px;font-size:1rem;border-radius:8px;border:1px solid var(--color-border-subtle);background:var(--color-surface);color:var(--color-text);text-align:center}@media (max-width: 480px){.stage{gap:14px}.hero-logo{width:100px}.btn-large{min-width:0;width:100%}}
