/* Public guide, about and published-event pages do not load the game client. */
.kupla-public-site { margin:0; background:#101a15; color:#edf5ee; font:16px/1.75 system-ui,-apple-system,"Segoe UI",sans-serif; }
.kupla-public-site * { box-sizing:border-box; }
.kupla-public-site a { color:#a6df80; text-underline-offset:4px; }
.kupla-public-site a:focus-visible { outline:2px solid #a6df80; outline-offset:5px; }
.public-skip { position:absolute; left:16px; top:-100px; padding:8px 16px; background:#18251f; z-index:2; }
.public-skip:focus { top:8px; }
.public-header { max-width:1120px; margin:auto; display:flex; align-items:center; gap:24px; padding:24px; border-bottom:1px solid #304438; }
.public-brand { color:#edf5ee !important; text-decoration:none; font-size:26px; font-weight:750; display:flex; align-items:center; gap:10px; }
.public-brand img { image-rendering:pixelated; object-fit:contain; }
.kupla-public-site .kupla-public-nav { display:flex; gap:20px; flex:1; flex-wrap:wrap; justify-content:center; font-size:13px; }
.kupla-public-site .kupla-public-nav a { color:#b8c9bd; text-decoration:none; }
.kupla-public-site .kupla-public-nav a[aria-current],.kupla-public-site .kupla-public-nav a:hover { color:#a6df80; text-decoration:underline; }
.public-play { display:inline-block; white-space:nowrap; border:1px solid #67bb24; border-radius:8px; padding:8px 16px; text-decoration:none; font-size:14px; font-weight:650; }
.public-main { max-width:1040px; margin:auto; padding:64px 24px 80px; min-height:55vh; }
.public-eyebrow { text-transform:uppercase; font-size:11px; letter-spacing:2px; font-weight:650; color:#a6df80; margin:0 0 16px; }
.public-main h1 { font-size:clamp(32px,5vw,54px); line-height:1.15; letter-spacing:-1.5px; max-width:850px; margin:0 0 22px; }
.public-lead { max-width:730px; font-size:19px; color:#b8c9bd; margin:0 0 36px; }
.public-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.public-card { padding:24px; border:1px solid #304438; border-radius:12px; background:#18251f; overflow-wrap:anywhere; }
.public-card h2 { font-size:21px; line-height:1.4; margin:8px 0 12px; letter-spacing:-.4px; }
.public-card p { font-size:14px; color:#d0ded3; margin:10px 0 0; }
.public-step { font-size:12px; color:#a6df80; letter-spacing:1px; }
.public-section { max-width:790px; margin-top:40px; }
.public-section h2 { font-size:27px; line-height:1.3; letter-spacing:-.6px; }
.public-section p { color:#d0ded3; }
.public-cover { display:block; width:100%; height:auto; border-radius:14px; margin:0 0 30px; }
.public-footer { max-width:1072px; margin:auto; border-top:1px solid #304438; padding:24px; font-size:12px; color:#b8c9bd; }
.public-footer a { margin-left:10px; }
.public-event-list { display:grid; gap:16px; }
.public-event-list h2 { margin:0 0 8px; }
.public-event-time { color:#a6df80; font-size:13px; }
.public-event-description { white-space:pre-line; overflow-wrap:anywhere; }
.public-empty { border:1px solid #304438; border-radius:12px; padding:26px; background:#18251f; }
@media(max-width:760px) { .public-header { flex-wrap:wrap; padding:18px; gap:14px; } .public-header .kupla-public-nav { order:3; flex-basis:100%; justify-content:flex-start; gap:10px 18px; } .public-header .public-play { margin-left:auto; } .public-grid { grid-template-columns:1fr; } .public-main { padding:40px 20px 56px; } .public-main h1 { letter-spacing:-.8px; } .public-lead { font-size:17px; } .public-card { padding:21px; } .public-section { margin-top:30px; } }
