:root{color-scheme:light;--paper:#f4f3ee;--surface:#fffefa;--ink:#22363d;--muted:#54666b;--line:#c8ceca;--blue:#23677d;--brown:#925430;--wash:#e6eeec;--warn:#805118;--error:#9a3527;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:16px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,label,input,select,textarea{touch-action:manipulation}button,.file-button{min-height:44px;padding:.6rem .85rem;border:1px solid var(--line);background:var(--surface);border-radius:6px;font-weight:650;cursor:pointer}button:hover,.file-button:hover{background:var(--wash)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.file-button:focus-within{outline:3px solid var(--blue);outline-offset:3px}::selection{background:#c4dedf;color:#16333f}input,textarea{caret-color:var(--blue)}a{color:var(--blue);text-underline-offset:.2em}.skip{position:absolute;top:-100px;left:1rem;padding:.7rem;background:var(--surface);z-index:5}.skip:focus{top:.5rem}.masthead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.5rem 2rem 1rem;background:var(--surface)}h1,h2,h3,p{margin:0}h1{font-size:1.7rem;letter-spacing:-.025em;font-weight:720;line-height:1.2}h2{font-size:1.25rem;letter-spacing:-.015em}h3{font-size:1.03rem}p{line-height:1.5}.masthead p{color:var(--muted);margin-top:.35rem}.file-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.file-button{display:inline-flex;align-items:center}#project-file{max-width:195px;font-size:.8rem}#save-project{background:var(--blue);color:white;border-color:var(--blue)}nav{display:flex;gap:1.5rem;flex-wrap:wrap;padding:.8rem 2rem;border-block:1px solid var(--line);background:var(--surface)}nav a{text-decoration:none;font-weight:650;font-size:.9rem}.notice-line{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 2rem;border-bottom:1px solid var(--line);font-size:.9rem}#status{max-width:85ch}#draft-status{font-weight:700;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 365px;max-width:1800px;margin:auto;align-items:start}#compare{min-width:0;padding:1.5rem 1.7rem 2rem}.section-title{display:flex;justify-content:space-between;gap:1rem;align-items:start}.section-title p{margin-top:.3rem;color:var(--muted);font-size:.9rem}.reference-note{font-size:.85rem;color:var(--muted);margin:.9rem 0 1.1rem}.plans{display:grid;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr))}.arrangement{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.arrangement header{padding:1rem 1.1rem .4rem}.arrangement header h3{font-size:1.05rem}.arrangement .intent{color:var(--muted);font-size:.85rem;margin-top:.25rem}.plan-scroll{overflow:auto;scrollbar-color:var(--line) var(--surface)}.plan-scroll svg{display:block;width:100%;min-width:330px;height:auto}.result{padding:1rem 1.1rem;border-top:1px solid var(--line)}.result .value{font-size:1.65rem;line-height:1.2;font-variant-numeric:tabular-nums;font-weight:720;letter-spacing:-.02em}.result .interval{font-size:.9rem;margin-top:.3rem}.result .verdict{font-weight:700;margin-top:.5rem}.arrangement[data-id="A"] .value{color:var(--blue)}.arrangement[data-id="B"] .value{color:var(--brown)}.result .limit{font-size:.8rem;color:var(--muted);margin-top:.6rem}.geometry{margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--line);font-size:.85rem}.geometry ul{margin:.5rem 0;padding-left:1.2rem;color:var(--error)}.contributions{margin-top:.8rem;font-size:.85rem}.contributions summary{font-weight:600}.contributions p{padding:.4rem 0;color:var(--muted)}.coordinates{font-size:.8rem;padding:0 1.1rem .9rem}.coordinates summary{font-weight:600}.coordinates ul{list-style:none;padding:0;margin:.7rem 0}.coordinates li{padding:.25rem 0;font-variant-numeric:tabular-nums}.change-summary{padding:1rem 0;border-block:1px solid var(--line);margin:1.25rem 0}.change-summary p{font-size:.9rem;margin-top:.4rem}#history{margin:1.25rem 0;font-size:.9rem}summary{cursor:pointer;min-height:35px;padding:.35rem 0}#history li{margin:.65rem 0;color:var(--muted);overflow-wrap:anywhere}aside{background:#eaece6;border-left:1px solid var(--line);padding:1.2rem;min-width:0}.edit-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem;margin-bottom:1rem}.edit-heading span{font-size:.8rem;color:var(--muted)}.edit-section{border-top:1px solid #bac5be;padding:.65rem 0}.edit-section>summary{font-weight:700;font-size:1rem}.fields{display:grid;grid-template-columns:1fr 1fr;gap:.7rem .65rem;padding:.5rem 0}.fields .wide{grid-column:1/-1}label.field{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;font-weight:600;min-width:0}input:not([type="checkbox"]):not([type="file"]),select,textarea{width:100%;min-height:42px;border:1px solid #aab7b1;border-radius:4px;background:var(--surface);padding:.5rem .6rem;font-size:1rem;min-width:0}input[type="number"]{font-variant-numeric:tabular-nums}textarea{resize:vertical;min-height:70px}.check-label{display:flex;align-items:center;gap:.6rem;min-height:44px;font-size:.9rem;font-weight:600}input[type="checkbox"]{width:20px;height:20px;accent-color:var(--blue);flex-shrink:0}.subhead{padding-top:.8rem;margin-top:.8rem;border-top:1px solid var(--line)}.reference-help{font-size:.8rem;color:var(--muted);margin:.5rem 0}.item-editor{border-top:1px solid var(--line);padding:.3rem 0}.item-editor>summary{font-weight:650;font-size:.9rem}.item-editor .item-size{font-weight:400;color:var(--muted);display:block;padding-left:1rem;font-size:.8rem}fieldset{padding:0;border:0;margin:.8rem 0}legend{font-weight:650;font-size:.9rem}fieldset:disabled{opacity:.6}.apply-bar{position:sticky;bottom:0;background:#eaece6;padding:.8rem 0 .2rem;border-top:1px solid #bac5be;margin-top:1rem;display:flex;gap:.5rem;flex-wrap:wrap}.apply-bar #apply-edits{background:var(--ink);color:#fff;border-color:var(--ink);flex:1}.apply-bar p{font-size:.78rem;color:var(--muted);width:100%}.errors{padding:1rem 2rem;color:var(--error);background:#fff0e8;border-bottom:1px solid #d9b7a5;font-weight:600;overflow-wrap:anywhere}.errors[hidden]{display:none}.rules{border-top:1px solid var(--line);padding:2rem;max-width:1800px;margin:auto;background:var(--surface)}.rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:1.2rem}.rules h3{margin-bottom:.6rem}.rules p{font-size:.9rem;max-width:72ch;margin-bottom:.7rem;color:var(--muted)}.experiment-note{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}
@media(max-width:1250px){.plans{grid-template-columns:1fr}.workspace{grid-template-columns:minmax(0,1fr) 365px}.plan-scroll svg{max-height:480px}}@media(max-width:760px){.masthead{padding:1.1rem 1rem;gap:1rem}h1{font-size:1.5rem}.masthead p{font-size:.9rem}.file-actions{gap:.5rem;width:100%}.file-actions button,.file-button{flex:1;white-space:nowrap;font-size:.88rem}#project-file{max-width:100%;width:100%;font-size:.85rem}nav{padding:.8rem 1rem;gap:.8rem 1.2rem}nav a{font-size:.85rem}.notice-line{padding:.8rem 1rem;display:block}.notice-line #draft-status{margin-top:.3rem}.workspace{display:flex;flex-direction:column}#compare{padding:1.2rem 1rem;width:100%}.section-title{flex-wrap:wrap}.section-title button{font-size:.9rem}.plans{grid-template-columns:1fr}.plan-scroll svg{min-width:330px;max-height:none}.result .value{font-size:1.6rem}.reference-note{font-size:.8rem}aside{border-left:0;border-top:1px solid var(--line);width:100%;padding:1.2rem 1rem}.fields{gap:.85rem}.rules{padding:1.5rem 1rem}.rules-grid{grid-template-columns:1fr;gap:1.2rem}.errors{padding:1rem}.apply-bar{bottom:0;padding-bottom:max(.8rem,env(safe-area-inset-bottom))}}
@media print{.masthead,.notice-line,nav,aside,.rules,#download-plan,#history,.skip{display:none}.workspace{display:block}#compare{padding:0}.plans{grid-template-columns:1fr 1fr}.arrangement{break-inside:avoid}.plan-scroll svg{min-width:0}body{background:white}}
.file-primary,.file-secondary,.compare-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.file-primary .file-button{position:relative;justify-content:center}.file-primary #project-file{position:absolute;width:1px;max-width:1px;height:1px;padding:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.file-button:focus-within{outline:3px solid var(--blue);outline-offset:3px}.file-secondary button{border-color:transparent;background:transparent;font-size:.85rem;font-weight:600;text-decoration:underline;text-underline-offset:.22em}.compare-actions a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem .7rem;border:1px solid var(--line);border-radius:6px;font-size:.88rem;font-weight:650;text-decoration:none;background:var(--surface)}.errors p{max-width:85ch}.errors .retained-current{font-size:.9rem;font-weight:400;margin:.4rem 0}.errors button{margin-top:.4rem;color:var(--error);border-color:#bf8c77}.changed-inputs,.moved-items{margin:.8rem 0}.change-summary h4{font-size:.9rem;margin:0 0 .4rem}.change-summary ul{margin:.4rem 0;padding-left:1.2rem;font-size:.9rem;line-height:1.5}.change-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.9rem;table-layout:fixed}.change-table caption{text-align:left;font-weight:650;margin:.6rem 0}.change-table th,.change-table td{padding:.65rem .6rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.change-table th:first-child{width:18%}.change-table thead{background:var(--wash)}.change-table span{display:block;font-size:.85rem;margin-top:.2rem;font-weight:400}.change-history-link{font-size:.82rem;margin-top:.8rem}.change-content details p{margin:.6rem 0}.change-table strong{font-size:1rem}
@media(max-width:760px){.masthead{padding:.85rem 1rem;gap:.65rem}.masthead h1{font-size:1.35rem}.masthead p{font-size:.85rem;margin-top:.25rem}.file-actions{display:block}.file-primary{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.file-primary>*{width:100%}.file-secondary{justify-content:space-between;gap:.5rem;margin-top:.15rem}.file-secondary button{flex:0 1 auto;padding:.45rem .3rem;min-height:44px;font-size:.82rem}.file-actions .file-button{min-height:44px}.notice-line{padding:.65rem 1rem;font-size:.85rem}nav{padding:.65rem 1rem;gap:.5rem 1.2rem}#compare{padding-top:1rem}.compare-actions{width:100%;gap:.5rem}.compare-actions>*{flex:1;font-size:.83rem}.change-table{font-size:.82rem}.change-table th,.change-table td{padding:.55rem .35rem}.change-table span{font-size:.78rem}.change-summary ul{font-size:.88rem}.changed-inputs li{overflow-wrap:anywhere}}
