/* Room Two signed-in theme. Generated by tools/gen_theme.py from the page
   styles; applied only when html has .rt-app (a signed-in session is present).
   Matches app.getroomtwo.com: near black ground, brass accent, Newsreader and
   Inter. Public pages never load a session, so they never get this class. */
html.rt-app{
  --black:#0B0F0E; --char:#0D1210;
  --ink:#FAF8F5; --ink-soft:#D9D3C8; --muted:#AFA99D; --faint:#8A857B;
  --ivory:#0D1210; --tint:#161D1B; --line:#222A28; --hair:#1A2120;
  --accent:#AE8D5B; --a:#AE8D5B; --brass:#AE8D5B; --brass-deep:#9A7845;
  --on-dark:#1B3630; --on-dark-soft:rgba(250,248,245,.62); --on-dark-faint:rgba(250,248,245,.34);
  color-scheme:dark;
}
html.rt-app body{background:#0B0F0E; color:#FAF8F5}
html.rt-app ::selection{background:rgba(174,141,91,.3); color:#FAF8F5}
/* Client-facing previews keep the light page clients actually see. */
html.rt-app .pgprev, html.rt-app .pv-wrap, html.rt-app .pv{
  --ink:#14171A; --ink-soft:#464B51; --muted:#5A6067; --faint:#696F76;
  --ivory:#FBF9F5; --tint:#F5F1E9; --line:#E1DACE; --hair:#EAE4D9;
  --accent:#1D3A33; --on-dark:#EDF1EF; color-scheme:light;
}
html.rt-app .pv-label{color:#AFA99D}

/* ── page rules, dark values ── */
html.rt-app .inp, html.rt-app select.inp, html.rt-app textarea.inp{background-color:#111715}
html.rt-app .inp:focus{box-shadow:0 0 0 3px rgba(174,141,91,.09)}
html.rt-app .inp::placeholder{color:#6E7672}
html.rt-app .upthumb{background-color:#111715}
html.rt-app .sw span{background-color:#2E3633}
html.rt-app .sw span::after{background-color:#FAF8F5}
html.rt-app .sw input:focus-visible + span{box-shadow:0 0 0 3px rgba(174,141,91,.2)}
html.rt-app .savebar{background-color:rgba(13,18,16,.94)}
html.rt-app .tmpl span{background-color:#111715}
html.rt-app .xbtn{background-color:#111715}
html.rt-app .xbtn:hover{color:#E3A9A0}
html.rt-app .linkbox{background-color:#111715}
html.rt-app .pubbar{background-color:rgba(13,18,16,.95)}
html.rt-app .msg-box{background-color:#111715}
html.rt-app .consent input{background-color:#111715}
html.rt-app .consent input:checked::after{border:solid #1B3630}
html.rt-app .rec-btn{color:#1B3630}
html.rt-app .rec-btn:hover:not([disabled]){box-shadow:0 14px 34px -14px rgba(174,141,91,.65)}
html.rt-app .warn{background-color:rgba(155,74,60,.16); border:1px solid rgba(155,74,60,.45); color:#E3A9A0}
html.rt-app .chip{background-color:#111715}
html.rt-app .chip.on{color:#1B3630}
html.rt-app .todo input{background-color:#111715}
html.rt-app .todo input:checked::after{border:solid #1B3630}
html.rt-app .tx-full mark{background-color:rgba(174,141,91,.12)}
html.rt-app .mini-btn{background-color:#111715}
html.rt-app .mini-btn.p{color:#1B3630}
html.rt-app .mini-btn.p:hover{color:#1B3630}
html.rt-app .mini-btn.d:hover{color:#E3A9A0}
html.rt-app .pair .x{background-color:#111715}
html.rt-app .pair .x:hover{color:#E3A9A0}
html.rt-app .pair .x, html.rt-app .pair .polish{background-color:#111715}
html.rt-app .frow .x{background-color:#111715}
html.rt-app .frow .x:hover{color:#E3A9A0}
html.rt-app .tx-seg:hover{background-color:rgba(174,141,91,.12)}
html.rt-app .tx-seg.now{background-color:rgba(174,141,91,.2)}
html.rt-app .pg-confirm{background-color:rgba(155,74,60,.16); border:1px solid rgba(155,74,60,.45)}
html.rt-app .pg-warn{color:#E3A9A0}
html.rt-app .pg-confirm label{color:#E3A9A0}
html.rt-app .pg-confirm-row .go{color:#E3A9A0}
html.rt-app .pg-acts button.danger:hover{color:#E3A9A0}
html.rt-app .pg-tag.revoked, html.rt-app .pg-tag.expired{color:#E3A9A0}
html.rt-app .tx-w:hover{background-color:rgba(174,141,91,.2); box-shadow:0 0 0 2px rgba(174,141,91,.2)}
html.rt-app .tx-w.now{background-color:rgba(174,141,91,.3); box-shadow:0 0 0 2px rgba(174,141,91,.3)}
html.rt-app .logo-rule{background-color:rgba(155,74,60,.16); border:1px solid rgba(155,74,60,.45); color:#E3A9A0}
html.rt-app .pair .src{background-color:rgba(255,255,255,.025)}
html.rt-app .lib-search{background-color:#111715}
html.rt-app .lib-search:focus{box-shadow:0 0 0 3px rgba(174,141,91,.09)}
html.rt-app .hint.warn{color:#E3A9A0}
html.rt-app .rec-btn{background-color:#111715}
html.rt-app .af-drop:hover, html.rt-app .af-drop.over{background-color:rgba(255,255,255,.02)}
html.rt-app .af-msg.warn{color:#E3A9A0}
html.rt-app .af-c.on{background-color:rgba(255,255,255,.02)}
html.rt-app .af-src{background-color:rgba(255,255,255,.025)}
html.rt-app .fromrec .fr-x:hover{background-color:rgba(255,255,255,.05)}

/* ── Signed-in top bar, the same as app.getroomtwo.com ─────────────────── */
html.rt-app .app-bar{display:none !important}
html.rt-app body{font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}
html.rt-app body::after{content:''; position:fixed; inset:0; pointer-events:none; opacity:.04; z-index:50;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.r2s-topw{position:sticky; top:0; z-index:40; border-bottom:1px solid #222A28; background:rgba(11,15,14,.95);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px)}
.r2s-top{max-width:64rem; margin:0 auto; display:flex; align-items:center; justify-content:space-between;
  height:56px; padding:0 16px; font-family:"Inter", sans-serif; box-sizing:border-box}
@media (min-width:640px){ .r2s-top{height:64px; padding:0 32px} }
.r2s-brand{display:flex; align-items:center; gap:10px; min-width:0; text-decoration:none}
.r2s-brand img{height:28px; width:auto; opacity:.9; flex:none}
.r2s-bn{font-family:"Newsreader", serif; font-size:21px; line-height:1; color:#FAF8F5; letter-spacing:-.02em}
.r2s-nav{display:none; align-items:center; gap:4px}
@media (min-width:640px){ .r2s-nav{display:flex} }
.r2s-nav-i{display:flex; align-items:center; min-height:44px; padding:0 12px; border:0; border-bottom:2px solid transparent;
  background:none; cursor:pointer; font:inherit; font-size:13px; font-weight:500; color:#AFA99D; text-decoration:none;
  position:relative; transition:color .15s ease; box-sizing:border-box}
.r2s-nav-i:hover{color:#FAF8F5}
.r2s-nav-i.on{border-bottom-color:#AE8D5B; color:#AE8D5B}
.r2s-nav-i:focus-visible{outline:2px solid #AE8D5B; outline-offset:2px}
.r2s-right{display:flex; align-items:center; gap:4px}
.r2s-out{display:none}
@media (min-width:640px){ .r2s-out{display:flex} }
.r2s-owner[hidden]{display:none}
.r2s-icon{padding:0 10px; border-bottom:0}
/* Phone: bottom nav, the same four places as the app. */
.r2s-bottom{position:fixed; left:0; right:0; bottom:0; z-index:40; display:grid; grid-template-columns:repeat(5,1fr);
  height:64px; border-top:1px solid #222A28; background:#0B0F0E; font-family:"Inter", sans-serif;
  padding-bottom:env(safe-area-inset-bottom)}
@media (min-width:640px){ .r2s-bottom{display:none} }
html.rt-app body{padding-bottom:72px}
@media (min-width:640px){ html.rt-app body{padding-bottom:0} }
.r2s-b{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; font-size:11px; font-weight:500;
  color:#AFA99D; text-decoration:none}
.r2s-b.on{color:#AE8D5B}
.r2s-badge{position:absolute; right:-2px; top:-2px; min-width:17px; padding:0 4px; background:#AE8D5B; color:#1B3630;
  font-size:9px; font-weight:700; line-height:17px; text-align:center}
.r2s-badge[hidden]{display:none}
.r2s-bellw{position:relative}
.r2s-drop{position:absolute; right:0; top:100%; margin-top:8px; width:min(92vw,380px); z-index:60;
  background:#0D1210; border:1px solid #222A28; box-shadow:0 25px 50px -12px rgba(0,0,0,.6); text-transform:none; letter-spacing:0}
.r2s-drop[hidden]{display:none}
.r2s-drop-h{display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #222A28; padding:12px 16px}
.r2s-drop-h span{font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.2em; color:#AE8D5B}
.r2s-drop-h button{background:none; border:0; cursor:pointer; font:inherit; font-size:10px; font-weight:600;
  text-transform:uppercase; letter-spacing:.12em; color:#AFA99D}
.r2s-drop-h button:hover{color:#FAF8F5}
.r2s-drop-l{max-height:60vh; overflow-y:auto}
.r2s-drop-e{padding:20px; margin:0; font-family:"Newsreader", serif; font-style:italic; font-size:17px; color:#AFA99D}
.r2s-drop-e.r2s-err{font-family:"Inter", sans-serif; font-style:normal; font-size:13px; color:#E3A9A0; padding:12px 16px; border-bottom:1px solid #222A28}
.r2s-it{border-bottom:1px solid #222A28}
.r2s-it:last-child{border-bottom:0}
.r2s-it.unread{background:rgba(174,141,91,.05)}
.r2s-it-b{display:flex; gap:12px; width:100%; text-align:left; background:none; border:0; cursor:pointer; padding:16px; font:inherit; color:#AFA99D}
.r2s-it-b:hover{background:#161D1B}
.r2s-it.unread .r2s-it-b > svg{color:#AE8D5B}
.r2s-it-b > svg{flex:none; margin-top:2px}
.r2s-it-t{min-width:0; display:block}
.r2s-it-h{display:block; font-size:14px; font-weight:500; color:#FAF8F5; line-height:1.4}
.r2s-it-s{display:block; margin-top:4px; font-family:"Newsreader", serif; font-style:italic; font-size:15px; color:#AFA99D;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.r2s-it-d{display:block; margin-top:4px; font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:#AFA99D}
.r2s-it-a{padding:0 16px 16px 44px}
.r2s-cal{display:inline-flex; align-items:center; gap:8px; border:1px solid #AE8D5B; background:#AE8D5B; color:#1B3630;
  padding:8px 12px; cursor:pointer; font:inherit; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.12em}
.r2s-cal:hover{opacity:.9}

/* ── Account page: the sidebar becomes a row of section links ─────────── */
html.rt-app .shell{max-width:64rem; padding-left:32px; padding-right:32px; grid-template-columns:minmax(0,1fr) 340px}
@media (max-width:1180px){ html.rt-app .shell{grid-template-columns:minmax(0,1fr)} }
@media (max-width:820px){ html.rt-app .shell{padding-left:20px; padding-right:20px} }
html.rt-app nav.side.r2s-sections{grid-column:1 / -1; position:sticky; top:0; z-index:20; flex-direction:row; flex-wrap:nowrap;
  overflow-x:auto; gap:4px; padding:10px 0; margin:0; background:#0B0F0E; border-bottom:1px solid #222A28}
html.rt-app nav.side.r2s-sections a{padding:8px 12px; font-size:12.5px; white-space:nowrap; border:1px solid transparent; border-radius:0}
html.rt-app nav.side.r2s-sections a.on{background:rgba(174,141,91,.1); border-color:rgba(174,141,91,.5); color:#AE8D5B; font-weight:500}
html.rt-app nav.side.r2s-sections a.r2s-moved,
html.rt-app nav.side.r2s-sections .sep{display:none !important}
html.rt-app nav.side.r2s-sections a.r2s-new{order:-1; background:#AE8D5B !important; color:#1B3630 !important;
  font-weight:600; margin:0 8px 0 0 !important; text-transform:uppercase; letter-spacing:.08em; font-size:11px}

/* Square corners, as in the app */
html.rt-app .card, html.rt-app .inp, html.rt-app .btn, html.rt-app .xbtn, html.rt-app .chip,
html.rt-app .mini-btn, html.rt-app .linkbox, html.rt-app .msg-box, html.rt-app .warn{border-radius:0}
html.rt-app .app-legal{max-width:64rem; margin-left:auto; margin-right:auto}

/* Dropdowns and expandables show a chevron when closed, in the app's brass. */
html.rt-app select.inp{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23AE8D5B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
html.rt-app select.inp option{background:#0D1210; color:#FAF8F5}

/* The classic Record page hands signed-in agents to the app's recorder. */
html.rt-go body{visibility:hidden}

/* The pages set --a to the agent's page accent inline for their old mock
   previews. In the dark app UI that made links and toggles dark on dark.
   The real previews are iframes now, so the UI keeps the app's brass. */
html.rt-app{--a:#AE8D5B !important}
