
.tpl-menu{font-family:var(--font-label);font-size:var(--tpl-menu-size);color:var(--color-text-primary);background:var(--surface-panel);text-transform:var(--menu-case);letter-spacing:var(--menu-tracking);z-index:100;}
.tpl-menu button,
.tpl-menu a{font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;}
.tpl-method-dropdown .tpl-switcher-trigger-label > [data-v]{display:none;}
.tpl-switcher[data-mirror] .tpl-switcher-trigger-label > [data-v]:not(.is-current){display:none;}
.tpl-switcher--fit{display:inline-flex;max-width:100%;vertical-align:middle;}
.tpl-switcher--fit > .tpl-switcher-trigger{max-width:none;}
.tpl-switcher--fit .tpl-switcher-trigger-label{display:grid;}
.tpl-switcher.tpl-switcher--fit[data-mirror] .tpl-switcher-trigger-label > [data-v]{grid-area:1 / 1;display:block;white-space:nowrap;visibility:hidden;}
.tpl-switcher.tpl-switcher--fit[data-mirror] .tpl-switcher-trigger-label > [data-v].is-current{visibility:visible;}
button.tpl-switcher-item{display:block;width:100%;background:none;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer;}
button.tpl-switcher-item:hover{background:rgba(var(--ink-rgb),0.04);}
.tpl-switcher-item.active,
.tpl-switcher-item[aria-pressed="true"]{background:rgba(var(--red-rgb),0.06);}
.tpl-method-dropdown:has(input[value="pairs"]:checked) .tpl-switcher-trigger-label > [data-v="pairs"],
.tpl-method-dropdown:has(input[value="scores"]:checked) .tpl-switcher-trigger-label > [data-v="scores"],
.tpl-method-dropdown:has(input[value="pick_one"]:checked) .tpl-switcher-trigger-label > [data-v="pick_one"],
.tpl-method-dropdown:has(input[value="pick_any"]:checked) .tpl-switcher-trigger-label > [data-v="pick_any"],
.tpl-method-dropdown:has(input[value="percentage"]:checked) .tpl-switcher-trigger-label > [data-v="percentage"],
.tpl-method-dropdown:has(input[value="budget"]:checked) .tpl-switcher-trigger-label > [data-v="budget"],
.tpl-method-dropdown:has(input[value="dots"]:checked) .tpl-switcher-trigger-label > [data-v="dots"]{display:inline;}
label.tpl-switcher-item{position:relative;cursor:pointer;}
label.tpl-switcher-item:hover{background:rgba(var(--ink-rgb),0.04);}
.tpl-switcher-item > input[type="radio"]{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none;}
.tpl-switcher-item:has(> input[type="radio"]:checked){background:rgba(var(--red-rgb),0.06);}
.tpl-switcher-item:has(> input[type="radio"]:focus-visible){outline:2px solid var(--ink);outline-offset:-2px;}
.tpl-start .tpl-switcher-item:has(> input[type="radio"]:focus-visible){outline-color:var(--focus-ring);}
.tpl-switcher{
    position:relative;
    text-align:right;
    --tpl-switcher-z:var(--menu-layer);
    font-family:var(--font-body);
    font-size:var(--tpl-menu-size);
    z-index:var(--tpl-switcher-z);
}
.tpl-switcher[data-open="1"]{
    z-index:calc(var(--tpl-switcher-z) + 1);
}
.tpl-switcher[data-open="1"] > .tpl-switcher-menu{
    z-index:calc(var(--tpl-switcher-z) + 1);
}
.tpl-switcher-trigger{
    display:inline-flex;
    align-items:center;
    gap:var(--gap-row);
    background:var(--surface-field);
    border:1px solid var(--line-strong);
    border-radius:var(--radius-control);
    padding:7px var(--inset-box);
    font-family:var(--font-label);
    font-size:inherit;
    color:var(--color-text-primary);
    cursor:pointer;
    line-height:var(--line-control);
    max-width:240px;
}
.tpl-switcher-trigger:hover{border-color:var(--line-strong);}
.tpl-switcher[data-open="1"] .tpl-switcher-trigger{border-color:var(--line-strong);}
.tpl-switcher-trigger:disabled{opacity:0.55;cursor:not-allowed;}
.tpl-switcher-trigger-label{min-width:0;}
.tpl-switcher-trigger-chev{
    display:inline-block;
    width:8px;
    height:8px;
    border-right:1.5px solid var(--color-text-secondary);
    border-bottom:1.5px solid var(--color-text-secondary);
    transform:translateY(-2px) rotate(45deg);
    transition:transform var(--motion-fast);
    flex-shrink:0;
}
.tpl-start .tpl-switcher-trigger-chev{border-right-color:var(--muted);border-bottom-color:var(--muted);}
.tpl-switcher[data-open="1"] .tpl-switcher-trigger-chev{
    transform:translateY(1px) rotate(225deg);
}
.tpl-switcher-menu{
    position:absolute;
    top:calc(100% + 6px);
    right:0;
    text-align:left;
    max-height:70vh;
    overflow-y:auto;
    background:var(--surface-panel);
    border:1px solid var(--line-strong);
    border-radius:var(--radius-entry);
    box-shadow:0 6px 20px rgba(var(--ink-rgb),0.08);
    padding:var(--gap-tight) 0;
}
.tpl-switcher-menu[popover],
.tpl-switcher-hint-pop[popover]{inset:auto;margin:0;}
.tpl-switcher-group + .tpl-switcher-group{
    border-top:1px solid rgba(var(--ink-rgb),0.08);
    margin-top:var(--gap-tight);
    padding-top:var(--gap-tight);
}
.tpl-switcher-group-label{
    font-family:var(--font-label);
    font-size:var(--type-badge);
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--muted);
    padding:var(--gap-tight) var(--inset-panel) var(--inset-tag);
}
.tpl-switcher-item{
    display:block;
    padding:7px var(--inset-box);
    color:var(--ink);
    text-decoration:none;
    line-height:1.3;
    white-space:normal;
    overflow-wrap:break-word;
}
a.tpl-switcher-item:hover{background:rgba(var(--ink-rgb),0.04);}
.tpl-switcher-item.is-current{
    color:var(--ink);
    cursor:default;
    background:rgba(var(--red-rgb),0.06);
}
.lang-choice{position:relative;display:inline-block;}
.lang-choice-entry{display:inline-flex;align-items:center;gap:var(--gap-row);}
.lang-choice-names{display:inline-flex;flex-direction:column;}
.lang-choice-alt{font-size:var(--type-caption);color:var(--muted);}
.tpl-switcher[data-open="1"] > .tpl-switcher-menu--long{
    display:flex;
    flex-direction:column;
    width:max-content;
    padding:0;
    overflow:hidden;
}
.tpl-switcher-head{
    flex:none;
    display:flex;
    align-items:center;
    gap:var(--gap-row);
    padding:var(--inset-control) var(--inset-box);
    border-bottom:1px solid var(--line);
}
.tpl-switcher-filter{
    flex:1 1 auto;
    min-width:0;
    box-sizing:border-box;
    padding:var(--inset-tag) var(--gap-row);
    border:1px solid var(--line-strong);
    border-radius:var(--radius-control);
    background:var(--surface-field);
    color:var(--color-text-primary);
    font:inherit;
    text-transform:none;
    letter-spacing:normal;
}
.tpl-switcher-head .tpl-switcher-close{
    display:none;
    flex:none;
    width:auto;
    appearance:none;
    background:none;
    border:0;
    padding:0 var(--inset-control);
    font:inherit;
    font-size:var(--type-card-name);   
    line-height:1;
    color:var(--color-text-primary);
    cursor:pointer;
}
.tpl-switcher-list{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    display:grid;
    grid-auto-flow:column;
    grid-template-columns:repeat(var(--cols, 1), max-content);
    grid-template-rows:repeat(var(--rows, 1), auto);
    padding:var(--gap-tight) 0;
}
.tpl-switcher-list .tpl-switcher-group{display:contents;}
.tpl-switcher-list [hidden]{display:none !important;}
.tpl-switcher-list .tpl-switcher-item{white-space:nowrap;}
.tpl-switcher-item.is-active{background:rgba(var(--ink-rgb),0.06);}
.tpl-switcher-nomatch{margin:0;padding:var(--inset-box);color:var(--muted);}
.tpl-switcher-menu--long[popover]{inset:auto;margin:0;}
@media(max-width:640px){
    .tpl-switcher[data-open="1"] > .tpl-switcher-menu--long{
        position:fixed;
        inset:0;
        width:100%;
        max-width:none;
        height:100%;
        max-height:none;
        border:0;
        border-radius:0;
        box-shadow:none;
    }
    .tpl-switcher-menu--long[popover]{inset:0;}
    .tpl-switcher-head .tpl-switcher-close{display:block;}
    .tpl-switcher-filter{font-size:var(--type-field);}   
    .tpl-switcher-list{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row;}
    .tpl-switcher-list .tpl-switcher-item{white-space:normal;}
}
.nav-flag{
  flex:none;
  height:0.7em;
  width:1.05em;
  box-shadow:0 0 0 1px var(--site-nav-shade);
}
.lang-flags{
  --lang-flag-gap:var(--space-xs);
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:var(--lang-flag-gap);
  min-width:calc(var(--lang-flag-slots, 1) * 1.05em + (var(--lang-flag-slots, 1) - 1) * var(--lang-flag-gap));
}
.tpl-switcher-trigger .lang-flags:empty{display:none;}
