:root{--paper: #fbfaf7;--plate: #ffffff;--grid: #dfe4e8;--ink: #16202b;--ink-soft: #5c6874;--shu: #a83a24;--unit: 8px;--sans: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, system-ui, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, "Roboto Mono", monospace;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;color:var(--ink);font:15px/1.75 var(--sans);background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:40px 40px;background-position:-1px -1px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.head{max-width:1240px;margin:0 auto;padding:calc(var(--unit) * 5) calc(var(--unit) * 2.5) var(--unit)}.head h1{font-size:clamp(21px,3.4vw,27px);font-weight:700;letter-spacing:.01em;margin:0 0 6px;padding-left:calc(var(--unit) * 1.5);border-left:3px solid var(--ink);line-height:1.35}.lead{margin:0;max-width:62ch;color:var(--ink-soft);padding-left:calc(var(--unit) * 1.5 + 3px)}.layout{max-width:1240px;margin:0 auto;padding:calc(var(--unit) * 2) calc(var(--unit) * 2.5) calc(var(--unit) * 6);display:grid;gap:calc(var(--unit) * 2.5);grid-template-columns:minmax(340px,430px) minmax(0,1fr);align-items:start}.panel{background:var(--plate);border:1px solid var(--grid);padding:calc(var(--unit) * 2)}.panel h2{font-size:13px;font-weight:700;letter-spacing:.04em;margin:calc(var(--unit) * 3) 0 var(--unit);padding-bottom:5px;border-bottom:1px solid var(--grid);font-variant-numeric:tabular-nums}.panel h2:first-child{margin-top:0}table.parts{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}table.parts th{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--ink-soft);text-align:left;padding:0 4px 5px;border-bottom:1px solid var(--grid);white-space:nowrap}table.parts td{padding:4px;border-bottom:1px solid var(--grid)}table.parts input,table.parts select{width:100%;padding:6px;border:1px solid var(--grid);background:var(--plate);font:inherit;color:inherit}input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}table.parts input[type=number]{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;letter-spacing:-.01em}table.parts th:nth-child(2),table.parts td:nth-child(2),table.parts th:nth-child(3),table.parts td:nth-child(3){width:4.8em}table.parts th:nth-child(4),table.parts td:nth-child(4){width:3.4em}#parts th:nth-child(5),#parts td:nth-child(5){width:7em}table.parts td:last-child{width:3.6em;white-space:nowrap;text-align:right}table.parts td:last-child button{padding:5px 8px;font-size:12px;color:var(--ink-soft);border-color:transparent}table.parts td:last-child button:hover{color:var(--shu);border-color:var(--shu)}.row{display:flex;gap:var(--unit);margin:var(--unit) 0;flex-wrap:wrap}.grid{display:grid;gap:var(--unit);grid-template-columns:1fr 1fr}.field{display:flex;flex-direction:column;gap:4px}.field.check{flex-direction:row;align-items:center;gap:var(--unit);grid-column:1 / -1}.grid .field:has(.note){grid-column:1 / -1}.field label{font-size:12px;letter-spacing:.03em;color:var(--ink-soft)}.field input,.field select{padding:7px 8px;border:1px solid var(--grid);background:var(--plate);font:inherit;color:inherit}.field input[type=number]{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}.note{font-size:12px;line-height:1.7;color:var(--ink-soft);margin:2px 0 0}.note strong{color:var(--ink)}button{font:inherit;font-size:14px;padding:7px 13px;border:1px solid var(--ink);background:var(--plate);color:var(--ink);cursor:pointer}button:hover{background:var(--ink);color:var(--plate)}button:disabled{border-color:var(--grid);color:var(--ink-soft);background:var(--paper);cursor:default}button:disabled:hover{background:var(--paper);color:var(--ink-soft)}button.primary{width:100%;margin-top:calc(var(--unit) * 2);padding:12px;background:var(--ink);color:var(--plate);font-weight:700;letter-spacing:.04em}button.primary:hover{background:#000}button.primary-sm{background:var(--ink);color:var(--plate)}.error{color:var(--shu);font-size:13px;white-space:pre-wrap;margin:var(--unit) 0 0;padding-left:var(--unit);border-left:2px solid var(--shu)}.error:empty{display:none}.csv{border:1px solid var(--grid);padding:calc(var(--unit) * 1.5);margin:var(--unit) 0;background:var(--paper)}.csv label{font-size:12px;color:var(--ink-soft);display:block;margin-bottom:6px;line-height:1.7}.csv code{font-family:var(--mono);font-size:12px;background:var(--plate);padding:1px 5px;border:1px solid var(--grid)}.csv textarea{width:100%;font:13px/1.7 var(--mono);padding:var(--unit);border:1px solid var(--grid);background:var(--plate);color:inherit;resize:vertical}.license{border:1px solid var(--grid);padding:calc(var(--unit) * 1.5);margin-bottom:calc(var(--unit) * 2);background:var(--paper)}.license-head{margin:0 0 4px;font-weight:700;font-size:14px;letter-spacing:.02em}.license-head.paid{color:var(--ink)}.license-head.paid:before{content:"✓ "}.license input{width:100%;padding:7px 8px;border:1px solid var(--grid);background:var(--plate);font:13px/1.6 var(--mono);color:inherit;margin-top:4px}.license label{font-size:12px;color:var(--ink-soft)}.gate{border:1px solid var(--shu);border-left-width:3px;padding:calc(var(--unit) * 1.5);margin-bottom:calc(var(--unit) * 2);font-size:14px;background:var(--plate)}.gate p{margin:0 0 6px}.gate p:last-child{margin-bottom:0}.gate strong{color:var(--shu)}.summary{font-size:14px;margin-bottom:calc(var(--unit) * 2)}.summary p{margin:0 0 6px}.summary ul{margin:6px 0 0;padding-left:1.3em}.summary li{font-variant-numeric:tabular-nums}#diagrams{display:grid;gap:calc(var(--unit) * 2)}.sheet{border:1px solid var(--grid);background:var(--plate);overflow-x:auto}.sheet svg{display:block;width:100%;height:auto;min-width:260px}details{margin-top:calc(var(--unit) * 2);border-top:1px solid var(--grid);padding-top:var(--unit)}summary{cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.03em}pre{white-space:pre-wrap;font:12px/1.75 var(--mono);background:var(--paper);border:1px solid var(--grid);padding:calc(var(--unit) * 1.5);overflow-x:auto;margin-top:var(--unit)}.saved{margin-top:calc(var(--unit) * 2);border-top:1px solid var(--grid);padding-top:var(--unit)}.saved h3{font-size:13px;margin:0 0 var(--unit);letter-spacing:.03em}.saved ul{list-style:none;margin:0;padding:0;font-size:14px}.saved li{display:flex;gap:var(--unit);align-items:center;padding:6px 0;border-bottom:1px solid var(--grid)}.saved li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved li time{color:var(--ink-soft);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.doc{max-width:1240px;margin:0 auto;padding:0 calc(var(--unit) * 2.5) calc(var(--unit) * 6)}.doc>*{max-width:68ch}.doc h2{font-size:clamp(17px,2.4vw,21px);font-weight:700;letter-spacing:.01em;margin:0 0 var(--unit);padding-left:calc(var(--unit) * 1.5);border-left:3px solid var(--ink);line-height:1.4}.doc h3{font-size:15px;font-weight:700;letter-spacing:.02em;margin:calc(var(--unit) * 4) 0 var(--unit);padding-bottom:5px;border-bottom:1px solid var(--grid)}.doc p{margin:0 0 var(--unit);line-height:1.9}.doc-lead{color:var(--ink-soft);padding-left:calc(var(--unit) * 1.5 + 3px)}.doc ul{margin:0 0 var(--unit);padding-left:1.4em;line-height:1.9}.doc code{font-family:var(--mono);font-size:13px;background:var(--plate);padding:1px 5px;border:1px solid var(--grid)}.doc p strong{font-variant-numeric:tabular-nums}.doc-note{color:var(--ink-soft);font-size:14px;border-left:2px solid var(--grid);padding-left:var(--unit)}.doc-updated{color:var(--ink-soft);font-size:13px;margin-top:calc(var(--unit) * 4)}@media(max-width:620px){.doc{padding-left:var(--unit);padding-right:var(--unit)}}@media print{.doc{display:none!important}}.foot{max-width:1240px;margin:0 auto;padding:0 calc(var(--unit) * 2.5) calc(var(--unit) * 5);color:var(--ink-soft);font-size:13px}.foot p{max-width:70ch;margin:0}:focus-visible{outline:2px solid var(--shu);outline-offset:1px}@media(prefers-reduced-motion:no-preference){button{transition:background-color .12s ease,color .12s ease,border-color .12s ease}}@media(max-width:940px){.layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:620px){.head,.layout,.foot{padding-left:var(--unit);padding-right:var(--unit)}.panel{padding:calc(var(--unit) * 1.5)}.grid{grid-template-columns:1fr}table.parts thead{display:none}table.parts tbody,table.parts tr,table.parts td{display:block;width:auto}table.parts tr{border-bottom:1px solid var(--grid);padding:var(--unit) 0;display:grid;grid-template-columns:1fr 1fr;gap:6px var(--unit)}table.parts td{border:0;padding:0}table.parts td:first-child{grid-column:1 / -1}#parts td:nth-child(5){width:auto}table.parts td:last-child{grid-column:1 / -1;width:auto;text-align:right}table.parts td:before{content:attr(data-label);display:block;font-size:11px;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:2px}table.parts td:last-child:before{content:none}button.primary{padding:14px;font-size:15px}}@media print{body{background:#fff}.head,.foot,.layout>.panel:first-child,.row,.gate,.license,.saved,details{display:none!important}.layout{display:block;padding:0;max-width:none}.panel{border:0;padding:0;background:#fff}.summary{margin-bottom:6mm;font-size:11pt}#diagrams{display:block}.sheet{border:0;overflow:visible;page-break-after:always}.sheet:last-child{page-break-after:auto}}
