:root{--accent:var(--orange);--dark:var(--slate-deep);--bg:var(--surface);--card:var(--paper);--border:var(--line);--text:var(--ink)}
.rgl-head{max-width:1180px;margin:0 auto;padding:16px 16px 0}
.rgl-head h1{font-size:1.35rem;font-weight:700;color:var(--dark);letter-spacing:0;line-height:1.3}
.rgl-head p{color:var(--muted);font-size:.92rem;margin-top:4px;max-width:760px}
.rgl-tool{max-width:1180px;margin:0 auto;padding:16px;display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}
.card{background:var(--card);border-radius:9px;border:1px solid var(--border);box-shadow:0 1px 4px rgba(0,0,0,.07)}
.ch{padding:12px 16px;border-bottom:2px solid var(--accent);font-weight:600;font-size:.88rem;color:var(--dark);display:flex;align-items:center;justify-content:space-between;gap:8px}
.cb{padding:16px}
.fg{margin-bottom:12px}
.fg label{display:block;font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.combo-wrap{position:relative}
.combo-wrap select.hidden{display:none!important}
.combo-list.hidden{display:none!important}
.combo-input{flex:1;padding:7px 10px;border:1px solid var(--border);border-radius:9px;font-size:.88rem;background:#fafcfd;width:100%}
.combo-input:focus{outline:0;border-color:var(--accent);background:#fff;box-shadow:0 0 0 2px rgba(244,146,0,.18)}
.combo-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;max-height:260px;overflow-y:auto;background:#fff;border:1px solid var(--border);border-radius:9px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:4px}
.combo-item{padding:7px 10px;border-radius:7px;font-size:.86rem;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}
.combo-item:hover,.combo-item.active{background:#fff4e0;color:var(--accent)}
.combo-item.selected{font-weight:700}
.combo-empty{padding:9px 10px;font-size:.82rem;color:var(--muted)}

.mode-row{display:flex;border:1px solid var(--border);border-radius:9px;overflow:hidden;margin-bottom:12px}
.mb{flex:1;padding:7px;border:none;background:#eef4f7;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--muted);transition:all .2s}
.mb.on{background:var(--accent);color:#fff}

.rgl-readout{background:#f4f9fb;border:1px solid var(--border);border-radius:9px;padding:12px;margin-bottom:12px}
.rgl-readout label{display:block;font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}
.rgl-readout .rgl-row{display:flex;align-items:baseline;gap:6px}
.rgl-readout input{flex:1;min-width:0;border:none;background:transparent;font-size:1.5rem;font-weight:700;color:var(--dark);padding:0;font-family:inherit}
.rgl-readout input:focus{outline:0}
.rgl-readout .rgl-unit{font-size:.85rem;color:var(--muted);font-weight:600;white-space:nowrap}

.rgl-info{font-size:.85rem}
.rgl-info-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--border)}
.rgl-info-row:last-child{border-bottom:none}
.rgl-info-row .k{color:var(--muted)}
.rgl-info-row .v{font-weight:700;color:var(--dark);text-align:right}
.rgl-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:700}
.rgl-b-a1{background:#e3fcef;color:#064}
.rgl-b-a2l{background:#fff4e0;color:#974f0c}
.rgl-b-a3{background:#ffebe6;color:#bf2600}
.rgl-b-b1{background:#e0f6fb;color:#0b7a96}
.rgl-b-na{background:#eef2f5;color:var(--muted)}

.rgl-ruler-card .cb{padding:10px}
.rgl-ruler-wrap{position:relative;height:min(72vh,640px);min-height:420px;user-select:none;touch-action:none;}
.rgl-ruler-svg{width:100%;height:100%;display:block;cursor:grab}
.rgl-ruler-svg:active{cursor:grabbing}
.rgl-tick-p{font-size:11px;fill:var(--accent);font-weight:700}
.rgl-tick-t{font-size:11px;fill:#3a7bd5;font-weight:600}
.rgl-tick-line{stroke:var(--border);stroke-width:1}
.rgl-tick-line-major{stroke:#c9d2da;stroke-width:1}
.rgl-axis-line{stroke:var(--border);stroke-width:1.5}
.rgl-cursor-line{stroke:var(--accent);stroke-width:2}
.rgl-cursor-handle{fill:var(--accent);cursor:grab}
.rgl-cursor-handle:active{cursor:grabbing}

.rgl-note{font-size:.72rem;color:var(--muted);margin-top:10px;padding:8px;background:#f0f5f8;border-radius:9px;line-height:1.6}

@media(max-width:900px){
  .rgl-tool{grid-template-columns:132px 1fr;gap:10px}
  .rgl-ruler-wrap{height:min(78vh,680px);min-height:460px}
  .rgl-ruler-card .cb{padding:6px 2px}
}
@media(max-width:520px){
  .rgl-head{padding:12px 12px 0}
  .rgl-head h1{font-size:1.1rem}
  .rgl-tool{padding:10px;grid-template-columns:104px 1fr;gap:8px}
  .cb{padding:10px}
  .rgl-readout{padding:9px}
  .rgl-readout input{font-size:1.15rem}
  .mode-row{margin-bottom:9px}
  .mb{padding:6px 4px;font-size:.72rem}
  .rgl-tick-p,.rgl-tick-t{font-size:9.5px}
  .fg label{font-size:.66rem}
}
@media(max-width:360px){
  .rgl-tool{grid-template-columns:90px 1fr}
}
