.dslh-research {
    --dslh-ink: #202230;
    --dslh-muted: #777e90;
    --dslh-border: #e1e5ed;
    color: var(--dslh-ink);
    font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    max-width: 1200px;
    width: 100%;
    margin: 24px auto;
    text-align: left;
}
.dslh-research *, .dslh-research *::before, .dslh-research *::after { box-sizing: border-box; }
.dslh-research [hidden] { display: none !important; }
.dslh-research .dslh-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.dslh-research .dslh-search { display: grid; grid-template-columns: minmax(0,1fr) 185px 165px; gap: 18px; padding: 36px; margin: 0 0 42px; background: #fff; border: 1px solid #edf0f4; border-radius: 26px; box-shadow: 0 15px 35px #18213b0c; align-items: center; }
.dslh-research .dslh-input, .dslh-research .dslh-country, .dslh-research .dslh-submit { margin: 0; min-height: 66px; height: 66px; width: 100%; font: inherit; line-height: 1.3; outline-offset: 4px; }
.dslh-research .dslh-input { min-width: 0; padding: 16px 24px; background: #fff; color: var(--dslh-ink); border: 2px solid #d1d6e1; border-radius: 40px; box-shadow: none; font-size: 20px; font-weight: 600; }
.dslh-research .dslh-input::placeholder { color: #737989; opacity: 1; font-weight: 400; font-size: 17px; }
.dslh-research .dslh-country { min-width: 0; padding: 12px 26px 12px 14px; border: 2px solid #dce0e8; border-radius: 15px; background-color: #fff; color: var(--dslh-ink); font-size: 14px; font-weight: 650; text-overflow: ellipsis; }
.dslh-research .dslh-submit { cursor: pointer; background: linear-gradient(#242426,#101011); color: white; border: 1px solid #151515; border-radius: 15px; font-weight: 750; font-size: 20px; box-shadow: 0 10px 18px #1212121a; text-transform: none; letter-spacing: normal; }
.dslh-research .dslh-submit span { margin-left: 12px; font-size: 20px; font-weight: 400; }
.dslh-research .dslh-submit:disabled { cursor: progress; opacity: .65; }
.dslh-research :is(a,button,input,select):focus-visible { outline: 3px solid #2563eb; outline-offset: 5px; }
.dslh-research .dslh-results { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.dslh-research .dslh-card { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 244px; padding: 34px 16px; margin: 0; border: 1px solid var(--dslh-border); border-radius: 16px; background: #fff; color: var(--dslh-ink); text-align: center; overflow: hidden; text-decoration: none; box-shadow: 0 8px 22px #20223004; }
.dslh-research .dslh-card--hero { grid-column: span 2; min-height: 270px; }
.dslh-research .dslh-card-label { display: block; color: var(--dslh-muted); text-transform: uppercase; font-size: 13px; letter-spacing: .055em; font-weight: 800; margin-bottom: 14px; line-height: 1.4; }
.dslh-research .dslh-card-value { display: block; font-size: 42px; line-height: 1.2; letter-spacing: -.045em; font-weight: 800; margin-bottom: 8px; }
.dslh-research .dslh-grade { font-size: 78px; margin: 0 0 8px; }
.dslh-research .dslh-card-detail { display: block; color: #707687; font-size: 16px; line-height: 1.5; }
.dslh-research .dslh-card--good { background: #12a349; border-color: #12a349; color: #fff; }
.dslh-research .dslh-card--caution { background: #fff5e4; border-color: #f1d9b1; color: #7a4b0b; }
.dslh-research .dslh-card--good :is(.dslh-card-label,.dslh-card-detail) { color: #fff; }
.dslh-research .dslh-card--caution :is(.dslh-card-label,.dslh-card-detail) { color: #7a4b0b; }
.dslh-research .dslh-badge { margin-top: 12px; padding: 5px 11px; background: #ffffff36; border-radius: 99px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; }
.dslh-research .dslh-card--caution .dslh-badge { background: #f6e5c5; }
.dslh-research .dslh-card--locked { background: linear-gradient(145deg,#fff,#f7f8fb); cursor: pointer; transition: border-color .18s, box-shadow .18s; }
.dslh-research .dslh-card--locked:hover { border-color: #a4acbd; box-shadow: 0 8px 24px #2022300d; text-decoration: none; color: var(--dslh-ink); }
.dslh-research .dslh-lock-icon { position: absolute; right: 16px; top: 16px; display: grid; place-items: center; border: 1px solid #e1e5ed; border-radius: 50%; width: 29px; height: 29px; color: #858c9c; }
.dslh-research .dslh-lock-icon svg { width: 15px; height: 15px; }
.dslh-research .dslh-ghost { display: flex; flex-direction: column; align-items: center; gap: 14px; width: 100%; margin: 8px 0 14px; filter: blur(9px); user-select: none; pointer-events: none; opacity: .72; }
.dslh-research .dslh-ghost-value { display: block; width: 68%; max-width: 160px; height: 31px; border-radius: 8px; background: repeating-linear-gradient(90deg,#535765 0 12px,transparent 12px 16px); }
.dslh-research .dslh-card--hero .dslh-ghost-value { max-width: 235px; height: 65px; }
.dslh-research .dslh-ghost-line { display: block; height: 11px; width: 62%; max-width: 150px; background: #767d8d; border-radius: 5px; }
.dslh-research .dslh-ghost-badge { display: block; height: 15px; width: 40%; max-width: 100px; background: #939aaa; border-radius: 20px; }
.dslh-research .dslh-lock-hint { font-size: 10px; color: #747b8b; margin-top: 10px; }
.dslh-research .dslh-cta { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 27px 30px; margin-top: 8px; border: 1px solid var(--dslh-border); border-radius: 16px; background: #fff; }
.dslh-research .dslh-cta-copy strong { display: block; font-size: 18px; font-weight: 750; }
.dslh-research .dslh-cta-copy span { display: block; font-size: 13px; color: #747b8b; margin-top: 5px; }
.dslh-research .dslh-cta-link { display: inline-block; flex-shrink: 0; background: #202230; color: #fff; border-radius: 10px; padding: 14px 18px; text-decoration: none; font-size: 13px; font-weight: 700; text-align: center; }
.dslh-research .dslh-cta-link:hover { color: #fff; background: #343746; text-decoration: none; }
.dslh-research .dslh-status { margin: -16px 0 24px; color: #657085; font-size: 14px; }
.dslh-research .dslh-status--error { color: #b42318; }
@media (max-width: 900px) {
    .dslh-research .dslh-search { grid-template-columns: minmax(0,1fr) 150px; padding: 24px; gap: 12px; }
    .dslh-research .dslh-input { grid-column: 1 / -1; }
    .dslh-research .dslh-results { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
    .dslh-research .dslh-card--hero { grid-column: span 1; }
    .dslh-research .dslh-cta { flex-direction: column; text-align: center; }
}
@media (max-width: 480px) {
    .dslh-research .dslh-search { padding: 17px; border-radius: 18px; margin-bottom: 24px; grid-template-columns: minmax(0,1fr) 115px; }
    .dslh-research .dslh-input, .dslh-research .dslh-country, .dslh-research .dslh-submit { min-height: 54px; height: 54px; font-size: 16px; }
    .dslh-research .dslh-country { font-size: 12px; }
    .dslh-research .dslh-input { padding: 12px 18px; }
    .dslh-research .dslh-card { padding: 40px 10px 22px; min-height: 210px; }
    .dslh-research .dslh-card--hero { min-height: 230px; }
    .dslh-research .dslh-card-label { font-size: 11px; }
    .dslh-research .dslh-card-value { font-size: 35px; }
    .dslh-research .dslh-grade { font-size: 60px; }
    .dslh-research .dslh-card-detail { font-size: 13px; }
    .dslh-research .dslh-lock-icon { width: 24px; height: 24px; right: 10px; top: 10px; }
    .dslh-research .dslh-lock-hint { font-size: 9px; }
    .dslh-research .dslh-badge { font-size: 9px; padding: 4px 7px; }
}
@media (prefers-reduced-motion: reduce) { .dslh-research * { transition: none !important; } }
