/* Public pages share the realm palette without changing gameplay headers. */
.realm-public { margin:0; font-family:Georgia,'Times New Roman',serif; }
.realm-public *, .realm-public *::before, .realm-public *::after { box-sizing:border-box; }
.public-shell { width:min(1120px, calc(100% - 48px)); margin:24px auto 52px; }
.public-header { --realm-header-width:min(1600px, calc(100vw - 40px)); width:var(--realm-header-width); max-width:none; margin-inline:calc((100% - var(--realm-header-width)) / 2); flex-wrap:wrap; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 22px; border:1px solid var(--realm-panel-border); border-radius:12px; background:rgba(16,19,29,.9); }
.public-brand { flex-shrink:0; max-width:100%; color:var(--realm-gold); font-size:1.2rem; font-weight:bold; text-decoration:none; }
.public-nav { display:flex; flex:1 1 max-content; min-width:0; max-width:100%; margin-left:auto; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.public-nav a { gap:6px; display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:10px 15px; border:1px solid var(--realm-panel-border); border-radius:7px; background:rgba(36,39,51,.9); color:var(--realm-text); font:600 .85rem Arial,sans-serif; text-decoration:none; }
.public-nav a:hover,.public-nav a[aria-current=page] { border-color:var(--realm-gold); color:var(--realm-gold-light); background:rgba(68,57,39,.75); }
.realm-public a:focus-visible,.realm-public button:focus-visible { outline:3px solid var(--realm-gold-light); outline-offset:4px; }
.public-skip { position:absolute; left:20px; top:-100px; z-index:10; padding:14px; background:#11131d; color:#f0d39a; }
.public-skip:focus { top:12px; }
.public-hero { padding:64px 20px 36px; text-align:center; }
.public-eyebrow { color:var(--realm-gold-light); font:700 .72rem/1.6 Arial,sans-serif; letter-spacing:2px; text-transform:uppercase; margin:0 0 12px; }
.realm-public h1 { color:var(--realm-gold); font-weight:400; font-size:clamp(1.9rem,4.5vw,2.55rem); line-height:1.2; letter-spacing:.5px; margin:0 0 18px; }
.public-divider { width:72px; height:1px; background:var(--realm-gold); margin:24px auto; }
.public-intro { max-width:650px; margin:0 auto; color:#c5c1b9; font:1.05rem/1.8 Arial,sans-serif; }
.public-announcement { max-width:850px; margin:0 auto 24px; padding:25px 32px; text-align:center; border:1px solid rgba(199,165,107,.65); border-radius:12px; background:linear-gradient(120deg,rgba(90,67,29,.3),rgba(24,27,39,.96)); }
.realm-public h2 { color:var(--realm-gold-light); font-size:1.55rem; font-weight:400; line-height:1.35; margin:0 0 14px; }
.public-announcement p:last-child,.public-panel p { color:#c5c1b9; font:1rem/1.75 Arial,sans-serif; margin:0 0 20px; }
.public-announcement p:last-child { margin:0; }
.public-panel { max-width:850px; margin:0 auto; padding:34px 38px; border:1px solid var(--realm-panel-border); border-radius:14px; background:var(--realm-panel); box-shadow:0 18px 50px rgba(0,0,0,.25); }
.journey-panel { text-align:center; }
.journey-panel p { max-width:610px; margin:0 auto 24px; }
.public-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:14px; }
.public-actions form { margin:0; }
.public-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; min-width:180px; padding:12px 24px; border:1px solid var(--realm-gold); border-radius:7px; color:#171820; background:var(--realm-gold); font:1rem Georgia,serif; text-decoration:none; cursor:pointer; }
.public-button:hover { background:var(--realm-gold-hover); }
.public-logout { color:#f0d6d6; border-color:#b97f7f; background:transparent; }
.public-logout:hover { background:#713d39; }
.public-page-heading { padding:52px 20px 28px; text-align:center; }
.public-page-heading>p:last-child { color:#c5c1b9; font:1rem/1.75 Arial,sans-serif; }
.public-prose h2:not(:first-child) { margin-top:32px; }
.public-note { padding-top:20px; border-top:1px solid var(--realm-panel-border); }
/* Match realm-theme.css UI-005 header sizing and its actual 700px breakpoint. */
@media(max-width:700px) {
 .public-header { --realm-header-width:calc(100vw - 24px); padding-inline:12px; }
 .public-nav { flex-basis:100%; justify-content:flex-start; }
 .public-nav a { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
}
@media(max-width:650px) {
 .public-shell { width:calc(100% - 24px); margin-top:12px; }
 .public-header { gap:16px; }
 .public-brand { font-size:1.15rem; }
 .public-nav { gap:8px; }
 .public-nav a { padding:10px 12px; }
 .public-hero { padding:40px 12px 28px; }
 .public-announcement,.public-panel { padding:26px 20px; }
 .realm-public h2 { font-size:1.35rem; }
 .public-actions { flex-direction:column; }
 .public-actions .public-button,.public-actions form { width:100%; }
 .public-page-heading { padding:36px 10px 20px; }
}
