:root {
  --blue:#1a73e8; --blue-dark:#1558b0; --blue-pale:#e8f0fe; --green:#34a853;
  --red:#d93025; --yellow:#f9ab00; --ink:#202124; --muted:#5f6368;
  --line:#d7dbe0; --paper:#fff; --bg:#f7f8fa; --shadow:0 12px 40px rgba(32,33,36,.10);
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;color:var(--ink);background:var(--bg);font-family:Arial,"Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
button,a,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit}
.skip-link{position:fixed;z-index:1000;top:8px;left:8px;transform:translateY(-150%);padding:10px 14px;background:var(--ink);color:#fff}.skip-link:focus{transform:none}
.site-header{height:74px;position:sticky;top:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:26px;padding:0 34px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(14px)}
.brand{display:flex;width:max-content;align-items:center;gap:10px;color:var(--ink);text-decoration:none;letter-spacing:-.04em;font-weight:800;font-size:20px;line-height:1}
.brand>img{width:48px;height:48px;display:block;border-radius:7px;object-fit:cover;box-shadow:0 1px 4px rgba(32,33,36,.14)}
.brand-copy{display:flex;flex-direction:column}
.brand small{margin-top:5px;color:var(--muted);font-family:var(--mono);font-size:9px;letter-spacing:.09em;font-weight:500}
.header-nav{display:flex;align-items:center;gap:22px}
.header-nav button{padding:8px 0;border:0;background:none;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.1em;cursor:pointer;transition:color .18s}
.header-nav button:hover,.header-nav button:focus-visible{color:var(--blue)}
.header-actions,.under-actions,.footer-actions{display:flex;justify-content:flex-end;gap:8px}
.button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 15px;border:1px solid transparent;border-radius:4px;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.045em;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s,color .15s}
.button:hover{transform:translateY(-1px)}
.button:active{transform:translateY(0)}
.button:focus-visible,.captcha-box:focus-visible,.tile:focus-visible,.audio-play:focus-visible{outline:3px solid rgba(26,115,232,.28);outline-offset:2px}
.button-primary{background:var(--blue);color:#fff;box-shadow:0 1px 2px rgba(26,115,232,.28)}
.button-primary:hover{background:var(--blue-dark);box-shadow:0 3px 8px rgba(26,115,232,.24)}
.button-secondary{border-color:#b8c0ca;background:#fff;color:var(--blue)}
.button-secondary:hover{background:#f5f9ff}
.notice-bar{height:36px;display:flex;align-items:center;justify-content:center;gap:10px;border-bottom:1px solid #f3cfca;background:#fff7f6;color:#7c2d25;font:10px var(--mono);letter-spacing:.08em}
.notice-dot{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(217,48,37,.12);animation:pulse-red 1.8s infinite}
.notice-code{position:absolute;right:34px;color:#a7665f}
.verification-shell{position:relative;max-width:820px;min-height:calc(100vh - 110px);margin:auto;padding:70px 30px 60px;display:flex;flex-direction:column;align-items:center}
.experience-heading{text-align:center;max-width:670px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font:700 10px var(--mono);letter-spacing:.1em}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--blue);animation:pulse-blue 1.8s infinite}
h1{margin:18px 0 10px;font-size:clamp(38px,6vw,65px);line-height:.98;letter-spacing:-.055em;font-weight:700}
.experience-heading p{margin:0 auto;color:var(--muted);font-size:14px;line-height:1.55;max-width:560px}
.progress-wrap{width:min(100%,620px);margin:32px 0 14px}
.progress-copy{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--muted);font:10px var(--mono);letter-spacing:.04em}
.progress-track{height:4px;background:#e3e6e9;overflow:hidden}
.progress-fill{width:14.285%;height:100%;background:var(--blue);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.stage-frame{width:min(100%,620px);background:#fff;border:1px solid #ccd1d7;border-radius:7px;box-shadow:var(--shadow);overflow:hidden}
.stage-topbar{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid #e3e6e9;background:#fafbfc;color:#81868d;font:9px var(--mono)}
.stage-topbar>div{display:flex;gap:7px;align-items:center}
.lock-icon{width:7px;height:7px;display:inline-block;border:1px solid #7a8188;border-radius:1px;position:relative}.lock-icon:before{content:"";position:absolute;width:5px;height:4px;left:0;top:-5px;border:1px solid #7a8188;border-bottom:0;border-radius:4px 4px 0 0}
.stage{min-height:330px;padding:34px;display:grid;place-items:center;transition:opacity .15s,transform .15s}
.stage.is-leaving{opacity:0;transform:translateY(5px)}
.gate{width:100%;max-width:490px}
.recaptcha-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:24px 22px;border:1px solid #c9cdd2;background:#fafafa;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.captcha-box{width:32px;height:32px;border:2px solid #666b70;border-radius:2px;background:#fff;cursor:pointer;position:relative;transition:border-color .2s,background .2s,transform .2s}
.captcha-box:hover{border-color:var(--blue);transform:scale(1.04)}
.captcha-box.loading{border-radius:50%;border:3px solid #d5e2f6;border-top-color:var(--blue);animation:spin .75s linear infinite}
.captcha-box.checked{border-color:var(--green);background:var(--green);animation:pop .35s ease}
.captcha-box.checked:after{content:"";position:absolute;left:8px;top:3px;width:9px;height:17px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
.captcha-label{font-size:18px;letter-spacing:-.01em}
.recaptcha-brand{text-align:center;color:#70757a;font-size:8px;line-height:1.35}.recaptcha-logo{width:32px;height:32px;margin:0 auto 4px;position:relative}.recaptcha-logo:before,.recaptcha-logo:after{content:"";position:absolute;border:6px solid var(--blue);border-radius:50%;inset:2px;border-right-color:transparent}.recaptcha-logo:after{transform:rotate(150deg);inset:7px;border-width:4px;border-color:var(--blue);border-left-color:transparent}
.recaptcha-brand strong{display:block;font-size:9px;color:#555}
.legal-mini{margin:10px 0 0;text-align:center;color:#989da3;font-size:9px}.legal-mini a{color:inherit}
.gate-note{display:flex;gap:9px;align-items:flex-start;margin-top:18px;padding:12px 14px;background:#fff9ed;border-left:3px solid var(--yellow);color:#6d5630;font-size:11px;line-height:1.4}.gate-note b{font-family:var(--mono);font-size:13px}
.interstitial{text-align:center;max-width:440px}.spinner{width:52px;height:52px;margin:0 auto 22px;border:4px solid #e4eaf3;border-top-color:var(--blue);border-radius:50%;animation:spin .85s linear infinite}.interstitial h2,.challenge h2,.final-state h2{margin:0;font-size:25px;letter-spacing:-.03em}.interstitial p{margin:11px auto;color:var(--muted);font-size:13px;line-height:1.5}.loading-dots span{display:inline-block;width:5px;height:5px;margin:18px 3px 0;border-radius:50%;background:var(--blue);animation:dots 1.2s infinite}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}
.challenge{width:100%;max-width:410px}.challenge-head{margin-bottom:14px;padding:17px 18px;background:var(--blue);color:#fff}.challenge-kicker{font-size:10px;letter-spacing:.08em}.challenge-head h2{margin-top:5px;font-size:21px;letter-spacing:-.02em}.challenge-head p{margin:5px 0 0;font-size:10px;opacity:.85}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#fff}.tile{aspect-ratio:1;position:relative;padding:0;overflow:hidden;border:0;background:#dbe3e8;cursor:pointer;isolation:isolate}.tile:after{content:"";position:absolute;inset:0;border:4px solid var(--blue);opacity:0;z-index:10}.tile.selected:after{opacity:1}.tile.selected:before{content:"✓";position:absolute;right:4px;top:4px;width:20px;height:20px;display:grid;place-items:center;z-index:11;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;font-weight:800}.tile:hover .scene{transform:scale(1.04)}
.scene{position:absolute;inset:0;transition:transform .2s;background:linear-gradient(#b7d6eb 0 54%,#78837f 54% 61%,#5b6062 61%)}.scene:after{content:"";position:absolute;left:0;right:0;bottom:15%;height:5%;background:#d5d0b8;box-shadow:0 16px 0 #d5d0b8}.scene.dusk{background:linear-gradient(#e8c09f 0 54%,#747f81 54% 61%,#53575a 61%)}.scene.night{background:linear-gradient(#77899f 0 54%,#53605f 54% 61%,#34383d 61%)}
.traffic-light{position:absolute;z-index:3;left:48%;top:23%;width:16%;height:40%;border-radius:3px;background:#2f3436;border:2px solid #1f2325;box-shadow:0 0 0 2px rgba(255,255,255,.08)}.traffic-light:before{content:"";position:absolute;left:25%;top:9%;width:50%;aspect-ratio:1;border-radius:50%;background:#ea4335;box-shadow:0 13px 0 #fbbc04,0 26px 0 #34a853}.traffic-light:after{content:"";position:absolute;left:42%;top:100%;width:16%;height:80%;background:#313638}.traffic-light.alt{left:25%;transform:scale(.8)}
.building{position:absolute;left:16%;bottom:39%;width:36%;height:34%;background:#e6e4dc;box-shadow:35px 8px 0 #b8c4c9}.building:after{content:"";position:absolute;inset:8px;background:repeating-linear-gradient(90deg,#7994a5 0 7px,transparent 7px 14px)}
.tree{position:absolute;left:45%;bottom:38%;width:9%;height:23%;background:#72513b}.tree:before{content:"";position:absolute;width:350%;aspect-ratio:1;left:-125%;top:-95%;border-radius:50%;background:#477251}
.bicycle{position:absolute;z-index:4;left:21%;bottom:24%;width:58%;height:38%}.bicycle:before,.bicycle:after{content:"";position:absolute;bottom:0;width:31%;aspect-ratio:1;border:4px solid #24282c;border-radius:50%}.bicycle:after{right:0}.bike-frame{position:absolute;left:20%;bottom:15%;width:47%;height:36%;border:4px solid #ea4335;transform:skew(-22deg) rotate(-4deg);border-radius:2px}.bike-frame:before{content:"";position:absolute;left:52%;bottom:70%;width:4px;height:30px;background:#24282c;transform:rotate(-12deg)}
.crosswalk{position:absolute;z-index:2;left:0;right:0;bottom:2%;height:38%;transform:skewY(-6deg);background:repeating-linear-gradient(90deg,transparent 0 11%,#eee 11% 20%)}
.bus{position:absolute;z-index:3;left:12%;right:12%;bottom:27%;height:36%;border-radius:5px 8px 3px 3px;background:#f2b90f;border-bottom:7px solid #363a3d}.bus:before{content:"";position:absolute;left:8%;right:8%;top:12%;height:38%;background:repeating-linear-gradient(90deg,#9dc0d0 0 19%,#303b42 19% 22%)}.bus:after{content:"";position:absolute;left:13%;right:13%;bottom:-13px;height:13px;background:radial-gradient(circle,#242628 0 5px,transparent 6px) left center/22px 13px no-repeat,radial-gradient(circle,#242628 0 5px,transparent 6px) right center/22px 13px no-repeat}
.abstract{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#eef1f4,#ccd5db)}.abstract-shape{width:45%;aspect-ratio:1;border:2px solid #7b8791;border-radius:50%;box-shadow:17px 11px 0 -5px #9ca9b2,-14px -16px 0 -8px #65737e}.abstract small{position:absolute;bottom:8px;font:7px var(--mono);color:#76818a;letter-spacing:.06em}
.challenge-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px}.challenge-help{color:var(--muted);font:9px/1.5 var(--mono)}.submit-button{min-width:100px}
.feedback{margin:13px 0 0;padding:10px 12px;border:1px solid #f1b5af;background:#fff4f2;color:#a12820;font:10px/1.35 var(--mono)}.feedback.success{border-color:#a9d8b5;background:#f0faf2;color:#216b35}.shake{animation:shake .35s ease}
.confidence{display:flex;align-items:center;gap:10px;margin-bottom:13px;padding:10px 12px;background:#f1f5f9;color:#4b5563;font:9px var(--mono)}.confidence strong{color:var(--blue);font-size:12px}.confidence-meter{flex:1;height:4px;background:#d7dde4}.confidence-meter i{display:block;height:100%;width:72%;background:var(--yellow)}
.impossible-grid .tile{background:#eef1f4}.impossible-tile{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f7f8fa,#dfe4e8);color:#5e6871}.impossible-tile i{width:32px;height:32px;margin-bottom:8px;border:1px solid #a8b0b7;border-radius:50%;background:repeating-linear-gradient(45deg,transparent 0 4px,#c8ced3 4px 5px)}.impossible-tile small{max-width:80%;font:7px/1.2 var(--mono);letter-spacing:.05em;text-transform:uppercase}
.audio-card{width:100%;max-width:450px}.audio-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.audio-title h2{font-size:21px}.audio-badge{padding:5px 8px;background:#fff1ef;color:var(--red);font:8px var(--mono)}.audio-player{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);background:#f7f8fa}.audio-play{width:46px;height:46px;border:0;border-radius:50%;background:var(--blue);color:#fff;cursor:pointer;font-size:0}.audio-play:after{content:"";display:block;margin-left:4px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid currentColor}.audio-play.playing:after{width:12px;height:15px;margin:auto;border:0;border-left:4px solid currentColor;border-right:4px solid currentColor}.waveform{height:36px;flex:1;display:flex;align-items:center;gap:3px}.waveform i{flex:1;max-width:4px;height:var(--h);background:#8baad0;animation:wave .8s ease-in-out infinite alternate;animation-play-state:paused}.waveform.playing i{animation-play-state:running}.audio-time{font:9px var(--mono);color:var(--muted)}.distorted{margin:14px 0;padding:13px;background:#202124;color:#cfd6dc;font:11px/1.5 var(--mono);letter-spacing:.08em}.field-label{display:block;margin:14px 0 7px;color:#4d5358;font-size:11px;font-weight:700}.audio-input{width:100%;height:44px;padding:0 12px;border:1px solid #aeb4ba;border-radius:3px;color:var(--ink);outline:0}.audio-input:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(26,115,232,.15)}
.final-state{text-align:center;max-width:510px}.success-seal{width:68px;height:68px;display:grid;place-items:center;margin:0 auto 21px;border-radius:50%;background:#e6f4ea;color:var(--green);font-size:34px;animation:pop .5s ease}.final-state h2{font-size:29px}.final-state .welcome{margin:7px 0 20px;color:var(--blue);font-size:16px;font-weight:700}.final-state p{margin:0 auto 13px;max-width:470px;color:var(--muted);font-size:12px;line-height:1.65}.final-state .thesis{margin:21px 0 17px;color:var(--ink);font-size:17px;font-weight:800;letter-spacing:-.02em}.final-pair{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;padding:9px 12px;background:#f1f5fa;font:700 10px var(--mono);color:var(--blue)}.final-actions{display:flex;justify-content:center;gap:8px}.one-more{margin-top:17px!important;font:9px var(--mono)!important;color:#979ca1!important}
.under-card{width:min(100%,620px);display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px}.pair-block{display:flex;align-items:center;gap:9px}.pair-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#4285f4 0 25%,#ea4335 25% 50%,#fbbc04 50% 75%,#34a853 75%);color:white;font-weight:800;box-shadow:inset 0 0 0 3px #fff}.pair-block div{display:flex;flex-direction:column;gap:3px}.pair-block strong{font-size:10px}.pair-block small{font:7px var(--mono);color:var(--muted);letter-spacing:.035em}
.ambient{position:absolute;top:43%;display:flex;flex-direction:column;gap:16px;color:#b1b6bc;font:8px var(--mono);letter-spacing:.08em;writing-mode:vertical-rl}.ambient-left{right:calc(100% + 70px)}.ambient-right{left:calc(100% + 70px)}
.system-log{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.log-heading{max-width:1100px;height:42px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font:9px var(--mono);letter-spacing:.08em}.live-label{display:flex;align-items:center;gap:7px}.live-label i{width:6px;height:6px;border-radius:50%;background:var(--green)}.ticker{overflow:hidden;border-top:1px solid #e8eaed;background:var(--ink);color:#fff}.ticker-track{width:max-content;height:48px;display:flex;align-items:center;gap:28px;font:10px var(--mono);letter-spacing:.08em;animation:ticker 28s linear infinite}.ticker-track span:nth-child(even){color:#6f757b}
footer{padding:38px 34px 18px;background:#fff}.footer-main{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:30px;align-items:center}.footer-main>div:not(.footer-actions){display:flex;flex-direction:column;gap:5px}.footer-main strong{font-size:11px}.footer-main span{color:var(--muted);font:8px var(--mono);letter-spacing:.05em}.footer-brand strong{font-size:20px}.footer-bottom{max-width:1200px;margin:34px auto 0;padding-top:15px;border-top:1px solid #e6e8eb;display:flex;justify-content:space-between;color:#969ba0;font:8px var(--mono)}.footer-bottom b{color:var(--red)}
.toast{position:fixed;z-index:200;right:20px;bottom:20px;max-width:330px;padding:13px 16px;border-radius:4px;background:#202124;color:#fff;box-shadow:0 8px 30px rgba(0,0,0,.23);font:10px/1.4 var(--mono);opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:none}.noscript{position:fixed;inset:auto 20px 20px;padding:14px;background:var(--red);color:#fff;z-index:300}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{50%{transform:scale(1.15)}}@keyframes dots{0%,80%,100%{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes shake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}@keyframes wave{to{height:calc(var(--h) * .35)}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes pulse-red{50%{box-shadow:0 0 0 7px rgba(217,48,37,0)}}@keyframes pulse-blue{50%{box-shadow:0 0 0 6px rgba(26,115,232,0)}}
@media(max-width:960px){.site-header{grid-template-columns:1fr auto;padding:0 18px}.header-nav{display:none}.ambient{display:none}}
@media(max-width:700px){.site-header{height:auto;min-height:72px;padding:10px 14px;gap:10px}.brand{font-size:17px;gap:7px}.brand>img{width:42px;height:42px}.header-actions{gap:5px}.header-actions .button{min-height:36px;padding:0 9px;font-size:8px}.notice-bar{justify-content:flex-start;padding-left:17px;font-size:8px}.notice-code{display:none}.verification-shell{min-height:auto;padding:49px 14px 42px}.experience-heading p{font-size:12px;padding:0 10px}.progress-wrap{margin-top:26px}.stage{padding:22px 16px;min-height:350px}.stage-topbar{font-size:7px}.recaptcha-card{padding:20px 15px;gap:13px}.captcha-label{font-size:16px}.under-card{align-items:flex-start;flex-direction:column}.under-actions{width:100%}.under-actions .button{flex:1}.pair-block small{font-size:6px}.challenge-head{padding:15px}.challenge-head h2{font-size:18px}.tile:before{font-size:10px}.footer-main{grid-template-columns:1fr 1fr}.footer-actions{grid-column:1/-1;justify-content:stretch}.footer-actions .button{flex:1}footer{padding:30px 18px 18px}.footer-bottom{gap:15px;line-height:1.5}.final-actions{flex-direction:column}.final-actions .button{width:100%}.audio-card{max-width:100%}}
@media(max-width:420px){h1{font-size:39px}.header-actions .button{max-width:93px;line-height:1.15;text-align:center}.header-actions .button-secondary{display:none}.stage{padding:18px 12px}.recaptcha-card{grid-template-columns:auto 1fr}.recaptcha-brand{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px}.recaptcha-logo{margin:0}.challenge-actions{align-items:flex-end}.challenge-help{font-size:8px}.submit-button{min-width:92px}.footer-main{grid-template-columns:1fr}.footer-actions{grid-column:auto}.footer-bottom{flex-direction:column}.audio-player{padding:12px}.distorted{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
