:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#edf0ff;background:#111626;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 10%,#26315088,transparent 55%);min-height:100vh}header{display:flex;align-items:center;gap:28px;max-width:1240px;margin:auto;padding:30px 36px;border-bottom:1px solid #ffffff12}.logo{font-size:24px;font-weight:850;text-decoration:none;color:#fff;letter-spacing:-1px}.logo span{color:#b5ee7b}.tag,footer{color:#9099b3;font-size:13px}#connection{margin-left:auto;font-size:12px;color:#b5ee7b}main{max-width:1168px;margin:50px auto;padding:0 24px}h1{font-size:48px;letter-spacing:-2px;line-height:1.1;margin:16px 0 24px}h2{font-size:26px;letter-spacing:-.5px;margin:0 0 22px}h3{font-size:16px;margin:0 0 14px}p{line-height:1.65;color:#aeb8cf}.eyebrow{font-size:12px;letter-spacing:2px;color:#b5ee7b;text-transform:uppercase;font-weight:700}.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:26px}.panel{background:#1b2237;border:1px solid #ffffff10;border-radius:22px;padding:30px}.hero{padding:20px 24px 30px 0}.hero p{max-width:540px;font-size:17px}.chips{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.chip{border:1px solid #ffffff20;padding:8px 12px;border-radius:30px;font-size:12px;color:#bdc6d9}button,input,select{font:inherit}button{border:0;border-radius:10px;padding:13px 18px;background:#b5ee7b;color:#18222a;font-weight:750;cursor:pointer;transition:transform .12s}button:hover{filter:brightness(1.08);transform:translateY(-1px)}button:disabled{opacity:.4;cursor:wait;transform:none}button.secondary{background:#303b55;color:#edf0ff}button.danger{background:#513344;color:#ffc9d1}button.small{padding:7px 11px;font-size:12px}input,select{border:1px solid #43506b;background:#141a2c;color:#edf0ff;border-radius:10px;padding:12px;min-width:0;width:100%}input:focus,select:focus,button:focus-visible{outline:2px solid #b5ee7b;outline-offset:3px}label{display:block;font-size:12px;color:#b3bed3;margin-bottom:8px}.row{display:flex;gap:12px;align-items:center}.wrap{flex-wrap:wrap}.stack{display:grid;gap:16px}.divider{height:1px;background:#ffffff12;margin:24px 0}.subtle{font-size:13px;color:#a0abc3}.players{list-style:none;padding:0;margin:0}.player{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #ffffff0d}.avatar{display:grid;place-items:center;background:#39465e;border-radius:12px;width:40px;height:40px;color:#dce7fe;font-weight:800}.grow{flex:1}.status{font-size:12px;color:#b5ee7b}.offline{color:#dba677}.roomhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:16px}.roomhead h1{font-size:32px;margin:8px 0}.code{font-family:monospace;letter-spacing:3px;color:#b5ee7b}.settings{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rule{background:#111727;padding:18px;border-radius:12px;color:#b9c3d8;font-size:13px;line-height:1.65}.wordcard{text-align:center;background:#f0f3e8;color:#18222a;padding:65px 25px;border-radius:22px;margin:22px 0;min-height:230px;display:grid;place-content:center}.word{font-size:clamp(32px,5vw,62px);font-weight:850;letter-spacing:-1.5px;overflow-wrap:anywhere}.wordcard .subtle{color:#65715e}.timer{font-size:42px;font-variant-numeric:tabular-nums;font-weight:800;color:#b5ee7b}.actions{display:flex;gap:12px;flex-wrap:wrap}.actions>*{flex:1}.score{font-size:28px;font-weight:800;color:#b5ee7b}.history{max-height:300px;overflow:auto}.history .row{padding:9px 0;border-bottom:1px solid #ffffff10}.center{text-align:center}.bigicon{font-size:52px;margin:20px}.muted{color:#8f9bb5}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#f1d78f;color:#25202b;border-radius:12px;max-width:90%;padding:14px 22px;box-shadow:0 10px 40px #0005;display:none}footer{max-width:1168px;margin:50px auto 24px;padding:0 24px}.teamselect{width:100px}.ready{color:#b5ee7b}a{color:#b5ee7b}@media(max-width:760px){header{padding:22px;gap:10px}.tag{display:none}main{margin:26px auto}.grid{grid-template-columns:1fr}h1{font-size:38px}.panel{padding:22px}.roomhead{align-items:flex-start;flex-wrap:wrap}.settings{grid-template-columns:1fr 1fr}.wordcard{padding:45px 18px}.row.wrap>*{flex:1}.actions{flex-direction:column}}
.guesser-buttons{display:flex;gap:10px;flex-wrap:wrap}.guesser-choice[aria-pressed="true"]{background:#b5ee7b;color:#18222a;box-shadow:0 0 0 2px #b5ee7b55}.completed-word{margin-top:22px}.completed-word strong{display:block;margin-top:5px;font-size:22px;overflow-wrap:anywhere}

/* Общая стрелка закрытого select; раскрытое меню остаётся системным. */
select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 2.75rem;
  max-width: 100%;
  text-overflow: ellipsis;
  background-image:
    linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: right calc(1rem + .35em) center, right 1rem center;
  background-size: .35em .35em;
  background-repeat: no-repeat;
}

/* Длинный текст не задаёт минимальную ширину колонок или строки игрока. */
.grid > *, .stack > *, .settings > * { min-width: 0; }
.settings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.player { flex-wrap: wrap; }
.player > .avatar { flex-shrink: 0; }
.player > .grow { flex: 1 1 8rem; min-width: 0; overflow-wrap: anywhere; }
.player > button { flex-shrink: 0; max-width: 100%; }
.teamselect { width: 6.25rem; flex: 0 0 auto; }

@media (max-width: 400px) {
  .settings { grid-template-columns: minmax(0, 1fr); }
}

/* В режиме контрастности ОС сама рисует различимую стрелку. */
@media (forced-colors: active) {
  select {
    -webkit-appearance: auto;
    appearance: auto;
    background-image: none;
  }
}

.team-roster{margin-bottom:22px}.team-order{display:flex;gap:6px;flex-shrink:0}.team-order button:disabled{cursor:default}
.turn-roles{font-size:20px;margin:18px 0;overflow-wrap:anywhere}
[hidden]{display:none!important}
.check{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;color:#edf0ff;cursor:pointer}.check[hidden]{display:none}.check input{width:18px;height:18px;padding:0;accent-color:#b5ee7b}.check .subtle{flex-basis:100%;font-size:12px}
.hint{display:block;font-size:13px;font-weight:400;color:#a0abc3;margin-top:4px;line-height:1.5}.wordcard .hint{font-size:16px;color:#3d4738;max-width:520px;margin:18px auto 0}
footer{border-top:1px solid #ffffff12;padding-top:24px}footer p{margin:8px 0}.footer-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:12px}.footer-links a{color:#bdc6d9;text-decoration:none;font-size:13px}.footer-links a:hover{color:#b5ee7b;text-decoration:underline}
a#connection{text-decoration:none;font-weight:700}.page{max-width:820px}.prose h1{font-size:36px;margin-top:0}.prose h2{font-size:20px;margin:28px 0 10px}.prose li{line-height:1.65;color:#aeb8cf;margin:6px 0}.prose strong{color:#edf0ff}.prose code{background:#111727;padding:2px 6px;border-radius:6px}
.avatar-img{width:40px;height:40px;border-radius:12px;object-fit:cover;flex:none;background:#39465e}.avatar-img.small{width:22px;height:22px;border-radius:7px}.avatar-img.large,.avatar.large{width:64px;height:64px;border-radius:18px;font-size:26px}
.account-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#edf0ff;text-decoration:none;border:1px solid #ffffff20;border-radius:20px;padding:6px 12px}.account-link[hidden]{display:none}.account-add{display:inline-flex;align-items:center;gap:8px;margin-top:12px}
.account-card{display:flex;align-items:center;gap:16px;margin-bottom:12px}a.button{display:inline-block;border-radius:10px;padding:13px 18px;background:#b5ee7b;color:#18222a;font-weight:750;text-decoration:none;text-align:center}a.button.discord{background:#5865f2;color:#fff}.login-options{max-width:320px}.telegram-login{min-height:40px}
