.braille-reveal-button{display:inline-flex;align-items:center;gap:9px;min-height:42px;margin:10px 0 6px;padding:10px 14px;border:1px solid var(--olive,#4c5b01);border-radius:8px;background:var(--panel,#141a04);color:var(--lime,#c3ff00);font-size:11px;line-height:1.5;transition:background-color .18s,scale .18s}
.braille-reveal-button>span:first-child{font-size:22px;line-height:1}.braille-reveal-button>span:last-child{margin-left:4px;color:var(--muted,#a5b379)}
.braille-reveal-button:hover{background:var(--deep-olive,#3a4600)}.braille-reveal-button:active{scale:.96}
.braille-dialog{width:min(790px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 40px);padding:28px;border:1px solid #4c5b0180;border-radius:24px;background:#101601;color:#e6edcd;box-sizing:border-box;overflow:auto;box-shadow:0 30px 100px #000b,0 0 50px #c3ff0010}
.braille-dialog::backdrop{background:#000c;backdrop-filter:blur(7px)}
.braille-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.braille-kicker{margin:0 0 10px;color:var(--lime,#c3ff00);font-size:9px;letter-spacing:1.7px}.braille-dialog h2{margin:0;font-size:clamp(22px,4vw,32px);line-height:1.25;letter-spacing:-1px;text-wrap:balance}
.braille-close{display:grid;place-items:center;width:42px;height:42px;min-width:42px;padding:0;border-radius:12px;background:#1d2705;border:1px solid #354211;color:#e6edcd;font-size:22px}
.braille-intro{max-width:55ch;font-size:12px;line-height:1.9;color:#c1cd9d;margin:18px 0 24px;text-wrap:pretty}
.braille-switch{display:inline-flex;max-width:100%;padding:5px;gap:4px;background:#070b01;border-radius:12px;box-shadow:inset 0 0 0 1px #354211;margin-bottom:14px}
.braille-switch button{min-height:40px;padding:10px 16px;font-size:11px;border:0;border-radius:7px;color:#a5b379;background:transparent;transition:background-color .18s,color .18s}.braille-switch button[aria-pressed=true]{background:#3a4600;color:#c3ff00}
.braille-stage{margin:0;padding:20px;border-radius:16px;background:#020500;box-shadow:inset 0 0 0 1px #354211,0 12px 30px #0004;overflow:hidden}
.braille-image-host{display:grid;place-items:center;min-height:220px;background-image:radial-gradient(#c3ff0016 .65px,transparent .65px);background-size:12px 12px}
.braille-picture{display:block;width:100%;height:auto;max-height:340px;color:#c3ff00;overflow:visible}.braille-pixel-row{fill:currentColor;transform-box:fill-box;transform-origin:center;animation:braille-row-reveal .45s both;animation-delay:calc(var(--row)*65ms)}.braille-pixel-row.is-selected{fill:#f0ffc2}
.braille-stage.is-single-row .braille-image-host{min-height:180px}.braille-caption{border-top:1px solid #354211;margin-top:14px;padding-top:14px;color:#c3ff00;font-size:11px;line-height:1.7;text-align:center;font-variant-numeric:tabular-nums}
.braille-explanation{font-size:11px;line-height:1.85;color:#a5b379;margin:18px 0 24px;text-wrap:pretty}
.braille-source-panels{display:grid;gap:9px}.braille-source-panels details{background:#1a2205;border-radius:10px;box-shadow:inset 0 0 0 1px #354211}.braille-source-panels summary{min-height:44px;padding:13px 14px;box-sizing:border-box;cursor:pointer;font-size:11px;line-height:1.7}.braille-source-panels pre{margin:0;padding:0 14px 16px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;line-height:1.8;color:#c1cd9d}
.braille-sources{list-style:none;margin:0;padding:0 14px 10px;display:grid;gap:2px}.braille-sources li{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:12px;min-height:42px;border-top:1px solid #354211;font-size:11px;color:#a5b379}.braille-sources a{display:flex;align-items:center;min-height:42px;color:#c1cd9d}.braille-sources small{font-size:9px;color:#c3ff00}.braille-sources .is-current{color:#f0ffc2}
@keyframes braille-row-reveal{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}
@media(max-height:800px) and (min-width:601px){.braille-dialog{padding:22px}.braille-intro{margin:12px 0 16px}.braille-stage{padding:14px}.braille-image-host{min-height:0}.braille-picture{max-height:190px}.braille-stage.is-single-row .braille-image-host{min-height:100px}.braille-caption{margin-top:8px;padding-top:10px}.braille-explanation{margin:14px 0 18px}}
@media(max-width:600px){.braille-dialog{padding:18px;border-radius:20px}.braille-stage{padding:12px;border-radius:12px}.braille-image-host{min-height:145px}.braille-stage.is-single-row .braille-image-host{min-height:100px}.braille-switch button{padding-inline:12px;font-size:10px}.braille-sources li{grid-template-columns:48px 1fr auto;gap:8px}.braille-intro{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.braille-pixel-row{animation:none}.braille-reveal-button,.braille-switch button{transition:none}.braille-reveal-button:active{scale:1}}
