/* Difficulty surfaces only: never reach inside calculators or players. */
#difficulty-legend{display:flex;flex-wrap:wrap;gap:8px 12px!important;align-items:center}
.difficulty-key-item{display:inline-grid!important;grid-template-columns:9px auto;column-gap:5px;row-gap:2px}
.difficulty-key-item i{grid-row:1/3;align-self:center}
.difficulty-key-item b{font-weight:800}
.difficulty-key-item small{grid-column:2;font-size:9px;font-weight:500;opacity:.78}
.difficulty-info-button{margin-top:8px;padding:5px 9px;border:1px solid #8891a340;border-radius:8px;background:transparent;color:inherit;font-family:inherit;font-weight:700;font-size:11px;cursor:pointer}
.difficulty-info-button:hover{background:#8b92a315}
body.index-mode .difficulty-controls{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1.1fr) auto}
.difficulty-impossible:is(.problem-bubble,.difficulty-filter-chip,.difficulty-info-tier),html[data-theme=dark] body.index-mode .difficulty-filter-chip.active.difficulty-impossible{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 20% 0%,#41434b70,transparent 65%),linear-gradient(145deg,#202127,#08090c 62%,#020304);border:1px solid #aab0bd8c;color:#f2f4fa;box-shadow:inset 0 1px #ffffff38,inset 0 -1px #000,0 3px 10px #0005}
.difficulty-impossible:is(.problem-bubble,.difficulty-filter-chip)::before{content:"";position:absolute;z-index:-1;inset:-70% -100%;pointer-events:none;background:linear-gradient(115deg,transparent 42%,#dfe8ff10 46%,#ffffff48 50%,#dfe8ff13 54%,transparent 58%);filter:blur(2px);transform:translateX(-65%);animation:impossible-reflection 3.5s ease-in-out infinite}
@keyframes impossible-reflection{0%{transform:translateX(-65%)}57%,100%{transform:translateX(65%)}}
.difficulty-impossible.problem-bubble:hover{transform:translateY(-2px);border-color:#d9dfeeee;box-shadow:inset 0 1px #ffffff55,0 7px 17px #0008}
.difficulty-impossible.problem-bubble:hover::before{opacity:1.25}
.difficulty-impossible.problem-bubble>*{position:relative;z-index:1}
.difficulty-impossible.difficulty-key-item i{background:linear-gradient(135deg,#101115 20%,#bfc5d0 48%,#17191f 73%);border:1px solid #aab0bd}
.difficulty-impossible.difficulty-tag{background:linear-gradient(145deg,#33363d,#06070a);border-color:#8e95a3;color:#f2f4fa}
.level.difficulty-challenge{color:#8953b4}
.level.difficulty-impossible{color:#697587}
html[data-theme=dark] .level.difficulty-challenge{color:#d2b0ec}
html[data-theme=dark] .level.difficulty-impossible{color:#e5eaf5}
#difficulty-info{width:min(680px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #78829466;border-radius:18px;background:linear-gradient(145deg,#fff,#eef0f5);color:#202937;box-shadow:0 35px 100px #0009;overflow:hidden}
#difficulty-info[open]{display:flex;flex-direction:column}
#difficulty-info::backdrop{background:#0009;backdrop-filter:blur(7px)}
#difficulty-info header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid #8b92a32c;flex-shrink:0}
#difficulty-info h2{margin:0;font-size:20px;letter-spacing:-.03em}
#difficulty-info header button{width:34px;height:34px;border:1px solid #8b92a34d;border-radius:9px;background:transparent;color:inherit;font-size:24px;cursor:pointer}
.difficulty-info-scroll{padding:18px 22px 24px;overflow-y:auto;overscroll-behavior:contain;min-height:0;font-size:14px;line-height:1.65}
.difficulty-info-scroll h3{margin:0 0 8px;font-size:16px}
.difficulty-info-scroll p{margin:0 0 12px}
.difficulty-info-scroll a{color:inherit;text-underline-offset:3px}
.difficulty-benchmark-note{font-size:12px;opacity:.8}
.difficulty-info-tier{margin-top:16px;padding:0 0 0 13px;border-left:3px solid #68b793}
.difficulty-info-tier.difficulty-medium{border-color:#eea45f}
.difficulty-info-tier.difficulty-hard{border-color:#df6c78}
.difficulty-info-tier.difficulty-challenge{border-color:#a77bd0}
.difficulty-info-tier.difficulty-impossible{padding:16px;border-radius:12px}
.difficulty-info-tier h3 small{font-size:12px;opacity:.8;margin-left:8px}
html[data-theme=dark] #difficulty-info{background:linear-gradient(140deg,#22232bcf,#0c0d12f5 60%);color:#eeeef3}
html:has(#difficulty-info[open]){overflow:hidden}
@media(max-width:1100px){body.index-mode .difficulty-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.index-mode .difficulty-controls{grid-template-columns:minmax(0,1fr)}#difficulty-info header{padding:13px 16px}.difficulty-info-scroll{padding:16px}#difficulty-info h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.difficulty-impossible:is(.problem-bubble,.difficulty-filter-chip)::before{animation:none;transform:translateX(0);opacity:.5}.difficulty-impossible.problem-bubble:hover{transform:none}}
