:root{color:#17211d;font-synthesis:none;background:#f4f3ee;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}.tool-shell{width:min(1120px,100% - 32px);margin:0 auto;padding:56px 0}header{margin-bottom:28px}.eyebrow{color:#69776f;letter-spacing:.11em;margin:0 0 8px;font-size:.75rem;font-weight:700}h1{letter-spacing:-.06em;margin:0;font-size:clamp(2.25rem,6vw,4.5rem);line-height:.9}.workspace{background:#fff;border:1px solid #cdd3cd;border-radius:16px;grid-template-columns:minmax(260px,360px) 1fr;align-items:start;display:grid;overflow:visible;box-shadow:0 16px 40px #263b2b12}.controls{background:#fbfcfa;border-right:1px solid #d9ded9;border-radius:15px 0 0 15px;align-content:start;gap:20px;padding:28px;display:grid}label{color:#435048;gap:8px;font-size:.84rem;font-weight:700;display:grid}.field-unit{color:#738077;font-weight:400}input,select,textarea{color:#17211d;background:#fff;border:1px solid #b7c0b8;border-radius:7px;outline-color:#24613d;width:100%;min-height:44px;padding:10px 12px}textarea{resize:vertical;min-height:86px;line-height:1.35}input[readonly]{color:#637168;background:#f0f2ef}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}fieldset{border:0;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;display:grid}legend{color:#435048;grid-column:1/-1;margin-bottom:8px;font-size:.84rem;font-weight:700}.alignment-control{grid-template-columns:repeat(3,1fr)}label.radio{cursor:pointer;border:1px solid #c9d1ca;border-radius:7px;align-items:center;gap:7px;min-height:40px;padding:0 10px;font-size:.82rem;font-weight:600;display:flex}label.radio input{accent-color:#17623d;width:auto;min-height:auto;margin:0}label.check{cursor:pointer;border:1px solid #c9d1ca;border-radius:7px;align-items:flex-start;gap:10px;padding:12px;display:flex}label.check input{accent-color:#17623d;width:auto;min-height:auto;margin:3px 0 0}label.check:has(input:disabled){cursor:default;background:#f0f2ef}label.check span{gap:3px;display:grid}label.check small{color:#6c796f;font-weight:400;line-height:1.3}.numeric-control{gap:9px;min-width:0;display:grid}.control-heading{color:#435048;justify-content:space-between;align-items:center;gap:12px;font-size:.84rem;font-weight:700;display:flex}.control-heading label{display:block}.control-heading small,.control-range{color:#738077;font-size:.7rem;font-weight:400}.stepper{grid-template-columns:44px minmax(0,1fr) 44px;gap:7px;display:grid}.step-button{color:#24452f;background:#eef3ef;border:1px solid #aeb9b1;min-width:44px;min-height:44px;padding:0;font-size:1.25rem}.step-button:hover:not(:disabled){background:#dce8df}.number-with-unit{min-width:0;position:relative}.number-with-unit input{text-align:right;font-variant-numeric:tabular-nums;height:44px;padding-right:42px}.number-with-unit span{color:#738077;pointer-events:none;font-size:.76rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.reset-button{color:#526158;background:0 0;border:1px solid #c3ccc4;min-height:30px;padding:3px 8px;font-size:.7rem;font-weight:650}.reset-button:hover:not(:disabled){background:#edf2ee}.parameter-slider{accent-color:#17623d;cursor:pointer;touch-action:pan-y;border:0;min-height:28px;margin:0;padding:0}.control-range{min-height:1em;display:block}.limit-hit{animation:.9s limit-hit}@keyframes limit-hit{0%,to{box-shadow:none;border-color:#b7c0b8}25%{border-color:#c06b22;box-shadow:0 0 0 3px #d9822b25}}.status{color:#68766e;min-height:2.7em;margin:0;font-size:.86rem;line-height:1.35}.status.success{color:#17623d}.status.warning{color:#9a5a16}.status.error{color:#a33228}button{cursor:pointer;color:#fff;background:#17623d;border:0;border-radius:7px;min-height:46px;font-weight:750;transition:background .15s}button:hover:not(:disabled){background:#0d4e2d}button:disabled{cursor:not-allowed;background:#aeb9b1}.result{background:#fff;border-radius:0 15px 15px 0;grid-template-rows:auto minmax(0,1fr) auto auto;align-self:start;height:min(720px,100vh - 196px);min-height:0;display:grid;position:sticky;top:24px;overflow:hidden}.result.has-backing{height:min(780px,100vh - 136px)}.preview-switcher{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:20px 26px 0;display:grid}.preview-switcher legend{margin-bottom:0}.preview-switcher label.radio{justify-content:center;min-height:44px}.preview-frame{background-image:radial-gradient(#dbe1da 1px,#0000 1px);background-size:14px 14px;place-items:center;min-width:0;min-height:0;padding:48px;display:grid}#preview{width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;display:block;overflow:visible}.operation-path{opacity:.88}.auxiliary-path{opacity:.78}.legend{color:#58675e;border-top:1px solid #d9ded9;flex-wrap:wrap;gap:14px;min-height:40px;padding:11px 26px;font-size:.78rem;display:flex}.legend:empty{display:none}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{background:var(--operation-color);border-radius:50%;width:9px;height:9px}.dimensions{border-top:1px solid #d9ded9;grid-template-columns:repeat(4,1fr);margin:0;display:grid}.dimensions div{padding:20px 22px}.dimensions div+div{border-left:1px solid #d9ded9}.dimensions dt{color:#6c796f;font-size:.8rem}.dimensions dd{margin:6px 0 0;font-size:1.35rem;font-weight:750}.backing-summary{color:#58675e;border-top:1px solid #d9ded9;margin:0;padding:12px 22px;font-size:.8rem;line-height:1.35}@media (width<=720px){.tool-shell{width:min(100% - 24px,600px);padding:24px 0}.workspace{grid-template-columns:minmax(0,1fr);overflow:hidden}.controls{border-bottom:1px solid #d9ded9;border-right:0;border-radius:15px 15px 0 0;min-width:0;padding:22px}.result,.result.has-backing{border-radius:0 0 15px 15px;min-width:0;height:auto;min-height:340px;position:static;overflow:visible}.preview-switcher{padding-left:28px;padding-right:28px}.preview-frame{min-height:260px;padding:38px 28px}.dimensions div{min-width:0;padding:17px 10px}.dimensions dd{font-size:1.05rem}.alignment-control{grid-template-columns:repeat(3,minmax(0,1fr))}.alignment-control label.radio{justify-content:center;padding:0 5px}.parameter-slider{min-height:40px}}@media (width<=430px){.tool-shell{width:calc(100% - 16px);padding:14px 0}.controls{gap:18px;padding:18px 14px}.preview-switcher{padding-left:18px;padding-right:18px}.preview-frame{padding:28px 18px}.dimensions{grid-template-columns:repeat(2,1fr)}.dimensions div:nth-child(3){border-top:1px solid #d9ded9;border-left:0}.dimensions div:nth-child(4){border-top:1px solid #d9ded9}}
