.serial-page{height:100dvh;min-height:680px}.serial-page .site-header{flex:none}.serial-page .header-inner{padding-top:8px;padding-bottom:8px}.serial-page .container{max-width:none;padding-left:16px;padding-right:16px}.serial-title{border-left:1px solid var(--line);color:var(--body);margin:0;padding-left:16px;font-size:15px;font-weight:500}.serial-main{flex:auto;min-height:0;padding-top:12px;padding-bottom:12px}@media (width<=760px){.serial-page{height:auto;min-height:100vh}.serial-title{display:none}.serial-main .ss{height:auto}}.ss{--ss-h:30px;background:var(--surface);border:1px solid var(--line);height:100%;min-height:0;color:var(--ink);border-radius:14px;flex-direction:column;font-size:13px;display:flex;overflow:hidden}.ss-body{flex:auto;min-height:0;display:flex}.ss-main{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.ss-rx{background:var(--bg);flex:auto;min-height:220px;padding:10px 12px;overflow:auto}.ss-log{font:13px/1.55 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.ss-log:empty:before{content:attr(data-hint);color:var(--muted);font-family:var(--sans)}.ss-log .tx{color:var(--accent)}.ss-log .ln{padding:1px 0}.ss-log .stamp{color:var(--muted);margin-right:2px}.ss-log .ln.tx .stamp{color:var(--accent);opacity:.75}.ss-ctrl{border-top:1px solid var(--line);background:var(--surface);flex-direction:column;flex:none;gap:8px;padding:10px 12px 12px;display:flex}.ss-row{flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;display:flex}.ss-group{align-items:center;gap:5px;display:inline-flex}.ss-spacer{flex:auto}.ss-lbl,.ss-unit{color:var(--body);white-space:nowrap}.ss .sb{height:var(--ss-h);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:13px;display:inline-flex}.ss .sb:hover:not(:disabled){background:var(--hover)}.ss .sb:disabled{opacity:.45;cursor:default}.ss .sb[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.ss .ss-primary{background:var(--accent);color:var(--on-accent);border-color:#0000;font-weight:600}.ss .ss-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.ss select,.ss input:not([type=checkbox]),.ss textarea{height:var(--ss-h);border:1px solid var(--line-strong);background:var(--surface);min-width:0;color:var(--ink);border-radius:7px;outline:none;padding:0 8px;font-size:13px}.ss select:focus,.ss input:not([type=checkbox]):focus,.ss textarea:focus{border-color:var(--accent)}.ss select:disabled{opacity:.6}.ss input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);margin:0}.ss .ck{white-space:nowrap;cursor:pointer;align-items:center;gap:5px;display:inline-flex}.ss-num{width:72px}.ss-num.sm{width:56px}.ss-num.xs{width:48px}.ss-file{min-width:80px;max-width:360px;height:var(--ss-h);border:1px solid var(--line);background:var(--sunken);color:var(--body);white-space:nowrap;text-overflow:ellipsis;border-radius:7px;flex:140px;align-items:center;padding:0 8px;font-size:12px;display:flex;overflow:hidden}.ss-grid{grid-template-rows:auto auto;grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:8px 16px;display:grid}.ss-port{border-right:1px solid var(--line);flex-direction:column;grid-row:1/span 2;gap:8px;padding-right:16px;display:flex}.ss-port-select{flex:auto}.ss-baud{flex:auto;width:104px}.ss-baud-custom{flex:auto;width:88px}.ss-open{min-width:104px;font-weight:600}.ss-open .lamp{background:var(--line-strong);border-radius:50%;width:9px;height:9px;box-shadow:inset 0 0 0 1px #0000001f}.ss-open.on .lamp{background:#1f9d55;box-shadow:0 0 0 3px #1f9d5538}.ss-opts{flex-direction:column;gap:8px;min-width:0;display:flex}.ss-send{grid-column:2;gap:8px;min-width:0;display:flex}.ss-send textarea{resize:vertical;flex:auto;height:76px;padding:6px 8px;line-height:1.5}.ss-send-btn{flex:none;width:84px;font-weight:600;height:auto!important}.ss .ss-send-btn:not(:disabled){background:var(--accent);color:var(--on-accent);border-color:#0000}.ss .ss-send-btn:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.ss-status{border-top:1px solid var(--line);background:var(--sunken);color:var(--body);flex-wrap:wrap;flex:none;align-items:stretch;font-size:12px;display:flex}.ss-status>*{border-left:1px solid var(--line);white-space:nowrap;align-items:center;min-height:28px;padding:0 12px;display:inline-flex}.ss-status>:first-child{border-left:0}.ss-status button{color:var(--body);font-size:12px}.ss-status button:hover{background:var(--hover);color:var(--ink)}.ss-msg{text-overflow:ellipsis;min-width:0;color:var(--ink);font-family:var(--sans);flex:200px;overflow:hidden}.ss-msg.err{color:var(--danger)}.ss-ext{border-left:1px solid var(--line);background:var(--surface);flex-direction:column;flex:0 0 360px;min-height:0;display:flex}.ss-ext-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.ss-ext-head strong{font-size:14px}.ss-ext-cols,.ss-ext-row{grid-template-columns:30px minmax(0,1fr) 40px 50px 66px;align-items:center;gap:4px;display:grid}.ss-ext-cols{color:var(--muted);border-bottom:1px solid var(--line);padding:6px 12px;font-size:11px}.ss-ext-cols span:first-child{text-align:center}.ss-ext-list{flex-direction:column;flex:auto;gap:4px;min-height:160px;padding:6px 12px;display:flex;overflow:auto}.ss-ext-row{--ss-h:28px}.ss-ext-row input[type=checkbox]{justify-self:center}.ss-ext-row .sb{padding:0;font-size:12px}.ss-ext-row input[type=number]{padding:0 4px;font-size:12px}.ss-ext-foot{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:8px 12px;display:flex}.ss-ext-tip{color:var(--muted);margin:0;padding:0 12px 10px;font-size:12px;line-height:1.5}.ss-dialog{border:1px solid var(--line);background:var(--surface);width:min(520px,100vw - 32px);color:var(--ink);border-radius:14px;padding:0;box-shadow:0 20px 60px #00000040}.ss-dialog::backdrop{background:#0a0b0d73}.ss-dialog-body{flex-direction:column;gap:14px;padding:18px 20px;font-size:14px;display:flex}.ss-dialog h2{margin:0;font-size:17px}.ss-dialog fieldset{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;margin:0;padding:12px 14px;display:flex}.ss-dialog legend{color:var(--muted);padding:0 6px;font-size:12px}.ss-dialog label:not(.ck){justify-content:space-between;align-items:center;gap:12px;display:flex}.ss-dialog label:not(.ck) select{width:220px;height:34px}.ss-dialog .ck{white-space:normal;align-items:flex-start;line-height:1.5}.ss-dialog .ck input{flex:none;margin-top:3px}.ss-note{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.ss-dialog-foot{justify-content:flex-end;display:flex}.ss-dialog-foot .sb{height:36px;padding:0 22px}@media (width<=1100px){.ss-body.has-ext{flex-direction:column}.ss-body.has-ext .ss-ext{border-left:0;border-top:1px solid var(--line);flex:none}.ss-body.has-ext .ss-ext-list{max-height:320px}}@media (width<=760px){.ss-grid{grid-template-columns:minmax(0,1fr)}.ss-port{border-right:0;border-bottom:1px solid var(--line);grid-row:auto;padding-bottom:10px;padding-right:0}.ss-send{grid-column:auto}.ss-rx{flex:none;height:55vh;min-height:260px}.ss-ext-cols,.ss-ext-row{grid-template-columns:26px minmax(0,1fr) 36px 44px 58px}}
