:root {
  --bg: #fff;
  --fg: #222;
  --accent: #b5739d;
  --lamp-on: #e06c75;
  --lamp-off: #999;
  --border: #ddd;
}
body { font-family: ui-rounded,"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif; color: var(--fg); background: var(--bg); margin: 0; }
.skin-retro { --bg: #f5ecd9; --fg: #4a3a2a; --accent:#a96; --lamp-on:#c34; --lamp-off:#998; --border:#d8c9a8; }
.skin-warm  { --bg: #fff5ee; --fg:#5a3a2a; --accent:#d4736a; }
.skin-blue  { --bg:#eef5ff; --fg:#234; --accent:#5a8cd6; }
.skin-green { --bg:#eef7ee; --fg:#243; --accent:#5aa06a; }
header.site { border-bottom: 1px solid var(--border); padding: 8px 12px; display:flex; align-items:baseline; gap: 12px; }
header.site .logo { color: var(--accent); font-weight: bold; text-decoration: none; font-size: 1.1rem; }
nav.site-nav { display:flex; gap: 12px; align-items: baseline; }
nav.site-nav form.logout { display:inline; }
main.content { max-width: 720px; margin: 16px auto; padding: 0 16px; }
footer.site { text-align:center; color:#999; padding: 24px 0 16px; }
h1, h2, h3 { color: var(--accent); margin-top: 1.4em; }
a { color: var(--accent); }
label { display:block; margin: 8px 0; }
input, select, textarea { font: inherit; padding: 4px 6px; }
button { padding: 4px 12px; }
.error { background:#fee; color:#c33; padding: 6px 10px; border-radius: 6px; }
ul.buildings, ul.feed, ul.guestbook, ul.rooms { list-style: none; padding: 0; }
ul.feed li, ul.guestbook li { border: 1px solid var(--border); border-radius: 6px; padding: 8px 10px; margin: 6px 0; }
ul.feed li time, ul.guestbook li time { color:#999; font-size: .8em; display:block; }
ul.rooms.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; }
ul.rooms.grid li.room { border:1px solid var(--border); border-radius:8px; padding:6px 8px; }
ul.rooms.grid li.room .lamp { color: var(--lamp-on); }
ul.rooms.grid li.room.free .lamp { color: var(--lamp-off); }
ul.rooms.grid li.room.free { opacity: .5; }
textarea { width: 100%; box-sizing: border-box; }
.hint { color: #888; font-size: .9em; }