:root{--paper:#f7f5ec;--ink:#244c3c;--muted:#627366;--line:#d8ddce;--orange:#a85530;--leaf:#e7edda;color-scheme:light;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,a,input,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--orange);outline-offset:3px}[hidden]{display:none!important}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}.skip{position:fixed;top:10px;left:10px;transform:translateY(-180%);padding:14px;background:var(--ink);color:white;z-index:10}.skip:focus{transform:none}.header{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-size:32px;font-weight:800;letter-spacing:-2px;text-decoration:none}.brand span{font-size:10px;letter-spacing:3px;vertical-align:middle;margin-left:9px}.header nav{display:flex;gap:25px;font-size:12px}.header nav a{text-decoration:none;min-height:44px;display:flex;align-items:center}h1,h2,h3,p{margin-top:0}.hero{display:flex;justify-content:space-between;gap:48px;align-items:center;padding:38px 0 30px}.eyebrow{font:700 10px/1.5 ui-monospace,monospace;letter-spacing:1.6px}.hero h1{font:400 clamp(39px,5.2vw,67px)/1.02 Georgia,serif;letter-spacing:-2.5px;margin:16px 0 0}.hero h1 em{font-weight:400;color:#758f68}.hero>p{max-width:330px;font-size:15px;line-height:1.75;color:var(--muted);margin:0}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0}.section-top h2{font-size:18px;margin:0}.section-top>span{font-size:11px;color:var(--muted)}.notice,.error{padding:14px 18px;border-radius:8px;font-size:13px;line-height:1.6;background:#e9efdc;border:1px solid var(--line)}.error{background:#f7e7d7;border-color:#dcae8a;color:#843e24}.workbench{display:grid;grid-template-columns:320px minmax(0,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fcfbf5}.controls{padding:22px;border-right:1px solid var(--line)}.control-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.control-heading h3{margin:0}.controls h3{font-size:15px}.unit-label{display:flex;align-items:center;gap:6px;font-size:10px!important}.unit-label select{width:72px;min-height:36px;padding:6px}.hint{font-size:11px;line-height:1.6;color:var(--muted);margin:12px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:13px 12px}.full{grid-column:1/-1}label{display:block;font-size:12px;line-height:1.5;color:var(--ink)}label>span{color:var(--muted);font-size:10px}input:not([type=checkbox]),select{display:block;width:100%;min-height:43px;margin-top:5px;border:1px solid #bdcbb5;background:#fffef7;border-radius:6px;padding:9px 10px;color:var(--ink);min-width:0}input[aria-invalid=true]{border-color:#b45f38;background:#fff0e2}input[type=checkbox]{width:18px;height:18px;accent-color:var(--ink)}.check{display:flex;align-items:center;gap:8px;margin:16px 0;font-size:12px}.divider{height:1px;background:var(--line);margin:21px 0}.text-button{background:none;color:var(--ink);border:0;text-decoration:underline;text-underline-offset:4px;font-size:11px;min-height:40px;padding:7px 0}.visual-side{padding:20px;min-width:0}.visual-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px;font-size:12px}.visual-top>span{font:9px ui-monospace,monospace;color:var(--muted)}.drawing{background:#f0f0e4;border-radius:10px;overflow:hidden;min-height:200px}.drawing svg{display:block;width:100%;height:auto;max-height:535px}.drawing [data-frame]{cursor:pointer}.drawing [data-frame]:focus{outline:none}.drawing [data-frame]:focus rect:nth-of-type(2){stroke:var(--orange);stroke-width:5}.loading{padding:30px}.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:var(--muted);padding:13px 0}.legend>span{display:flex;align-items:center;gap:6px}.legend i{width:11px;height:11px;background:#e8e4ce;border:1px solid #a6b297;display:block}.legend .cut{background:repeating-linear-gradient(45deg,#b76238 0 1px,#eddbc4 1px 4px);border-color:#b76238}.verdict{font-size:13px;line-height:1.6;background:var(--leaf);padding:13px 16px;border-radius:8px;margin-top:7px}.verdict.warn{background:#f1deca;color:#813e25}.verdict strong{display:block;font-size:16px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:17px}.metric{padding:14px 12px;border:1px solid var(--line);border-radius:8px}.metric strong{font:400 30px/1.2 Georgia,serif;display:block;word-break:break-word}.metric>span{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:5px}.model-note{font-size:10px;line-height:1.6;color:var(--muted);margin:14px 0 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.detail-card{border:1px solid var(--line);border-radius:10px;padding:21px}.detail-card h3{font-size:15px;margin-bottom:13px}.detail-card p{font-size:12px;line-height:1.7;margin:8px 0}.edge-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.edge-list span{font-size:11px;padding:9px;background:#ecefe3;border-radius:4px}.actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px}.actions>p{font-size:11px;color:var(--muted);max-width:350px;line-height:1.6;margin:0}.actions>div{display:flex;gap:9px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:11px 17px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:#fffdf3;font-size:12px;font-weight:700;gap:10px}.button:hover{background:#3d674e}.button.light{background:transparent;color:var(--ink);border-color:#bdcbb5}.button.light:hover{background:var(--leaf)}.feedback{font-size:12px;line-height:1.6;min-height:20px;margin-top:12px}.share-fallback{margin-top:15px;padding:16px;border-radius:8px;background:var(--leaf)}.explain{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:55px 0;border-top:1px solid var(--line);margin-top:35px}.explain h2{font:400 35px/1.12 Georgia,serif;letter-spacing:-1px}.explain p{font-size:13px;line-height:1.8;color:var(--muted)}.example{padding:22px;background:#e9eedf;border-radius:9px;margin-top:25px}.example strong{font-size:14px}.example p{font-size:12px;margin:10px 0 0}.faq details{border-bottom:1px solid var(--line);padding:13px 0}.faq summary{cursor:pointer;min-height:40px;display:list-item;font-size:14px;font-weight:600;line-height:1.7}.faq p{margin:8px 0 16px}.footer{padding:25px 0 35px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.footer>a:first-child{font-weight:700;text-decoration:none;letter-spacing:1.5px;color:var(--ink)}.noscript{text-align:center;background:#eee2cc;padding:20px}.table-scroll{overflow:auto}.positions{border-collapse:collapse;width:100%;font-size:12px}.positions th,.positions td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.positions th{font-size:10px;letter-spacing:.02em;color:var(--muted)}.frame-item{border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:12px}.frame-item.selected{border-color:#648768;background:#edf1e4}.frame-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:7px}.frame-heading button{border:0;background:none;font-weight:700;font-size:12px;color:var(--ink);padding:6px 0;text-align:left}.frame-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:5px}.frame-actions button{font-size:10px;min-height:35px;padding:6px 4px;color:var(--ink);background:none;border:0;text-decoration:underline;text-underline-offset:3px}.frames{max-height:520px;overflow:auto;padding-right:4px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.toolbar button{font-size:11px}.warning-row{color:#944627}.position-controls{margin-top:15px}.full-table{margin-top:25px}.full-table h3{font-size:17px}.full-table>p{font-size:12px;color:var(--muted);line-height:1.6}
@media(max-width:1000px){.wrap{width:calc(100% - 40px)}.workbench{grid-template-columns:285px minmax(0,1fr)}.controls{padding:17px}.visual-side{padding:16px}.metrics{gap:7px}.metric{padding:12px 9px}.metric strong{font-size:26px}.hero{gap:24px}.hero>p{max-width:285px}}
@media(max-width:760px){.hero{gap:18px;align-items:flex-start}.hero>p{max-width:250px;font-size:13px}.hero h1{font-size:44px}.workbench{grid-template-columns:1fr}.controls{border-right:0;border-top:1px solid var(--line);grid-row:2}.visual-side{grid-row:1}.drawing svg{max-height:430px}.controls .fields{grid-template-columns:repeat(2,1fr)}.controls{padding:22px}.explain{gap:28px}.explain h2{font-size:30px}.actions{align-items:flex-start}.frames{max-height:none}.detail-grid{gap:12px}.header nav{gap:18px}}
@media(max-width:500px){.wrap{width:calc(100% - 28px)}.header{min-height:64px}.brand{font-size:28px}.brand span{font-size:8px;letter-spacing:2px;margin-left:5px}.header nav{gap:14px;font-size:10px}.header nav a:last-child{display:none}.hero{padding:25px 0 15px;display:block}.hero h1{font-size:43px;letter-spacing:-2px;margin:11px 0 15px}.hero>p{max-width:none;font-size:13px}.eyebrow{font-size:8px}.section-top{padding:18px 0}.section-top h2{font-size:16px}.section-top>span{font-size:9px;max-width:140px;text-align:right;line-height:1.5}.visual-side{padding:12px}.visual-top>span{font-size:8px}.visual-top{font-size:11px}.drawing{min-height:160px}.legend{font-size:9px;gap:11px}.verdict{font-size:11px;padding:12px}.verdict strong{font-size:14px}.metric{padding:11px 8px}.metric strong{font-size:23px}.metric>span{font-size:9px}.controls{padding:18px}.detail-grid{grid-template-columns:1fr}.detail-card{padding:18px}.actions{flex-direction:column;gap:15px}.actions>div{width:100%}.actions .button{flex:1;font-size:11px;padding:10px 12px}.explain{grid-template-columns:1fr;padding:32px 0;gap:22px;margin-top:22px}.explain h2{font-size:32px}.footer{flex-wrap:wrap;gap:16px}.footer>span{order:3;width:100%;font-size:10px}.button{min-height:44px}.positions td,.positions th{padding:10px 9px}.frame-item .fields{gap:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.export-fallback h3{margin-bottom:12px}.export-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-block:12px}.export-actions a{text-decoration:none}.export-preview{max-height:520px;overflow:auto;background:#f0f0e4;border:1px solid var(--line);border-radius:8px;margin-bottom:18px}.export-preview svg{display:block;width:100%;height:auto}.export-fallback textarea{display:block;width:100%;min-width:0;resize:vertical;font:13px/1.6 monospace;background:#fffdf5;color:#254b3b;border:1px solid var(--line);padding:12px;border-radius:5px;margin-block:8px}.export-fallback textarea:focus-visible{outline:3px solid #bb7944;outline-offset:3px}

.mobile-plan-summary{display:none}#drawing{scroll-margin-top:20px}@media(max-width:720px){body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.mobile-plan-summary{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px calc(13px + env(safe-area-inset-bottom));min-height:65px;background:#254b3b;color:#fbfff1;box-shadow:0 -3px 15px #243f3222}.mobile-plan-summary>span{font-size:12px;font-weight:600;min-width:0;overflow-wrap:anywhere}.mobile-plan-summary>a{font-size:11px;white-space:nowrap;padding:9px 11px;border:1px solid #a1b294;border-radius:4px;text-decoration:none}.mobile-plan-summary a:focus-visible{outline:3px solid #eebd83;outline-offset:3px}body:has(input:focus) .mobile-plan-summary,body:has(textarea:focus) .mobile-plan-summary,body:has(select:focus) .mobile-plan-summary{display:none}}
