:root{--ink:#223b3c;--muted:#697775;--line:#d9dfd9;--blue:#0066ac;--paper:#fffefa;--green:#cde7c2}*{box-sizing:border-box}body{margin:0;background:#f4f5ef;color:var(--ink);font-family:Arial,sans-serif;font-size:15px;line-height:1.5}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,select,input[type=number]{border:1px solid #becbc7;border-radius:7px;background:#fffefa;color:var(--ink)}button{cursor:pointer;padding:9px 12px}button:hover{background:#eaf1ed}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #0073b8;outline-offset:3px}button.primary{color:white;background:#1d5554;border-color:#1d5554}.site-header{max-width:1536px;margin:auto;padding:22px 32px;display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-size:20px;text-decoration:none;font-weight:700}.brand span{font-weight:400;font-size:14px;color:var(--muted)}nav{display:flex;gap:26px;font-size:14px}main{max-width:1536px;margin:auto;padding:34px 32px}h1{font-size:clamp(27px,3.2vw,42px);line-height:1.14;margin:8px 0 16px;letter-spacing:-1.1px}h2,h3,p{margin:0}h2{font-size:21px;line-height:1.3}h3{font-size:15px}.intro{display:flex;justify-content:space-between;gap:36px;margin-bottom:28px}.intro>div:first-child{max-width:820px}.intro p:not(.eyebrow){font-size:17px;color:#566b68}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}.draft-badge{align-self:flex-start;flex-shrink:0;background:#e6eddf;padding:12px 16px;border-radius:9px;font-size:14px;font-weight:700}.draft-badge>span:last-child{display:block;font-size:11px;font-weight:400;padding-top:4px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#487a50;margin-right:5px}.workspace{display:grid;grid-template-columns:170px minmax(0,1fr) 272px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}.types-panel{padding:20px 14px;background:#edf0e9;border-right:1px solid var(--line);min-width:0}#types{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0 20px}#types button{padding:6px 4px;display:flex;flex-direction:column;align-items:center;font-size:12px;border-color:transparent;background:transparent}#types button[aria-pressed=true]{border-color:#1d5554;background:#fffefa;box-shadow:0 0 0 1px #1d5554}#types svg{width:52px;height:47px;display:block}.node-label{font-size:12px;display:block;font-weight:700;margin:15px 0 6px}#node{width:100%;padding:8px}#assembly-link{font-size:12px;display:block;margin-top:18px}.small{font-size:12px;line-height:1.5}.muted{color:var(--muted)}.types-panel>.small{margin-top:12px}.drawing-panel{min-width:0;padding:22px}.drawing-heading{display:flex;justify-content:space-between;gap:12px;align-items:start}.drawing-heading p{font-size:12px;margin-top:5px}.unit-badge{font-size:10px;background:#edf0e9;padding:4px 7px;border-radius:4px;white-space:nowrap}.presets{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.presets button{font-size:12px;padding:8px 10px}.canvas-wrap{width:100%;max-width:690px;margin:12px auto 0;aspect-ratio:1.14;background:radial-gradient(#cad7d2 .5px,transparent .5px);background-size:16px 16px;border-radius:8px}#drawing{width:100%;height:100%;overflow:visible;touch-action:none;user-select:none}#drawing [data-hole]{cursor:grab}#drawing [data-hole]:active{cursor:grabbing}#drawing [data-hole]:focus{outline:none}#drawing [data-hole]:focus .focus-ring{stroke:#004979;stroke-width:.5;stroke-dasharray:.8 .5}.canvas-help{font-size:11px;color:var(--muted);margin-top:6px}.legend{display:flex;flex-wrap:wrap;gap:8px 17px;margin:18px 0 14px;font-size:11px}.legend span{display:flex;gap:7px;align-items:center}.legend i{width:12px;height:12px;display:inline-block;border-radius:3px}.legend .proposed{background:var(--blue);border-radius:50%}.legend .old{border:1px dashed #656c73;border-radius:50%}.legend .free{background:#b7dba4}.legend .rib{background:#b3bcc2}.legend .support{background:#d6ad72}.legend .slot{background:white;border:1px solid #444}.view-options{border-top:1px solid var(--line);padding-top:14px;display:flex;gap:10px 18px;flex-wrap:wrap;font-size:11px}.view-options label,.symmetry{display:flex;align-items:center;gap:5px;cursor:pointer}input[type=checkbox]{accent-color:#1d5554}.controls-panel{padding:22px 18px;background:#f8f9f4;border-left:1px solid var(--line);min-width:0}.hole-buttons{display:flex;gap:7px;margin:14px 0}.hole-buttons button{width:37px;height:36px;padding:0;font-weight:700}.hole-buttons button[aria-pressed=true]{background:var(--blue);color:#fff;border-color:var(--blue)}.coordinates{display:grid;grid-template-columns:1fr 1fr;gap:9px}.coordinates label{font-size:11px;color:var(--muted)}.coordinates input{width:100%;padding:8px;margin-top:4px;color:var(--ink);font-size:16px}.symmetry{font-size:12px;margin-top:15px}.controls-panel #symmetry-note{margin:5px 0 15px;min-height:18px}#status{font-size:12px;padding:11px;border-radius:7px;line-height:1.5;background:#e8f0e1;border:1px solid #d6e4ce}#status.bad{background:#fff0e5;border-color:#e3c6aa;color:#874118}dl{margin:15px 0;font-size:12px}dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:9px 0}dt{color:var(--muted)}dd{margin:0;white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums}.bad-value{color:#ae4c1a}.comparison{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.comparison dl{font-size:11px}.comparison p{color:#6e654d}.wide{width:100%;font-size:12px;margin-top:7px}#save-status{margin-top:18px}.explainer{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding:36px 0 12px}.explainer h2{font-size:18px;margin:9px 0 12px}.explainer p:not(.eyebrow){font-size:13px;color:#5a6d68;margin-bottom:10px}footer{max-width:1472px;margin:auto;border-top:1px solid var(--line);padding:22px 0 32px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}[hidden]{display:none!important}@media(min-width:1500px){.workspace{grid-template-columns:190px minmax(0,1fr) 290px}}@media(max-width:1100px){.workspace{grid-template-columns:135px minmax(0,1fr) 244px}.drawing-panel{padding:18px 14px}.controls-panel{padding:18px 14px}.drawing-heading{display:block}.unit-badge{display:inline-block;margin-top:8px}main{padding:26px 20px}.intro{display:block}.draft-badge{display:inline-block;margin-top:18px}.canvas-wrap{aspect-ratio:1}.explainer{gap:22px}footer{margin:0 20px}}@media(max-width:800px){.site-header{padding:18px 20px}.brand span{display:none}nav{gap:12px;font-size:12px}.workspace{grid-template-columns:minmax(0,1fr)}.types-panel{border-right:0;border-bottom:1px solid var(--line);padding:14px}#types{grid-template-columns:repeat(10,60px);overflow:auto;margin:10px -3px;padding:3px;gap:6px}.types-panel>.small{display:none}.node-label{display:inline-block;margin:4px 6px 0 0}#node{width:140px}#assembly-link{display:inline-block;margin:10px 0 0 10px}.controls-panel{border-left:0;border-top:1px solid var(--line);padding:20px}.drawing-panel{padding:20px 14px}.drawing-heading{display:flex}.unit-badge{margin:0}.canvas-wrap{max-height:540px;aspect-ratio:1.08}.coordinates{max-width:310px}.hole-buttons{margin:10px 0}#status{margin-top:12px}dl>div{margin:7px 0}.explainer{grid-template-columns:1fr;gap:24px;padding-top:28px}.intro p:not(.eyebrow){font-size:15px}main{padding:24px 14px}.drawing-heading h2{font-size:20px}.unit-badge{font-size:9px;white-space:normal;max-width:100px}footer{margin:0 14px;flex-wrap:wrap}.legend{gap:8px 12px}.controls-panel #symmetry-note{min-height:0}#save-status{margin-top:15px}.wide{width:auto;margin-right:5px}}
.geometry-choice{margin-top:16px;padding:12px 14px;background:#edf1e8;border-radius:8px}.geometry-choice label{display:block;font-size:11px;font-weight:700;margin-bottom:5px}.geometry-choice select{max-width:100%;width:100%;padding:8px;font-size:13px}.geometry-choice p{font-size:11px;margin-top:8px;color:#536963}.geometry-choice.concept{background:#f3ecd9}.legend .axis{height:2px;background:#896ab0}.symmetry-status{display:flex;flex-direction:column;gap:5px;font-size:11px;margin-top:12px}.symmetry-status span{padding:4px 8px;background:#e5eddf;border-radius:4px}.symmetry-status span.partial{background:#f2e8d6}.p09-explanation{display:grid;grid-template-columns:1.2fr 1fr;gap:38px;margin-top:26px;padding:26px;border:1px solid #d9d4c1;background:#f6f1e2;border-radius:12px}.p09-explanation h2{margin:10px 0 14px}.p09-explanation p:not(.eyebrow){font-size:13px;color:#5a6d68;margin:12px 0}.entry-table{width:100%;border-collapse:collapse;font-size:12px;margin:14px 0}.entry-table td,.entry-table th{text-align:left;padding:9px 5px;border-bottom:1px solid #d9d4c1}.entry-table th{font-weight:400;color:#697775}.entry-table td:last-child{font-weight:bold}.entry-table small{display:block;font-size:10px;color:#697775}@media(max-width:800px){.p09-explanation{grid-template-columns:1fr;padding:20px;gap:16px}.geometry-choice{padding:10px}.geometry-choice select{font-size:12px}.p09-explanation h2{font-size:20px}}
.sector-status{font-size:12px;line-height:1.5;margin-top:12px;padding:10px;background:#e8f0e1;border-radius:6px}.sector-status.partial{background:#f5e8d4;color:#805019}#sector-note{margin-top:7px}.sector-review{margin-top:28px;padding:24px;border:1px solid var(--line);border-radius:12px;background:#fffefa}.sector-review h2{margin:8px 0 12px}.sector-review p{font-size:13px;max-width:850px}.sector-review table{width:100%;border-collapse:collapse;font-size:13px;margin:18px 0}.sector-review th,.sector-review td{text-align:left;border-bottom:1px solid var(--line);padding:8px}.sector-review th{font-weight:400;color:var(--muted)}.sector-review button{font-weight:700;padding:5px 10px}.legend .bisector{height:2px;border-top:2px dashed #ba651b;border-radius:0}@media(max-width:800px){.sector-review{padding:16px}.sector-review th,.sector-review td{padding:6px 4px;font-size:11px}.sector-review button{padding:6px}}
.alignment-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.alignment-tools button{font-size:12px;flex-shrink:0}.plate-comparison{margin-top:28px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--paper);scroll-margin-top:16px}.comparison-heading{display:flex;justify-content:space-between;gap:24px;align-items:start}.comparison-heading h2{margin:8px 0 12px}.comparison-heading p:not(.eyebrow){font-size:13px;max-width:720px}.comparison-switch{display:flex;gap:6px;flex-shrink:0}.comparison-switch button{font-size:12px}.comparison-switch button[aria-pressed=true]{background:#1d5554;border-color:#1d5554;color:#fff}#plate-comparison-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:22px}.comparison-card{padding:16px;background:#f7f8f2;border:1px solid var(--line);border-radius:8px;min-width:0}.comparison-card svg{display:block;width:100%;max-width:470px;margin:12px auto 0}.comparison-card h3{font-size:14px}.comparison-card p{text-align:center;font-size:13px;margin:8px 0}#plate-comparison-views.overlay{grid-template-columns:minmax(0,1fr);max-width:650px;margin-left:auto;margin-right:auto}.comparison-facts{font-size:13px;display:grid;gap:8px;margin-top:20px}.comparison-facts .small{color:var(--muted)}@media(max-width:800px){.alignment-tools{flex-wrap:wrap}.plate-comparison{padding:16px}.comparison-heading{display:block}.comparison-switch{margin-top:16px}#plate-comparison-views{gap:12px}.comparison-card{padding:12px}}@media(max-width:600px){#plate-comparison-views{grid-template-columns:minmax(0,1fr)}}

.sector-sequence{display:grid;grid-template-columns:repeat(var(--sectors),minmax(0,1fr));gap:3px;margin:8px 0 16px}.sector-sequence span{display:flex;flex-direction:column;align-items:center;padding:5px 0;border:1px solid #d5ddd6;border-radius:4px;color:#66746d;background:#fffefa}.sector-sequence small{font-size:10px}.sector-sequence b{font-size:13px;font-weight:500}.sector-sequence .occupied{color:#0066ac;border-color:#87bbd3;background:#e5f2f8}
