

.tl-ov{position:fixed;inset:0;z-index:120;display:none}

.tl-ov.tl-inline{position:static;inset:auto;z-index:auto}
.tl-ov.tl-inline .tl-p{position:static;transform:none;width:100%;max-width:none;max-height:none;
box-shadow:none;border:1px solid var(--rule,#ECECF0)}
.tl-ov.tl-inline[data-size] .tl-p{--tl-w:100%}
.tl-ov[open]{display:block}
.tl-scrim{position:absolute;inset:0;background:rgba(11,26,48,.34);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.tl-p{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;
  width:min(var(--tl-w,560px),calc(100vw - 32px));max-height:min(var(--tl-h,86vh),calc(100vh - 32px));
  background:var(--paper,#fff);border-radius:16px;overflow:hidden;
  box-shadow:0 1px 2px rgba(16,22,35,.05),0 40px 82px -40px rgba(16,22,35,.42)}
.tl-ov[data-size="s"] .tl-p{--tl-w:480px}
.tl-ov[data-size="m"] .tl-p{--tl-w:620px}
.tl-ov[data-size="l"] .tl-p{--tl-w:920px;--tl-h:88vh}

.tl-h{display:flex;align-items:flex-start;gap:16px;padding:20px 22px 14px;border-bottom:1px solid var(--rule,#ECECF0)}
.tl-h-t{min-width:0}
.tl-h h2{margin:0;font-size:1.0625rem;font-weight:650;letter-spacing:-.018em;color:var(--ink,#16181C);line-height:1.3}
.tl-h p{margin:4px 0 0;font-size:.8125rem;line-height:1.5;color:var(--ink-faint,#5A6779)}
.tl-x{flex:none;margin-left:auto;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:9px;
  background:transparent;color:var(--ink-faint,#5A6779);cursor:pointer}
.tl-x:hover{background:var(--surface,#F5F8FC);color:var(--ink,#16181C)}
.tl-x svg{width:18px;height:18px}
.tl-b{padding:20px 22px 22px;overflow:auto;-webkit-overflow-scrolling:touch}
.tl-f{flex:none;display:flex;align-items:center;gap:10px;padding:14px 22px;border-top:1px solid var(--rule,#ECECF0);background:var(--surface,#F7F9FD)}
.tl-note{font-size:.71875rem;line-height:1.5;color:var(--ink-subtle,#707074)}
.tl-f .tl-note{margin-right:auto}
body.tl-open{overflow:hidden}


.tl-lbl{display:block;font-size:.8125rem;font-weight:600;color:var(--ink,#16181C);margin-bottom:6px}
.tl-hint{display:block;font-size:.75rem;color:var(--ink-faint,#5A6779);margin:5px 0 0;line-height:1.5}
.tl-in{width:100%;min-height:48px;font:inherit;font-size:1rem;padding:11px 13px;border:1px solid var(--rule-mid,#DDDEE4);
  border-radius:10px;background:var(--paper,#fff);color:var(--ink,#16181C)}
.tl-in:focus{outline:0;border-color:var(--cobalt,#0B67D0);box-shadow:0 0 0 3px rgba(11,103,208,.12)}
.tl-in.mono{font-family:var(--mono,ui-monospace,Menlo,Consolas,monospace);letter-spacing:.06em}
.tl-row{margin-bottom:16px}
.tl-row:last-child{margin-bottom:0}
.tl-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tl-btn{min-height:44px;font:inherit;font-size:.875rem;font-weight:600;padding:9px 15px;border:1px solid var(--rule-mid,#DDDEE4);
  border-radius:10px;background:var(--paper,#fff);color:var(--ink-soft,#424247);cursor:pointer;
  transition:background .14s,border-color .14s,color .14s}
.tl-btn:hover{background:var(--surface,#F5F8FC);color:var(--ink,#16181C)}
.tl-btn:disabled{opacity:.45;cursor:default}
.tl-btn.pri{background:var(--cobalt,#0B67D0);border-color:var(--cobalt,#0B67D0);color:#fff}
.tl-btn.pri:hover{background:var(--cobalt-dark,#0757B8);border-color:var(--cobalt-dark,#0757B8)}
.tl-btns{display:flex;flex-wrap:wrap;gap:8px}
.tl-err{margin-top:8px;font-size:.8125rem;line-height:1.5;color:#B23A2C}
.tl-ok{color:#0D7A4F}


.tl-dz{display:block;width:100%;border:1px dashed var(--rule-mid,#DDDEE4);border-radius:14px;background:var(--surface,#F7F9FD);
  padding:30px 20px;text-align:center;cursor:pointer;font:inherit;color:var(--ink-soft,#424247);
  transition:border-color .14s,background .14s}
.tl-dz:hover,.tl-dz.hot{border-color:var(--cobalt,#0B67D0);background:var(--cobalt-050,#EBF4FD)}
.tl-dz b{display:block;font-size:.9375rem;font-weight:650;color:var(--ink,#16181C)}
.tl-dz span{display:block;margin-top:5px;font-size:.8125rem;color:var(--ink-faint,#5A6779)}
.tl-dz svg{width:26px;height:26px;color:var(--ink-subtle,#707074);margin-bottom:10px}


.tl-card{border:1px solid var(--rule,#ECECF0);border-radius:14px;padding:16px 18px;background:var(--paper,#fff)}
.tl-card+.tl-card{margin-top:12px}
.tl-k{font-family:var(--mono,ui-monospace,Menlo,Consolas,monospace);font-size:.65625rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-subtle,#707074);margin:0 0 10px}
.tl-kv{display:flex;gap:14px;padding:6px 0;font-size:.8125rem;line-height:1.5}
.tl-kv .k{flex:none;min-width:118px;color:var(--ink-faint,#5A6779)}
.tl-kv .v{color:var(--ink,#16181C);font-weight:500;min-width:0;overflow-wrap:anywhere}
.tl-kv .v.mono{font-family:var(--mono,ui-monospace,Menlo,Consolas,monospace);font-weight:400;font-size:.78125rem}
.tl-out{font-family:var(--mono,ui-monospace,Menlo,Consolas,monospace);font-size:.78125rem;line-height:1.55;
  background:var(--surface,#F7F9FD);border:1px solid var(--rule,#ECECF0);border-radius:10px;padding:11px 13px;
  overflow-wrap:anywhere;color:var(--ink,#16181C)}
.tl-qr{display:grid;place-items:center;padding:16px;background:#fff;border:1px solid var(--rule,#ECECF0);border-radius:12px}
.tl-qr svg{width:168px;height:168px;display:block;shape-rendering:crispEdges}


.tl-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.71875rem;
  font-weight:600;background:var(--surface-2,#F1F4F9);color:var(--ink-faint,#5A6779)}
.tl-pill.good{background:#E9F4EE;color:#146C43}
.tl-pill.warn{background:#FDF3E2;color:#9A6A12}
.tl-pill.bad{background:#FDECEC;color:#B23A2C}
.tl-pill i{width:5px;height:5px;border-radius:50%;background:currentColor;display:block}


.tl-steps{list-style:none;margin:0;padding:0}
.tl-steps li{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:.84375rem;color:var(--ink-faint,#5A6779)}
.tl-steps li b{font-weight:500;color:var(--ink,#16181C)}
.tl-steps .m{flex:none;width:16px;height:16px;display:grid;place-items:center;border-radius:50%;
  border:1.5px solid var(--rule-mid,#DDDEE4);font-size:10px;line-height:1}
.tl-steps li.on .m{background:#146C43;border-color:#146C43;color:#fff}
.tl-steps li.on b{color:var(--ink,#16181C)}


.tl-score{display:grid;grid-template-columns:auto minmax(0,1fr);gap:26px;align-items:center}
.tl-score-n{font-size:2.75rem;font-weight:700;letter-spacing:-.035em;line-height:1;color:var(--ink,#16181C)}
.tl-score-n small{font-size:1.125rem;font-weight:600;color:var(--ink-faint,#5A6779)}
.tl-score-l{font-size:.75rem;color:var(--ink-faint,#5A6779);margin-top:6px}
.tl-meter{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;
  padding:5px 0;font-size:.8125rem}
.tl-meter .n{color:var(--ink-faint,#5A6779);min-width:74px}
.tl-meter .t{font-weight:600;color:var(--ink,#16181C);min-width:38px;text-align:right}
.tl-bar{height:4px;border-radius:2px;background:var(--rule,#ECECF0);overflow:hidden}
.tl-bar i{display:block;height:100%;border-radius:2px;background:var(--cobalt,#0B67D0);width:var(--tl-pct,0%)}
.tl-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.tl-count{background:var(--surface,#F7F9FD);border-radius:12px;padding:13px 14px}
.tl-count b{display:block;font-size:1.375rem;font-weight:700;letter-spacing:-.03em;color:var(--ink,#16181C);line-height:1.1}
.tl-count span{display:block;margin-top:3px;font-size:.71875rem;color:var(--ink-faint,#5A6779)}
.tl-headline{font-size:1.0625rem;font-weight:650;letter-spacing:-.015em;color:var(--ink,#16181C)}

.tl-fields{list-style:none;margin:0;padding:0}
.tl-fields li{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--rule,#ECECF0);font-size:.8125rem}
.tl-fields li:last-child{border-bottom:0}
.tl-fields .lb{min-width:0;color:var(--ink,#16181C);font-weight:500;overflow-wrap:anywhere}
.tl-fields .st{margin-left:auto;flex:none}
.tl-fields .why{flex-basis:100%;margin:0;padding-left:0;font-size:.75rem;color:var(--ink-faint,#5A6779);line-height:1.5}
.tl-fold{margin-top:14px}
.tl-fold>summary{cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--ink-soft,#424247);list-style:none;
  padding:8px 0}
.tl-fold>summary::-webkit-details-marker{display:none}
.tl-fold>summary::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;vertical-align:middle;
  border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.tl-fold[open]>summary::after{transform:rotate(-135deg) translateY(-2px)}
.tl-fold>summary:hover{color:var(--ink,#16181C)}

.tl-routes{display:grid;gap:10px}
.tl-route{display:block;width:100%;text-align:left;font:inherit;border:1px solid var(--rule-mid,#DDDEE4);border-radius:14px;
  padding:16px 18px;background:var(--paper,#fff);cursor:pointer;transition:border-color .14s,background .14s}
.tl-route:hover{border-color:var(--cobalt,#0B67D0);background:var(--cobalt-050,#EBF4FD)}
.tl-route b{display:block;font-size:.9375rem;font-weight:650;color:var(--ink,#16181C)}
.tl-route span{display:block;margin-top:4px;font-size:.8125rem;color:var(--ink-faint,#5A6779);line-height:1.5}
.tl-route.minor{padding:13px 16px}
.tl-route.minor b{font-size:.875rem}

.tl-sp{display:inline-block;width:15px;height:15px;border-radius:50%;border:2px solid var(--rule-mid,#DDDEE4);
  border-top-color:var(--cobalt,#0B67D0);animation:tlsp .7s linear infinite;vertical-align:-2px}
@keyframes tlsp{to{transform:rotate(360deg)}}

@media (max-width:720px){
  .tl-p{left:0;right:0;bottom:0;top:auto;transform:none;width:100%;max-width:100%;
    max-height:92vh;border-radius:16px 16px 0 0}
  .tl-ov[data-size="l"] .tl-p{max-height:96vh}
  .tl-h,.tl-b,.tl-f{padding-left:16px;padding-right:16px}
  .tl-grid2{grid-template-columns:minmax(0,1fr)}
  .tl-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tl-score{grid-template-columns:minmax(0,1fr);gap:16px}
  .tl-kv{flex-direction:column;gap:2px}
  .tl-kv .k{min-width:0}
}
@media (prefers-reduced-motion:reduce){.tl-sp{animation:none}}
