:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1d2634;background:#f6f7fb;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0}button,input,textarea{font:inherit}a{color:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f9b968;outline-offset:3px}.topbar{height:70px;background:#181527;color:#f5f1ff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1170px)/2))}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700}.mark{display:grid;place-items:center;width:31px;height:31px;background:#aeece7;color:#183942;border-radius:9px;font-size:25px;line-height:1}.brand i{font-style:normal;color:#8f91b5;padding:0 3px}.back{color:#c6c4dd;font-size:13px;text-decoration:none}.back:hover,footer a:hover{text-decoration:underline}main{max-width:1170px;padding:0 24px 95px;margin:auto}.eyebrow{margin:0 0 17px;color:#6d52a9;font-size:11px;font-weight:790;letter-spacing:.16em;text-transform:uppercase}.eyebrow span{color:#9e99b4;margin-left:14px}.intro{padding:77px 0 64px}.intro h1{font-size:clamp(50px,6vw,82px);line-height:1.02;letter-spacing:-.065em;margin:0;font-weight:780}.intro h1 em{font-style:normal;color:#7356b5}.lead{font-size:19px;line-height:1.55;color:#596a79;max-width:760px;margin:25px 0 27px}.scope{display:flex;align-items:flex-start;gap:13px;background:#e9f7f5;border:1px solid #c4e5df;border-radius:11px;padding:15px 18px;max-width:760px}.scope p{font-size:14px;line-height:1.48;color:#46656a;margin:0}.scope-dot{background:#0ea88f;border-radius:50%;width:9px;height:9px;flex:none;margin-top:7px;box-shadow:0 0 0 4px #cceee5}.section-head h2{font-size:clamp(31px,4vw,49px);letter-spacing:-.055em;line-height:1.1;margin:0 0 13px}.section-head>p:last-child{color:#607283;line-height:1.55;font-size:16px;max-width:800px;margin:0}.setup,.evaluation,.results,.source{margin-top:56px}.setup-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:15px;margin-top:29px}.setup-card,.side,.target{border:1px solid #dfe3ed;border-radius:16px;background:#fff;box-shadow:0 5px 18px #1f294009}.setup-card{padding:25px 27px}.setup-card h3{font-size:20px;letter-spacing:-.025em;margin:0 0 8px}.setup-card>p{font-size:14px;color:#637585;line-height:1.55;margin:0 0 17px}.file-button{display:inline-flex;border:1px solid #7255ad;background:#7356b5;color:#fff;padding:10px 14px;border-radius:9px;font-size:13px;font-weight:730;cursor:pointer;margin-bottom:19px}.file-button:hover{background:#5d4598}.field-label{display:block;color:#334456;font-size:13px;font-weight:730;margin:2px 0 8px}.setup-card textarea,.side textarea,.dimensions input,.box-fields input{border:1px solid #cad4e1;border-radius:9px;background:#f9fbfd;color:#213345;padding:11px 12px;width:100%}.setup-card textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.45;resize:vertical;min-height:120px}.setup-card textarea:focus,.side textarea:focus,.dimensions input:focus,.box-fields input:focus{border-color:#8765c4;background:#fff}.small{font-size:12px!important;color:#758391!important;line-height:1.5}.small a{color:#62509f;font-weight:700}.dimensions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:17px}.dimensions label{font-size:12px;color:#384d60;font-weight:720}.dimensions input{display:block;margin-top:7px;font-size:16px;font-weight:650;font-variant-numeric:tabular-nums}.file-status{background:#f1f4fa;border-radius:8px;padding:11px 12px;min-height:43px;color:#596b7c!important;font-size:12px!important;margin:0 0 24px!important}.start{border:0;background:#1e2940;color:#fff;padding:12px 16px;border-radius:9px;font-size:14px;font-weight:730;margin-top:10px}.start:hover{background:#3a355d}.error{color:#b03946;font-size:13px;line-height:1.45;min-height:20px;margin:14px 0 0}.progress{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:17px 0;color:#687587;font-size:13px;font-weight:680}.target{display:flex;justify-content:space-between;gap:25px;padding:23px 25px;margin-bottom:16px}.target .eyebrow{margin-bottom:8px}.target pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:19px;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:#202c3b}.target p:last-child{font-size:13px;color:#758392;margin:9px 0 0}.target-facts{min-width:220px;display:grid;align-content:center;gap:7px;text-align:right;color:#50677d;font-size:12px}.target-facts small{font-size:11px;color:#8494a1;line-height:1.35}.sides{display:grid;grid-template-columns:1fr 1fr;gap:15px}.side{padding:21px 22px 23px;min-width:0}.side-head{display:flex;align-items:center;gap:10px;color:#6f8090;font-size:13px;font-weight:700;margin-bottom:15px}.side-letter{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#dfd9f0;color:#60449f;font-size:20px;font-weight:800}.side canvas{display:block;width:100%;height:auto;max-height:650px;background:#e9edf2;border:1px solid #d2d9e4;border-radius:10px;touch-action:none;cursor:crosshair}.status-choices{display:flex;gap:6px;margin:17px 0}.status-choices button{flex:1;border:1px solid #d6dce8;background:#f4f6fa;color:#526476;padding:8px 9px;border-radius:8px;font-size:12px;font-weight:730}.status-choices button[aria-pressed="true"]{background:#7255ad;border-color:#7255ad;color:#fff}.side label{display:block;font-size:12px;color:#405366;font-weight:720}.side textarea{display:block;resize:vertical;margin-top:7px;font-size:14px;min-height:76px}.box-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:15px}.box-fields label{font-size:11px;color:#718092}.box-fields input{padding:8px 5px;margin-top:4px;font-size:13px;font-variant-numeric:tabular-nums}.side textarea:disabled,.box-fields input:disabled{opacity:.55;cursor:not-allowed}.canvas-note{font-size:11px;color:#83909b;line-height:1.4;margin:13px 0 0}.navigation{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:20px}.navigation button,#download{border:1px solid #d6d5e3;background:#fff;color:#5b4b86;border-radius:9px;padding:11px 15px;font-size:13px;font-weight:760}.navigation button:hover:not(:disabled),#download:hover{background:#eee9f7}.navigation button:disabled{opacity:.45;cursor:not-allowed}#reveal{margin-left:auto;background:#7255ad;color:#fff;border-color:#7255ad}#reveal:hover:not(:disabled){background:#594397}.result-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:29px}.result-cards article{border-radius:15px;background:#1e2739;color:#f0f4fb;padding:25px 27px}.result-cards p{color:#aeb9c7;font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 9px}.result-cards h3{font-size:23px;margin:0 0 19px}.result-cards dl{display:grid;grid-template-columns:1fr auto;gap:10px 15px;margin:0}.result-cards dt{font-size:13px;color:#aab9c9}.result-cards dd{margin:0;font-size:15px;font-weight:740;font-variant-numeric:tabular-nums}.result-note{color:#647584;line-height:1.55;font-size:14px;max-width:840px;margin:21px 0}#download{background:#7255ad;border-color:#7255ad;color:#fff}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:27px}.source-grid a{display:grid;gap:8px;text-decoration:none;background:#eeeaf6;border:1px solid #ddd3ee;padding:21px;border-radius:12px}.source-grid a:hover{background:#e5dcf2}.source-grid span{text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:#856aaf;font-weight:760}.source-grid strong{color:#604798;font-size:15px}footer{display:flex;justify-content:space-between;gap:20px;padding:24px max(24px,calc((100vw - 1170px)/2));background:#181527;color:#bab8cf;font-size:12px}footer a{color:#e6dcff;text-decoration:none}@media(max-width:850px){.setup-grid,.sides{grid-template-columns:1fr}.side canvas{max-height:none}.source-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){main{padding:0 17px 70px}.topbar{height:62px;padding:0 17px}.brand{font-size:12px}.back{font-size:0}.back:after{content:"↗";font-size:18px}.intro{padding:54px 0 36px}.intro h1{font-size:48px}.lead{font-size:16px;margin:19px 0}.setup,.evaluation,.results,.source{margin-top:51px}.setup-card,.side,.target{padding:19px}.dimensions,.box-fields{gap:7px}.target{display:grid}.target-facts{text-align:left;min-width:0}.navigation #reveal{margin-left:0;width:100%}.result-cards,.source-grid{grid-template-columns:1fr}footer{display:grid;padding:22px 17px}.eyebrow span{display:block;margin:5px 0 0}}@media(max-width:360px){.box-fields{grid-template-columns:1fr 1fr}.status-choices button{font-size:11px;padding:8px 4px}}
