*,*::before,*::after{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif;background:#ede3cf;color:#102f3b}body{margin:0;min-width:320px}button,input{font:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #df8a69;outline-offset:4px}#blazor-error-ui{display:none;position:fixed;bottom:0;left:0;right:0;padding:1rem;background:#742b20;color:#fff;z-index:1000}#blazor-error-ui .reload{color:#fff;margin-left:1rem}

/* Public decision terms remain readable on both narrow and wide tables. */
.action-terms { display: grid; gap: .65rem; font-size: .8rem; line-height: 1.5; font-weight: 400; overflow-wrap: anywhere; }
.action-terms > span { display: block; }
.action-terms b { display: block; font-size: .64rem; text-transform: uppercase; letter-spacing: .06em; }
.action-reset { background: transparent; color: inherit; border: 1px solid currentColor; padding: .5rem .7rem; margin: .3rem 0 1rem; cursor: pointer; font: inherit; font-size: .75rem; }
.action-reset[aria-pressed="true"] { font-weight: 700; }
.decision-feedback { margin: 1.4rem clamp(1rem, 4vw, 4rem); padding: 1.2rem; border-left: 3px solid #aa5134; background: #fff9ef; color: #302a23; }
.decision-feedback h2 { font-size: 1.25rem; margin: .4rem 0; }
.decision-feedback ul { margin: .6rem 0 0; padding-left: 1.2rem; font-size: .85rem; line-height: 1.5; }
.decision-changes { display: flex; flex-wrap: wrap; gap: .5rem 1rem; font-weight: 700; }
.agreement-list strong, .agreement-status { display: block; }
.agreement-status { font-size: .72rem; font-weight: 700; margin: .35rem 0; }
.agreement-list p { margin: .4rem 0; }
.initials { display: grid; place-items: center; background-image: none !important; background-color: #d5c0a2; color: #374b45; font-family: Georgia, serif; font-size: 4rem; }
.start-form select { width: 100%; padding: .7rem; border: 1px solid #9c9686; background: #fffaf1; color: #263a32; font: inherit; }
.start-form > p { font-size: .85rem; line-height: 1.45; margin: .5rem 0 1rem; }
.context-panel h2 { overflow-wrap: anywhere; }
.start-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.saved-access, .recovery-bar, .onboarding { margin: 1.5rem auto; padding: 1rem 1.25rem; max-width: 1100px; border: 1px solid #c8bba7; background: #f4f0e6; color: #302f29; overflow-wrap: anywhere; }
.saved-access h2, .onboarding h2 { font-size: 1.3rem; margin: 0 0 .5rem; }
.saved-access p, .recovery-bar p, .onboarding p { line-height: 1.55; }
.saved-access button, .recovery-bar button, .onboarding button { padding: .55rem .75rem; margin: .3rem; border: 1px solid #746b5b; background: #fffdf6; color: #302f29; cursor: pointer; }
.saved-access label { display: block; margin-top: .75rem; }
.saved-access a, .recovery-bar a { color: #743e2c; text-decoration: underline; }
.saved-access button:disabled, .recovery-bar button:disabled { opacity: .55; cursor: default; }
h1[tabindex="-1"]:focus {
    /* Blazor focuses the page heading on navigation for assistive technology.
       It is a reading destination, not an interactive control. */
    outline: none;
}

/* Campaign pages fit the usable viewport, including a classic vertical scrollbar. */
body:has(.game-shell.is-campaign),body:has(.campaign-portal){min-width:0}
