*{box-sizing:border-box}body{margin:0;background:#f3f1e6;color:#172e32;font-family:Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #bec5b9;border-radius:5px;background:transparent;color:#172e32;padding:11px 14px;min-height:42px}button:hover{background:#e0e6d8}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d45c40;outline-offset:3px}.shell{max-width:1550px;margin:auto;padding:0 4vw}.shell:fullscreen{max-width:none;overflow:auto;background:#f3f1e6}header{display:flex;align-items:center;gap:30px;border-bottom:1px solid #b7c1b8;padding:22px 0}.brand{color:inherit;text-decoration:none;font-size:32px;font-weight:800}.brand span{font-size:11px;letter-spacing:2px;margin-left:20px}.edition{margin-left:auto;font-size:11px;letter-spacing:2px}.hero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:10vw;padding:50px 0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700}h1{font-family:Georgia,serif;font-size:clamp(48px,6vw,86px);line-height:1.02;letter-spacing:-3px;font-weight:400;margin:20px 0}h1 em{color:#bd4d36}.lede{font-size:16px;line-height:1.6;max-width:510px}.intro{border-left:2px solid #c5ccb9;padding:30px}.intro p{font-family:Georgia,serif;font-size:25px;line-height:1.4}.intro small{font-size:12px;line-height:1.6}.pill{font-size:10px;letter-spacing:2px;border:1px solid #b3c0b6;border-radius:20px;padding:9px 14px}.workspace{display:grid;grid-template-columns:290px minmax(0,1fr);border:1px solid #b7c1b8;border-radius:9px;overflow:hidden;background:#f9f8ef}.controls{padding:25px;border-right:1px solid #b7c1b8}h2{font-size:17px;margin:0 0 22px}h3{font-size:14px}label{display:block;font-size:12px;margin:15px 0}input,select{border:1px solid #bac4b9;border-radius:4px;background:#fffdf6;padding:9px;width:100%;margin-top:7px;color:#172e32}label.width{display:flex;align-items:center;justify-content:space-between;text-transform:capitalize}label.width input{width:72px;margin:0}label small{display:block;font-size:10px;color:#67746c;margin-top:5px}.primary{background:#193d39;color:#fff;width:100%;margin:10px 0}.primary:hover{background:#2c5650}.hint{font-size:11px;color:#62746b;line-height:1.6}hr{border:0;border-top:1px solid #c4cdbe;margin:25px 0}.pair{display:flex;gap:8px;margin-top:12px}.pair button{flex:1;font-size:11px;padding:10px}.canvas-panel{padding:25px;min-width:0}.canvas-head,.canvas-foot{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1px;padding:10px 0 20px}.canvas-foot{letter-spacing:0;padding:12px 0}.canvas-panel svg{display:block;width:100%;aspect-ratio:1.5;border:1px solid #e0dfce;touch-action:none}.status{background:#e6ebdd;border-left:3px solid #bd4d36;padding:14px;font-size:13px;min-height:45px}.proof-summary{display:flex;gap:30px;padding:24px 0}.proof-summary div{display:flex;flex-direction:column;gap:6px;flex:1}.proof-summary strong{font-family:Georgia,serif;font-size:36px;font-weight:400}.proof-summary .fit-status{font-size:24px}.proof-summary span{font-size:10px;text-transform:uppercase;letter-spacing:1px}.exports{display:flex;gap:10px;flex-wrap:wrap}.exports button{flex:1}.editing{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:40px 0;border-bottom:1px solid #b7c1b8}.coordinates{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}fieldset{border:1px solid #b7c1b8;border-radius:5px}textarea{width:100%;height:240px;background:#fffdf6;color:#27483e;border:1px solid #b7c1b8;border-radius:4px;padding:14px;font-family:monospace;font-size:11px;resize:vertical}.exceptions{max-height:220px;overflow:auto}.exceptions p{font-size:12px;border-bottom:1px solid #d9dfd2;padding:10px}.exceptions small{display:block;margin-top:6px;color:#65756e}details{padding:25px 0;font-size:12px;line-height:1.7}footer{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;border-top:1px solid #b7c1b8;padding:25px 0}@media(max-width:800px){.hero{grid-template-columns:1fr;gap:10px;padding:30px 0}.intro{padding:15px}.workspace{grid-template-columns:1fr}.controls{border-right:0;border-bottom:1px solid #b7c1b8}.editing{grid-template-columns:1fr;gap:30px}.edition{display:none}.brand span{display:block;margin:0;font-size:8px}header button{margin-left:auto}.canvas-panel{padding:15px}.proof-summary{gap:10px}.proof-summary .fit-status{font-size:20px}footer span{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
