:root {
  --wam-ink: #342923;
  --wam-ember: #8d4a23;
  --wam-ember-dark: #693516;
  --wam-paper: #f7f0e8;
  --wam-line: #d9c8b9;
  --wam-muted: #76665f;
  --wam-success: #245f54;
  --wam-error: #8b2f2f;
}

.wam-card,
.wam-dashboard {
  box-sizing: border-box;
  max-width: 980px;
  margin: 2rem auto;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  color: var(--wam-ink);
  background: var(--wam-paper);
  border: 1px solid var(--wam-line);
  border-radius: 24px;
  box-shadow: 0 18px 60px rgba(42, 28, 19, 0.12);
}

.wam-auth {
  max-width: 560px;
}

.wam-kicker {
  margin: 0 0 0.35rem;
  color: var(--wam-ember);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.wam-card label,
.wam-new-campfire label {
  display: block;
  margin: 1rem 0 0.35rem;
  font-weight: 700;
}

.wam-card input,
.wam-card select,
.wam-card textarea,
.wam-new-campfire input,
.wam-new-campfire select,
.wam-new-campfire textarea {
  box-sizing: border-box;
  width: 100%;
  padding: 0.82rem 0.9rem;
  color: var(--wam-ink);
  background: #fff;
  border: 1px solid var(--wam-line);
  border-radius: 12px;
  font: inherit;
}

.wam-button,
.wam-card input[type="submit"] {
  display: inline-block;
  width: auto;
  margin-top: 1.15rem;
  padding: 0.78rem 1.1rem;
  color: #fff !important;
  background: var(--wam-ember);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 800;
  text-decoration: none;
}

.wam-button:hover,
.wam-card input[type="submit"]:hover {
  background: var(--wam-ember-dark);
}

.wam-small {
  color: var(--wam-muted);
  font-size: 0.92rem;
}

.wam-dashboard-header {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}

.wam-new-campfire {
  min-width: min(100%, 360px);
}

.wam-new-campfire summary {
  list-style: none;
}

.wam-new-campfire summary::-webkit-details-marker {
  display: none;
}

.wam-new-campfire[open] {
  padding: 1rem;
  background: #fffaf5;
  border: 1px solid var(--wam-line);
  border-radius: 18px;
}

.wam-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.wam-campfire-card,
.wam-empty,
.wam-coming-next {
  padding: 1.25rem;
  background: #fff;
  border: 1px solid var(--wam-line);
  border-radius: 18px;
}

.wam-text-link {
  color: var(--wam-ember);
  font-weight: 800;
  text-decoration: none;
}

.wam-notice {
  max-width: 980px;
  margin: 1rem auto;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  font-weight: 700;
}

.wam-notice-success {
  color: #fff;
  background: var(--wam-success);
}

.wam-notice-error {
  color: #fff;
  background: var(--wam-error);
}

@media (max-width: 600px) {
  .wam-card,
  .wam-dashboard {
    margin: 1rem 0;
    border-radius: 18px;
  }
}


.wam-opening-snapshot {
  margin: 1.5rem 0;
  overflow: hidden;
  background: #1a100b;
  border-radius: 22px;
}

.wam-opening-snapshot img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 680px;
  object-fit: contain;
  margin: 0 auto;
}

.wam-campfire-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0;
}

.wam-member-list,
.wam-pending-list {
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.wam-member-list li,
.wam-pending-list li {
  display: flex;
  gap: 0.55rem;
  align-items: baseline;
  justify-content: space-between;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--wam-line);
}

.wam-member-list span,
.wam-pending-list span {
  color: var(--wam-muted);
  font-size: 0.9rem;
}

.wam-member-list em {
  color: var(--wam-ember);
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  .wam-campfire-columns {
    grid-template-columns: 1fr;
  }

  .wam-member-list li,
  .wam-pending-list li {
    display: block;
  }

  .wam-member-list span,
  .wam-pending-list span,
  .wam-member-list em {
    display: block;
    margin-top: 0.2rem;
  }
}


/* Live Campfire chat — v0.6.0 */
.wam-live-chat {
  margin-top: 1rem;
}

.wam-chat-intro {
  color: var(--wam-muted);
}

.wam-chat-messages {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-height: 440px;
  margin: 1rem 0;
  padding: 1rem;
  overflow-y: auto;
  background: #f7f1e9;
  border: 1px solid var(--wam-line);
  border-radius: 18px;
}

.wam-chat-status,
.wam-chat-network-status {
  color: var(--wam-muted);
  font-size: 0.9rem;
}

.wam-chat-row {
  display: flex;
  gap: 0.55rem;
  align-items: flex-end;
}

.wam-chat-row.is-mine {
  justify-content: flex-end;
}

.wam-chat-avatar {
  display: inline-flex;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #5b463d;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 900;
}

.wam-chat-bubble {
  max-width: min(78%, 620px);
  padding: 0.75rem 0.9rem;
  background: #fff;
  border-radius: 18px 18px 18px 5px;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}

.wam-chat-row.is-mine .wam-chat-bubble {
  background: #efe4d8;
  border-radius: 18px 18px 5px 18px;
}

.wam-chat-meta {
  margin-bottom: 0.25rem;
  color: #75401f;
  font-size: 0.73rem;
  font-weight: 800;
}

.wam-chat-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.wam-chat-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.65rem;
  align-items: end;
}

.wam-chat-form textarea {
  min-height: 54px;
  resize: vertical;
}

.wam-chat-network-status {
  margin: 0.55rem 0 0;
}

@media (max-width: 600px) {
  .wam-chat-messages {
    max-height: 52vh;
    padding: 0.75rem;
  }

  .wam-chat-bubble {
    max-width: 86%;
  }

  .wam-chat-form {
    grid-template-columns: 1fr;
  }

  .wam-chat-form .wam-button {
    width: 100%;
  }
}


/* Public WAM landing + invitation experience — v0.7.5 */
.wam-public-stage{position:fixed;inset:0;z-index:99990;box-sizing:border-box;min-height:100vh;min-height:100svh;padding:max(18px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));overflow-y:auto;color:#f8f1e7;background:radial-gradient(circle at 18% 14%,rgba(38,134,136,.34),transparent 34%),radial-gradient(circle at 84% 84%,rgba(186,91,39,.28),transparent 32%),linear-gradient(160deg,#04191f 0%,#082d33 52%,#130b08 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.wam-public-stage *{box-sizing:border-box}.wam-public-glow{position:fixed;width:260px;height:260px;border-radius:50%;pointer-events:none;filter:blur(60px);opacity:.28}.wam-public-glow-one{top:-80px;right:-100px;background:#38c1bb}.wam-public-glow-two{bottom:-120px;left:-110px;background:#ee8a3b}.wam-landing-card,.wam-invite-card{position:relative;width:min(100%,620px);margin:0 auto;padding:clamp(26px,7vw,44px);background:rgba(7,39,43,.82);border:1px solid rgba(255,208,138,.18);border-radius:30px;box-shadow:0 26px 80px rgba(0,0,0,.34);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.wam-landing-card{margin-top:clamp(12px,7svh,64px);text-align:center}.wam-mark{width:76px;height:76px;margin:0 auto 18px;color:#ffd08a;font-family:Georgia,"Times New Roman",serif;font-size:68px;line-height:72px;text-align:center;text-shadow:0 0 24px rgba(255,181,46,.62)}.wam-public-kicker{margin:0 0 8px;color:#ffc66e;font-size:12px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.wam-landing-card h1,.wam-invite-card h1{margin:0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,10vw,56px);line-height:1.02}.wam-public-tagline{margin:12px 0 0;color:#d9e7e4;font-size:clamp(17px,4.8vw,21px);font-weight:700}.wam-landing-copy{max-width:470px;margin:26px auto 0;color:#d5e3e0;font-size:16px;line-height:1.55}.wam-landing-actions{display:grid;gap:10px;margin:28px 0}.wam-public-button,.wam-public-stage input[type=submit]{display:inline-flex;width:100%;min-height:52px;align-items:center;justify-content:center;padding:13px 18px;border:1px solid transparent;border-radius:999px;cursor:pointer;font:inherit;font-weight:900;text-align:center;text-decoration:none!important}.wam-public-button-primary,.wam-public-stage input[type=submit]{color:#3b241a!important;background:#ffd08a!important}.wam-public-button-secondary{color:#fff!important;background:rgba(255,255,255,.06);border-color:rgba(255,208,138,.52)}.wam-landing-info{display:flex;gap:14px;margin-top:28px;padding:18px;color:#33251e;background:#f8f1e7;border-radius:22px;text-align:left}.wam-landing-info h2{margin:0 0 5px;color:#5b2d16;font-size:19px}.wam-landing-info p{margin:0;color:#5e554f;font-size:14px;line-height:1.5}.wam-landing-fire{font-size:28px}.wam-public-privacy{margin:24px 0 0;color:#aec4c0;font-size:12px;line-height:1.45}.wam-public-byline{margin:10px 0 0;color:#ffc66e;font-size:12px;font-weight:800}.wam-invite-card{margin-top:clamp(8px,3svh,30px)}.wam-invite-card .wam-mark{margin-left:0}.wam-invite-card h1{font-size:clamp(29px,8vw,44px)}.wam-invite-fire{margin:24px 0 6px;font-size:36px}.wam-invite-card h2{margin:0;color:#ffd08a;font-size:clamp(24px,7vw,34px);line-height:1.1}.wam-invite-about{margin:14px 0 0;color:#d7e5e1;font-size:15px;line-height:1.5}.wam-invite-sent-to{margin:18px 0 0;color:#b9cbc7;font-size:13px}.wam-invite-steps,.wam-invite-form-card{margin-top:20px;padding:18px;color:#342923;background:#f8f1e7;border-radius:22px}.wam-invite-steps ol{margin:10px 0 0;padding-left:20px}.wam-invite-steps li{margin:7px 0;line-height:1.45}.wam-invite-form-card h3{margin:0 0 8px;color:#315f5b;font-size:20px}.wam-invite-form-card p{color:#675d57;line-height:1.45}.wam-invite-form-card label{display:block;margin:14px 0 6px;color:#493b34;font-weight:800}.wam-invite-form-card input[type=text],.wam-invite-form-card input[type=password],.wam-invite-form-card input[type=email],.wam-invite-form-card input[type=search]{width:100%;padding:13px 14px;color:#342923;background:#fff;border:1px solid #d9c8b9;border-radius:13px;font:inherit}.wam-invite-form-card .login-remember label{display:flex;gap:8px;align-items:center}.wam-invite-form-card input[type=checkbox]{width:auto}.wam-invite-form-card .login-submit{margin-bottom:0}@media (min-width:700px){.wam-landing-actions{grid-template-columns:1fr 1fr}}@media (max-width:430px){.wam-public-stage{padding-right:10px;padding-left:10px}.wam-landing-card,.wam-invite-card{padding:24px 18px;border-radius:24px}.wam-mark{width:64px;height:64px;font-size:58px;line-height:62px}}


/* Real web Campfire experience — v0.7.8 */
.wam-webcampfire{
  box-sizing:border-box;
  width:100vw;
  max-width:none;
  min-height:100vh;
  min-height:100svh;
  margin-left:calc(50% - 50vw);
  padding:clamp(14px,2vw,26px);
  color:#f7efe8;
  background:#160a07;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.wam-webcampfire *{box-sizing:border-box}
.wam-webcampfire-header{
  display:flex;
  gap:18px;
  align-items:flex-end;
  justify-content:space-between;
  max-width:1560px;
  margin:0 auto 16px;
  padding:4px 4px 0
}
.wam-webcampfire-kicker{
  margin:0 0 5px;
  color:#e9b06c;
  font-size:12px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase
}
.wam-webcampfire-header h1{
  margin:0;
  color:#fff;
  font-size:clamp(24px,3vw,38px);
  line-height:1.05
}
.wam-webcampfire-about{
  max-width:760px;
  margin:7px 0 0;
  color:#d7c8bc;
  font-size:14px;
  line-height:1.45
}
.wam-webcampfire-live{
  display:inline-flex;
  flex:0 0 auto;
  gap:8px;
  align-items:center;
  padding:9px 14px;
  color:#ffd5a2;
  background:rgba(18,13,11,.72);
  border:1px solid rgba(255,180,91,.48);
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.07em
}
.wam-webcampfire-live span{
  width:9px;height:9px;background:#ef8a2e;border-radius:50%;
  box-shadow:0 0 13px rgba(239,138,46,.9)
}
.wam-webcampfire-grid{
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr);
  gap:18px;
  max-width:1560px;
  margin:0 auto
}
.wam-webcampfire-scene{
  position:relative;
  min-height:560px;
  overflow:hidden;
  background:#03080d;
  border:1px solid rgba(255,255,255,.06);
  border-radius:28px;
  box-shadow:0 24px 70px rgba(0,0,0,.42)
}
.wam-webcampfire-video{
  display:block;
  width:100%;
  height:100%;
  min-height:560px;
  object-fit:cover
}
.wam-webcampfire-scene:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to bottom,transparent 52%,rgba(3,5,7,.18) 70%,rgba(2,2,3,.82) 100%)
}
.wam-webcampfire-seats{
  position:absolute;
  z-index:2;
  right:5%;
  bottom:14px;
  left:5%;
  display:flex;
  gap:10px;
  align-items:flex-end;
  justify-content:space-around
}
.wam-webcampfire-seat{
  display:flex;
  min-width:0;
  flex:1 1 0;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end
}
.wam-webcampfire-silhouette{
  position:relative;
  width:88px;
  height:116px;
  margin-bottom:-6px;
  filter:drop-shadow(0 0 10px rgba(0,0,0,.8))
}
.wam-webcampfire-head{
  position:absolute;
  top:3px;
  left:29px;
  width:32px;
  height:35px;
  background:#020203;
  border-radius:50%
}
.wam-webcampfire-body{
  position:absolute;
  right:10px;
  bottom:0;
  left:10px;
  height:88px;
  background:#020203;
  border-radius:48% 48% 22% 22% / 34% 34% 16% 16%;
  transform:skewX(-4deg)
}
.wam-webcampfire-name{
  max-width:180px;
  padding:8px 13px;
  overflow:hidden;
  color:#fff;
  background:rgba(19,11,8,.78);
  border:1px solid rgba(255,196,126,.48);
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
  backdrop-filter:blur(8px)
}
.wam-webcampfire-name small{
  display:block;
  margin-top:2px;
  color:#f4b46b;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase
}
.wam-webcampfire-more{
  align-self:flex-end;
  margin-bottom:8px;
  padding:9px 12px;
  color:#fff;
  background:rgba(19,11,8,.78);
  border-radius:999px;
  font-size:12px;
  font-weight:800
}
.wam-webcampfire-chat{
  display:flex;
  min-height:560px;
  flex-direction:column;
  margin:0;
  padding:0;
  overflow:hidden;
  color:#342923;
  background:#f7f0e8;
  border:1px solid rgba(255,255,255,.15);
  border-radius:28px;
  box-shadow:0 24px 70px rgba(0,0,0,.25)
}
.wam-webcampfire-chat-header{
  padding:22px 24px 16px;
  border-bottom:1px solid #ded0c2
}
.wam-webcampfire-chat-header h2{margin:0;color:#342923;font-size:28px}
.wam-webcampfire-chat-header p{margin:4px 0 0;color:#806f65}
.wam-webcampfire-chat .wam-chat-messages{
  min-height:0;
  max-height:none;
  flex:1 1 auto;
  margin:0;
  padding:20px 18px;
  background:#f7f0e8;
  border:0;
  border-radius:0
}
.wam-webcampfire-chat .wam-chat-form{
  flex:0 0 auto;
  padding:14px 16px 8px;
  border-top:1px solid #ded0c2
}
.wam-webcampfire-chat .wam-chat-network-status{
  margin:0;
  padding:0 18px 14px
}
.wam-webcampfire-details{
  max-width:1560px;
  margin:18px auto 0;
  padding:14px 18px;
  color:#342923;
  background:#f7f0e8;
  border-radius:18px
}
.wam-webcampfire-details summary{
  cursor:pointer;
  color:#6b3519;
  font-weight:900
}
.wam-webcampfire-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  padding-top:14px
}
.wam-webcampfire-details input{
  box-sizing:border-box;
  width:100%;
  padding:12px;
  border:1px solid #d9c8b9;
  border-radius:12px
}
.wam-webcampfire-back{
  max-width:1560px;
  margin:14px auto 0
}
.wam-webcampfire-back a{color:#f4b46b;font-weight:900;text-decoration:none}

@media (max-width:900px){
  .wam-webcampfire{padding:10px 8px 22px}
  .wam-webcampfire-header{align-items:flex-start}
  .wam-webcampfire-grid{grid-template-columns:1fr}
  .wam-webcampfire-scene,
  .wam-webcampfire-video{min-height:56svh}
  .wam-webcampfire-chat{min-height:54svh}
  .wam-webcampfire-detail-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .wam-webcampfire-header{padding:4px 6px}
  .wam-webcampfire-live{padding:7px 10px;font-size:10px}
  .wam-webcampfire-scene{border-radius:22px}
  .wam-webcampfire-video{min-height:52svh}
  .wam-webcampfire-seats{right:1%;left:1%;gap:2px}
  .wam-webcampfire-silhouette{width:58px;height:82px}
  .wam-webcampfire-head{left:19px;width:22px;height:24px}
  .wam-webcampfire-body{right:7px;left:7px;height:62px}
  .wam-webcampfire-name{
    max-width:105px;
    padding:6px 8px;
    font-size:11px
  }
  .wam-webcampfire-chat{border-radius:22px}
  .wam-webcampfire-chat-header{padding:18px 18px 13px}
  .wam-webcampfire-chat-header h2{font-size:24px}
  .wam-webcampfire-chat .wam-chat-messages{min-height:34svh;padding:14px 10px}
  .wam-webcampfire-chat .wam-chat-form{grid-template-columns:1fr auto;padding:10px}
  .wam-webcampfire-chat .wam-chat-form .wam-button{width:auto;margin-top:0}
}
