/* Blaster Island: the screens around the game (the game's own look is game.css, from WeSpace's Battle Arena). */
#app { position: fixed; inset: 0; max-width: 560px; margin: 0 auto; display: flex; flex-direction: column; padding: env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left); }
.back-arrow { flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--card); color: var(--ink); box-shadow: inset 0 0 0 1px var(--gray-300); display: inline-flex; align-items: center; justify-content: center; }
.back-arrow .ico { width: 24px; height: 24px; }
.bi-noscript { padding: 24px; text-align: center; font-weight: 700; }

/* the level chips (A, the owner chose: a picture and the name; a green tick when won, a small lock when locked) */
.ar-lv.lv2 { position: relative; justify-content: center; gap: 4px; padding: 10px 0 8px; min-height: 74px; }
.lv2 .pics { display: flex; height: 26px; align-items: center; margin-top: 6px; }
.lv2 .pics .ico { width: 19px; height: 19px; stroke-width: 1.9; }
.lv2 .pics .ico.sprout { width: 26px; height: 26px; }
.lv2 .pics .fill { fill: currentColor; }
.lv2 b { font-size: 14px; font-weight: 850; }
.lv2 .mark { position: absolute; top: 4px; right: 4px; width: 16px; height: 16px; border-radius: 50%; display: grid; place-items: center; }
.lv2 .mark .ico { width: 10px; height: 10px; stroke-width: 2.8; }
.lv2 .mark.done { background: #16a34a; color: #fff; }
.lv2 .mark.lock { background: var(--gray-200); color: var(--gray-500); }
.ar-lv.lv2.locked { color: var(--gray-400); background: var(--gray-50); opacity: 1; }
@media (max-width: 360px) { .ar-lv.lv2 { padding: 10px 2px 8px; } .lv2 .pics .ico { width: 16px; height: 16px; } }

/* your name on the first screen, and For grown-ups at the bottom */
.ar-nums-lead b { font-weight: 850; }
.bi-grown { display: block; margin: 18px auto 8px; min-height: 44px; padding: 10px 16px; background: none; color: var(--blue-700); font-weight: 800; font-size: 15px; }

/* the name, the grown-up check and For grown-ups */
.bi-p { color: var(--gray-600); font-size: 15px; line-height: 1.4; margin: 8px 2px 0; }
.bi-mid { text-align: center; margin-top: 18px; }
.bi-big { display: flex; flex-direction: column; align-items: center; gap: 8px; margin-top: 14px; }
.bi-big .bi-face { width: 88px; height: 88px; font-size: 40px; }
.bi-big b { font-size: 26px; color: var(--gray-900); }
.bi-words { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.bi-col { background: #fff; border: 1px solid var(--gray-200); border-radius: 18px; padding: 8px; display: flex; flex-direction: column; gap: 6px; }
.bi-col button { min-height: 44px; padding: 9px 10px; border-radius: 12px; font-weight: 800; font-size: 16px; color: var(--gray-600); background: none; }
.bi-col button.on { background: var(--blue-600); color: #fff; }
.bi-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 12px; border-radius: 16px; padding: 14px 0; font-weight: 850; font-size: 17px; background: var(--blue-600); color: #fff; border: 0; }
.bi-btn .ico { width: 22px; height: 22px; stroke-width: 1.9; }
.bi-btn.line { background: #fff; color: var(--blue-700); border: 2px solid var(--blue-600); }
.bi-btn.red { background: #fff; color: #b91c1c; border: 2px solid #fecaca; }
.bi-card { background: #fff; border: 1px solid var(--gray-200); border-radius: 18px; padding: 16px; margin-top: 12px; }
.bi-card > b { display: block; font-size: 17px; color: var(--gray-900); }
.bi-word { text-align: center; font: 900 28px/1.2 system-ui, sans-serif; color: var(--gray-900); margin-top: 8px; }
.bi-boxes { display: flex; gap: 6px; justify-content: center; margin-top: 12px; }
.bi-boxes i { width: 34px; height: 46px; border-radius: 10px; background: #fff; border: 2px solid var(--gray-300); display: grid; place-items: center; font: 900 22px system-ui, sans-serif; font-style: normal; color: var(--gray-900); }
.bi-keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 16px auto 0; max-width: 340px; }
.bi-keys button { height: 56px; min-height: 0; padding: 0; border-radius: 14px; background: #fff; border: 1px solid var(--gray-200); display: grid; place-items: center; font: 800 24px system-ui, sans-serif; color: var(--gray-900); }
.bi-keys button .ico { width: 26px; height: 26px; stroke-width: 1.8; }

/* For grown-ups: the rows (Sounds, Privacy policy, Help and contact), the switch, the version; the pages of words */
.bi-opt { display: flex; gap: 12px; align-items: center; width: 100%; min-height: 0; text-align: left; background: #fff; border: 1px solid var(--gray-200); border-radius: 18px; padding: 14px; margin-top: 12px; color: inherit; font: inherit; }
.bi-opt-tx { flex: 1; min-width: 0; }
.bi-opt-tx b { display: block; font-size: 17px; color: var(--gray-900); }
.bi-opt-tx small { display: block; color: var(--gray-500); font-size: 14px; margin-top: 2px; }
.bi-ic { width: 44px; height: 44px; flex: none; border-radius: 13px; background: var(--blue-50); color: var(--blue-700); display: grid; place-items: center; }
.bi-ic.green { background: #dcfce7; color: #15803d; }
.bi-ic.purple { background: #ede9fe; color: #6d28d9; }
.bi-ic .ico { width: 23px; height: 23px; stroke-width: 1.9; }
.bi-go { flex: none; color: var(--gray-400); font-size: 26px; font-weight: 700; }
.bi-sw { flex: none; position: relative; width: 52px; height: 31px; min-height: 0; padding: 0; border-radius: 999px; background: var(--gray-300); transition: background .15s; }
.bi-sw::after { content: ''; position: absolute; left: 2px; top: 2px; width: 27px; height: 27px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: left .15s; }
.bi-sw.on { background: #22c55e; }
.bi-sw.on::after { left: 23px; }
.bi-del { margin-top: 16px; }
.bi-ver { text-align: center; color: var(--gray-400); font-size: 13.5px; margin: 18px 0 6px; }
.bi-doc h2 { font-size: 19px; color: var(--gray-900); margin: 20px 2px 4px; }
.bi-doc p, .bi-doc li { color: var(--gray-700); font-size: 15.5px; line-height: 1.5; }
.bi-doc p { margin: 6px 2px; }
.bi-doc ul { margin: 4px 0; padding-left: 22px; }
.bi-doc .when { color: var(--gray-500); font-size: 14px; }
.bi-doc a { color: var(--blue-700); }
.bi-doc .bi-btn { text-decoration: none; margin-top: 18px; color: #fff; }

/* Play together: the start and join screen, the code on the waiting screen */
.bi-small { text-align: center; font-size: 14px; }
.bi-start { margin-top: 16px; }
.bi-join { margin-top: 18px; }
.bi-codein { display: block; width: 100%; box-sizing: border-box; margin-top: 12px; padding: 12px 14px; border: 2px solid var(--gray-300); border-radius: 14px; background: var(--gray-50);
  font: 900 26px/1.2 system-ui, sans-serif; letter-spacing: 3px; text-align: center; text-transform: uppercase; color: var(--gray-900); }
.bi-codein::placeholder { color: var(--gray-300); }
.bi-codein:focus { border-color: var(--blue-600); outline: none; background: #fff; }
.bi-codecard { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--gray-200); border-radius: 18px; padding: 12px 14px; margin-top: 12px; }
.bi-codecard small { display: block; color: var(--gray-500); font-size: 13px; font-weight: 700; }
.bi-codecard b { display: block; font: 900 26px/1.1 system-ui, sans-serif; letter-spacing: 3px; color: var(--gray-900); }
.bi-codecard .bi-send { width: auto; margin: 0 0 0 auto; padding: 12px 16px; font-size: 15px; min-height: 0; }
.ab-face.tiny { width: 22px; height: 22px; font-size: 11px; }
