:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#e8eef7;background:#090909}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(24px,calc((100vw - 1120px)/2));border-bottom:1px solid #303030;background:#111111;flex-wrap:wrap}.brand{font-weight:900;letter-spacing:2px;font-size:21px}.brand span{color:#ff941a}nav,.actions,.tabs,.titlebar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}button{border:1px solid #414141;background:#252525;color:#e8eef7;border-radius:9px;padding:11px 15px;cursor:pointer;font-weight:650}button:hover{border-color:#ff941a}button.primary{background:#ff941a;color:#1c1105;border-color:#ff941a}button.danger{border-color:#bc5969;color:#ffb5bd}button:disabled{opacity:.4;cursor:not-allowed}main{max-width:1120px;margin:0 auto;padding:35px 24px}.hero{padding:35px 0 20px}.hero h1{font-size:clamp(28px,5vw,48px);max-width:650px;margin:8px 0}.eyebrow{color:#ff941a;font-size:12px;letter-spacing:2px;font-weight:800}.panel,.card{border:1px solid #303030;background:#1b1b1b;border-radius:15px;padding:24px;margin:15px 0}.narrow{max-width:440px;margin:50px auto}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.card{margin:0;cursor:pointer}.card:hover{border-color:#ff941a}.muted,small{color:#9cacc2}h1,h2,h3{margin-top:0}input,textarea,select{display:block;width:100%;padding:12px;margin:10px 0;background:#121212;border:1px solid #414141;border-radius:8px;color:#fff;font:inherit}textarea{min-height:85px}.titlebar{justify-content:space-between}.tabs{margin:22px 0;border-bottom:1px solid #303030;padding-bottom:15px}.row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #303030}.pill{color:#ff941a;font-size:12px;font-weight:700;text-transform:uppercase}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px}.score{font-size:32px;font-weight:900}#toast{position:fixed;bottom:20px;right:20px;background:#29221b;padding:12px 18px;border-radius:10px;display:none;max-width:350px}#toast.visible{display:block}#user{font-size:13px;color:#b6c5d8}button.active{border-color:#ff941a;color:#ff941a} @media(max-width:600px){main{padding:20px 14px}header{padding:15px}nav{order:3;width:100%;overflow:auto;flex-wrap:nowrap}nav button{white-space:nowrap}}

.history-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;text-align:left;border:0;border-bottom:1px solid #303030;border-radius:0;background:transparent;padding:18px 4px}.history-entry:hover{background:#292929}.history-entry small{display:block;margin-top:8px}.history-score{font-size:22px;font-weight:800;white-space:nowrap}.history-chevron{color:#ff941a;white-space:nowrap}.history-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.history-final{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;gap:20px;margin:25px 0 10px}.history-number{font-size:clamp(44px,8vw,76px);font-weight:900}.history-winner{color:#ff941a}.history-versus{color:#9cacc2;font-weight:700}.history-outcome{text-align:center;font-weight:700}.history-player{padding:12px 0;border-bottom:1px solid #303030}@media(max-width:600px){.history-chevron{display:none}.history-entry{gap:10px}}

/* SafeZone v5: faint vector sledgehammer, no bitmap assets */
body{background-color:#090909;background-image:linear-gradient(125deg,rgba(11,16,27,.96),rgba(11,16,27,.90)),url('./safezone-watermark.png');background-repeat:no-repeat;background-position:center center,center 120px;background-size:cover,min(74vw,580px) auto;background-attachment:fixed}
.player-avatar{width:32px;height:32px;border-radius:10px;vertical-align:middle;flex-shrink:0;margin-right:7px}.player-label{display:inline-flex;align-items:center;gap:5px}.avatar-picker{display:flex;gap:12px;flex-wrap:wrap}.avatar-choice{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:80px}.avatar-choice .player-avatar{width:54px;height:54px;margin:0}.avatar-choice.selected{border-color:#ff941a;background:#332514}.avatar-choice small{text-transform:capitalize}#user .player-avatar{width:27px;height:27px}

.region-code{font-size:.78em;color:#88a8c6;font-weight:500;white-space:nowrap}.sound-toggle{display:flex;align-items:center;gap:10px;margin-bottom:12px}.sound-toggle input{width:auto}.row select{width:auto;max-width:180px}

/* Ready check cancellation reports */
.ready-report-row{justify-content:space-between;gap:12px}.ready-status{font-size:.9rem;font-weight:600}.ready-accepted{color:#55d5ae}.ready-rejected{color:#fb8585}.ready-no-response{color:#f5c778}.ready-pending{color:#a9b9d1}.cancelled-report{border-bottom:1px solid #414141;padding:14px 0}.cancelled-report:last-child{border-bottom:0}

/* Expandable admin cancellation reports */
.cancelled-card {cursor:default;}
.cancelled-card summary {cursor:pointer;list-style:none;}
.cancelled-card summary::-webkit-details-marker {display:none;}
.cancelled-card .open-report {display:inline-block;margin-top:8px;color:#9fb9d8;font-size:.9rem;}
.cancelled-card[open] .open-report {margin-bottom:12px;}
.cancelled-card .cancelled-report {padding-top:12px;border-top:1px solid #414141;}

/* v13 - in-game nicknames */
.game-nickname { color: #a8bfd5; font-weight: 500; }

/* Match-only floating chat */
#matchChat{position:fixed;right:18px;bottom:18px;z-index:1000;font-size:14px}#matchChat[hidden]{display:none}.chat-fab{display:block;margin-left:auto;background:#ff941a;color:#fff;border:1px solid #ffb45c;border-radius:24px;padding:12px 18px;box-shadow:0 8px 25px #0007;cursor:pointer}.chat-window{width:min(370px,calc(100vw - 36px));height:min(450px,calc(100dvh - 120px));background:#191919;border:1px solid #414141;border-radius:14px;box-shadow:0 15px 40px #0009;display:flex;flex-direction:column;margin-bottom:10px;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #414141}.chat-tabs{display:flex;gap:5px;padding:8px;border-bottom:1px solid #414141}.chat-tabs button{flex:1;font-size:13px;padding:8px}.chat-tabs button.active{background:#ff941a;color:white}.chat-messages{flex:1;min-height:0;overflow:auto;padding:12px;overflow-wrap:anywhere}.chat-message{margin-bottom:10px;line-height:1.5}.chat-message strong{color:#93c5fd;margin-right:5px}.chat-compose{display:flex;gap:7px;padding:10px;border-top:1px solid #414141}.chat-compose input{flex:1;min-width:0;margin:0}.chat-compose button{margin:0}

/* v19: charcoal and orange SafeZone branding */
.brand{display:flex;align-items:center;gap:10px}.brand-logo{width:42px;height:42px;object-fit:contain}.brand span{color:#ff941a}body{background-image:linear-gradient(125deg,rgba(9,9,9,.97),rgba(9,9,9,.94)),url('./safezone-watermark.png')}button.primary{background:#ff941a;border-color:#ff941a;color:#17100a}.chat-fab,.chat-tabs button.active{background:#ff941a;color:#17100a}.pill{color:#ff941a}.pill.live,.status-live,.live-status{color:#45d58a}.ready-accepted{color:#45d58a}button.danger{color:#ff9b9b;border-color:#a53c3c}button.danger:hover{background:#481d1d;border-color:#e35454}

/* v20: preserve logo spacing while joining SAFEZONE into one word */
.brand-word{display:inline-flex;align-items:baseline;gap:0;white-space:nowrap;letter-spacing:2px}.brand-word>span{margin:0;padding:0;letter-spacing:inherit}

/* v21: SAFE white, ZONE orange. Override broad .brand span rule. */
.brand .brand-word{color:#ffffff;}
.brand .brand-word>span{color:#ff941a;}

/* Remember me control */
.remember-me{display:flex;align-items:center;gap:9px;margin:12px 0;color:#ddd;font-size:14px;cursor:pointer}.remember-me input{width:16px;height:16px;accent-color:#ff941a;margin:0;flex:0 0 auto}

/* v23 auth and profile layout */
[hidden]{display:none!important}.auth-actions{display:flex;gap:10px;align-items:center;justify-content:space-between}.auth-actions button{flex:1}.auth-separator{height:1px;background:#383838;margin:24px 0}.auth-foot{text-align:center;color:#a9b4c3}.auth-create{width:100%}.text-button{border:0;background:transparent;color:#ff941a;padding:4px 6px}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.profile-fields label,.panel>label{display:block;color:#c4cbd6;font-weight:650;margin-top:12px}@media(max-width:600px){.profile-fields{grid-template-columns:1fr}.auth-actions{flex-wrap:wrap}}

/* v23.2 registration notifications */
.registration-bell{position:relative;margin-left:auto}
.registration-bell button{cursor:pointer}
.registration-badge{display:inline-block;min-width:20px;border-radius:20px;padding:2px 6px;background:#f08020;color:#111;font-weight:700}
.registration-bell-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(340px,85vw);z-index:60;padding:16px;background:#202020;border:1px solid #555;border-radius:10px;box-shadow:0 8px 25px #0009}
.registration-bell-panel[hidden],.registration-bell[hidden],.registration-badge[hidden]{display:none!important}
.registration-bell-panel strong{display:block;margin-bottom:10px}
.registration-item{display:block;width:100%;text-align:left;margin:5px 0}
