/* ============ MISSION CONTROL v7 — Warm Glass shared styles ============ */
:root{
  --bg-1:#1A0F14; --bg-2:#241812;
  --glass:rgba(255,244,230,0.07);
  --glass-hi:rgba(255,244,230,0.10);
  --line:rgba(255,244,230,0.16);
  --ink:#F5EFE6;
  --ink-60:rgba(245,239,230,0.78);
  --ink-40:rgba(245,239,230,0.58);
  --amber:#FFB454; --coral:#FF8A65;
  --live:#7ED9A0; --stuck:#FF7A6B;
  --font-ui:"Segoe UI",system-ui,-apple-system,sans-serif;
  --font-serif:Georgia,"Times New Roman",serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-ui);
  color:var(--ink);
  background:
    radial-gradient(1100px 520px at 50% 46%, rgba(255,164,84,0.10), transparent 65%),
    radial-gradient(700px 300px at 18% 8%, rgba(255,138,101,0.05), transparent 70%),
    linear-gradient(160deg, var(--bg-1) 0%, #20131A 45%, var(--bg-2) 100%);
  min-height:100vh;
  overflow-x:hidden;
}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:5;
  background:radial-gradient(120% 90% at 50% 40%, transparent 62%, rgba(14,7,10,0.5) 100%);}
.shell{max-width:1440px;margin:0 auto;padding:18px 28px 40px;position:relative;z-index:6}
a{color:var(--amber)}
button{font-family:var(--font-ui)}

/* ============ TOP BAR ============ */
.topbar{display:flex;align-items:center;gap:18px;
  background:var(--glass);border:1px solid var(--line);border-radius:18px;
  padding:12px 20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 8px 30px rgba(15,7,10,0.45);}
.wordmark{display:flex;flex-direction:column;gap:1px;white-space:nowrap;text-decoration:none;color:var(--ink)}
.wordmark .wm{font-weight:700;font-size:14px;letter-spacing:0.22em}
.wordmark .wm-sub{font-family:var(--font-serif);font-style:italic;font-size:11px;color:var(--ink-40);letter-spacing:0.02em}
.tb-divider{width:1px;height:30px;background:var(--line)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-width:0}
.tab{font-size:13px;color:var(--ink-60);padding:7px 15px;border-radius:99px;
  border:1px solid transparent;cursor:pointer;background:transparent;
  transition:color .25s,border-color .25s,background .25s;white-space:nowrap;text-decoration:none}
.tab:hover{color:var(--ink);background:rgba(255,244,230,0.05)}
.tab.active{color:#2A160E;font-weight:600;
  background:linear-gradient(120deg,var(--amber),var(--coral));
  border-color:transparent;box-shadow:0 3px 14px rgba(255,150,84,0.35);}
.tb-right{display:flex;align-items:center;gap:10px;white-space:nowrap}
.chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-60);
  background:rgba(255,244,230,0.05);border:1px solid var(--line);border-radius:99px;padding:7px 14px;}
.btn-wake{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink);
  background:rgba(255,244,230,0.07);border:1px solid var(--line);border-radius:99px;
  padding:7px 14px;cursor:pointer;transition:background .25s,border-color .25s;}
.btn-wake:hover{background:rgba(255,244,230,0.13);border-color:rgba(255,244,230,0.3)}
.btn-wake:focus-visible,.tab:focus-visible,.door:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.badge-waiting{font-size:12.5px;font-weight:600;color:#2A160E;cursor:pointer;border:none;
  background:linear-gradient(120deg,var(--amber),var(--coral));
  border-radius:99px;padding:8px 16px;box-shadow:0 3px 16px rgba(255,150,84,0.4);}
.badge-waiting.zero{background:rgba(255,244,230,0.07);color:var(--ink-60);box-shadow:none;border:1px solid var(--line)}

/* room page header strip (back link) */
.roombar{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.backdoor{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-60);
  background:var(--glass);border:1px solid var(--line);border-radius:99px;padding:8px 16px;
  text-decoration:none;transition:background .25s;}
.backdoor:hover{background:var(--glass-hi);color:var(--ink)}

/* ============ DOORS ============ */
.hallway{margin-top:22px}
.hall-label{font-family:var(--font-serif);font-style:italic;font-size:13px;color:var(--ink-40);
  margin:0 6px 10px;display:flex;align-items:center;gap:12px;}
.hall-label::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.doors{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.door{position:relative;background:var(--glass);border:1px solid var(--line);
  border-radius:16px 16px 8px 8px;padding:16px 12px 14px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  text-align:center;cursor:pointer;color:var(--ink);text-decoration:none;display:block;
  transition:transform .3s,box-shadow .3s,border-color .3s,background .3s;overflow:hidden;}
.door::before{content:"";position:absolute;left:15%;right:15%;bottom:0;height:3px;
  background:linear-gradient(90deg,transparent,rgba(255,180,84,0.55),transparent);
  opacity:0;transition:opacity .3s;}
.door:hover{transform:translateY(-4px);background:var(--glass-hi);
  border-color:rgba(255,205,150,0.35);
  box-shadow:0 12px 30px rgba(12,6,9,0.5), 0 0 22px rgba(255,164,84,0.14);}
.door:hover::before{opacity:1}
.door-emoji{font-size:24px;display:block;margin-bottom:8px}
.door-name{display:block;font-size:12.5px;font-weight:600;margin-bottom:3px}
.door-status{display:block;font-size:11px;color:var(--ink-40);line-height:1.35}
.door-enter{display:block;font-size:11px;color:var(--amber);font-weight:600;
  margin-top:7px;opacity:0;transform:translateY(3px);transition:opacity .25s,transform .25s;}
.door:hover .door-enter{opacity:1;transform:none}

/* ============ SHARED BITS ============ */
.glass-panel{background:var(--glass);border:1px solid var(--line);border-radius:18px;
  padding:16px 20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 10px 34px rgba(12,6,9,0.45);}
.btn{font-size:14px;font-weight:600;cursor:pointer;border-radius:99px;padding:12px 24px;
  letter-spacing:0.03em;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;}
.btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.btn-yes{color:#2A160E;border:1px solid transparent;
  background:linear-gradient(120deg,var(--amber),var(--coral));
  box-shadow:0 4px 18px rgba(255,150,84,0.4);}
.btn-yes:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(255,150,84,0.55)}
.btn-no{color:var(--ink);border:1px solid var(--line);background:rgba(255,244,230,0.06);}
.btn-no:hover{background:rgba(255,138,101,0.14);border-color:rgba(255,138,101,0.45)}
.btn-soft{color:var(--ink);border:1px solid var(--line);background:rgba(255,244,230,0.06);font-size:12.5px;padding:9px 16px}
.btn-soft:hover{background:rgba(255,244,230,0.12)}
.btn-go{color:#1D1410;background:var(--live);border:1px solid transparent;font-weight:700}
.btn-go:hover{transform:translateY(-1px)}
.note-input{background:rgba(20,10,14,0.55);border:1px solid var(--line);border-radius:99px;
  padding:11px 18px;color:var(--ink);font-size:13px;font-family:var(--font-ui);min-width:0;}
.note-input::placeholder{color:var(--ink-40);font-style:italic}
.note-input:focus{outline:none;border-color:rgba(255,205,150,0.5)}
.solidchip{background:rgba(48,30,38,0.95);border:1px solid rgba(255,205,150,0.4);border-radius:14px;color:var(--ink)}
.tagpill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-60);
  background:rgba(255,244,230,0.06);border:1px solid var(--line);border-radius:99px;padding:4px 11px;}
.empty-note{font-family:var(--font-serif);font-style:italic;color:var(--ink-40);font-size:13.5px;padding:14px 4px}
.footnote{margin-top:26px;text-align:center;font-family:var(--font-serif);font-style:italic;
  font-size:12.5px;color:var(--ink-40);}

/* toast */
.toastmsg{position:fixed;top:16px;left:50%;transform:translateX(-50%);
  background:rgba(48,30,38,0.97);color:var(--ink);border:1px solid rgba(255,205,150,0.5);
  padding:12px 20px;border-radius:14px;font-size:13.5px;font-weight:600;z-index:99;
  opacity:0;transition:opacity .25s;pointer-events:none;max-width:90vw;text-align:center;
  box-shadow:0 10px 30px rgba(0,0,0,.5);}
.toastmsg.show{opacity:1}

/* chat bubbles (meeting room + anywhere) */
.chatfeed{display:flex;flex-direction:column-reverse;gap:12px;overflow-y:auto;padding:6px 4px}
.crow{display:flex;gap:9px;align-items:flex-end}
.crow.me{flex-direction:row-reverse}
.cav{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;color:#2A160E;flex-shrink:0;border:none;cursor:pointer}
.cbub{max-width:76%;background:rgba(48,30,38,0.92);border:1px solid rgba(255,205,150,0.28);
  border-radius:16px 16px 16px 5px;padding:10px 14px;}
.crow.me .cbub{background:rgba(255,180,84,0.13);border-color:rgba(255,180,84,0.4);border-radius:16px 16px 5px 16px;}
.cwho{font-size:12px;font-weight:800;margin-bottom:2px}
.ctxt{font-size:14px;line-height:1.55;color:var(--ink);white-space:pre-wrap;word-break:break-word}
.cmeta{font-size:10.5px;color:var(--ink-40);margin-top:4px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cseen{color:var(--live);font-weight:700}
.creply{background:none;border:1px solid var(--line);border-radius:99px;color:var(--ink-60);
  font-size:10px;padding:2px 9px;cursor:pointer}
.creply:hover{border-color:rgba(255,205,150,0.5);color:var(--ink)}
.cimg{max-width:100%;max-height:300px;border-radius:10px;margin-top:8px;border:1px solid var(--line);display:block;background:#140a0e;}
.cvid{width:100%;max-width:440px;aspect-ratio:16/9;border:1px solid var(--line);border-radius:10px;margin-top:8px;background:#000;display:block;}
.kdraft{border-color:rgba(255,138,101,0.6)!important}
.kalarm{border-color:rgba(255,122,107,0.7)!important;background:rgba(80,25,25,0.5)!important}

/* scrollbars */
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:rgba(255,244,230,0.14);border-radius:99px}
*::-webkit-scrollbar-thumb:hover{background:rgba(255,244,230,0.24)}

@media (max-width:1100px){.doors{grid-template-columns:repeat(4,1fr)}.wordmark .wm-sub{display:none}}
@media (max-width:820px){
  .shell{padding:12px 14px 30px}
  .topbar{flex-wrap:wrap;gap:10px}
  .doors{grid-template-columns:repeat(2,1fr)}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
