/* حرب الدول — its own look (2026-10-19): «🎨 كارتون» = map blue + gold + passport (default), «🎯 عادي» = night navy + gold (like the icon) */
:root{--bg:#0b1a33;--bg2:#13284d;--ink:#f5f1e6;--muted:#a9b4c9;--gold:#f2b544;--gold2:#b9781c;--card:#152c52;--line:#2a4573;--red:#e5484d;--paper:#fbf6e9;--paper-ink:#2b2418;color-scheme:dark;font-family:"Segoe UI",Tahoma,system-ui,sans-serif}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;overflow-x:hidden;color:var(--ink)}
body{min-height:100vh;user-select:none;background:radial-gradient(120% 70% at 50% 0,var(--bg2) 0,var(--bg) 60%) fixed,var(--bg)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background:radial-gradient(circle,#fff 1px,transparent 1.6px) 0 0/18px 18px;-webkit-mask:radial-gradient(70% 50% at 50% 30%,#000,transparent);mask:radial-gradient(70% 50% at 50% 30%,#000,transparent)}
.page{position:relative;width:min(100%,560px);margin:auto;padding:max(10px,env(safe-area-inset-top)) 16px max(26px,env(safe-area-inset-bottom))}
.topline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.topline .brand-line{margin:0;min-width:0}
.icon{flex:none;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font-size:17px;cursor:pointer}
.sinan-credit{margin:18px auto 0;padding-top:12px;text-align:center;color:var(--muted);font-size:11px;letter-spacing:1.5px;font-weight:800}
.sinan-credit b{color:var(--gold);font-size:14px;letter-spacing:2px}

.theme-switch{display:flex;width:max-content;margin:0 auto 14px;padding:4px;gap:4px;border:1px solid var(--line);border-radius:999px;background:var(--card)}
.theme-switch button{border:0;border-radius:999px;padding:8px 16px;background:transparent;color:var(--muted);font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.theme-switch button[aria-pressed="true"]{background:linear-gradient(180deg,#ffd27a,var(--gold));color:#2b1d05}

/* hero */
.hero{position:relative;display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:14px;border:1px solid #f2b54455;border-radius:22px;background:linear-gradient(135deg,#1b3566,#0f2142);box-shadow:0 12px 30px #0006,inset 0 1px 0 #ffffff1a;overflow:hidden}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff14 45%,transparent 60%);transform:translateX(-100%);animation:shine 5s ease-in-out infinite;pointer-events:none}
@keyframes shine{60%,100%{transform:translateX(100%)}}
.hero img{flex:none;width:76px;height:76px;border-radius:20px;box-shadow:0 6px 16px #0007}
.hero h1{margin:0;font-size:30px;line-height:1.15;color:var(--gold);text-shadow:0 2px 0 #0008}
.hero p{margin:4px 0 0;color:var(--muted);font-size:14px;font-weight:600}
.hero h1.pop{animation:pop .5s ease}
@keyframes pop{40%{transform:scale(1.06)}}

/* names = passport */
.list-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.tag{padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);font-size:14px;font-weight:700}
.tag b{color:var(--gold)}
.add-form{display:flex;gap:8px;margin:0 0 10px}
.add-form[hidden]{display:none}
.add-form input{flex:1;min-width:0;height:50px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:#0d1f3d;color:var(--ink);font:inherit;font-size:18px;user-select:text}
.add-form input::placeholder{color:#7f8ba3}
.add-form input:focus{outline:2px solid var(--gold);outline-offset:1px}
.add-form button{flex:none;padding:0 16px;border:0;border-radius:14px;background:linear-gradient(180deg,#ffd27a,var(--gold));color:#2b1d05;font:inherit;font-size:17px;font-weight:800;cursor:pointer}
.names{position:relative;min-height:170px;max-height:340px;overflow:auto;padding:38px 0 8px;border-radius:18px;background:var(--paper) repeating-linear-gradient(0deg,transparent 0 37px,#e9dfc6 37px 38px);color:var(--paper-ink);box-shadow:0 10px 26px #0007,inset 0 0 0 6px #f3ead3}
.names:before{content:"🛂 جواز المحاربين";position:absolute;top:8px;right:14px;color:#8a6d2f;font-size:13px;font-weight:800;letter-spacing:.5px}
.row{display:flex;align-items:center;gap:10px;min-height:38px;padding:3px 14px;font-size:20px;font-weight:700}
.row .av{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;font-size:14px;font-weight:800;box-shadow:0 0 0 2px var(--paper),0 0 0 3px #0003}
.row .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row .row-flag{flex:none;width:24px;height:24px;box-shadow:0 0 0 2px #fff,0 1px 3px #0005}
.row.new{animation:slidein .4s ease}
.row.out .nm{color:#a0937a;text-decoration:line-through}
.row.out .av{filter:grayscale(1);opacity:.5}
.row .del{flex:none;width:30px;height:30px;border:0;border-radius:50%;background:#f6d9d4;color:#b42318;font-size:19px;line-height:1;cursor:pointer}
.names .empty{padding:18px;text-align:center;color:#8a7d63;font-size:15px}
@keyframes slidein{from{opacity:0;transform:translateX(-14px)}}

/* buttons */
.controls{display:flex;justify-content:center;align-items:center;gap:12px;margin:20px 0 8px}
.controls .btn[hidden]{display:none}
.btn{border:0;font:inherit;cursor:pointer;transition:transform .12s,box-shadow .12s;white-space:nowrap}
.btn:disabled{opacity:.5;cursor:default}
.btn-spin{flex:1;max-width:270px;padding:15px 18px;border-radius:18px;background:linear-gradient(180deg,#ffd98a,var(--gold));color:#2b1d05;font-size:23px;font-weight:800;box-shadow:0 6px 0 var(--gold2),0 12px 24px #0006}
.btn-spin:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px 0 var(--gold2)}
.btn-reset{padding:13px 18px;border-radius:16px;background:#22365e;color:var(--ink);font-size:17px;font-weight:700;box-shadow:0 5px 0 #0c1a33}
.btn-ghost{padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:transparent;color:var(--ink);font-size:15px}
.status{min-height:22px;margin:6px 0 16px;text-align:center;color:var(--muted);font-size:14px;font-weight:600}

/* battle: round flags + country name */
.battle{max-width:520px;margin:0 auto 6px}
.battle[hidden]{display:none}
.battle-hint{margin:0 0 12px;text-align:center;color:var(--gold);font-size:15px;font-weight:800}
.flags{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:14px 8px}
.flag-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px 2px;border:0;background:none;color:var(--ink);font:inherit;cursor:pointer;animation:rise .45s ease both}
.flag-card:nth-child(3n+2){animation-delay:.06s}.flag-card:nth-child(3n){animation-delay:.12s}
.flag-card .ring{position:relative;display:block;width:84px;height:84px;padding:4px;border-radius:50%;background:conic-gradient(from 210deg,#fff2c2,var(--gold),var(--gold2),var(--gold),#fff2c2);box-shadow:0 8px 18px #0007;transition:transform .18s}
.flag-card .ring:after{content:"";position:absolute;inset:4px;border-radius:50%;background:radial-gradient(circle at 32% 26%,#ffffff70 0,#ffffff00 42%),radial-gradient(circle at 50% 50%,transparent 62%,#0003 100%);pointer-events:none}
.flag-dot{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;-webkit-user-drag:none}
.flag-card small{max-width:100%;padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:800;color:var(--ink)}
.flag-card:active .ring{transform:scale(.9)}
@media(hover:hover){.flag-card:hover .ring{transform:translateY(-3px)}}
@keyframes rise{from{opacity:0;transform:translateY(12px)}}

/* overlays */
.overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:16px;background:#050c1acc;backdrop-filter:blur(4px)}
.overlay[hidden]{display:none}
.winner-card{position:relative;overflow:hidden;width:min(100%,340px);padding:26px 20px 20px;border:1px solid #f2b54466;border-radius:24px;background:linear-gradient(180deg,#1b3566,#0e1f3f);text-align:center;box-shadow:0 20px 60px #000a;animation:pop .5s ease}
.winner-card .cup{display:block}
.flag-big{width:112px;height:112px;margin:0 auto 10px;padding:5px;border-radius:50%;background:conic-gradient(from 210deg,#fff2c2,var(--gold),var(--gold2),var(--gold),#fff2c2);box-shadow:0 10px 26px #0008;animation:flagIn .55s cubic-bezier(.2,1.4,.4,1)}
@keyframes flagIn{from{transform:scale(.3) rotate(-90deg);opacity:0}}
.winner-card small{color:var(--gold);font-size:14px;font-weight:800}
.winner-card h2{margin:6px 0 14px;font-size:30px;overflow-wrap:anywhere}
.end-text{margin:-6px 0 14px;color:var(--muted);font-size:16px;line-height:1.6}
.winner-card .btn{display:block;width:100%;max-width:none;margin-top:10px}
.winner-card>*:not(#confetti){position:relative;z-index:1}
#confetti{position:absolute;inset:0;pointer-events:none}
#confetti i{position:absolute;top:-12px;width:8px;height:14px;background:var(--c);animation:fall var(--d) linear infinite;animation-delay:var(--delay)}
@keyframes fall{to{transform:translateY(520px) rotate(540deg)}}
@media(prefers-reduced-motion:reduce){.flag-big,.hero:after{animation:none}}

/* ---------- 🎨 كارتون (default): bright map, thick outlines, gold ---------- */
body.kids{--bg:#4cc3f0;--bg2:#8fe0ff;--ink:#1f2a44;--muted:#3f4d6b;--card:#fff;--line:#1f2a44;color-scheme:light;font-family:"Baloo Bhaijaan 2","Segoe UI",Tahoma,system-ui,sans-serif}
body.kids:before{opacity:.35;background:radial-gradient(circle,#ffffff 1.4px,transparent 2px) 0 0/16px 16px}
body.kids .icon,body.kids .theme-switch,body.kids .tag{border:3px solid var(--line);box-shadow:3px 3px 0 var(--line)}
body.kids .hero{border:3px solid var(--line);background:linear-gradient(135deg,#ffcf4d,#ff9f1c);box-shadow:5px 5px 0 var(--line)}
body.kids .hero img{border:3px solid var(--line);box-shadow:none}
body.kids .hero h1{color:#fff;text-shadow:2px 2px 0 var(--line),-1px -1px 0 var(--line),1px -1px 0 var(--line),-1px 1px 0 var(--line)}
body.kids .hero p{color:#3a2a06}
body.kids .tag b{color:#d7263d}
body.kids .add-form input{border:3px solid var(--line);background:#fff;box-shadow:3px 3px 0 var(--line)}
body.kids .add-form button{border:3px solid var(--line);background:#2ec27e;color:#fff;text-shadow:1px 1px 0 var(--line);box-shadow:3px 3px 0 var(--line)}
body.kids .names{border:3px solid var(--line);box-shadow:5px 5px 0 var(--line),inset 0 0 0 5px #f3ead3}
body.kids .btn-spin{border:3px solid var(--line);background:linear-gradient(180deg,#ffd84d,#ffb000);box-shadow:0 6px 0 var(--line)}
body.kids .btn-spin:active:not(:disabled){box-shadow:0 2px 0 var(--line)}
body.kids .btn-reset{border:3px solid var(--line);background:#ff6b6b;color:#fff;text-shadow:1px 1px 0 var(--line);box-shadow:0 5px 0 var(--line)}
body.kids .btn-ghost{border:3px solid var(--line);background:#fff}
body.kids .battle-hint{color:var(--ink)}
body.kids .overlay{background:#1f2a4499}
body.kids .winner-card{border:3px solid var(--line);background:#fffaf0;box-shadow:6px 6px 0 var(--line)}
body.kids .winner-card small{color:#c2410c}
body.kids .cloud-brand,body.kids .baron-credit{background:#fff;border:2px solid var(--line);color:var(--ink);box-shadow:2px 2px 0 var(--line)}
body.kids .dancing-313,body.kids .baron-credit b{color:#d7263d;text-shadow:none}
body.kids .flag-card .ring{background:var(--line);padding:4px;box-shadow:0 5px 0 var(--line)}
body.kids .flag-card small{padding:2px 10px;border:2px solid var(--line);border-radius:999px;background:#fff;color:var(--ink)}
body.kids .flag-big{background:var(--line);box-shadow:0 6px 0 #1f2a4455}

/* 2026-10-30: painted world map behind the page (day map in كارتون, gold night map in عادي) */
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:#0b1a33 url(/assets/countrywar/bg_n.webp?v=1) 50% 50%/cover no-repeat}
body.kids:before{background:#4cc3f0 url(/assets/countrywar/bg.webp?v=1) 50% 50%/cover no-repeat}
body{background-image:none!important}
.hero img{border-radius:0;object-fit:cover}
html body.kids,html body{background:transparent!important}html{background:#4cc3f0}
body:before,body.kids:before{opacity:1!important;-webkit-mask:none!important;mask:none!important}
/* 2026-10-31 iPhone fix: no negative-layer fixed background, no blur behind the result window, soft veil for reading */
body:before{z-index:0;background:linear-gradient(#0b1a33a8,#0b1a33a8),#0b1a33 url(/assets/countrywar/bg_n.webp?v=1) 50% 50%/cover no-repeat}
body.kids:before{background:linear-gradient(#e9f8ff8c,#e9f8ff8c),#4cc3f0 url(/assets/countrywar/bg.webp?v=1) 50% 50%/cover no-repeat}
body>main{position:relative;z-index:1}
.overlay,.reveal{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;z-index:60}

/* 2026-10-31 owner: the host sits inside the game card (picture + «حرب الدول»), on the left */
.hero{flex-wrap:nowrap}
.hero:has(.hc-form:not([hidden])){flex-wrap:wrap}
.hero>div:not(.hero-host){flex:1}
.hero h1{font-size:clamp(22px,7vw,30px)}
.hero>div:not(.hero-host){min-width:0}
.hero-host{margin:0 auto 0 0!important;max-width:none!important;flex:none}
.hero-host .hc-card{position:relative;flex-direction:column;gap:2px;padding:0;border:0!important;background:none!important;box-shadow:none!important}
.hero-host .hc-ring{width:50px;height:50px}.hero-host .hc-ring img,.hero-host .hc-ring i{font-size:20px}
.hero-host .hc-txt{align-items:center;text-align:center;max-width:92px}
.hero-host .hc-txt small{font-size:10px;color:inherit;opacity:.75}
.hero-host .hc-txt b{font-size:14px;color:inherit;max-width:92px}
.hero-host .hc-edit{position:absolute;top:30px;left:calc(50% + 12px);margin:0;width:24px;height:24px;padding:0;font-size:0;border-radius:50%;display:grid;place-items:center;border-width:2px}
.hero-host .hc-edit:before{content:"✏️";font-size:11px}
.hero-host:has(.hc-form:not([hidden])){flex-basis:100%;margin:8px 0 0!important}
.hero-host:has(.hc-form:not([hidden])) .hc-card{flex-direction:row;justify-content:center}
.hero-host:has(.hc-form:not([hidden])) .hc-edit{position:static}
.hero .hero-host .hc-ring img{width:100%;height:100%;border-radius:50%;box-shadow:none}
.hero-host:has(.hc-form:not([hidden])){flex:0 0 100%;width:100%;min-width:0}
.hero-host .hc-form{width:100%;box-sizing:border-box}
.hero-host .hc-form button{padding:0 10px;flex:none}

/* full decorated names: two lines max, smaller when long */
.hero-host .hc-txt b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden;overflow-wrap:anywhere;line-height:1.2;text-align:center}
.hero-host .hc-txt b.long{font-size:12px}.hero-host .hc-txt b.xlong{font-size:11px}
