*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:#1d1b2f;color:#f3eee4;text-align:center}
header{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;padding:10px}h1{margin:0;font-size:24px}
button,select{font:inherit;padding:8px 16px;border-radius:10px;border:0;background:#3a3658;color:#f3eee4;cursor:pointer}
button.pri{background:#ff8a5b;color:#1d1b2f;font-weight:700}.sm{padding:4px 10px}.hidden{display:none!important}
#status{margin:6px;min-height:24px;font-size:18px}#boards{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.board{position:relative}canvas{background:#fbf7ee;border-radius:16px;width:min(480px,92vw);touch-action:none;box-shadow:0 6px 20px #0006}
.lbl{position:absolute;top:8px;left:12px;color:#8a83a8;font-weight:700}#eye{position:absolute;font-size:64px;top:0;left:0;transition:all .4s;pointer-events:none}
#ctrl{margin:14px;display:flex;gap:10px;justify-content:center}#pct{font-size:56px;font-weight:800;color:#ffcf5b}#verdict{font-size:20px}
#modes{display:flex;gap:4px}#modes button.on{background:#ff8a5b;color:#1d1b2f;font-weight:700}#dstat{color:#b9b2d8;min-height:20px;font-size:15px}
#modal{position:fixed;inset:0;background:#000a;display:flex;align-items:center;justify-content:center;z-index:9}
#mbox{background:#2a2744;padding:16px;border-radius:16px;max-width:94vw}#cardimg{width:min(720px,88vw);border-radius:10px;display:block;margin:0 auto 12px}
#sbtns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}#smsg{min-height:22px;margin-top:8px;color:#ffcf5b}
