*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:transparent;color:#f6f5ff;font:15px/1.4 system-ui,sans-serif}body.demo{background:repeating-conic-gradient(#18222c 0% 25%,#1d2934 0% 50%) 0 0/40px 40px}body.chroma{background:#00ff00}[hidden]{display:none!important}#controls{display:flex;gap:8px;justify-content:flex-end;align-items:center;padding:10px;font-size:11px}button{background:#221f38;color:#fff;border:1px solid #71698e;border-radius:7px;padding:7px 10px;cursor:pointer}button:focus-visible{outline:2px solid #cdff86}main{width:calc(100% - 32px);max-width:820px;margin:12px auto;padding:24px;border:1px solid #a9a0e04d;border-radius:22px;background:linear-gradient(130deg,#201c34ed,#101c2cf2);box-shadow:0 8px 30px #0003}header{display:flex;justify-content:space-between;align-items:center;gap:16px}header small{font-size:10px;letter-spacing:.16em;color:#b9afdc}h1{font-size:38px;letter-spacing:-.05em;margin:0}h1 span{color:#c6ff85;padding-left:12px}#clock{color:#c6ff85;font-size:23px;font-variant-numeric:tabular-nums}#instruction{color:#dfd8ee;font-size:13px;margin:12px 0 20px}#calls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:140px}.call{padding:16px 12px;background:#ffffff08;border:1px solid #8c7bbd66;border-top:3px solid #b399ff;border-radius:12px;min-width:0}.call:nth-child(2){border-top-color:#82d8e5}.call:nth-child(3){border-top-color:#f3ba80}.name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#efeafb;font-weight:650}.code{display:block;font:800 32px/1.8 monospace;letter-spacing:.13em;color:#fff}.outcome{font-size:12px;color:#c7bddb}.done{background:#c6ff8510}.done .code,.done .outcome{color:#c6ff85}.empty{align-self:center;grid-column:1/-1;color:#c7bddb;text-align:center}footer{display:flex;justify-content:space-between;color:#b4abc8;font-size:11px;padding:14px 0}h2{font-size:12px;margin:0 0 12px;color:#d8ccec}h2 small{display:block;font-size:10px;font-weight:400;color:#ada5bc}ol{list-style:none;padding:0;margin:0;display:flex;gap:8px;flex-wrap:wrap}li{display:flex;gap:9px;align-items:center;background:#ffffff09;padding:7px 10px;border-radius:8px;font-size:11px;max-width:100%}li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}li b{color:#c6ff85;white-space:nowrap}.note{margin:14px 0 0;color:#bdb3ce;font-size:10px}@media(max-width:520px){main{padding:16px;width:calc(100% - 16px)}h1{font-size:29px}#calls{grid-template-columns:1fr;min-height:0}.call{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:8px 12px}.code{font-size:25px}.outcome{grid-column:1/-1}#controls{flex-wrap:wrap}}
/* Keep the overlay steady as called players and score rows change. */
body{overflow-anchor:none}
