*,*:before,*:after{box-sizing:border-box}body{margin:0;background:#f4f4f4;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#111}html{scroll-behavior:smooth}.landing-page{--ink:#111;--paper:#f6f5f0;--acid:#f2ef56;--violet:#7557ff;overflow:hidden;background:var(--paper)}.landing-hero{min-height:min(790px,calc(100vh - 78px));display:grid;grid-template-columns:minmax(0,.95fr) minmax(480px,1.05fr);gap:clamp(30px,5vw,90px);align-items:center;padding:clamp(56px,8vw,120px) clamp(24px,6vw,100px);border-bottom:3px solid var(--ink);background:radial-gradient(circle at 85% 10%,rgba(117,87,255,.13),transparent 27%),var(--paper)}.landing-eyebrow,.landing-kicker{display:inline-block;font-size:12px;font-weight:900;letter-spacing:.15em;border:2px solid var(--ink);padding:7px 9px;background:var(--acid);box-shadow:4px 4px 0 var(--ink)}.landing-hero h1{max-width:760px;margin:28px 0 24px;font-size:clamp(3.4rem,6.8vw,7.4rem);line-height:.89;letter-spacing:-.07em;text-transform:uppercase}.landing-lede{max-width:680px;margin:0;font-size:clamp(1.08rem,1.6vw,1.35rem);line-height:1.55}.landing-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.landing-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-width:190px;padding:15px 18px;border:3px solid var(--ink);color:var(--ink);background:#fff;text-decoration:none;font-weight:900;text-transform:uppercase;letter-spacing:.04em;box-shadow:6px 6px 0 var(--ink);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.landing-button:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--ink)}.landing-button-primary{color:#fff;background:var(--ink)}.landing-button-primary:hover{background:var(--violet)}.landing-proof{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:34px;font-size:11px;font-weight:900;letter-spacing:.09em}.landing-proof span:before{content:"●";margin-right:8px;color:var(--violet)}.landing-plot{position:relative;border:4px solid var(--ink);background:#fff;box-shadow:14px 14px 0 var(--ink);transform:rotate(1.3deg);transition:transform .3s ease}.landing-plot:hover{transform:rotate(0) translateY(-5px)}.landing-plot-toolbar{height:44px;display:flex;align-items:center;gap:7px;padding:0 14px;border-bottom:3px solid var(--ink);background:#eee}.landing-plot-toolbar span{width:11px;height:11px;border:2px solid var(--ink);border-radius:50%;background:var(--acid)}.landing-plot-toolbar span:nth-child(2){background:var(--violet)}.landing-plot-toolbar span:nth-child(3){background:#fff}.landing-plot-toolbar b{margin-left:auto;font-size:10px;letter-spacing:.12em}.landing-plot svg{display:block;width:100%;height:auto}.plot-grid path{fill:none;stroke:#dedede;stroke-width:1}.plot-axis{fill:none;stroke:var(--ink);stroke-width:4}.plot-line{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:900;stroke-dashoffset:900;animation:plot-draw 1.8s cubic-bezier(.2,.7,.2,1) .35s forwards}.plot-line-a{stroke:var(--violet)}.plot-line-b{stroke:var(--ink);animation-delay:.65s}.plot-dot{opacity:0;animation:plot-pop .35s ease forwards}.plot-dot-a{fill:var(--violet);stroke:var(--ink);stroke-width:2;animation-delay:1.35s}.plot-dot-b{fill:var(--acid);stroke:var(--ink);stroke-width:2;animation-delay:1.55s}.landing-plot text{font:800 12px system-ui,sans-serif;letter-spacing:.08em}.landing-plot-note{position:absolute;right:-18px;bottom:-22px;padding:8px 11px;border:2px solid var(--ink);background:var(--acid);font-size:10px;font-weight:900;letter-spacing:.06em;transform:rotate(-2deg)}.landing-reveal{animation:landing-rise .7s cubic-bezier(.2,.75,.25,1) both}.landing-reveal-delay{animation-delay:.16s}.landing-marquee{overflow:hidden;border-bottom:3px solid var(--ink);background:var(--ink);color:#fff}.landing-marquee>div{display:flex;width:max-content;animation:landing-marquee 32s linear infinite}.landing-marquee span{display:flex;gap:30px;padding:13px 15px;font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}.landing-marquee b{color:var(--acid)}.landing-section{padding:clamp(70px,9vw,130px) clamp(24px,7vw,120px);border-bottom:3px solid var(--ink)}.landing-intro{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(40px,8vw,130px);align-items:end}.landing-section h2,.landing-cta h2{margin:22px 0 0;font-size:clamp(2.5rem,5vw,5.4rem);line-height:.95;letter-spacing:-.055em;text-transform:uppercase}.landing-intro>p{margin:0;font-size:1.2rem;line-height:1.65}.landing-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:3px solid var(--ink)}.landing-feature-grid article{min-height:300px;padding:clamp(28px,4vw,56px);border-right:3px solid var(--ink);background:#fff;transition:background .2s ease,transform .2s ease}.landing-feature-grid article:last-child{border-right:0}.landing-feature-grid article:hover{background:var(--acid);transform:translateY(-7px)}.landing-feature-grid span{font-size:12px;font-weight:900}.landing-feature-grid h3{margin:70px 0 15px;font-size:1.55rem;text-transform:uppercase}.landing-feature-grid p{line-height:1.55}.landing-workflow{background:#e8e4ff}.landing-workflow>h2{max-width:1050px}.landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:60px}.landing-steps>div{padding:30px;border:3px solid var(--ink);background:var(--paper);box-shadow:7px 7px 0 var(--ink)}.landing-steps b{display:grid;width:38px;height:38px;place-items:center;border:2px solid var(--ink);border-radius:50%;background:var(--acid)}.landing-steps h3{margin:34px 0 8px;text-transform:uppercase}.landing-steps p{line-height:1.55}.landing-research{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,150px);background:#fff}.landing-checks{align-self:end}.landing-checks p{margin:0;padding:20px 0;border-bottom:2px solid var(--ink);font-weight:750}.landing-checks b{margin-right:12px;color:var(--violet);font-size:1.4rem}.landing-cta{display:grid;place-items:center;padding:clamp(80px,12vw,180px) 24px;text-align:center;color:#fff;background:var(--ink)}.landing-cta p{color:var(--acid);font-size:12px;font-weight:900;letter-spacing:.18em}.landing-cta h2{max-width:980px;margin-bottom:45px}.landing-cta .landing-button{border-color:#fff;box-shadow:7px 7px 0 var(--acid)}.landing-cta .landing-button:hover{box-shadow:3px 3px 0 var(--acid)}.landing-footer{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;padding:30px clamp(24px,6vw,100px);border-top:3px solid var(--ink);background:var(--acid)}.landing-footer strong{font-size:1.4rem}.landing-footer span{opacity:.75}.landing-footer div{display:flex;gap:20px}.landing-footer a{color:var(--ink);font-weight:900;text-transform:uppercase}@keyframes plot-draw{to{stroke-dashoffset:0}}@keyframes plot-pop{0%{opacity:0;transform:scale(.2);transform-origin:center}to{opacity:1;transform:scale(1)}}@keyframes landing-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-marquee{to{transform:translate(-50%)}}@media(max-width:1000px){.landing-hero{grid-template-columns:1fr}.landing-plot{max-width:720px}.landing-feature-grid{grid-template-columns:1fr 1fr}.landing-feature-grid article:nth-child(2){border-right:0}.landing-feature-grid article:nth-child(-n+2){border-bottom:3px solid var(--ink)}}@media(max-width:700px){.landing-hero{padding-top:45px}.landing-hero h1{font-size:clamp(3rem,16vw,5rem)}.landing-intro,.landing-research,.landing-feature-grid,.landing-steps{grid-template-columns:1fr}.landing-feature-grid article{min-height:240px;border-right:0;border-bottom:3px solid var(--ink)}.landing-feature-grid article:last-child{border-bottom:0}.landing-feature-grid article h3{margin-top:38px}.landing-footer{grid-template-columns:1fr}.landing-footer div{flex-wrap:wrap}}@media(max-width:760px){.app-nav{gap:12px!important;flex-wrap:wrap;justify-content:flex-end;font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.landing-reveal,.plot-line,.plot-dot,.landing-marquee>div{animation:none;opacity:1;stroke-dashoffset:0}.landing-button,.landing-plot,.landing-feature-grid article{transition:none}}.layout-viewport-locked{height:100dvh;min-height:0!important;overflow:hidden}.builder-shell{height:100%;min-height:0;overflow:hidden}.builder-sidebar{min-height:0;overflow-y:auto;overflow-x:visible;overscroll-behavior:contain;scrollbar-gutter:stable}.builder-preview{min-width:0;overflow:hidden}.legend-location-grid{display:grid;grid-template-columns:repeat(3,28px);grid-template-rows:repeat(3,28px);gap:4px;align-items:center;justify-content:start}.legend-location-grid label{width:28px;height:28px;display:grid;place-items:center;border:1px solid #bbb;border-radius:4px;cursor:pointer}.legend-location-grid input{margin:0}@media(max-width:1050px){.builder-shell{grid-template-columns:minmax(250px,1fr) minmax(320px,1.4fr) minmax(250px,1fr)!important;overflow-x:auto}}.brutal-frame{min-height:100vh;padding:3rem;border:6px solid black}.auth-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:4rem;padding-bottom:1rem;border-bottom:3px solid black}.auth-nav a{text-decoration:none;color:#000;font-weight:800;text-transform:uppercase;letter-spacing:1px}.auth-nav a:visited{color:#000}.auth-brand{font-size:1.4rem;font-weight:900}.auth-nav-links{display:flex;gap:2rem}.auth-nav a:hover{text-decoration:underline}.app-nav a{text-decoration:none;color:#000;font-weight:800;text-transform:uppercase;letter-spacing:1px}.app-nav a:visited{color:#000}.app-nav a:hover{text-decoration:underline}.brutal-card{max-width:720px;margin:4rem auto;padding:3.5rem;border:4px solid black;background:#fff;box-shadow:10px 10px #000}.brutal-title{font-size:3rem;font-weight:900;margin-bottom:2.5rem;letter-spacing:-1px;text-transform:uppercase}.brutal-input{width:100%;padding:1rem;border:3px solid black;background:#fafafa;font-size:1rem;margin-bottom:1.8rem;outline:none;transition:.1s ease}.brutal-input:focus{background:#fff;box-shadow:5px 5px #000}.brutal-button{width:100%;padding:1.1rem;border:3px solid black;background:#000;color:#fff;font-weight:800;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:.08s ease}.brutal-button:hover{transform:translate(-3px,-3px);box-shadow:6px 6px #000}.auth-footer{margin-top:2rem;font-size:.95rem}.auth-message{margin-bottom:1.5rem;padding:.8rem;border:2px solid black;background:#e8ffe8;font-weight:600}
