:root{--color-bg:#f8fbfe;--color-surface:#f9f9f9;--color-surface-raised:#fff;--color-border:#d3d3d3;--color-border-strong:#c1c1c1;--color-text:#1f1f1f;--color-text-muted:#555;--color-text-faint:#8a8a8a;--color-accent:#1a73e8;--color-particle:#9ec4e8;--color-shadow:#00000014;--font-sans:"Helvetica Neue", Helvetica, Arial, "Noto Sans CJK JP", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", "WenQuanYi Micro Hei", "Droid Sans Fallback", sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Menlo, Consolas, monospace;--size-card-width:304px;--size-card-height:78px;--size-check:28px;--radius-card:3px;--radius-check:2px;--z-particles:0;--z-stage:1}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--color-bg);min-height:100%;color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;touch-action:none;overscroll-behavior:none;margin:0}html:has([data-debug-page=tests]){touch-action:pan-y}body:has([data-debug-page=tests]){touch-action:pan-y}#root:has([data-debug-page=tests]){touch-action:pan-y}html:has([data-gallery]){touch-action:pan-y;overflow:auto}body:has([data-gallery]){touch-action:pan-y;overflow:auto}#root:has([data-gallery]){touch-action:pan-y;overflow:auto}html:has([data-about]){touch-action:pan-y;overflow:auto}body:has([data-about]){touch-action:pan-y;overflow:auto}#root:has([data-about]){touch-action:pan-y;overflow:auto}body{overflow:hidden}button{font:inherit;color:inherit}.app{background:var(--color-bg);touch-action:none;min-height:100dvh;position:relative}.particle-canvas{width:100%;height:100%;z-index:var(--z-particles);pointer-events:none;background:var(--color-bg);display:block;position:fixed;inset:0}.particle-error{z-index:var(--z-stage);text-align:center;pointer-events:none;margin:0;padding:0 24px;position:fixed;bottom:8%;left:0;right:0}.particle-error-label,.particle-error-detail{display:block}.particle-error-label{color:#c5221f;font-size:13px;font-weight:500}.particle-error-detail{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-text-muted);margin-top:6px;font-size:11px}.stage{z-index:var(--z-stage);touch-action:none;place-items:center;min-height:100dvh;display:grid;position:relative}.site-chrome{pointer-events:none}.site-title{z-index:2;pointer-events:auto;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-faint);margin:0;font-size:11px;font-weight:400;text-decoration:none;position:fixed;top:22px;left:24px}.site-actions{z-index:2;pointer-events:auto;align-items:center;gap:2px;display:flex;position:fixed;top:10px;right:14px}.site-icon{width:44px;height:44px;color:var(--color-text-faint);place-items:center;text-decoration:none;display:grid}.site-icon:hover,.site-icon:focus-visible,.site-title:hover,.site-title:focus-visible{color:var(--color-text-muted)}.site-icon:focus-visible,.site-title:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.site-icon-svg{stroke:currentColor;stroke-width:1.2px;width:16px;height:16px}.site-help-mark{font-size:16px;font-weight:400;line-height:1}.captcha-card{width:var(--size-card-width);height:var(--size-card-height);grid-template-columns:var(--size-check) 1fr auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:0 0 4px 1px var(--color-shadow);-webkit-user-select:none;user-select:none;align-items:center;column-gap:12px;padding:0 12px 0 14px;display:grid}.captcha-check{width:var(--size-check);height:var(--size-check);border:2px solid var(--color-border-strong);border-radius:var(--radius-check);background:var(--color-surface-raised);cursor:pointer;place-items:center;padding:0;display:grid;position:relative}.captcha-check:hover{border-color:#b0b0b0}.captcha-check:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.captcha-check[data-checking=true]{cursor:default;background:0 0;border-color:#0000}.captcha-check[data-checked=true]{border-color:var(--color-accent);cursor:pointer}.captcha-tick{width:16px;height:16px;color:var(--color-accent)}.result-continue{cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.result-continue:disabled{cursor:default}.captcha-spinner{border:3px solid #dcdcdc;border-top-color:var(--color-accent);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite captcha-spin}.captcha-label{letter-spacing:.01em;color:var(--color-text);font-size:14px;line-height:1.2}.captcha-brand{flex-direction:column;align-items:center;gap:3px;min-width:72px;display:flex}.captcha-mark{width:32px;height:32px;color:var(--color-text-faint)}.captcha-brand-name{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-faint);text-align:center;font-size:8px;line-height:1.15}.precision-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-card);width:min(360px,100vw - 48px);box-shadow:0 0 4px 1px var(--color-shadow);overflow:hidden}.precision-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:14px 16px 12px}.precision-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-faint);margin:0 0 4px;font-size:10px}.precision-title{color:var(--color-text);white-space:pre-line;margin:0;font-size:16px;font-weight:400}.precision-field{background:var(--color-bg);cursor:crosshair;touch-action:none;height:280px;position:relative}.precision-field:has(.test-scroll){touch-action:pan-y;cursor:default}.precision-field[data-complete=true]{cursor:default}.precision-target{pointer-events:none;width:48px;height:48px;position:absolute;transform:translate(-50%,-50%)}.precision-ring{border:1px solid #1a73e847;border-radius:50%;position:absolute;inset:8px}.precision-core{background:var(--color-accent);border-radius:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;position:absolute;top:50%;left:50%}.precision-path{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.precision-footer{border-top:1px solid var(--color-border);background:var(--color-surface);min-height:44px;font-family:var(--font-mono);color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:11px;display:flex}.precision-footer span{white-space:nowrap}@keyframes captcha-spin{to{transform:rotate(360deg)}}.particle-debug{z-index:var(--z-stage);pointer-events:none;flex-direction:column;align-items:flex-start;gap:10px;max-width:min(560px,100vw - 48px);display:flex;position:fixed;bottom:24px;left:24px}.particle-debug-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-faint);margin:0;font-size:11px}.particle-debug-concept{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-text-muted);margin:-4px 0 0;font-size:11px}.particle-debug-states{pointer-events:auto;flex-wrap:wrap;gap:6px;display:flex}.particle-debug-state{border:1px solid var(--color-border);border-radius:var(--radius-check);background:var(--color-surface-raised);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);cursor:pointer;padding:5px 9px;font-size:10px}.particle-debug-states[data-forms=true] .particle-debug-state{text-transform:none;letter-spacing:.04em}.particle-debug-state:hover{border-color:var(--color-border-strong);color:var(--color-text)}.particle-debug-state:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.particle-debug-state[data-active=true]{border-color:var(--color-accent);color:var(--color-text)}.particle-debug-hint{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-text-faint);margin:0;font-size:10px}.verification-debug-stage{touch-action:pan-y;padding-left:min(320px,38vw)}.verification-debug-empty{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-faint);margin:0;font-size:11px}.app[data-debug-page=tests]{touch-action:pan-y}.verification-debug-catalog{z-index:calc(var(--z-stage) + 1);overscroll-behavior:contain;touch-action:pan-y;pointer-events:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;flex-direction:column;align-items:flex-start;gap:10px;width:min(280px,100vw - 48px);display:flex;position:fixed;top:24px;bottom:24px;left:24px;overflow:hidden auto}.verification-debug-catalog::-webkit-scrollbar{width:6px}.verification-debug-catalog::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.verification-debug-groups{flex-direction:column;gap:10px;width:100%;display:flex}.verification-debug-nav{pointer-events:auto;flex-wrap:wrap;gap:6px;display:flex}a.particle-debug-state{text-decoration:none;display:inline-block}.verification-debug-group{flex-direction:column;align-items:flex-start;gap:6px;width:100%;display:flex}.verification-debug-category{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-faint);margin:8px 0 0;font-size:10px}.verification-debug-group:first-child .verification-debug-category{margin-top:0}.verification-debug-meta{flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px;display:flex}.verification-debug-meta p{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-text-muted);margin:0;font-size:10px}.verification-debug-meta a{text-decoration:none}@media (width<=860px){.verification-debug-stage{padding:24px 24px 38vh}.verification-debug-catalog{width:auto;max-width:calc(100vw - 48px);max-height:34vh;top:auto;right:24px}}.test-stage{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;display:grid;position:absolute;inset:0}.test-stage-row{cursor:default;justify-content:center;align-items:center;gap:28px;display:flex}.test-pattern{flex-direction:column;align-items:center;gap:28px;display:flex}.test-stage-scroll{cursor:default;touch-action:pan-y}.test-dot{background:var(--color-accent);pointer-events:none;border-radius:50%;width:18px;height:18px;position:absolute;transform:translate(-50%,-50%)}.test-dot-faint{background:#1a73e859;width:8px;height:8px}.test-anchor{letter-spacing:.12em;color:var(--color-text-faint);pointer-events:none;font-size:10px;position:absolute;top:calc(50% + 16px);left:36px;transform:translate(-50%)}.test-anchor-b{left:auto;right:36px;transform:translate(50%)}.test-guide-circle{pointer-events:none;border:1px dashed #1a73e847;border-radius:50%;width:132px;height:132px}.test-guide-path,.test-stroke-layer{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.test-stroke{fill:none;stroke:#1a73e8b8;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.test-stroke-prior{stroke:#1a73e84d}.test-quiet{letter-spacing:.16em;text-transform:lowercase;color:var(--color-text-faint);pointer-events:none;font-size:10px;position:absolute;bottom:16px}.test-timer,.test-now,.test-digits{font-family:var(--font-mono);letter-spacing:.12em;color:var(--color-text-muted);margin:0;font-size:13px}.test-now{font-family:var(--font-sans);letter-spacing:.18em;font-size:16px}.test-ring{pointer-events:none;border:1px solid #1a73e847;border-radius:50%;width:86px;height:86px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.test-ring-on{border-color:var(--color-accent)}.test-bar{background:#1a73e838;width:3px;height:42px}.test-bar-on{background:var(--color-accent)}.test-input{border:none;border-bottom:1px solid var(--color-border);text-align:center;letter-spacing:.08em;width:188px;color:var(--color-text);background:0 0;outline:none;padding:8px 0;font-size:13px}.test-input:focus{border-bottom-color:var(--color-accent)}.test-choice,.test-tile,.test-shape,.test-unknown{cursor:pointer;background:#eef4fb;border:1px solid #1a73e829;border-radius:50%;width:72px;height:72px;padding:0}.test-choice[data-active=true]{border-color:#1a73e866}.test-tile{border-radius:var(--radius-check);background:#f4f7fb;place-items:center;width:44px;height:44px;display:grid}.test-shape{border-radius:10px}.test-shape-tri{background:0 0;border:36px solid #0000;border-bottom-color:#dbe7f6;border-radius:0;width:0;height:0}.test-unknown{border-radius:var(--radius-check);width:64px;height:40px;color:var(--color-text-faint);letter-spacing:.12em;background:#f6f8fb}.test-dot-btn{cursor:pointer;border:0;border-radius:50%;width:28px;height:28px;padding:0}.test-dot-blue{background:var(--color-accent)}.test-dot-red{background:#d93025}.test-dot-gray{background:#c5cdd6}.test-block{pointer-events:none;background:#e7eef7;width:36px;height:36px;position:absolute;transform:translate(-50%,-50%)}.test-scroll{touch-action:pan-y;cursor:grab;overscroll-behavior:contain;scrollbar-gutter:stable;width:100%;height:100%;overflow-y:auto}.test-scroll:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.test-scroll:active{cursor:grabbing}.test-scroll-inner{height:calc(100% + 720px);position:relative}.test-scroll-guide{z-index:1;pointer-events:none;height:0;position:sticky;top:0}.test-scroll-guide:after{content:"";background:var(--color-accent);opacity:.45;height:1px;display:block}.test-scroll-tick,.test-scroll-mark{font-family:var(--font-mono);letter-spacing:.14em;text-align:right;pointer-events:none;padding-top:6px;font-size:10px;line-height:1;position:absolute;left:16px;right:16px}.test-scroll-tick{color:var(--color-text-faint)}.test-scroll-mark{color:var(--color-text)}.test-scroll-tick:before,.test-scroll-mark:before{content:"";height:1px;position:absolute;top:0;left:0;right:36px}.test-scroll-tick:before{background:#d7e2ee}.test-scroll-mark:before{background:var(--color-accent)}.test-boxes{gap:8px;margin-bottom:16px;display:flex}.test-box{border:1px solid var(--color-border);border-radius:2px;width:22px;height:28px}.test-digits{letter-spacing:.28em}.test-mini-circle,.test-mini-tri,.test-mini-square{background:#d7e4f4;border-radius:50%;width:18px;height:18px;display:inline-block}.test-mini-square{border-radius:2px}.test-mini-tri{background:0 0;border:10px solid #0000;border-bottom-color:#d7e4f4;border-radius:0;width:0;height:0}.test-stroop{letter-spacing:.18em;margin:0 0 28px;font-size:18px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.captcha-check:after{content:"";position:absolute;inset:-8px}.captcha-stack{flex-direction:column;align-items:center;gap:16px;display:flex}.locale-switch{justify-content:center;align-items:center;gap:0;display:flex}.locale-switch-btn{letter-spacing:.16em;color:var(--color-text-faint);cursor:pointer;background:0 0;border:0;padding:0 8px;font-size:10px}.locale-switch-btn+.locale-switch-btn:before{content:"·";letter-spacing:0;color:var(--color-text-faint);margin-right:8px}.locale-switch-btn[data-active=true],.locale-switch-btn:hover,.locale-switch-btn:focus-visible{color:var(--color-text-muted)}.locale-switch-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}html[lang=ja] .locale-switch-btn,html[lang=ja] .about-kicker{letter-spacing:.08em;text-transform:none}html[lang=ja] .ghost-kicker,html[lang=ja] .ghost-title,html[lang=ja] .ghost-why-kicker,html[lang=ja] .ghost-why,html[lang=ja] .ghost-japanese,html[lang=ja] .ghost-card-kicker,html[lang=ja] .ghost-card-row,html[lang=ja] .share-cta,html[lang=ja] .share-ghost-btn,html[lang=ja] .captcha-access,html[lang=ja] .share-line{letter-spacing:.06em;text-transform:none}html[lang=ja] .captcha-label,html[lang=ja] .captcha-fail-title{font-size:13px}html[lang=ja] .precision-title{font-size:15px;line-height:1.45}.captcha-card-failed{height:auto;min-height:var(--size-card-height);font:inherit;text-align:left;color:inherit;align-items:center;padding:12px 12px 12px 14px}.captcha-fail-mark{width:var(--size-check);height:var(--size-check);color:#c5221f;place-items:center;font-size:22px;font-weight:500;line-height:1;display:grid}.captcha-fail-copy,.captcha-success-copy{min-width:0}.captcha-fail-title,.captcha-fail-sub,.captcha-access{margin:0}.captcha-fail-title{color:var(--color-text);font-size:14px}.captcha-fail-sub{color:var(--color-text-muted);margin-top:2px;font-size:12px}.captcha-fail-link{color:var(--color-accent);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;margin-top:2px;padding:0;font-size:12px;text-decoration:underline;display:inline-block}.captcha-fail-link:disabled{color:var(--color-text-muted);cursor:default;text-decoration:none}.captcha-fail-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.captcha-access{letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-top:2px;font-size:10px}.captcha-check[data-success=true]{color:var(--color-accent);cursor:default;background:0 0;border-color:#0000}.captcha-success-mark{width:22px;height:22px}.attempt-meta{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-faint);margin:0;font-size:10px}.precision-card{touch-action:manipulation}.test-body{background:var(--color-bg);cursor:pointer;place-items:center;min-height:180px;padding:36px 20px;display:grid}.test-body:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.test-choice-row{cursor:default;justify-content:center;align-items:center;gap:64px;display:flex}.reaction-signal,.timing-target{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text);margin:0;font-size:22px;font-weight:400}.reaction-signal[data-ready=true]{color:var(--color-accent)}.timing-target{font-family:var(--font-mono);letter-spacing:.08em;font-size:28px}.test-input{border:1px solid var(--color-border);border-radius:var(--radius-check);background:var(--color-surface-raised);width:min(280px,100%);height:44px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text);touch-action:manipulation;padding:0 12px;font-size:14px}.test-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.choice-dot{background:var(--color-surface-raised);cursor:pointer;border:1px solid #1a73e852;border-radius:50%;width:44px;height:44px;padding:0}.choice-dot[data-variant=b]{border-color:#1a73e84d}.choice-dot:hover,.choice-dot:focus-visible{border-color:var(--color-accent)}.overlay-copy{text-align:center;letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:12px;animation:.55s overlay-in}.overlay-kicker{letter-spacing:.18em;color:var(--color-text-faint);margin:0 0 8px;font-size:10px}.stage[data-state=ghost-detection]{pointer-events:none}.stage[data-state=ghost-result]{align-items:stretch}.ghost-result{pointer-events:none;flex-direction:column;align-items:center;width:min(560px,100vw - 32px);min-height:100dvh;margin:0 auto;padding:7vh 0 5vh;display:flex}.ghost-result-header,.ghost-result-footer,.ghost-result-copy{pointer-events:auto;flex-direction:column;align-items:center;display:flex}.ghost-result-header,.ghost-result-footer{gap:12px}.ghost-result-visual{flex:auto;width:100%;min-height:42vh}.ghost-result-copy{text-align:center;gap:8px;max-width:28rem;margin:0 0 20px}.ghost-kicker,.ghost-title{text-align:center;letter-spacing:.18em;text-transform:uppercase;margin:0}.ghost-result .ghost-kicker,.ghost-result .ghost-title,.ghost-result .ghost-why-kicker{letter-spacing:.12em;text-transform:none}.ghost-kicker{color:var(--color-text-faint);font-size:11px}.ghost-title{color:var(--color-text-muted);margin-top:10px;font-size:11px;font-weight:400}.ghost-name{letter-spacing:.22em;text-transform:uppercase;color:var(--color-text);margin:0;font-size:22px;font-weight:400}.ghost-english{color:var(--color-text);margin:0;font-size:14px;line-height:1.45}.ghost-japanese{white-space:pre-line;color:var(--color-text-muted);margin:4px 0 0;font-size:13px;line-height:1.75}.ghost-result .ghost-japanese{color:var(--color-text);margin:8px 0 0;font-size:14px;line-height:1.85}.ghost-why-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-faint);margin:18px 0 0;font-size:9px}.ghost-why{white-space:pre-line;color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.75}.ghost-id{font-family:var(--font-mono);letter-spacing:.14em;color:var(--color-text-faint);margin:14px 0 0;font-size:12px}.ghost-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-card);width:min(260px,100vw - 48px);box-shadow:0 0 4px 1px var(--color-shadow);padding:16px 18px 14px}.ghost-card-kicker,.ghost-card-id{text-align:center;margin:0}.ghost-card-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-faint);font-size:9px}.ghost-card-id{font-family:var(--font-mono);letter-spacing:.12em;color:var(--color-text);margin:8px 0 14px;font-size:13px}.ghost-card-list{margin:0}.ghost-card-row{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);grid-template-columns:1fr 72px;align-items:center;gap:12px;margin:0 0 8px;font-size:9px;display:grid}.ghost-card-row:last-child{margin-bottom:0}.ghost-card-row dt,.ghost-card-row dd{margin:0}.ghost-bar{background:#e6eef6;height:2px;display:block;position:relative}.ghost-bar:after{content:"";width:var(--bar,0%);background:var(--color-accent);opacity:.55;position:absolute;inset:0 auto 0 0}.ghost-card-attempts{font-family:var(--font-mono);text-align:right}.share-cta,.share-ghost-btn{border:1px solid var(--color-border);border-radius:var(--radius-check);background:var(--color-surface-raised);letter-spacing:.16em;text-transform:uppercase;min-height:44px;color:var(--color-accent);cursor:pointer;padding:0 16px;font-size:10px}.ghost-result .share-cta,.ghost-result .share-ghost-btn,.share-overlay .share-cta,.share-overlay .share-ghost-btn{letter-spacing:.08em;text-transform:none;font-size:12px}.share-cta:disabled,.share-ghost-btn:disabled{cursor:default;opacity:.45}.share-cta:focus-visible,.share-ghost-btn:focus-visible,.choice-dot:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.share-overlay{z-index:2;pointer-events:auto;background:#f8fbfed1;place-items:center;display:grid;position:fixed;inset:0}.share-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-card);width:min(360px,100vw - 32px);box-shadow:0 0 4px 1px var(--color-shadow);flex-direction:column;align-items:center;gap:10px;padding:16px;display:flex}.share-image{background:var(--color-bg);border:1px solid var(--color-border);width:100%;height:auto;display:block}.share-image-pending{aspect-ratio:1080/1350}.share-id,.share-line{font-family:var(--font-mono);letter-spacing:.08em;text-align:center;color:var(--color-text-muted);margin:0;font-size:11px}.share-actions{gap:8px;display:flex}.debug-overlay{z-index:3;border:1px solid var(--color-border);border-radius:var(--radius-check);font-family:var(--font-mono);color:var(--color-text-muted);pointer-events:none;background:#ffffffd6;max-width:min(420px,100vw - 32px);max-height:min(46vh,360px);padding:10px 12px;font-size:10px;line-height:1.45;position:fixed;bottom:16px;left:16px;overflow:auto}.debug-overlay p{white-space:normal;overflow-wrap:anywhere;margin:0}.debug-reset{pointer-events:auto;border:1px solid var(--color-border);background:var(--color-surface-raised);min-height:28px;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);cursor:pointer;border-radius:4px;margin-top:8px;padding:0 8px;font-size:9px}.residual-result{text-align:center;pointer-events:auto;flex-direction:column;align-items:center;gap:12px;display:flex}.residual-title{margin:0}.residual-note{letter-spacing:.08em;color:var(--color-text-muted);margin:0;font-size:12px}.residual-trace-id{font-family:var(--font-mono);letter-spacing:.16em;color:var(--color-text-faint);margin:0;font-size:11px}.ghost-gallery{z-index:var(--z-stage);text-align:center;flex-direction:column;justify-content:space-between;align-items:center;width:min(640px,100vw - 32px);min-height:100dvh;margin:0 auto;padding:8vh 0 6vh;display:flex;position:relative}.ghost-gallery-header,.ghost-gallery-copy{flex-direction:column;align-items:center;gap:8px;display:flex}.ghost-gallery-lead{color:var(--color-text-muted);margin:8px 0 0;font-size:13px;line-height:1.7}.ghost-gallery-visual{flex:auto;width:100%;min-height:32vh}.ghost-gallery-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;width:min(480px,100%);margin:20px 0 16px;padding:0;list-style:none;display:grid}.ghost-gallery-slot{width:100%;min-height:44px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:0;display:flex}.ghost-gallery-mark{background:0 0;border:1px solid #d5d5d5;border-radius:2px;width:12px;height:12px}.ghost-gallery-slot[data-unlocked=false]{cursor:default}.ghost-gallery-slot[data-unlocked=true] .ghost-gallery-mark{border-color:#8a8a8a}.ghost-gallery-slot[data-active=true] .ghost-gallery-mark{border-color:var(--color-text);background:var(--color-text)}.ghost-gallery-slot-name{letter-spacing:.08em;text-transform:uppercase;font-size:8px}.ghost-gallery-slot:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ghost-gallery-copy .ghost-name{font-size:20px}.ghost-gallery-back{letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);font-size:10px;text-decoration:none}.ghost-gallery-back:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.about-page{z-index:var(--z-stage);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;width:min(520px,100vw - 48px);min-height:100dvh;margin:0 auto;padding:12vh 0 10vh;display:flex;position:relative}.about-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-faint);margin:0;font-size:10px}.about-lead{color:var(--color-text);white-space:pre-line;margin:0;font-size:15px;line-height:1.7}.about-body,.about-note{color:var(--color-text-muted);white-space:pre-line;margin:0;font-size:13px;line-height:1.75}.about-note{color:var(--color-text-faint);font-size:12px}@media (width<=640px){.ghost-result-visual{min-height:34vh}.ghost-name{font-size:18px}.ghost-gallery-grid{gap:4px;margin:16px 0 12px}.ghost-gallery-slot-name{letter-spacing:.04em;font-size:7px}}@media (prefers-reduced-motion:reduce){.captcha-spinner{border-top-color:var(--color-accent);animation:none}.overlay-copy{animation:none}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}html[data-embed=true],html[data-embed=true] body,html[data-embed=true] #root,html[data-embed=true] .app{background:0 0}html[data-embed=true] .particle-canvas,html[data-embed=true] .particle-error,.app[data-embed=true] .particle-canvas,.app[data-embed=true] .particle-error{visibility:hidden!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;display:none!important}html[data-embed=true]:not([data-display=challenge]):not([data-display=ghost]),html[data-embed=true]:not([data-display=challenge]):not([data-display=ghost]) body,html[data-embed=true]:not([data-display=challenge]):not([data-display=ghost]) #root,html[data-embed=true]:not([data-display=challenge]):not([data-display=ghost]) .app{height:100%;min-height:0;overflow:hidden}html[data-embed=true]:not([data-display=challenge]):not([data-display=ghost]) .stage{height:100%;min-height:0}html[data-embed=true][data-display=challenge] .app,html[data-embed=true][data-display=ghost] .app{min-height:100dvh}html[data-embed=true][data-display=challenge] .stage,html[data-embed=true][data-display=ghost] .stage{background:#14141447}html[data-embed=true][data-display=ghost] .ghost-result{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-card);min-height:0;box-shadow:0 0 4px 1px var(--color-shadow);margin:24px auto;padding:28px 24px 24px}html[data-embed=true] .ghost-result-visual{display:none}.embed-host{color:#222;touch-action:pan-y;background:#f4f4f2;min-height:100dvh;overflow:auto}.embed-host-main{width:min(440px,100% - 40px);margin:56px auto 80px}.embed-host-kicker{letter-spacing:.14em;text-transform:uppercase;color:#7a7a7a;margin:0 0 8px;font-size:11px}.embed-host-title{margin:0 0 10px;font-size:28px;font-weight:500}.embed-host-lead{color:#555;margin:0 0 28px;font-size:14px;line-height:1.5}.embed-host-form{gap:16px;display:grid}.embed-host-field{color:#444;gap:6px;font-size:13px;display:grid}.embed-host-field input{height:40px;font:inherit;background:#fff;border:1px solid #cfcfcf;border-radius:3px;padding:0 10px}.embed-host-widget{min-height:86px}.embed-host-actions{gap:10px;display:flex}.embed-host-actions button{cursor:pointer;background:#fff;border:1px solid #cfcfcf;border-radius:3px;height:36px;padding:0 14px}.embed-host-actions button[type=submit]{color:#fff;background:#1f1f1f;border-color:#1f1f1f}.embed-host-status,.embed-host-token,.embed-host-submit{color:#666;word-break:break-all;margin:16px 0 0;font-size:12px;line-height:1.45}html:has([data-debug-page=sdk]){touch-action:pan-y;overflow:auto}body:has([data-debug-page=sdk]){touch-action:pan-y;overflow:auto}#root:has([data-debug-page=sdk]){touch-action:pan-y;overflow:auto}
