This commit is contained in:
33333-33333 2026-07-16 22:12:03 +09:00
commit 2cc2f003df
71 changed files with 3359 additions and 1027 deletions

View file

@ -917,3 +917,125 @@ h1 {
.save-confirm-dialog { z-index: 36; }
.save-confirm-panel { width: min(390px, 100%); }
.save-confirm-message { margin-bottom: 8px; color: var(--ink); font-size: 14px; }
/* Logic-board editor */
.circuit-board-editor{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:18px;background:rgba(18,22,27,.58);backdrop-filter:blur(3px)}
.circuit-board-editor.hidden{display:none}
.circuit-board-panel{width:min(980px,96vw);max-height:92vh;overflow:hidden;background:rgba(250,249,244,.98);color:#2e3531;border:1px solid rgba(44,74,57,.35);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.35);display:flex;flex-direction:column}
.circuit-board-titlebar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:linear-gradient(135deg,#235b3a,#347b50);color:white}
.circuit-board-titlebar h2{margin:0;font-size:1.18rem}
.circuit-board-titlebar button{border:0;background:transparent;color:white;font-size:1.7rem;line-height:1;cursor:pointer}
.circuit-board-help{margin:12px 18px 6px;font-size:.88rem;color:#536059}
.circuit-board-layout{display:grid;grid-template-columns:minmax(280px,42%) minmax(360px,58%);gap:14px;padding:10px 18px;min-height:0;flex:1}
.circuit-board-preview{align-self:start;background:#17231c;border-radius:14px;padding:10px;min-height:250px;position:sticky;top:0}
.circuit-board-preview svg{width:100%;height:auto;display:block}
.circuit-preview-lines path{fill:none;stroke:#d7b84d;stroke-width:2.4}
.circuit-preview-gates rect{fill:#26352d;stroke:#d9e9dd;stroke-width:1.3}.circuit-preview-gates text{fill:#f4f7f2;text-anchor:middle;font:700 11px sans-serif}
.circuit-preview-pins circle{fill:#73c8ff;stroke:#f4f1d6;stroke-width:1.2}.circuit-preview-pins circle:nth-of-type(n+4){fill:#ff9a60}.circuit-preview-pins text{fill:#eef4ef;font:700 11px sans-serif}
.circuit-board-scroll{overflow:auto;padding-right:4px}.circuit-board-scroll section{margin:0 0 14px;padding:12px;border:1px solid rgba(45,83,60,.18);border-radius:12px;background:white}.circuit-board-scroll h3{margin:0 0 10px;font-size:.94rem}
.circuit-port-row,.circuit-gate-row,.circuit-output-row{display:grid;grid-template-columns:minmax(72px,1fr) auto auto auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(0,0,0,.07)}
.circuit-port-row:last-child,.circuit-gate-row:last-child,.circuit-output-row:last-child{border-bottom:0}.circuit-port-row label,.circuit-gate-row label{display:flex;align-items:center;gap:4px;font-size:.8rem}
.circuit-board-panel select,.circuit-board-panel button{font:inherit}.circuit-board-panel select{padding:5px 7px;border:1px solid rgba(37,77,53,.27);border-radius:7px;background:white}
.circuit-gate-actions{display:flex;gap:7px;margin-bottom:8px}.circuit-gate-actions button,.circuit-gate-row button,.circuit-board-actions button{padding:7px 12px;border:1px solid rgba(38,82,54,.26);border-radius:9px;background:#f1f5f1;cursor:pointer}.circuit-gate-row button{padding:4px 9px;color:#a13f3f}
.circuit-empty{margin:6px 0;color:#7a837d;font-size:.84rem}.circuit-output-row{grid-template-columns:50px 1fr}.circuit-board-actions{display:flex;justify-content:flex-end;gap:9px;padding:12px 18px 16px;border-top:1px solid rgba(0,0,0,.09)}.circuit-board-actions .primary{background:#2e754b;color:white;border-color:#245f3d}
@media(max-width:760px){.circuit-board-layout{grid-template-columns:1fr}.circuit-board-preview{position:relative;min-height:180px}.circuit-port-row,.circuit-gate-row{grid-template-columns:1fr 1fr}.circuit-gate-row button{justify-self:end}.circuit-board-panel{max-height:96vh}}
/* Grid circuit editor reuses the mechanical editor shell and toolbar. */
.circuit-grid-panel { width: min(930px, calc(100vw - 28px)); }
.circuit-grid-tools { max-height: none; overflow: visible; }
.circuit-grid-canvas-wrap {
max-width: 100%;
max-height: min(62vh, 560px);
overflow: auto;
padding: 6px;
border-radius: 12px;
background: rgba(20,35,27,0.35);
}
#circuitGridCanvas {
width: auto;
height: auto;
max-width: none;
display: block;
border-radius: 10px;
border: 1px solid rgba(84,68,48,0.20);
background: #14231b;
touch-action: none;
cursor: crosshair;
}
.circuit-grid-hint { line-height: 1.55; }
@media (max-width: 560px) {
.circuit-grid-panel { width: calc(100vw - 16px); }
.circuit-grid-tools { max-height: 20vh; overflow-y: auto; }
.circuit-grid-canvas-wrap { max-height: min(48vh, 360px); }
#circuitGridCanvas { max-width: none; }
}
/* v39.16.69: circuit terminal count controls and detector numeric range inputs. */
.circuit-port-count-controls {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin: 0 0 10px;
}
.circuit-port-count-controls label {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 7px 9px;
border: 1px solid rgba(84,68,48,0.14);
border-radius: 10px;
background: rgba(255,255,255,0.56);
font-size: 13px;
font-weight: 700;
}
.circuit-port-count-controls button {
width: 30px;
height: 30px;
padding: 0;
border: 1px solid rgba(38,82,54,.26);
border-radius: 8px;
background: #f1f5f1;
cursor: pointer;
}
.circuit-port-count-controls input {
width: 54px;
min-height: 30px;
padding: 3px 6px;
border: 1px solid rgba(37,77,53,.27);
border-radius: 7px;
background: white;
text-align: center;
font: inherit;
font-variant-numeric: tabular-nums;
}
.pressure-number-inputs {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
}
.pressure-number-inputs label {
display: grid;
grid-template-columns: auto minmax(72px, 1fr);
align-items: center;
gap: 7px;
font-size: 12px;
font-weight: 700;
}
.pressure-number-inputs input {
width: 100%;
min-width: 0;
padding: 6px 8px;
border: 1px solid rgba(42,121,172,0.28);
border-radius: 8px;
background: rgba(255,255,255,0.92);
color: var(--ink);
font: inherit;
font-variant-numeric: tabular-nums;
}
@media (max-width: 560px) {
.circuit-port-count-controls { display: grid; grid-template-columns: 1fr; }
.circuit-port-count-controls label { justify-content: space-between; }
}
/* v39.16.70: resizable circuit board and movable junctions. */
.circuit-port-count-controls label:nth-child(-n+2){background:rgba(236,246,239,.82)}