:root{--bg: #0b1d33;--bg2: #12304f;--card: #f7fbff;--ink: #10243a;--muted: #5b6f86;--accent: #ffb547;--accent-ink: #3a2600;--sea: #2f8fd8;--ok: #1f9d55;--err: #c0392b;--radius: 14px;font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:18px;line-height:1.45;color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 0%,var(--bg2),var(--bg) 60%) fixed}h1,h2{margin:0 0 .5rem;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.2rem}.topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;color:#e8f1ff}.topbar a{color:#e8f1ff;text-decoration:none}.brand{font-weight:700}.who{display:flex;gap:.75rem;align-items:center}.who .link{color:#a9c6e8}main{padding:0 1rem 2rem}.page{max-width:960px;margin:0 auto;display:grid;gap:1rem}.page>h1{color:#e8f1ff}.center{min-height:100vh;display:grid;place-content:center;text-align:center;color:#e8f1ff}.card{background:var(--card);border-radius:var(--radius);padding:1.25rem;box-shadow:0 8px 24px #00000040}.card.narrow{max-width:460px;margin:10vh auto 0;display:grid;gap:.75rem}.card.highlight{border:3px solid var(--accent)}.hero{color:#e8f1ff}label{display:grid;gap:.25rem;font-weight:600}input,select{font:inherit;padding:.6rem .75rem;border:2px solid #c9d8ea;border-radius:10px;background:#fff;min-height:48px}input:focus,select:focus{outline:3px solid var(--sea);outline-offset:1px}button,.button{font:inherit;font-weight:700;min-height:48px;padding:.6rem 1.1rem;border:0;border-radius:12px;background:var(--accent);color:var(--accent-ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button:disabled{opacity:.6;cursor:default}button.secondary,.button.secondary{background:#dfeaf7;color:var(--ink)}button.link{background:none;padding:0;min-height:0;font-weight:600;text-decoration:underline;color:var(--sea)}.actions,.phrases{display:flex;flex-wrap:wrap;gap:.6rem}.row{display:flex;flex-wrap:wrap;gap:.6rem;margin:.5rem 0}.row input{flex:1 1 200px}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--err);font-weight:600}.ok{color:var(--ok);font-weight:700;font-size:1.2rem}.code{font-family:ui-monospace,Consolas,monospace;font-size:1.6rem;font-weight:700;letter-spacing:.05em;background:#fff4dc;padding:.5rem .75rem;border-radius:10px;text-align:center}.bar{height:16px;background:#dfeaf7;border-radius:999px;overflow:hidden}.bar>div{height:100%;background:linear-gradient(90deg,var(--accent),#ff7f50)}.map{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.8rem}.island{background:linear-gradient(160deg,#e7fbf1,#c4ecff);border-radius:var(--radius);padding:1rem;display:grid;gap:.2rem}.island.locked{background:#d7e1ec;color:#5b6f86}.island .emoji{font-size:2.2rem}.island .unit{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.island .place{font-weight:700;font-size:1.1rem}.door{text-align:center;display:grid;gap:.5rem;justify-items:center}.door .door-icon{font-size:4rem;transition:transform .4s}.door.open .door-icon{transform:scale(1.2) rotate(-8deg)}.phrase{font-size:1.5rem;font-weight:700;margin:0}.chip{display:inline-block;background:#dfeaf7;border-radius:999px;padding:.1rem .7rem;margin:0 .3rem}.radio-log{min-height:160px;max-height:320px;overflow-y:auto;margin-bottom:1rem}.radio-log p{margin:.25rem 0}table{width:100%;border-collapse:collapse;margin-top:.5rem}th,td{text-align:left;padding:.4rem;border-bottom:1px solid #dfeaf7;vertical-align:top}td select{min-height:36px;padding:.2rem}@media (max-width: 600px){:root{font-size:16px}table{display:block;overflow-x:auto}}
