:root{--paper:#f2eee6;--ink:#152f3a;--muted:#52666d;--line:#c4ccc6;--accent:#c04f2e;--blue:#256c85;--gold:#a88022;--white:#fffdf7;--mono:'Courier New',monospace;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:14px}button,a,select,summary,input[type=checkbox],.file-button{cursor:pointer}button,select,input{font:inherit}button{border:1px solid var(--ink);background:var(--white);color:var(--ink);padding:10px 14px;transition:background .15s,color .15s}button:hover:not(:disabled){background:var(--ink);color:var(--white)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--ink);color:var(--white)}button.primary:hover{background:var(--accent)}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.masthead{display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--ink);padding:20px 4vw}.wordmark{text-decoration:none;font-weight:bold;letter-spacing:-.8px;font-size:18px}.wordmark span{color:var(--accent);padding-right:10px}.edition{font-size:11px;letter-spacing:2px}.local-badge{margin-left:auto;color:var(--muted);font-size:11px}.hosted-auth{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px}.hosted-auth button{padding:6px 9px}main{max-width:1800px;margin:auto;padding:40px 4vw}.intro{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:10px 0 35px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--muted);font-weight:bold}h1{font-family:var(--serif);font-weight:normal;font-size:clamp(48px,5.8vw,88px);line-height:.96;letter-spacing:-3px;margin:24px 0}h1 em{font-style:italic;color:var(--accent)}.intro p:not(.eyebrow){line-height:1.7}.project-tools{width:320px;display:grid;gap:8px}.project-tools>.eyebrow{margin:0 0 7px}.project-tools button,.file-button{width:100%;text-align:left}.primary span{float:right}.file-button{display:block;padding:10px 14px;border:1px solid var(--line);background:var(--white)}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.file-button:focus-within{outline:3px solid var(--accent)}details{border:1px solid var(--line);padding:10px 14px}details label{display:block;margin:12px 0;font-size:12px}input[type=file]{max-width:100%;font-size:11px}summary{list-style-position:inside}.revision{font-size:11px;color:var(--muted);overflow-wrap:anywhere;margin:4px 0}#notice{border-left:3px solid var(--accent);padding:12px 16px;background:#e7e3d9;line-height:1.6;min-height:44px}.layer-bar{display:flex;align-items:center;gap:16px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:15px 0;margin-top:30px}.layer-bar>label{font-size:11px;letter-spacing:1.5px}select,input[type=text],input[type=number]{padding:9px;border:1px solid var(--line);border-radius:0;background:var(--white);color:var(--ink);max-width:100%}select:disabled{cursor:not-allowed}#difference-count{font-size:12px;color:var(--muted)}.legend{margin-left:auto;font-size:10px;display:flex;align-items:center;gap:9px}.legend i{display:inline-block;width:9px;height:9px}.extra-dot{background:var(--gold)}.override-dot{background:var(--accent)}.shared-dot{background:var(--blue)}.boards{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:26px}.board{min-width:0}.board-heading{display:flex;align-items:baseline;justify-content:space-between}.board h2{font-family:var(--serif);font-weight:normal;font-size:32px;margin:0 0 8px}.board-meta{font-size:11px;color:var(--muted)}.keyboard-scroll{overflow:auto;background:radial-gradient(var(--line) 1px,transparent 1px);background-size:14px 14px;border:1px solid var(--line);padding:22px 12px}.keyboard{position:relative;min-width:560px;max-width:100%;margin:auto}.key{position:absolute;padding:1px;border:1px solid #9baaa9;border-bottom:3px solid #9baaa9;background:var(--white);border-radius:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:12px;line-height:1.2;overflow:hidden;white-space:nowrap}.key .key-meta{font-size:8px;opacity:.6;margin-top:3px}.key.extra{background:#e9e3d3;border-color:#b4a675}.key.shared{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.key.override{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.key.selected{background:var(--ink);color:var(--white);border-color:var(--ink);box-shadow:0 0 0 3px var(--accent)}.key:hover:not(:disabled){background:#d9e8e8;color:var(--ink)}.key.selected:hover{background:var(--ink);color:var(--white)}.board-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:11px}.board-footer button{font-size:11px;padding:7px 10px}.workbench-row{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:30px;margin:30px 0}.inspector,.comparison,.combo-section,.build-section{border-top:1px solid var(--ink);padding-top:16px}h2{font-family:var(--serif);font-size:30px;font-weight:normal;margin:12px 0 20px;letter-spacing:-.5px}.fine-print{font-size:11px;line-height:1.7;color:var(--muted)}.binding-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.binding-box{border:1px solid var(--line);padding:12px;overflow-wrap:anywhere}.binding-box strong{font-size:10px;color:var(--muted);display:block;margin-bottom:7px}.binding-box code{font-size:13px}.editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.editor-fields label{display:grid;gap:7px;font-size:11px}.editor-fields .full{grid-column:1/-1}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.actions button{font-size:12px}.choice{display:block;font-size:12px;margin:14px 0;line-height:1.8}.choice input{margin-right:8px}.tag{display:inline-block;border:1px solid var(--line);padding:3px 7px;font-size:10px;margin:3px}.tag.override{color:var(--accent);border-color:var(--accent)}.tag.shared{color:var(--blue);border-color:var(--blue)}.inventory-list{list-style:none;padding:0;margin:10px 0;max-height:270px;overflow:auto}.inventory-list li{border-top:1px solid var(--line);padding:9px 0;font-size:12px;line-height:1.6}.inventory-list button{font-size:11px;padding:5px 8px;margin-right:10px}.hardware{border:1px solid var(--line);padding:12px;font-size:12px;line-height:1.7;margin:8px 0}.combo-section{margin:25px 0 40px}.combo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.combo-card{border:1px solid var(--line);padding:14px}.combo-card h3{font-size:13px;margin:0 0 10px}.combo-card p{font-size:11px;line-height:1.6}.combo-card select{width:100%;font-size:11px;margin:4px 0}.combo-card button{font-size:11px;padding:8px;margin:8px 0}.combo-card label{font-size:11px}.build-section{margin-bottom:30px}.build-section p{line-height:1.6}.build-controls{display:grid;gap:12px}.build-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border:1px solid var(--line);padding:14px;overflow-wrap:anywhere}.build-row p{flex-basis:100%;margin:0}.build-row a{font-size:11px}footer{display:flex;justify-content:space-between;padding:25px 4vw;border-top:1px solid var(--ink);font-size:10px;color:var(--muted);letter-spacing:1px}dialog{border:1px solid var(--ink);background:var(--paper);color:var(--ink);width:min(1100px,90vw);max-height:90vh}dialog::backdrop{background:#152f3a99}dialog>button{float:right}pre{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}#workspace{animation:reveal .25s ease-out}@keyframes reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1150px){.boards{grid-template-columns:1fr}.keyboard{min-width:0}.board{max-width:900px;width:100%;margin:auto}.legend{font-size:9px}.workbench-row{grid-template-columns:1fr 1fr}}@media(max-width:700px){main{padding:25px 18px}.masthead{padding:16px 18px}.edition,.local-badge{display:none}.intro{align-items:flex-start;flex-direction:column;gap:18px}.project-tools{width:100%}h1{letter-spacing:-2px}.layer-bar{flex-wrap:wrap}.legend{width:100%;margin-left:0}.keyboard{min-width:490px}.workbench-row{grid-template-columns:1fr}.combo-grid{grid-template-columns:1fr}footer{gap:20px;line-height:1.8}.key{font-size:11px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
