:root{
  --paper:#090909; --ink:#f5f1e8; --muted:#b8b2a6; --line:rgba(245,241,232,.22);
  --card:#11110f; --soft:rgba(255,255,255,.035); --accent:#d7b56d; --danger:#ffb4a8;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Times New Roman",serif}
body{min-height:100vh}
[hidden]{display:none!important}
a{color:inherit}
.shell{width:min(920px,calc(100% - 40px));margin:0 auto;padding:24px 0 72px}
.top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px}
.brand{font:700 12px/1 Arial,sans-serif;letter-spacing:.22em}
.back{font:700 11px/1 Arial,sans-serif;letter-spacing:.09em;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}
.stage{min-height:calc(100svh - 120px);display:flex;flex-direction:column;justify-content:center}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,5vw,44px);box-shadow:0 28px 80px rgba(0,0,0,.35)}
.kicker{font:700 10px/1.2 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
h1{font-size:clamp(42px,8vw,76px);line-height:1;letter-spacing:-.04em;margin:0 0 24px;max-width:12ch}
h2{font-size:clamp(31px,5vw,44px);line-height:1.08;letter-spacing:-.025em;margin:0 0 25px}
.lead{font-size:clamp(19px,3vw,25px);line-height:1.48;max-width:34ch;margin:0 0 28px}
.quiet{font:14px/1.6 Arial,sans-serif;color:var(--muted);max-width:60ch}
.progress{display:flex;gap:7px;margin:0 0 30px}
.progress i{height:2px;background:rgba(245,241,232,.16);flex:1}
.progress i.on{background:var(--accent)}
.step{display:none;min-height:520px;align-content:start}
.step.active{display:grid}
.copy-object{position:relative;padding:34px 28px 31px;margin:4px 0 27px;min-height:180px;border:1px solid var(--line);background:#0d0d0c;overflow:hidden}
.copy-object:before,.copy-object:after{display:none}
.copy-title{position:relative;z-index:2;font-size:clamp(31px,6vw,56px);line-height:1.02;letter-spacing:-.03em}
.copy-sub{position:relative;z-index:2;margin-top:12px;font:700 10px/1.5 Arial,sans-serif;letter-spacing:.16em;color:var(--muted)}
.field{margin-bottom:25px}
label{display:block;font:700 12px/1.3 Arial,sans-serif;letter-spacing:.045em;margin-bottom:8px}
input,textarea,select{width:100%;border:1px solid rgba(245,241,232,.34);border-radius:10px;background:#0b0b0a;padding:13px 14px;font:20px/1.35 Georgia,serif;color:var(--ink);outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(215,181,109,.14)}
input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"]{border-color:var(--danger)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:31px}
button,.btn{appearance:none;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:#090909;padding:14px 22px;min-height:48px;font:700 12px/1 Arial,sans-serif;letter-spacing:.055em;cursor:pointer;text-decoration:none}
button.secondary,.btn.secondary{background:transparent;color:var(--ink);border-color:var(--line)}
button:disabled{opacity:.45;cursor:not-allowed}
.promise{display:flex;gap:12px;align-items:flex-start;font:16px/1.5 Georgia,serif;margin-top:20px}
.promise input{width:21px;height:21px;margin-top:1px;accent-color:var(--accent);flex:0 0 auto}
.error{display:none;margin-top:15px;padding:12px 14px;border:1px solid var(--danger);border-radius:10px;color:#ffd9d2;font:13px/1.45 Arial,sans-serif;background:rgba(255,180,168,.06)}
.error.show{display:block}
.om-inline-error{margin:.45rem 0 0;color:#ffd9d2;font:13px/1.45 Arial,sans-serif;border-left:2px solid var(--danger);padding-left:.7rem}
.confirmation-book{width:min(360px,78vw);margin:0 auto 28px}
.confirmation-book img{display:block;width:100%;height:auto;filter:drop-shadow(0 26px 48px rgba(0,0,0,.45))}
.confirmation-copy{width:min(720px,100%)}
.status-artifact{border:1px solid var(--line);border-radius:18px;padding:28px;margin:20px 0;background:#10100f;position:relative;overflow:hidden}
.state-line{display:flex;align-items:center;gap:11px;font:700 12px/1.3 Arial,sans-serif;letter-spacing:.06em}
.dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:24px}
.timeline div{padding-top:9px;border-top:1px solid var(--line);font:10px/1.35 Arial,sans-serif;color:var(--muted)}
.timeline div.on{border-top-color:var(--accent);color:var(--ink);font-weight:700}
.admin-table{overflow:auto;border:1px solid var(--line);border-radius:15px}
table{width:100%;border-collapse:collapse;font:12px/1.4 Arial,sans-serif}
th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:top}
th{font-weight:700;background:#111}
.otherwise-authorship{margin:2.4rem auto 1rem;padding:.8rem 1rem;text-align:center;font-size:.78rem;letter-spacing:.08em;color:var(--muted)}

/* RIYA CUMULATIVE QA HARDENING 2026-09-08
   Survives later theme layers by using explicit high-contrast values + !important. */
html,body,.shell,.stage,.card,#intro,#flow,#confirmation{background-color:#090909!important;color:#f5f1e8!important}
#intro,.card,#confirmation{background:#11110f!important}
.top,.top .brand,.top .back,#intro h1,#intro h2,#intro h3,#intro p,#intro span,#intro strong,#intro a,#flow h1,#flow h2,#flow h3,#flow p,#flow span,#flow strong,#flow a,#flow label,#confirmation h1,#confirmation h2,#confirmation p,#confirmation span,#confirmation strong,#confirmation a{color:#f5f1e8!important;-webkit-text-fill-color:#f5f1e8!important;opacity:1!important}
#intro .lead,#intro .arc-definition,#intro .quiet,#intro .kicker,#flow .quiet,#flow .microcopy,#flow .requestNotice,#flow .flowBeat span,#flow .copy-sub,#confirmation .quiet,.otherwise-authorship{color:#d4ccbf!important;-webkit-text-fill-color:#d4ccbf!important;opacity:1!important}
#flow input,#flow textarea,#flow select,input,textarea,select{background:#171613!important;color:#fffaf0!important;-webkit-text-fill-color:#fffaf0!important;opacity:1!important;border-color:rgba(245,241,232,.5)!important}
#flow input::placeholder,#flow textarea::placeholder,input::placeholder,textarea::placeholder{color:#cfc6b8!important;-webkit-text-fill-color:#cfc6b8!important;opacity:1!important}
.back,.top a,.footerLinks a,.arc-legal a{color:#f5f1e8!important;-webkit-text-fill-color:#f5f1e8!important;opacity:1!important}
.back,.top a,.footerLinks a,.arc-legal a{min-width:44px!important;min-height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:8px 6px!important}
button,.btn{min-height:48px!important}

/* Pre-read premise referral: single-person encounter prompt. */
#premiseReferral h3{font-size:0!important;line-height:1.15!important}
#premiseReferral h3::before{content:"Who is the one person you think should encounter OTHERWISE before it becomes final?";display:block;font:400 clamp(22px,3vw,30px)/1.15 Georgia,"Times New Roman",serif;letter-spacing:normal;color:#f5f1e8;-webkit-text-fill-color:#f5f1e8}

@media(max-width:620px){
  .shell{width:min(100% - 24px,920px);padding-top:18px}
  .top{margin-bottom:18px}
  .stage{min-height:calc(100svh - 90px);justify-content:flex-start;padding-top:24px}
  .step{min-height:calc(100svh - 150px)}
  .grid2{grid-template-columns:1fr;gap:0}
  .card{border-radius:14px;padding:22px 18px}
  input,textarea,select{font-size:19px}
  .timeline{grid-template-columns:1fr 1fr}
  #flow .actions{position:sticky;bottom:0;padding:14px 0 8px;background:linear-gradient(transparent 0,#11110f 24%)}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.promise{min-height:48px;padding:10px 0}.promise label{display:flex;align-items:flex-start;gap:12px;min-height:44px;cursor:pointer}.promise input[type=checkbox]{width:24px!important;height:24px!important;min-width:24px;margin-top:1px}.arc-legal a{min-height:44px!important;display:inline-flex!important;align-items:center!important;padding:6px!important}
