:root{--paper:#f4f1e8;--ink:#11110f;--line:#bbb7aa;--yellow:#eaff38;--blue:#175ce5;--coral:#f2634d;--green:#13805b;--white:#fff}*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Outfit,"Helvetica Neue",Arial,sans-serif;letter-spacing:0;overflow-x:hidden}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:2px}nav{height:56px;display:grid;grid-template-columns:1fr auto 40px;align-items:center;gap:18px;padding:0 clamp(14px,3vw,42px);background:var(--ink);color:var(--white)}.brand{font-weight:900}.engine{display:flex;gap:18px;color:#c4c3bd;font:700 .65rem ui-monospace,monospace}.engine .ready{color:var(--yellow)}.icon{width:36px;height:36px;border:1px solid #777;background:transparent;color:white;border-radius:50%;font-size:1.2rem}.hero{padding:clamp(34px,5vw,76px) clamp(16px,4vw,56px) clamp(28px,4vw,54px);text-align:center;border-bottom:1px solid var(--ink)}.eyebrow{margin:0 0 12px;color:var(--blue);font:800 .68rem ui-monospace,monospace;text-transform:uppercase}.hero h1{max-width:78rem;margin:0 auto;font:500 clamp(2.4rem,5.2vw,5.4rem)/.92 Georgia,serif;letter-spacing:0}.hero h1 em{color:var(--blue)}.hero>p:last-child{max-width:700px;margin:18px auto 0;color:#626057;line-height:1.5}.workspace{min-height:calc(100svh - 290px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;border-bottom:1px solid var(--ink)}.input{grid-column:span 5;min-width:0;border-right:1px solid var(--ink);background:white;display:flex;flex-direction:column}.result{grid-column:span 7;min-width:0;display:flex;flex-direction:column}.toolbar{height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);font:650 .62rem ui-monospace,monospace;color:#68665e}.toolbar button{align-self:stretch;border:0;border-right:1px solid var(--ink);background:var(--yellow);font-weight:900;padding:0 16px}.toolbar span{padding:0 12px;text-align:right}textarea{width:100%;height:218px;border:0;border-bottom:1px solid var(--ink);padding:14px;resize:vertical;font:12px/1.5 ui-monospace,monospace}.controls{padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:11px}.controls label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;font-weight:750}.controls input{width:76px;padding:8px;border:1px solid var(--ink)}.solve{grid-column:1/-1;min-height:48px;padding:0 14px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--ink);background:var(--coral);font-weight:900}.error{margin:0 14px 14px;padding:11px;border:1px solid #9d2b20;background:#ffe5df;color:#792018}.metrics{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;border-bottom:1px solid var(--ink)}.metrics>div{padding:12px;border-right:1px solid var(--ink)}.metrics>div:last-child{border-right:0}.metrics span{display:block;color:#6d6a62;font:650 .58rem ui-monospace,monospace;text-transform:uppercase}.metrics b{display:block;margin-top:8px;font:500 clamp(1.5rem,3vw,3.2rem) Georgia,serif}.passbar{display:flex;gap:12px;padding:9px 13px;border-bottom:1px solid var(--line);font:700 .6rem ui-monospace,monospace;color:#65635d}.resultHead{padding:14px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line)}.resultHead h2{margin:0;font:500 1.6rem Georgia,serif}.resultHead p{margin:4px 0 0;color:#66645c;font-size:.75rem}.resultHead button,.completed button{min-height:40px;border:1px solid var(--ink);background:var(--yellow);font-weight:900;padding:0 14px}.resultHead button:disabled{opacity:.4}.resultButtons{display:flex;gap:6px}.resultHead #viewResult{background:var(--ink);color:white}.portfolio{flex:1;min-height:240px;overflow:auto}.proposal{display:grid;grid-template-columns:minmax(130px,.8fr) repeat(3,minmax(80px,.4fr));align-items:center;gap:8px;padding:13px 15px;border-bottom:1px solid var(--line);background:white}.proposal.excluded{background:#e9e6dc;color:#78766e}.proposal strong{font-size:1rem}.proposal small{display:block;color:#77746b;margin-top:3px}.proposal span{font:750 .68rem ui-monospace,monospace}.selectedFlag{color:var(--green)}.excluded .selectedFlag{color:#777}.empty{padding:45px;text-align:center;color:#77746b}.boundary{padding:11px 14px;border-top:1px solid var(--ink);background:var(--yellow);display:grid;grid-template-columns:auto 1fr;gap:14px;font-size:.7rem;line-height:1.4}.method{padding:clamp(100px,14vw,190px) clamp(18px,6vw,86px);background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:90px}.method h2{margin:0;font:500 clamp(2.8rem,6vw,6rem)/.94 Georgia,serif}.method p{font:500 clamp(1.2rem,2vw,1.8rem)/1.4 Georgia,serif;color:#c8c7c1;margin:0 0 90px}.completed{position:fixed;inset:0;z-index:50;background:var(--blue);color:white;padding:clamp(28px,7vw,90px);display:flex;flex-direction:column;justify-content:center;overflow:auto}.completed>p:first-of-type{text-transform:uppercase;font:800 .7rem ui-monospace,monospace}.completed h2{max-width:1000px;margin:10px 0 30px;font:500 clamp(3rem,8vw,8rem)/.9 Georgia,serif}.completedMetrics{display:flex;gap:10px;flex-wrap:wrap}.completedMetrics b,#completedNames{padding:12px;border:1px solid #8fb0ff;font:700 .8rem ui-monospace,monospace}.completed #completedNames{margin:10px 0;line-height:1.5}.completedWhy{max-width:800px;line-height:1.5;margin:6px 0 22px}.completed #closeResult{position:absolute;right:24px;top:20px;background:transparent;color:white;border-color:white;font-size:1.4rem}.completed #downloadCompleted{align-self:flex-start;color:var(--ink)}
@media(max-width:820px){nav{padding:0 10px}.engine{font-size:.48rem;gap:7px}.hero{text-align:left;padding:28px 12px}.hero h1{font-size:clamp(2.25rem,11vw,3.6rem)}.hero>p:last-child{margin-left:0;font-size:.8rem}.workspace{display:block}.input{border-right:0;border-bottom:1px solid var(--ink)}.toolbar span{display:none}textarea{height:175px}.controls{padding:10px}.metrics{grid-template-columns:repeat(2,1fr)}.metrics>div:nth-child(2){border-right:0}.metrics>div:nth-child(-n+2){border-bottom:1px solid var(--ink)}.proposal{grid-template-columns:1fr 1fr}.proposal>span:last-child{grid-column:1/-1}.method{grid-template-columns:1fr;gap:60px;padding:90px 16px}.completed{padding:58px 16px 24px}.completed h2{font-size:clamp(3rem,15vw,5rem)}.completedMetrics{display:grid;grid-template-columns:1fr}.completed #downloadCompleted{width:100%}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
