:root {
  --bg: #f4f6f8;
  --card: #fff;
  --ink: #1c2430;
  --muted: #6b7785;
  --line: #e2e7ec;
  --brand: #0f7b6c;
  --brand-soft: #e6f4f1;
  --pos: #b4610f;
  --pos-soft: #fdf1e3;
}
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body {
  margin: 0;
  font-family: 'Kanit', -apple-system, 'Segoe UI', sans-serif;
  background: var(--bg);
  color: var(--ink);
  font-size: 15px;
  line-height: 1.55;
  padding-bottom: env(safe-area-inset-bottom);
}
a { color: inherit; text-decoration: none; }

header.top {
  background: var(--card);
  border-bottom: 1px solid var(--line);
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  position: sticky;
  top: 0;
  z-index: 10;
}
header.top .back {
  width: 34px; height: 34px; flex: 0 0 34px;
  display: grid; place-items: center;
  border: 1px solid var(--line); border-radius: 10px;
  font-size: 18px; color: var(--muted);
}
header.top h1 { margin: 0; font-size: 17px; font-weight: 600; }
header.top .sub { margin: 0; font-size: 12px; color: var(--muted); }

main { padding: 16px; max-width: 720px; margin: 0 auto; }

.tile {
  display: block;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 18px;
  margin-bottom: 12px;
}
.tile .icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  display: grid; place-items: center;
  font-size: 22px;
  margin-bottom: 12px;
}
.tile.pos .icon { background: var(--pos-soft); }
.tile.room .icon { background: var(--brand-soft); }
.tile h2 { margin: 0 0 4px; font-size: 16px; font-weight: 600; }
.tile p { margin: 0; font-size: 13px; color: var(--muted); }
.tile .go { margin-top: 12px; font-size: 13px; font-weight: 500; }
.tile.pos .go { color: var(--pos); }
.tile.room .go { color: var(--brand); }

.stub {
  background: var(--card);
  border: 1px dashed var(--line);
  border-radius: 14px;
  padding: 28px 18px;
  text-align: center;
}
.stub .mark { font-size: 34px; margin-bottom: 10px; }
.stub h2 { margin: 0 0 6px; font-size: 16px; font-weight: 600; }
.stub p { margin: 0 auto; max-width: 34ch; font-size: 13px; color: var(--muted); }

footer.foot { padding: 20px 16px 28px; text-align: center; font-size: 12px; color: var(--muted); }

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #12171c; --card: #1a2027; --ink: #e8edf2; --muted: #93a1b0;
    --line: #2a333d; --brand-soft: #10302b; --pos-soft: #33240f;
  }
}
