@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Inter:wght@400;500;600;700&display=swap";:root{color:#2f2924;background:#f6f1ea;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.45}*,:before,:after{box-sizing:border-box}body{background:#f6f1ea;min-width:320px;margin:0}#root{min-height:100vh}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd1;border:1px solid #fff9;border-radius:28px;margin-bottom:2rem;padding:1.75rem;box-shadow:0 10px 35px #523a2414,inset 0 1px #fff6}.card-heading{color:#6d6258;justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.card-footnote{color:#6d6258;margin-top:1rem;font-size:.95rem}.data-table{border-collapse:collapse;border:1px solid #e6ded5;border-radius:.8rem;width:100%;overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #e6ded5;padding:.85rem .95rem}.data-table td:last-child{text-align:right}.data-table tr:last-child th,.data-table tr:last-child td{border-bottom:none}.data-table thead th{background:#f5f0ea}.data-table--value-last td:last-child{text-align:right}.data-table__cookie-name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.data-table__value{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem}@media (width<=760px){.data-table td:last-child{text-align:left}}.soft-button{cursor:pointer;box-shadow:var(--soft-shadow-sharp);border:none;border-radius:1rem;padding:.6rem 1rem;font-weight:600;transition:transform .2s,box-shadow .2s}.soft-button:hover{transform:translateY(-1px)}.soft-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.soft-button--muted{color:#3e352f;background:#e7dfd4}.soft-button--primary{color:#fff;background:#92400e}.button-row{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.soft-button--full{width:100%;margin-top:1rem}.connection-intro{flex-direction:column;align-items:flex-start;gap:.85rem;display:flex}.connection-intro p{color:#57534e;margin:0}.connection-consent{color:#6d6258;font-size:.85rem}.connection-consent code,.connection-source code{background:#92400e14;border-radius:.4rem;padding:.05rem .35rem;font-size:.85em}.connection-error{color:#92400e;font-size:.9rem}.connection-result{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:1.5rem;display:grid}.signal-stage{justify-content:center;align-items:center;width:150px;height:150px;display:flex;position:relative}.signal-ring{border:2px solid #92400e80;border-radius:9999px;animation:3s ease-out infinite signalPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.2)}.signal-ring--1{width:150px;height:150px}.signal-ring--2{width:150px;height:150px;animation-delay:1s}.signal-ring--3{width:150px;height:150px;animation-delay:2s}.signal-core{z-index:1;color:#fff;background:#92400e;border-radius:9999px;justify-content:center;align-items:center;width:46px;height:46px;font-size:.9rem;font-weight:700;display:flex;position:relative;box-shadow:0 6px 16px #92400e66}.connection-source{color:#6d6258;margin:.6rem 0 0;font-size:.82rem}@keyframes signalPulse{0%{opacity:.9;transform:translate(-50%,-50%)scale(.25)}80%{opacity:0}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}@media (width<=640px){.connection-result{text-align:left;grid-template-columns:1fr;justify-items:center}}@media (prefers-reduced-motion:reduce){.signal-ring{opacity:.35;animation:none;transform:translate(-50%,-50%)scale(1)}}.modal-backdrop.modal.show{background:#0000004d;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-card{background:#fffdfb;border-radius:1.25rem;width:min(100%,32rem);padding:1.5rem;box-shadow:0 18px 38px #0000003d}.modal-card--wide{width:min(100%,48rem)}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.modal-emoji{margin-bottom:.6rem;font-size:2.5rem}.modal-insight{color:#4a3f35;background:#fff2df;border:1px solid #f3d8b4;border-radius:.85rem;margin-top:1rem;padding:.9rem}.modal-insight p{margin-top:.4rem}.modal-empty{color:#6d6258;margin:1rem 0;line-height:1.5}.radar-layout{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:center;gap:1.5rem;display:grid}.radar-figure{justify-content:center;display:flex}.radar-svg{width:100%;max-width:340px;height:auto;overflow:visible}.radar-ring{fill:none;stroke:#92400e24;stroke-width:1px}.radar-spoke{stroke:#92400e29;stroke-width:1px}.radar-area{stroke:#92400e;stroke-width:2px;stroke-linejoin:round;filter:drop-shadow(0 6px 14px #92400e40)}.radar-vertex{fill:#92400e;stroke:#fff;stroke-width:1.5px}.radar-score-disc{fill:#fffdfae6}.radar-axis-label{fill:#6d6258;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:600}.radar-score{fill:#2f2924;font-family:DM Serif Display,Georgia,serif;font-size:44px}.radar-score-caption{fill:#6d6258;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.radar-legend{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.radar-legend-top{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.radar-legend-label{color:#3e352f;font-weight:600}.radar-legend-value{font-variant-numeric:tabular-nums;color:#92400e;font-weight:700}.radar-legend-track{background:#92400e1a;border-radius:9999px;height:6px;margin:.3rem 0 .2rem;overflow:hidden}.radar-legend-fill{background:linear-gradient(90deg,#d6a06a,#92400e);border-radius:9999px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.radar-legend-blurb{color:#6d6258;margin:0;font-size:.85rem}@media (width<=720px){.radar-layout{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.radar-legend-fill{transition:none}}.fingerprint-intro{flex-direction:column;align-items:flex-start;gap:.85rem;display:flex}.fingerprint-intro p{color:#57534e;margin:0}.fingerprint-consent{color:#6d6258;font-size:.85rem}.fingerprint-hero{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:1.5rem;margin-bottom:1.5rem;display:grid}.whorl-svg{width:180px;height:180px;display:block}.whorl-backdrop{fill:#d6a06a14}.fingerprint-headline{flex-direction:column;gap:.3rem;display:flex}.fingerprint-oneinn{color:#2f2924;font-family:DM Serif Display,Georgia,serif;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.1}.fingerprint-sub{color:#6d6258;font-size:.95rem}.fingerprint-meter{background:#92400e1a;border-radius:9999px;height:8px;margin-top:.5rem;overflow:hidden}.fingerprint-meter-fill{background:linear-gradient(90deg,#d6a06a,#92400e);border-radius:9999px;height:100%;transition:width .9s cubic-bezier(.4,0,.2,1)}.fingerprint-bits{color:#57534e;font-variant-numeric:tabular-nums;font-size:.85rem}.fingerprint-digest{color:#9a8f83;letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.fingerprint-signals{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem 1.5rem;margin:0;padding:0;list-style:none;display:grid}.fingerprint-signal-top{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.fingerprint-signal-label{color:#3e352f;font-size:.9rem;font-weight:600}.fingerprint-signal-bits{color:#92400e;font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:700}.fingerprint-signal-track{background:#92400e1a;border-radius:9999px;height:5px;margin:.3rem 0 .25rem;overflow:hidden}.fingerprint-signal-fill{background:linear-gradient(90deg,#d6a06a,#92400e);border-radius:9999px;height:100%}.fingerprint-signal-value{color:#6d6258;overflow-wrap:anywhere;margin:0;font-size:.8rem}@media (width<=640px){.fingerprint-hero{text-align:center;grid-template-columns:1fr;justify-items:center}.fingerprint-headline{align-items:center}}@media (prefers-reduced-motion:reduce){.fingerprint-meter-fill{transition:none}}.site-footer{text-align:center;color:#6d6258;border-top:1px solid #e6ded5;margin-top:2.5rem;padding-top:1.25rem;font-size:.85rem;line-height:1.5}.site-footer p{margin:0}.site-footer a{color:#92400e;text-underline-offset:2px;text-decoration:underline}.site-footer a:hover{color:#78350f}:root{--color--main:#f6f1ea;--soft-shadow-sharp:1px 5px 0 #0000;--soft-shadow-relaxed:1px 5px 32px #0000004d}.has-animation.animation-text-swipe blockquote{text-shadow:var(--soft-shadow-sharp)}.has-animation{position:relative;overflow:hidden}.has-animation:not(.animation-card-swipe) p,.has-animation:not(.animation-card-swipe) h1,.has-animation:not(.animation-card-swipe) blockquote,.has-animation:not(.animation-card-swipe) img{opacity:0}.has-animation.animate-in:before,.has-animation.animate-in:after{content:"";z-index:10;height:100%;position:absolute;top:0}.has-animation.animation-ltr.animate-in:before,.has-animation.animation-ltr.animate-in:after{left:0}.has-animation.animation-rtl.animate-in:before,.has-animation.animation-rtl.animate-in:after{right:0}.has-animation.animate-in:before{background-color:var(--color--main)}.has-animation.animate-in:after{background-color:color-mix(in oklab, var(--color--main) 40%, black);animation-delay:.5s}.has-animation.animate-in:not(.animation-text-swipe) h1,.has-animation.animate-in:not(.animation-text-swipe) p,.has-animation.animate-in:not(.animation-text-swipe) img{animation:.1s 1.1s forwards textHidden}.has-animation.animation-text-swipe h1,.has-animation.animation-text-swipe p,.has-animation.animation-text-swipe blockquote,.has-animation.animation-text-swipe img{opacity:1;-webkit-mask-image:linear-gradient(90deg,#000 50%,#0000 50%);mask-image:linear-gradient(90deg,#000 50%,#0000 50%);-webkit-mask-position:100% 0;mask-position:100% 0;-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.has-animation.animation-text-swipe.animate-in:before,.has-animation.animation-text-swipe.animate-in:after{display:none}.has-animation.animation-text-swipe.animate-in h1,.has-animation.animation-text-swipe.animate-in p,.has-animation.animation-text-swipe.animate-in img{animation:1.8s forwards textSwipeLTR}.has-animation.animation-text-swipe.animate-in blockquote{animation:1.8s forwards quoteSwipeLTR}.has-animation.animation-text-swipe.animation-rtl.animate-in h1,.has-animation.animation-text-swipe.animation-rtl.animate-in p,.has-animation.animation-text-swipe.animation-rtl.animate-in img{animation:1.8s forwards textSwipeRTL;-webkit-mask-image:linear-gradient(270deg,#000 50%,#0000 50%);mask-image:linear-gradient(270deg,#000 50%,#0000 50%)}.has-animation.animation-text-swipe.animation-rtl.animate-in blockquote{animation:1.8s forwards quoteSwipeRTL;-webkit-mask-image:linear-gradient(270deg,#000 50%,#0000 50%);mask-image:linear-gradient(270deg,#000 50%,#0000 50%)}.card.has-animation.animation-card-swipe{opacity:0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.card.has-animation.animation-card-swipe h1,.card.has-animation.animation-card-swipe h2,.card.has-animation.animation-card-swipe p,.card.has-animation.animation-card-swipe img{opacity:1}.card.has-animation.animation-card-swipe.animate-in:before,.card.has-animation.animation-card-swipe.animate-in:after{display:none}.card.has-animation.animation-card-swipe.animate-in{animation:cardFadeIn .95s cubic-bezier(.4, 0, .2, 1) var(--card-shadow-delay,0s) forwards, cardShadowIn 1.2s ease var(--card-shadow-delay,0s) forwards}.has-animation.animation-ltr.animate-in:before{animation:1.8s revealLTR}.has-animation.animation-ltr.animate-in:after{animation:1s .6s revealLTR}.has-animation.animation-rtl.animate-in:before{animation:1.8s revealRTL}.has-animation.animation-rtl.animate-in:after{animation:1s .6s revealRTL}.card.has-animation.animation-card-swipe.animate-in .soft-button,.modal.show .soft-button{animation:softShadowIn 1.2s ease var(--card-shadow-delay,0s) forwards}@keyframes revealRTL{0%{width:0;right:0}65%{width:100%;right:0}to{width:0;right:100%}}@keyframes revealLTR{0%{width:0;left:0}65%{width:100%;left:0}to{width:0;left:100%}}@keyframes textHidden{0%{opacity:0}to{opacity:1}}@keyframes textSwipeLTR{0%{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}@keyframes textSwipeRTL{0%{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}@keyframes quoteSwipeLTR{0%{text-shadow:var(--soft-shadow-sharp);-webkit-mask-position:100% 0;mask-position:100% 0}to{text-shadow:var(--soft-shadow-relaxed);-webkit-mask-position:0 0;mask-position:0 0}}@keyframes quoteSwipeRTL{0%{text-shadow:var(--soft-shadow-sharp);-webkit-mask-position:100% 0;mask-position:100% 0}to{text-shadow:var(--soft-shadow-relaxed);-webkit-mask-position:0 0;mask-position:0 0}}@keyframes softShadowIn{0%{box-shadow:var(--soft-shadow-sharp)}to{box-shadow:var(--soft-shadow-relaxed)}}@keyframes cardFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cardShadowIn{0%{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}to{box-shadow:-2px 25px 23px #000000bf}}@media (prefers-reduced-motion:reduce){.has-animation p,.has-animation h1,.has-animation blockquote,.has-animation img{opacity:1}.has-animation.animate-in:before,.has-animation.animate-in:after{display:none}.has-animation.animate-in h1,.has-animation.animate-in p,.has-animation.animate-in img{animation:none}.has-animation.animation-text-swipe h1,.has-animation.animation-text-swipe p,.has-animation.animation-text-swipe blockquote,.has-animation.animation-text-swipe img{-webkit-mask:none;mask:none}.has-animation.animation-text-swipe blockquote{text-shadow:var(--soft-shadow-relaxed)}.soft-button{box-shadow:var(--soft-shadow-relaxed);animation:none}.card.has-animation.animation-card-swipe{opacity:1;box-shadow:-2px 25px 23px #000000bf}.card.has-animation.animation-card-swipe.animate-in{animation:none}}.page{min-height:100vh}.page-shell{max-width:960px;margin:0 auto;padding:2.5rem 1.25rem 3.5rem}.hero{margin-bottom:2rem}.hero-title-row{justify-content:center;align-items:center;gap:1rem;display:flex}.hero-emoji{background:#f1e1cb;border-radius:9999px;justify-content:center;align-items:center;width:3rem;height:3rem;display:inline-flex}h1{color:#2f2924;margin:0;font-family:DM Serif Display,Georgia,serif;font-size:clamp(2rem,4vw,3rem)}h2{color:#2f2924;margin:0;font-size:1.6rem}h3{color:#2f2924;margin:0;font-family:DM Serif Display,Georgia,serif;font-size:2rem}.hero-subtitle{color:#6d6258;margin-top:.35rem}.quote-intro{color:#57534e;text-align:center;max-width:50rem;margin:0;padding:20px;font-size:1.5rem;font-weight:500;line-height:1.6}.snapshot-quote{color:#57534e;border-left:3px solid #d6a06a;max-width:42rem;margin:0 auto;padding:0 20px 20px;font-family:DM Serif Display,Georgia,serif;font-size:clamp(1.75rem,4vw,2.75rem);font-style:italic;font-weight:500;line-height:1.35}@media (width<=760px){.hero-title-row{justify-content:flex-start;align-items:flex-start}.quote-intro{text-align:left}}
