1.9
This commit is contained in:
parent
fc7c94bd69
commit
2cc2f003df
71 changed files with 3359 additions and 1027 deletions
122
css/base.css
122
css/base.css
|
|
@ -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)}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue