/* Offline player identity: the existing Silicio pieces and app palette. */
.player-gate .site-header,.player-gate main,.player-gate .journey-nav { visibility:hidden; }
.players-screen { position:fixed;inset:0;z-index:3000;overflow:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at 100% 0,rgba(36,162,145,.2),transparent 48%),#090e1a;color:#eef4f5;isolation:isolate; }
.players-content { max-width:680px;margin:0 auto;padding:25px 20px 24px; }
.players-eyebrow { color:#97d7cb;font-size:10px;font-weight:800;letter-spacing:2.2px;margin:0 0 12px; }
.players-content h1 { margin:0;font-size:clamp(25px,6vw,36px);line-height:1.13;letter-spacing:-.8px;font-weight:800; }
.players-intro { color:#bbcbda;font-size:14px;line-height:1.5;margin:12px 0 22px; }
.players-screen--welcome .players-content { max-width:520px;padding-top:18px; }
.players-screen--welcome .players-eyebrow { margin-bottom:10px; }
.players-welcome { display:grid;grid-template-columns:minmax(0,1fr) 148px;align-items:center;gap:10px;min-height:96px; }
.players-welcome h1 { font-size:clamp(25px,6.8vw,32px);line-height:1.12;letter-spacing:-.7px; }
.players-welcome-portraits { position:relative;height:96px; }
.players-welcome-portraits img { position:absolute;top:10px;width:60px;height:80px;object-fit:cover;border:2px solid #98b7a5;border-radius:20px;background:#fff;box-shadow:0 6px 16px #02091166; }
.players-welcome-portraits img:first-child { left:0;transform:rotate(-9deg); }
.players-welcome-portraits img:nth-child(2) { left:41px;top:2px;width:66px;height:92px;z-index:1;border-color:#e4cb82; }
.players-welcome-portraits img:last-child { right:0;transform:rotate(9deg); }
.players-screen--welcome .players-intro { margin:8px 0 16px; }
.players-screen--welcome .player-name-hint { margin-bottom:10px; }
.players-screen--welcome .player-form fieldset { margin-bottom:10px; }
.players-screen--welcome .player-level-choice { min-height:68px;padding:12px 14px; }
.players-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px; }
.players-grid[data-count="1"] { grid-template-columns:minmax(0,260px);justify-content:center; }
.player-tile { display:flex;flex-direction:column;background:linear-gradient(145deg,#1c3042,#101c2c);border:1px solid #395365;border-radius:20px;overflow:hidden;position:relative; }
.player-tile[data-active] { border-color:#b7c98c;background:linear-gradient(145deg,#21463e,#11222e); }
.player-select { display:flex;flex:1;align-items:center;flex-direction:column;gap:10px;padding:18px 10px 12px;width:100%;border:0;background:none;color:#f0f5f4;min-height:216px; }
.player-enter { display:block;margin-top:auto;padding:8px 22px;border:1px solid #ffe089;border-radius:10px;background:#efc54c;color:#132333;font-size:13px;font-weight:750;line-height:1.2; }
.player-select strong { font-size:17px;line-height:1.23;overflow-wrap:anywhere; }
.player-level { font-size:11px;color:#bed2db;line-height:1.3; }
.player-last { display:block;color:#e7d994;font-size:10px;font-weight:700; }
.player-edit { width:100%;min-height:44px;border:0;border-top:1px solid #365165;background:rgba(5,15,24,.22);color:#bce5db;font-size:12px; }
.player-avatar { display:inline-grid;place-items:center;flex:0 0 auto;width:68px;height:68px;background:radial-gradient(circle at 40% 30%,#30695e,#16373c 65%);border:1px solid #658b76;border-radius:50%;box-shadow:0 0 0 5px rgba(44,89,85,.2),inset 0 0 18px rgba(91,198,170,.1); }
.player-avatar img { width:75%;height:75%;object-fit:contain;filter:drop-shadow(0 4px 4px #031617); }
.player-entry { display:flex;gap:10px;align-items:center;min-width:0;flex:1;border:0;background:none;text-align:left;padding:3px 0;color:#eff5f3;min-height:48px; }
.player-entry .player-avatar { width:35px;height:35px;box-shadow:none; }
.player-entry-copy { display:grid;gap:3px;min-width:0; }
.player-entry strong { font-size:15px;line-height:1.2;overflow-wrap:anywhere; }
.player-entry small { color:#9bcdbf;font-size:10px;font-weight:500;letter-spacing:.1px; }
.player-entry + .offline-profile-entry { flex-shrink:0;max-width:46%; }
.players-screen button,.player-entry { cursor:pointer;font-family:inherit; }
.players-screen button:focus-visible,.players-screen input:focus-visible,.player-entry:focus-visible { outline:3px solid #f6c74a;outline-offset:3px; }
.players-primary,.players-secondary,.players-danger { width:100%;min-height:50px;border-radius:12px;padding:13px 14px;font-size:14px;font-weight:750;line-height:1.3; }
.players-primary { color:#132333;background:linear-gradient(115deg,#ffdb6a,#eebc3c);border:1px solid #ffe089;box-shadow:0 6px 22px #e7b32a18; }
.players-secondary { background:#152436;border:1px solid #486274;color:#e9f1f3;margin-top:10px; }
.players-danger { background:#3b2632;border:1px solid #a6757e;color:#ffdedc;margin-top:12px; }
.players-capacity,.players-local { font-size:11px;line-height:1.6;color:#a8bfca;text-align:center; }
.players-capacity { margin:13px 0 6px; }
.players-local { margin:22px 0 0;padding-top:15px;border-top:1px solid #2c4351; }
.player-name-label,.player-form legend { color:#e3eeee;font-size:12px;font-weight:750;margin-bottom:8px;padding:0; }
.player-name-label { display:block; }
.player-name { box-sizing:border-box;width:100%;min-height:50px;padding:13px 14px;border:1px solid #557880;border-radius:12px;background:#101e2e;color:#fff;font-family:inherit;font-size:16px; }
.player-name::placeholder { color:#8aa1b1; }
.player-name-hint { color:#a9bfcb;font-size:11px;margin:7px 0 18px;line-height:1.4; }
.player-form fieldset { border:0;padding:0;margin:0 0 20px;min-width:0; }
.player-avatar-options { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px; }
.player-avatar-choice { background:#102333;border:1px solid #38535e;min-width:0;min-height:48px;padding:8px 3px;border-radius:12px; }
.player-avatar-choice .player-avatar { width:35px;height:35px;border:0;background:none;box-shadow:none; }
.player-avatar-choice[aria-pressed=true] { border-color:#eed06a;box-shadow:inset 0 0 0 1px #eed06a;background:#304b40; }
.player-level-choice { display:flex;flex-direction:column;text-align:left;gap:5px;width:100%;padding:14px;min-height:72px;background:#122335;color:#eaf4f4;border:1px solid #3c596a;border-radius:13px;margin-bottom:8px; }
.player-level-choice strong { font-size:15px; }
.player-level-choice span { font-size:12px;line-height:1.4;color:#bbd4d9; }
.player-level-choice[aria-pressed=true] { border-color:#95d7ba;background:linear-gradient(110deg,#1d493f,#162d36);box-shadow:inset 3px 0 #b4e0c2; }
.players-danger-link { display:block;margin:14px auto 0;border:0;background:none;color:#e5a5a7;min-height:44px;font-size:12px;padding:10px; }
.players-delete-copy { font-size:16px;line-height:1.6;overflow-wrap:anywhere;margin:24px 0; }
.player-avatar--large { width:92px;height:92px;margin-top:30px; }
.players-error { padding:14px;border:1px solid #e89e91;border-radius:12px;color:#ffe4df;background:#40242b;font-size:13px;line-height:1.4; }
@media(min-width:620px) { .players-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.player-form { max-width:480px;margin:auto; } }
@media(max-width:360px) { .players-content { padding:21px 14px; }.player-avatar-options { gap:3px; }.player-avatar-choice { padding:6px 1px; }.player-entry { gap:7px; }.player-entry strong { font-size:13px; }.player-entry .player-avatar { width:29px;height:29px; } }
@media(prefers-reduced-motion:no-preference) { .players-content { animation:players-appear .2s ease-out; }@keyframes players-appear { from {opacity:.5;transform:translateY(5px)}to {opacity:1;transform:translateY(0)} } }
