.biwm { --biwm-line: #5373a7; --biwm-paper: #edf3ff; --biwm-surface: #001236; color: var(--biwm-paper); width: 100%; }
.biwm *, .biwm *::before, .biwm *::after { box-sizing: border-box; }
.biwm .biwm-kicker { font: 0.8rem/1.6 ui-monospace, monospace; letter-spacing: .12em; text-transform: uppercase; }
.biwm .biwm-notice { border-left: 3px solid var(--biwm-line); padding: .75rem 1rem; color: #c0cce4; }
.biwm h2 { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.15; }
.biwm h3 { font-size: clamp(1.4rem, 2.5vw, 2rem); line-height: 1.25; margin-top: 0; }
.biwm h4 { font-size: 1.15rem; margin-bottom: .75rem; }
.biwm p, .biwm li { line-height: 1.7; overflow-wrap: anywhere; }
.biwm li + li { margin-top: .8rem; }
.biwm .biwm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.biwm .biwm-card, .biwm .biwm-private, .biwm .biwm-reveal { background: var(--biwm-surface); border: 1px solid var(--biwm-line); padding: clamp(1rem, 3vw, 2rem); margin-block: 1.5rem; min-width: 0; }
.biwm .biwm-grid > * { margin-block: 0; }
.biwm label { display: block; font-weight: 600; margin-block: 1rem; }
.biwm input:not([type=radio]), .biwm textarea, .biwm select { display: block; width: 100%; margin-top: .5rem; padding: .8rem; border: 1px solid #8ba6d5; border-radius: 2px; background: #00091b; color: var(--biwm-paper); font: inherit; min-height: 48px; }
.biwm textarea { min-height: 8rem; resize: vertical; }
.biwm button { border: 1px solid #8ba6d5; border-radius: 2px; background: #00297a; color: var(--biwm-paper); font: inherit; font-weight: 600; padding: .7rem 1.1rem; min-height: 44px; cursor: pointer; }
.biwm button:hover { background: #00246c; }
.biwm button:disabled { opacity: .55; cursor: not-allowed; }
.biwm button.biwm-secondary { background: transparent; font-size: .9rem; }
.biwm :is(button, input, textarea, select, summary):focus-visible { outline: 3px solid #edf3ff; outline-offset: 4px; }
.biwm .biwm-toolbar { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: center; margin-top: 2rem; font: .85rem/1.5 ui-monospace, monospace; overflow-wrap: anywhere; }
.biwm .biwm-roster { padding: 0; list-style: none; }
.biwm .biwm-roster li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .6rem; border-bottom: 1px solid var(--biwm-line); }
.biwm summary { cursor: pointer; min-height: 44px; font-weight: 600; }
.biwm fieldset { border: 1px solid var(--biwm-line); padding: 1rem; min-width: 0; }
.biwm legend { padding-inline: .5rem; }
.biwm .biwm-choice { display: flex; align-items: center; gap: .8rem; min-height: 44px; cursor: pointer; }
.biwm input[type=radio] { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; accent-color: #8ba6d5; }
.biwm [data-status]:empty { display: none; }
.biwm [data-status]:not(:empty) { padding: .8rem 1rem; border: 1px solid var(--biwm-line); }
.biwm [aria-busy=true] button { cursor: progress; }
@media (max-width: 700px) { .biwm .biwm-grid { grid-template-columns: 1fr; } .biwm .biwm-roster li { flex-wrap: wrap; } }

.biwm .biwm-packet + .biwm-packet { border-top: 1px solid var(--biwm-line); padding-top: 1rem; margin-top: 1rem; }

.biwm .biwm-stories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 2rem; }
.biwm .biwm-stories .biwm-card { margin: 0; }
.biwm .biwm-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
@media (max-width: 900px) { .biwm .biwm-stories { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .biwm .biwm-groups { grid-template-columns: 1fr; } }

.biwm [data-confirmation] button + button { margin-inline-start: 1rem; }
