/* Concorde: two shapes meet, the page opens, small gestures answer back. */
body{background:radial-gradient(ellipse at 8% 0,#e5f0d7 0,transparent 45%),#f7f9f4;overflow-x:clip}.topbar,main{position:relative;z-index:1}.topbar{background:#142e25}.topbar-inner{max-width:1300px}.brand-mark svg rect{transform-origin:center;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.brand:hover .brand-mark svg rect:first-child{transform:translateX(-2px) rotate(-8deg)}.brand:hover .brand-mark svg rect:last-child{transform:translateX(2px) rotate(8deg)}.header-nav a::after{transform-origin:left;transition:transform .3s}.header-nav a:hover::after{transform:scaleX(.65)}
.cursor-glow{position:fixed;left:-180px;top:-180px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,#b8e87d29,transparent 68%);pointer-events:none;z-index:0;will-change:transform}.lock-button{color:#c6dcbf;border:1px solid #4b6559;width:44px;height:44px}.lock-button:hover{color:#d7ffad;background:#294b3b}#lock-form{margin:0;display:flex}.header-actions{gap:9px}
.source-card{border-radius:22px;box-shadow:0 8px 35px #193e2710;transition:transform .32s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}.source-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #193e2718}.source-b{box-shadow:0 8px 35px #3c446610}.source-number{transition:background .3s,color .3s,box-shadow .3s}.source-card.is-ready .source-number{animation:readyPop .65s cubic-bezier(.2,.8,.2,1)}.source-status{transition:color .25s,background .25s}.source-status.ready::before{content:'✓';margin-right:5px;font-weight:700}.dropzone{transition:background .3s,border-color .3s,box-shadow .3s}.dropzone:hover{background:#f1f8e9;border-color:#81a666;box-shadow:inset 0 0 0 3px #ebf4df}.source-b .dropzone:hover{background:#f2f4fe;border-color:#8c9ccd;box-shadow:inset 0 0 0 3px #e9edfc}.dropzone:hover .upload-icon{transform:rotate(0) translateY(-6px);box-shadow:0 8px 18px #49632b18}.dropzone.dragover .upload-icon{animation:uploadHop .7s ease-in-out infinite}.source-card .loaded-file{animation:softEnter .4s ease-out}.configuration,.name-review{animation:softEnter .35s ease-out}.step-number{transition:background .35s,color .35s,transform .35s,border-color .35s}.workflow-steps .complete .step-number{animation:readyPop .5s ease-out}.compare-bar{border-radius:18px}.compare-bar .primary:not(:disabled){animation:readyLight 1.5s ease-out 1}.button{transition:background .2s,box-shadow .25s,transform .25s,border-color .25s}.button.secondary:hover{transform:translateY(-2px)}.check-label input{transition:transform .25s}.check-label input:checked{animation:readyPop .35s ease-out}.creator-credit{display:flex;align-items:center;gap:5px;font-size:14px;color:#536b4d}.creator-credit strong{color:#244d30;font-weight:700;position:relative}.creator-credit strong::after{content:'';height:2px;background:#a8d778;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .35s}.creator-credit:hover strong::after{transform:scaleX(1)}.creator-heart{font-size:16px;color:#568f43;margin-right:3px;display:inline-block}.creator-credit:hover .creator-heart{animation:heartBeat .65s ease-in-out}.footer-signature{flex-wrap:wrap}.confetti-piece{position:fixed;width:7px;height:7px;pointer-events:none;z-index:35}.toast{animation:softEnter .3s ease-out}.app-dialog[open]{animation:dialogBloom .35s cubic-bezier(.2,.8,.2,1)}
.page-revealed.comparison-page .topbar{animation:softEnter .55s ease-out both}.page-revealed.comparison-page .intro{animation:softEnter .65s .08s ease-out both}.page-revealed.comparison-page .workflow-heading{animation:softEnter .65s .14s ease-out both}.page-revealed.comparison-page #card-a{animation:softEnter .7s .2s ease-out backwards}.page-revealed.comparison-page #card-b{animation:softEnter .7s .28s ease-out backwards}.page-revealed.comparison-page .compare-bar{animation:softEnter .65s .35s ease-out backwards}.page-revealed.comparison-page .results-section{animation:softEnter .7s .4s ease-out backwards}
.welcome-dialog{background:#11291f;isolation:isolate}.welcome-dialog::backdrop{background:transparent}.welcome-dialog[open]{animation:none;opacity:1;transition:opacity .65s ease-in-out}.welcome-dialog.is-leaving{animation:none;opacity:0;transform:none;pointer-events:none}.welcome-content{position:relative;z-index:2;max-width:100%;padding:28px}.welcome-grid{position:absolute;inset:0;background-image:linear-gradient(#b7dc8b09 1px,transparent 1px),linear-gradient(90deg,#b7dc8b09 1px,transparent 1px);background-size:62px 62px;mask-image:radial-gradient(ellipse,#0007,transparent 75%);transform:perspective(800px) rotateX(12deg) scale(1.2);animation:gridSettle 1.5s ease-out both}.welcome-halo{position:absolute;border-radius:50%;width:min(65vw,800px);height:min(65vw,800px);filter:blur(70px);pointer-events:none;opacity:.3}.halo-one{top:-30%;left:-8%;background:radial-gradient(circle,#73a63190,transparent 65%);animation:haloDrift 2s ease-out both}.halo-two{bottom:-35%;right:-10%;background:radial-gradient(circle,#717ece80,transparent 65%);animation:haloDrift 2s ease-out reverse both}.welcome-topline{position:absolute;top:30px;left:38px;right:38px;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:1.6px;color:#9cbaa4;z-index:2}.welcome-topline span:last-child{letter-spacing:.4px}.welcome-orbit{width:142px;height:142px;position:relative;display:grid;place-items:center;margin:0 auto 20px}.orbit-ring{position:absolute;inset:0;border:1px solid #abd77e35;border-radius:50%;animation:orbitOpen 1.1s cubic-bezier(.15,.8,.25,1) both}.orbit-ring::after{content:'';position:absolute;inset:12px;border:1px dashed #bde39c2b;border-radius:50%;animation:orbitTurn 1.9s ease-out both}.welcome-monogram{width:96px;height:96px;margin:0;filter:drop-shadow(0 4px 18px #b6ec6230)}.welcome-monogram svg{stroke-width:2;stroke:#c0ed8d}.welcome-monogram .mark-left{fill:#8daf6520;animation:matchLeft .95s cubic-bezier(.15,.8,.25,1) both}.welcome-monogram .mark-right{fill:#94a5df15;stroke:#bbc8f8;animation:matchRight .95s cubic-bezier(.15,.8,.25,1) both}.orbit-spark{position:absolute;width:7px;height:7px;background:#cff399;border-radius:50%;box-shadow:0 0 16px #c7f69655}.spark-one{top:19px;right:12px;animation:sparkPop 1.1s .2s both}.spark-two{bottom:21px;left:12px;width:5px;height:5px;background:#afbdef;animation:sparkPop 1.1s .35s both}.welcome-content .welcome-kicker{font-size:12px;letter-spacing:3px;color:#a9c392;margin:0 0 10px;animation:softEnter .7s .12s both}.welcome-content h2{font-size:clamp(56px,10vw,100px);letter-spacing:-4.5px;font-weight:600;line-height:1.1;animation:wordmarkIn .85s cubic-bezier(.16,.8,.2,1) both}.welcome-content h2 span{display:inline-block;color:#c0ed8d;animation:dotHop .95s .25s both}.welcome-content>p:not(.welcome-kicker){font-size:16px;color:#b6cbb9;margin-top:20px;animation:softEnter .65s .24s both;line-height:1.5}.welcome-progress{width:130px;height:3px;background:#35523b;margin:28px auto 23px}.welcome-progress span{background:linear-gradient(90deg,#9fc765,#d6f6ab);animation:welcomeProgress 1.25s cubic-bezier(.2,.6,.3,1) both}.welcome-privacy{font-size:13px;color:#a6bda5;animation:softEnter .6s .3s both}.welcome-content>button{font-size:13px;color:#b8cbb6;padding:11px 18px;border:1px solid #6f916344;border-radius:24px;margin-top:20px;transition:color .2s,background .2s,border-color .2s}.welcome-content>button:hover{background:#94bc7320;border-color:#92b37380;color:#d1eeae;text-decoration:none}.welcome-corner{font-size:12px;letter-spacing:1.5px;color:#78997b;bottom:28px}.welcome-signature{position:absolute;bottom:28px;right:38px;font-size:14px;color:#a9c491;letter-spacing:1px}
.gate-page{min-height:100dvh;background:radial-gradient(ellipse at 10% 15%,#dff1c7,transparent 55%),radial-gradient(ellipse at 95% 90%,#e4e8fb,transparent 50%),#f5f8ef}.gate-wordmark{position:fixed;top:29px;left:36px;font-size:26px;letter-spacing:-1px;color:#23422c;font-weight:650}.gate-credit{position:fixed;bottom:24px;left:0;width:100%;text-align:center;font-size:13px;color:#667e5c}.access-dialog{width:420px;max-width:calc(100% - 32px);padding:30px;border-radius:24px;border:1px solid #d4e1cd;background:#fff;box-shadow:0 24px 100px #29402129;color:var(--ink);max-height:calc(100dvh - 48px);overflow:auto}.access-dialog::backdrop{background:#eaf1e23b;backdrop-filter:blur(6px)}.access-dialog[open]{animation:dialogBloom .45s cubic-bezier(.18,.8,.2,1) both}.access-symbol{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:#eaf5dc;color:#527931;margin-bottom:22px}.access-symbol .icon{width:24px;height:24px}.access-dialog h1{font-size:30px;line-height:1.15;letter-spacing:-1px;font-weight:600}.access-intro{font-size:15px;line-height:1.7;color:#67765f;margin-top:12px}.access-dialog label{display:block;font-size:14px;font-weight:600;margin:24px 0 9px}.password-field{display:flex;align-items:center;border:1px solid #c9d7bf;border-radius:11px;background:#fafcf7;transition:box-shadow .25s,border-color .25s}.password-field:focus-within{box-shadow:0 0 0 3px #adce8a40;border-color:#91b26c}.password-field input{min-width:0;flex:1;width:100%;background:none;border:0;padding:14px;font-size:16px;outline:none}.password-field button{flex:none;border:0;background:none;font-size:12px;font-weight:600;padding:14px 12px;color:#567943;min-height:44px}.access-submit{width:100%;background:#c0eb8e;color:#234227;box-shadow:none;margin-top:18px;font-size:15px;padding:14px}.access-submit:hover{background:#b0e272;color:#234227}.access-note{font-size:12px;color:#708166;line-height:1.7;margin-top:20px;display:flex;align-items:flex-start;gap:8px}.access-note .icon{width:15px;height:15px;flex:none;margin-top:3px}.access-error{font-size:14px;color:#a22d3d;background:#fff0f0;line-height:1.6;border-radius:8px;padding:11px;margin-top:14px}.access-error:empty{display:none}
@keyframes softEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dialogBloom{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes readyPop{0%{transform:scale(.92)}50%{transform:scale(1.1)}100%{transform:scale(1)}}@keyframes uploadHop{50%{transform:translateY(-7px)}}@keyframes readyLight{0%{box-shadow:0 0 0 0 #a8d66e55}70%{box-shadow:0 0 0 9px #a8d66e00}100%{box-shadow:0 4px 12px #77a6361a}}@keyframes heartBeat{30%{transform:scale(1.3)}55%{transform:scale(1)}75%{transform:scale(1.18)}100%{transform:scale(1)}}@keyframes matchLeft{from{opacity:0;transform:translateX(-30px) rotate(-12deg);transform-origin:center}to{opacity:1;transform:none}}@keyframes matchRight{from{opacity:0;transform:translateX(30px) rotate(12deg);transform-origin:center}to{opacity:1;transform:none}}@keyframes orbitOpen{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes orbitTurn{from{transform:rotate(-55deg)}to{transform:rotate(40deg)}}@keyframes sparkPop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.5)}100%{opacity:1;transform:scale(1)}}@keyframes wordmarkIn{from{opacity:0;transform:translateY(18px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes dotHop{0%{opacity:0;transform:translateY(-20px)}65%{opacity:1;transform:translateY(3px)}100%{opacity:1;transform:translateY(0)}}@keyframes haloDrift{from{opacity:.12;transform:translate(-30px,15px) scale(.8)}to{opacity:.35;transform:translate(0) scale(1)}}@keyframes gridSettle{from{opacity:0;transform:perspective(800px) rotateX(20deg) scale(1.3)}to{opacity:1;transform:perspective(800px) rotateX(12deg) scale(1.2)}}
@media(max-width:720px){.welcome-topline{top:22px;left:22px;right:22px;font-size:12px;letter-spacing:.7px}.welcome-topline span:last-child{display:none}.welcome-content h2{letter-spacing:-3px}.welcome-orbit{width:116px;height:116px;margin-bottom:18px}.welcome-monogram{width:82px;height:82px}.welcome-content .welcome-kicker{font-size:12px;letter-spacing:2px}.welcome-corner{bottom:23px;left:22px;font-size:12px;max-width:180px;line-height:1.7}.welcome-signature{right:22px;bottom:27px}.welcome-content{padding:22px}.welcome-content>p:not(.welcome-kicker){font-size:15px}.source-card:hover{transform:none}.header-actions{gap:7px}.lock-button{width:40px;height:42px}.header-actions .button{padding-inline:10px}.source-card{border-radius:19px}.access-dialog{padding:25px}.gate-wordmark{top:22px;left:23px;font-size:24px}.creator-credit{font-size:14px}}
@media(max-width:450px){.header-actions .button{width:37px}.header-actions{gap:6px}.brand{font-size:23px}.brand-mark,.brand-mark svg{width:27px}.lock-button{width:37px}.topbar-inner{padding-inline:14px;gap:8px}.welcome-content h2{font-size:58px}.welcome-privacy{font-size:12px}.welcome-content>p:not(.welcome-kicker){max-width:250px;margin-inline:auto}.access-dialog h1{font-size:28px}}
@media(max-height:640px){.welcome-orbit{width:85px;height:85px;margin-bottom:12px}.welcome-monogram{width:70px;height:70px}.welcome-content h2{font-size:56px}.welcome-content>p:not(.welcome-kicker){margin-top:10px}.welcome-progress{margin:15px auto}.welcome-content>button{margin-top:12px}.welcome-topline,.welcome-corner,.welcome-signature{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cursor-glow,.confetti-piece{display:none!important}.source-card:hover,.button:hover,.dropzone:hover .upload-icon{transform:none}.welcome-dialog.is-leaving{opacity:0}}
/* The author's signature opens its hidden tribute without leaving the comparison. */
.creator-link{display:inline-flex;align-items:center;min-height:44px;padding:4px 5px;margin:-4px -5px;text-decoration:none;border-radius:4px}
