/* QuestWorld — плоский минимализм, мобайл-фёрст, «детективная» палитра. */
:root{
  --bg:#f3ead6; --paper:#fbf5e6; --ink:#2b2118; --muted:#7a6c58;
  --line:#d8c9a8; --accent:#7d1f1f; --green:#2f6b3a; --shadow:0 2px 8px rgba(60,40,20,.15);
}
*{box-sizing:border-box}
body{margin:0;font:16px/1.5 Georgia,'Times New Roman',serif;color:var(--ink);
  background:var(--bg);-webkit-text-size-adjust:100%}
.wrap{max-width:720px;margin:0 auto;padding:16px}
h1,h2,h3{font-weight:700;line-height:1.2;margin:.4em 0}
h1{font-size:1.7rem}
a{color:var(--accent)}
.muted{color:var(--muted)}
.center{text-align:center}
button,.btn{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--paper);
  color:var(--ink);border-radius:10px;padding:12px 16px;box-shadow:var(--shadow)}
button.primary,.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
button.big{display:block;width:100%;font-size:1.15rem;padding:16px;margin:10px 0}
button:disabled{opacity:.45;cursor:not-allowed}
input,select{font:inherit;padding:12px;border:1px solid var(--line);border-radius:10px;
  background:#fff;width:100%;margin:6px 0}
label{display:block;margin:12px 0 2px;font-weight:700}
.row{display:flex;gap:8px;flex-wrap:wrap}
.row>*{flex:1}
.code{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.15em;font-size:2.4rem;
  font-weight:700;text-align:center;background:var(--paper);border:2px dashed var(--line);
  border-radius:12px;padding:14px;margin:10px 0}
.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px;
  margin:10px 0;box-shadow:var(--shadow)}
.card .no{float:right;font-weight:700;color:var(--muted)}
.card .type{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.card .date{font-size:.8rem;color:var(--muted)}
.card.start{border-color:var(--green);border-left:6px solid var(--green)}
.card b{background:#f2e07a55;padding:0 2px;border-radius:3px}
.hand{position:sticky;bottom:0;background:var(--bg);padding-top:8px;border-top:2px solid var(--line)}
.hand .card{margin:6px 0}
.seats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.seat{border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center;background:var(--paper)}
.seat.empty{opacity:.6;border-style:dashed}
.seat.turn{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}
.pill{display:inline-block;background:var(--paper);border:1px solid var(--line);border-radius:999px;
  padding:3px 10px;font-size:.85rem;margin:2px}
.bar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:6px 0}
.q{border-left:4px solid var(--line);padding-left:10px;margin:14px 0}
.q .opt{display:block;margin:4px 0}
.result{font-size:1.3rem;text-align:center}
.result .score{font-size:3rem;font-weight:700;color:var(--accent)}
.turnbanner{background:var(--accent);color:#fff;border-radius:10px;padding:8px 12px;text-align:center;margin:8px 0}
.small{font-size:.85rem}
.card .bytag{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:2px 0}
.seat{position:relative;border-left-width:6px;border-left-style:solid}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.turnbanner .dot{background:#fff}
.me-color{font-weight:700}
.swatches{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}
.swatch{width:44px;height:44px;border-radius:50%;border:2px solid #0002;padding:0;box-shadow:var(--shadow);
  position:relative;cursor:pointer}
.swatch.sel{border-color:var(--ink);box-shadow:0 0 0 3px var(--ink) inset,var(--shadow)}
.swatch:disabled{opacity:.32;cursor:not-allowed}
.swatch .chk{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;
  font-weight:700;text-shadow:0 1px 2px #0008}
