body.moveu-situation-page {
    margin: 0;
    background: #f8fbfa;
    color: #10294b;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}
.musit, .musit *, .musit *::before, .musit *::after { box-sizing: border-box; }
.musit {
    width: min(960px, calc(100% - 64px));
    margin: 0 auto;
    padding: 22px 0 calc(76px + env(safe-area-inset-bottom));
    font-size: 17px;
    line-height: 1.55;
}
.musit :is(h1,h2,h3,p,ol,ul,figure) { margin: 0; }
.musit :is(h1,h2,h3) { color: #10294b; font-family: inherit; text-transform: none; }
.musit h2 { font-size: clamp(1.3rem, 2.5vw, 1.72rem); line-height: 1.24; font-weight: 650; letter-spacing: -.035em; }
.musit a { color: #176663; text-underline-offset: .17em; text-decoration-thickness: 1px; }
.musit :is(a,button,input,summary):focus-visible, .musit-skip:focus-visible { outline: 3px solid #157770; outline-offset: 4px; }
.musit-skip { position: fixed; top: 6px; left: 8px; z-index: 999999; padding: 8px 16px; color: #10294b; background: white; transform: translateY(-160%); }
.musit-skip:focus { transform: none; }
.musit-crumb { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .55rem; color: #56677a; font-size: .85rem; }
.musit-crumb a, .musit-back a { text-decoration: none; }
.musit-crumb a:hover, .musit-back a:hover { text-decoration: underline; }
.musit-hero { display: flex; align-items: center; justify-content: space-between; gap: 26px; margin: clamp(26px,5vw,58px) 0 26px; }
.musit-hero h1 { font-size: clamp(2rem,4.6vw,3.35rem); font-weight: 570; line-height: 1.06; letter-spacing: -.05em; text-wrap: balance; }
.musit-hero p { max-width: 72ch; margin-top: 14px; color: #495e70; font-size: clamp(1.02rem,2vw,1.19rem); line-height: 1.6; }
.musit-hero-icon { flex: none; width: clamp(62px,12vw,116px); height: auto; object-fit: contain; }
.musit-list { border: 1px solid #c6ddda; border-radius: 22px; background: linear-gradient(128deg,#fff 24%,#f1f9f6); padding: clamp(17px,3.8vw,36px); }
.musit-list-head,.musit-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; }
.musit-list-head { margin-bottom: 9px; }
.musit-list-head button { min-height: 44px; padding: 8px 17px; border: 1px solid #aecfca; border-radius: 22px; color: #164e50; background: white; font-size: .9rem; line-height: 1.35; font-family: inherit; font-weight: 600; cursor: pointer; }
.musit-list ol,.musit-grid,.musit-related ul,.musit-sources ul { padding: 0; list-style: none; }
.musit-list li { display: grid; grid-template-columns: 25px minmax(0,1fr); align-items: start; gap: 12px; padding: 13px 0; border-top: 1px solid #dbe7e4; }
.musit-list input { appearance: auto; accent-color: #16776e; width: 22px; height: 22px; margin: 2px 0; cursor: pointer; }
.musit-list label { display: block; font-size: 1.07rem; font-weight: 650; line-height: 1.4; cursor: pointer; }
.musit-list li p,.musit-reading p,.musit-faq p,.musit-related p { color: #465d70; max-width: 76ch; }
.musit-list li p { margin: 3px 0 0; font-size: .97rem; }
.musit-actions { padding-top: 12px; border-top: 1px solid #d6e1df; font-size: .92rem; }
.musit-actions small,.musit-credit,.musit-offer small { color: #516579; font-size: .83rem; }
.musit-credit { margin: 15px 0 24px !important; }
.musit-reading,.musit-faq,.musit-sources,.musit-related { margin: clamp(24px,5vw,46px) 0; }
.musit-reading p,.musit-related p { margin-top: 9px; }
.musit-offer { border-inline-start: 3px solid #7abfb5; padding: 10px 17px; background: #eef6f3; max-width: 76ch; }
.musit-offer small { display: block; margin-top: 5px; }
.musit-faq details { border-bottom: 1px solid #d8e4e2; }
.musit-faq h2 { margin-bottom: 8px; }
.musit-faq summary { padding: 14px 0; font-weight: 600; cursor: pointer; }
.musit-faq details p { padding: 0 0 17px; }
.musit-sources h2 { font-size: 1.13rem; }
.musit-sources ul { margin-top: 8px; }
.musit-sources li { margin: 6px 0; font-size: .92rem; }
.musit-back { margin: 20px 0; }
.musit-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 16px !important; }
.musit-entry { display: grid; grid-template-columns: 60px minmax(0,1fr) auto; align-items: center; gap: 15px; height: 100%; padding: 18px; background: #fff; border: 1px solid #d5e4e1; border-radius: 18px; text-decoration: none; }
.musit-entry:hover { background: #eff8f5; border-color: #9bc9c2; }
.musit-entry img { display: block; width: 100%; height: auto; }
.musit-entry strong,.musit-entry small { display: block; }
.musit-entry strong { color: #10294b; font-weight: 650; line-height: 1.33; }
.musit-entry small { font-size: .88rem; margin-top: 4px; line-height: 1.45; color: #526575; }
.musit-entry i { font-style: normal; }
.musit-related ul { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 14px 0; }
.musit-print,.musit [hidden] { display: none; }
@media (max-width: 640px) {
    .musit { width: calc(100% - 36px); padding-top: 14px; font-size: 16px; }
    .musit-hero { position: relative; display: block; margin: 25px 0 19px; }
    .musit-hero:has(.musit-hero-icon) h1 { padding-right: 53px; }
    .musit-hero-icon { position: absolute; top: -2px; right: 0; width: 46px; }
    .musit-hero p { margin-top: 12px; }
    .musit-grid { grid-template-columns: 1fr; }
    .musit-entry { gap: 12px; padding: 15px; }
    .musit-list { border-radius: 17px; }
    .musit-list li { gap: 8px; }
    .musit-list label { min-height: 26px; }
    .musit .mu-plan-feature--intro,.musit .mu-plan-feature--closing { max-width: 100%; }
}
@media screen and (pointer: coarse) {
    .musit-list li { position: relative; }
    .musit-list label::before { content: ""; position: absolute; inset: 0; }
    .musit-list li :is(input,a) { position: relative; z-index: 1; }
}
@media print {
    @page { size: A4 portrait; margin: 16mm 17mm; }
    html, body.moveu-situation-page { margin: 0 !important; padding: 0 !important; height: auto !important; min-height: 0 !important; background: white !important; color: #182e45; }
    body.moveu-situation-page > :not(main), .musit .musit-screen, .musit-list button { display: none !important; }
    .musit { display: block; width: auto; max-width: none; padding: 0; margin: 0; font-size: 11pt; }
    .musit-print { display: block; }
    .musit-print-brand { display: flex; justify-content: space-between; align-items: center; border-bottom: 1pt solid #c4d7d2; padding-bottom: 3mm; font-size: 10pt; }
    .musit-print-brand img { width: 29mm; height: auto; }
    .musit-hero { display: grid; grid-template-columns: minmax(0, 1fr) 17mm; align-items: center; gap: 4mm; margin: 7mm 0; }
    .musit-hero h1 { font-size: 25pt; line-height: 1.12; padding: 0 !important; }
    .musit-hero-icon { display: block; position: static; width: 17mm; height: 17mm; object-fit: contain; }
    .musit-hero p { margin-top: 3mm; font-size: 11pt; line-height: 1.45; }
    .musit-list { padding: 0; border: 0; background: white; }
    .musit-list-head { margin-bottom: 3mm; }
    .musit h2 { font-size: 15pt; }
    .musit-list li { page-break-inside: avoid; grid-template-columns: 6mm 1fr; gap: 2mm; padding: 3mm 0; }
    .musit-list label { font-size: 11.5pt; min-height: 0; }
    .musit-list input { width: 4.5mm; height: 4.5mm; margin: .6mm 0 0; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    .musit-list li p { font-size: 10.2pt; line-height: 1.45; }
    .musit a { color: inherit; }
    .musit a[href]::after { content: none !important; }
    .musit-print-notes { margin-top: 5mm; }
    .musit-print-notes p { margin-top: 1mm; color: #495b69; font-size: 10pt; }
    .musit-print-notes div { height: 8mm; border-bottom: .5pt solid #b9c9c5; }
    .musit-print-end { display: flex; align-items: center; gap: 3mm; padding-top: 3mm; margin-top: 4mm; break-inside: avoid; }
    .musit-print-end img { display: block; width: 21mm; height: 21mm; image-rendering: pixelated; }
    .musit-print-end p,.musit-print-end small { font-size: 9pt; }
}
