@font-face { font-family:'Orbitron Local'; src:url('/assets/fonts/orbitron-variable.ttf?v=0.4.8&rev=committee-types-r2') format('truetype'); font-weight:400 900; font-style:normal; font-display:swap; }
/* The clipped fixed host keeps the translated rail outside document layout/scrollbars. */
#utility-tools-root { --ut-cyan:#37d5df; --ut-orange:#ff7c2c; --ut-muted:#9fb0ba; position:fixed; inset:0; z-index:90; pointer-events:none; overflow:clip; color:#e3edf3; font-family:inherit; }
#utility-tools-root *, .ut-editor * { box-sizing:border-box; }
#utility-tools-root [hidden], .ut-editor [hidden] { display:none!important; }
#utility-tools-root button { cursor:pointer; font-family:inherit; }
#utility-tools-root button:focus-visible, #utility-tools-root a:focus-visible { outline:2px solid #6be5ee; outline-offset:2px; }
#utility-tools-root .ut-icon { flex-shrink:0; display:block; }
#utility-tools-root .ut-rail { position:absolute; right:16px; bottom:calc(20px + env(safe-area-inset-bottom,0px)); width:75px; display:flex; flex-direction:column; align-items:center; gap:2px; padding:8px 5px; border:1px solid #3b535f; border-radius:12px; background:#142630; box-shadow:0 12px 35px #0004; pointer-events:auto; z-index:2; }
#utility-tools-root .ut-rail-head { position:relative; align-self:stretch; margin:-8px -5px 6px; border-bottom:1px solid #3b666e; border-radius:11px 11px 0 0; background:linear-gradient(150deg,#28434e,#1c323d 65%,#172c37); overflow:visible; }
#utility-tools-root .ut-rail-head::before, #utility-tools-root .ut-rail-head::after { content:""; position:absolute; height:3px; top:0; transform:skewX(-28deg); }
#utility-tools-root .ut-rail-head::before { width:18px; left:38px; background:var(--ut-orange); }
#utility-tools-root .ut-rail-head::after { width:9px; left:59px; background:var(--ut-cyan); opacity:.75; }
#utility-tools-root .ut-rail-title { font-size:15px; font-weight:700; line-height:1.25; letter-spacing:0; padding:16px 0 11px; margin:0; color:#ecf6fa; text-align:center; white-space:nowrap; }
#utility-tools-root .ut-gear-pair { position:absolute; left:-14px; top:-22px; width:45px; height:35px; pointer-events:none; }
#utility-tools-root .ut-gear-pair .ut-icon { fill:#152a35; stroke-width:1.7; }
#utility-tools-root .ut-gear-large { position:absolute; left:0; top:5px; color:#a4bec8; }
#utility-tools-root .ut-gear-large .ut-icon { width:30px; height:30px; }
#utility-tools-root .ut-gear-small { position:absolute; left:25px; top:0; color:#f1af7d; transform:rotate(30deg); }
#utility-tools-root .ut-gear-small .ut-icon { width:20px; height:20px; }
#utility-tools-root .ut-tool { width:63px; min-height:56px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; border:0; border-radius:6px; padding:7px 2px; background:transparent; color:#b2c5cf; }
#utility-tools-root .ut-tool span { font-size:10px; line-height:1.5; white-space:nowrap; }
#utility-tools-root .ut-tool:hover { background:#203b47; }
#utility-tools-root .ut-tool.is-active { color:#ffb37c; background:#4b3426; }
#utility-tools-root .ut-tool.is-soon { color:#829ba9; }
#utility-tools-root .ut-hide-tools { width:63px; min-height:32px; display:flex; align-items:center; justify-content:center; gap:4px; margin-top:5px; padding:7px 3px; border:0; border-top:1px solid #2c4654; background:transparent; color:#a5bdc9; font-size:11px; }
#utility-tools-root .ut-hide-tools .ut-icon { width:14px; height:14px; }
#utility-tools-root .ut-rail.is-retracted { transform:translateX(calc(100% + 45px)); pointer-events:none; }
#utility-tools-root .ut-restore-tools { position:absolute; right:0; bottom:calc(20px + env(safe-area-inset-bottom,0px)); z-index:2; width:44px; height:48px; display:grid; place-items:center; border:1px solid #42616f; border-right:0; border-radius:11px 0 0 11px; background:#193440; color:#a8dde2; pointer-events:auto; }
#utility-tools-root .ut-restore-tools .ut-icon { width:23px; height:23px; }
#utility-tools-root .ut-panel { position:absolute; right:105px; bottom:calc(20px + env(safe-area-inset-bottom,0px)); width:448px; max-width:calc(100% - 121px); max-height:calc(100dvh - 40px - env(safe-area-inset-bottom,0px)); display:flex; flex-direction:column; min-height:0; border:1px solid #385361; border-radius:4px; background:#13232d; box-shadow:0 15px 60px #0009; pointer-events:auto; z-index:1; overflow:hidden; }
#utility-tools-root .ut-panel-head { padding:18px 20px 13px; border-bottom:1px solid #2a4350; background:#1c3340; flex-shrink:0; }
#utility-tools-root .ut-panel-title { display:flex; align-items:center; justify-content:space-between; gap:10px; }
#utility-tools-root .ut-panel h2 { display:flex; align-items:center; gap:9px; margin:0; color:#e3edf3; font-size:17px; line-height:1.5; font-weight:700; }
#utility-tools-root .ut-panel h2 .ut-icon { width:19px; height:19px; color:var(--ut-cyan); }
#utility-tools-root .ut-panel-top-actions { display:flex; align-items:center; gap:5px; }
#utility-tools-root .ut-icon-button { display:inline-flex; align-items:center; justify-content:center; min-width:30px; min-height:30px; padding:5px; border:0; color:var(--ut-muted); background:none; }
#utility-tools-root .ut-icon-button .ut-icon { width:15px; height:15px; }
#utility-tools-root .ut-icon-button:hover { color:#e5f4fa; background:#2a4856; }
#utility-tools-root .ut-credit { margin:10px 0 0; font-size:11px; font-weight:400; line-height:1.75; color:#a9bcc7; overflow-wrap:anywhere; }
#utility-tools-root .ut-panel-body { min-height:0; padding:17px 20px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#416271 transparent; }
#utility-tools-root .ut-calculator { display:grid; grid-template-columns:1fr .85fr; gap:16px; }
#utility-tools-root .ut-calculator-inputs { min-width:0; }
#utility-tools-root .ut-field { display:block; min-width:0; margin-bottom:14px; }
#utility-tools-root .ut-field>span { display:block; color:#b8cbd7; font-size:12px; margin-bottom:7px; }
#utility-tools-root input { display:block; width:100%; min-width:0; color:#e3edf3; background:#0a1821; border:1px solid #365262; border-radius:4px; padding:10px 11px; outline-color:var(--ut-cyan); font-family:inherit; font-size:13px; font-weight:400; line-height:1.5; color-scheme:dark; }
#utility-tools-root .ut-segment { display:flex; gap:4px; padding:3px; background:#091720; border:1px solid #2b4758; border-radius:5px; }
#utility-tools-root .ut-segment button { flex:1; min-height:36px; padding:9px 6px; border:0; border-radius:3px; color:#95adbc; background:transparent; font-size:12px; white-space:nowrap; }
#utility-tools-root .ut-segment button[aria-pressed="true"] { background:#205060; color:#b5f9ff; }
#utility-tools-root .ut-result { min-width:0; margin:0; border-left:1px solid #36505e; padding:0 0 0 16px; }
#utility-tools-root .ut-result-label { color:var(--ut-muted); font-size:12px; line-height:1.6; margin:0 0 7px; }
#utility-tools-root .ut-result strong { color:#69e7ef; font-size:31px; font-weight:650; line-height:1.2; font-variant-numeric:tabular-nums; letter-spacing:-.03em; overflow-wrap:anywhere; }
#utility-tools-root .ut-result-unit { color:var(--ut-muted); font-size:11px; margin-left:8px; }
#utility-tools-root .ut-result small { display:block; margin-top:9px; color:#b0c5d1; font-size:11px; line-height:1.7; }
#utility-tools-root .ut-breakdown { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; color:#9db4c2; font-size:11px; line-height:1.6; padding-top:12px; }
#utility-tools-root .ut-breakdown b { color:#d8e6ed; font-weight:400; text-align:right; }
#utility-tools-root .ut-error { min-height:0; margin:10px 0 0; color:#ffbbad; font-size:11px; }
#utility-tools-root .ut-error:empty { display:none; }
#utility-tools-root .ut-estimate-note { flex-shrink:0; margin:0; padding:12px 20px 14px; border-top:1px solid #2e4653; color:#a7bcc8; font-size:11px; line-height:1.75; }
#utility-tools-root .ut-panel-footer { display:flex; align-items:center; justify-content:flex-end; gap:5px; flex-shrink:0; padding:11px 20px 13px; border-top:1px solid #29414f; background:#10212c; min-height:43px; }
#utility-tools-root .ut-panel-footer:empty { display:none; }
#utility-tools-root .ut-panel-footer a { display:inline-flex; align-items:center; gap:4px; color:#6cdee7; font-size:12px; text-decoration:none; white-space:nowrap; }
#utility-tools-root .ut-panel-footer a:hover { text-decoration:underline; }
#utility-tools-root .ut-panel-footer a .ut-icon { width:12px; height:12px; }
#utility-tools-root .ut-group-tabs { display:flex; flex-shrink:0; gap:5px; padding:13px 15px 10px; }
#utility-tools-root .ut-group-tabs button { flex:1; min-height:36px; padding:8px 5px; border:1px solid #365261; border-radius:4px; background:#0e202a; color:#a8c0cc; font-size:12px; }
#utility-tools-root .ut-group-tabs button[aria-selected="true"] { border-color:#3a9aaa; color:#75e8f0; background:#183c48; }
#utility-tools-root .ut-reference-body { min-height:0; max-height:412px; overflow:auto; overscroll-behavior:contain; padding:0; scrollbar-width:thin; scrollbar-color:#416271 transparent; }
#utility-tools-root .ut-reference-head, #utility-tools-root .ut-reference-row { display:grid; grid-template-columns:28px 48px minmax(0,1fr) 94px; gap:8px; align-items:center; padding-left:15px; padding-right:15px; }
#utility-tools-root .ut-reference-head { color:#8da5b4; font-size:11px; padding-top:7px; padding-bottom:8px; }
#utility-tools-root .ut-reference-head :first-child { grid-column:1/4; }
#utility-tools-root .ut-reference-head :last-child { text-align:right; }
#utility-tools-root .ut-reference-row { min-height:40px; border-top:1px solid #33515f; padding-top:5px; padding-bottom:5px; font-size:11px; }
#utility-tools-root .ut-reference-row:nth-child(even) { background:#17303c; }
#utility-tools-root .ut-car-image, .ut-editor .ut-car-image { flex-shrink:0; width:48px; height:31px; overflow:hidden; border-radius:3px; background:linear-gradient(135deg,#294656,#101f2b); color:#8ca9b7; }
#utility-tools-root .ut-car-image img, .ut-editor .ut-car-image img { width:100%; height:100%; object-fit:contain; }
#utility-tools-root .ut-car-image svg, .ut-editor .ut-car-image svg { width:37px; height:26px; }
#utility-tools-root .ut-car-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; line-height:1.6; }
#utility-tools-root .ut-ref-score { text-align:right; color:#71e0e5; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
#utility-tools-root .ut-reference-number, .ut-editor .ut-reference-number { color:transparent; -webkit-text-stroke:.8px #a4d6e4; font:700 23px/1.1 'Orbitron Local',"Bahnschrift","Consolas","Courier New",monospace; font-variant-numeric:tabular-nums; text-align:center; }
#utility-tools-root .ut-loading { padding:8px 15px; margin:0; color:#9fb0ba; font-size:12px; }
#utility-tools-root .ut-retry { border:0; background:none; color:#74dce7; font:inherit; text-align:left; padding:6px 0; }
.ut-editor { min-width:0; }
.ut-editor .field { margin-top:18px; }
.ut-rank-edit-head, .ut-rank-edit { display:grid; grid-template-columns:24px minmax(0,1fr) 116px; gap:10px; align-items:center; }
.ut-rank-edit-head { margin-bottom:8px; color:#97adbb; font-size:11px; }
.ut-rank-edit-head :last-child { text-align:right; }
.ut-rank-edit { margin-bottom:8px; }
.ut-rank-edit>.input { min-width:0; padding-left:8px; padding-right:8px; }
.ut-pool-choice { display:flex; align-items:center; gap:9px; width:100%; min-width:0; min-height:52px; padding:6px; border:1px solid #365463; border-radius:4px; color:#e0ebf1; background:#10232e; text-align:left; cursor:pointer; }
.ut-pool-choice-text { display:block; min-width:0; overflow:hidden; font-size:12px; }
.ut-pool-choice-text strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:400; }
.ut-pool-choice-text small { display:block; margin-top:3px; color:#70cbd5; font-size:11px; }
.ut-editor-error { margin:14px 0 0; color:#ffc3b4; font-size:12px; line-height:1.7; }
.ut-editor-conflict { margin-top:16px; padding:12px; border:1px solid #7b613b; border-radius:5px; background:#352c1e; font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.ut-editor-conflict ol { padding-left:22px; }
@media(prefers-reduced-motion:no-preference) { #utility-tools-root .ut-rail { transition:transform .22s ease; } #utility-tools-root .ut-tool { transition:background .15s; } }
@media(max-width:680px) {
  #utility-tools-root {
    --ut-mobile-scale:.75;
    --ut-mobile-left:max(10px,env(safe-area-inset-left,0px));
    --ut-mobile-right:max(10px,env(safe-area-inset-right,0px));
    --ut-mobile-top:max(12px,env(safe-area-inset-top,0px));
    --ut-mobile-bottom:max(12px,env(safe-area-inset-bottom,0px));
    --ut-mobile-gap:14px;
  }
  /* Scale the complete surfaces, including borders, type, icons and rows.
     Keep a separate horizontal lane for the rail and its protruding gears. */
  #utility-tools-root .ut-rail { right:var(--ut-mobile-right); bottom:var(--ut-mobile-bottom); transform:scale(var(--ut-mobile-scale)); transform-origin:right bottom; }
  #utility-tools-root .ut-rail.is-retracted { transform:translateX(calc(100% + 45px)) scale(var(--ut-mobile-scale)); }
  #utility-tools-root .ut-hide-tools { min-height:44px; }
  #utility-tools-root .ut-restore-tools { bottom:var(--ut-mobile-bottom); transform:scale(var(--ut-mobile-scale)); transform-origin:right bottom; }
  #utility-tools-root .ut-panel {
    width:min(448px,calc(100% - 24px),calc((100% - var(--ut-mobile-left) - var(--ut-mobile-right) - 75px * var(--ut-mobile-scale) - var(--ut-mobile-gap)) / var(--ut-mobile-scale)));
    max-width:none;
    right:calc(var(--ut-mobile-right) + 75px * var(--ut-mobile-scale) + var(--ut-mobile-gap));
    bottom:var(--ut-mobile-bottom);
    max-height:calc((100dvh - var(--ut-mobile-top) - var(--ut-mobile-bottom)) / var(--ut-mobile-scale));
    transform:scale(var(--ut-mobile-scale));
    transform-origin:right bottom;
  }
  #utility-tools-root .ut-panel-head { padding:13px 15px 10px; }
  #utility-tools-root .ut-panel-body { padding:13px 15px; }
  #utility-tools-root .ut-calculator { display:block; }
  #utility-tools-root .ut-result { border-left:0; border-top:1px solid #36505e; padding:13px 0 0; }
  #utility-tools-root input { font-size:16px; }
  #utility-tools-root .ut-icon-button { min-width:44px; min-height:44px; }
  #utility-tools-root .ut-panel-footer { padding:7px 15px 9px; }
  #utility-tools-root .ut-estimate-note { padding:10px 15px; }
  #utility-tools-root .ut-reference-head, #utility-tools-root .ut-reference-row { grid-template-columns:22px 37px minmax(0,1fr) 78px; gap:6px; padding-left:12px; padding-right:12px; }
  #utility-tools-root .ut-car-image { width:37px; }
  #utility-tools-root .ut-reference-number { font-size:22px; }
  #utility-tools-root .ut-reference-row { font-size:10px; }
  .ut-rank-edit-head, .ut-rank-edit { grid-template-columns:18px minmax(0,1fr) 82px; gap:6px; }
  .ut-editor .ut-car-image { display:none; }
  .ut-pool-choice { min-height:48px; }
  .ut-editor .ut-reference-number { font-size:20px; }
}
