/* Portable draft tokens. Scope to the OverText gate and page only. */
.overtext-theme {
  color-scheme: dark;
  --ot-background: #101918;
  --ot-deep: #061c18;
  --ot-surface: #1a2826;
  --ot-primary: #a8edcd;
  --ot-on-primary: #073829;
  --ot-secondary: #adcbc1;
  --ot-text: #eef7f3; /* Proposed website text color. */
  --ot-border: #35534a; /* Proposed website divider color. */
  --ot-listening: #165c36;
  --ot-on-listening: #e4ffec;
  --ot-receiving: #d8b8ff;
  --ot-on-receiving: #25123f;
  --ot-recording: #efac78;
  --ot-error: #ffb4a9;
  --ot-content-width: 75rem;
  --ot-prose-width: 65ch;
  --ot-panel-radius: 1.25rem;
  background-color: var(--ot-background);
  color: var(--ot-text);
}
.overtext-theme { margin:0; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.65; }
.overtext-theme * { box-sizing:border-box; }
.overtext-theme a { color:var(--ot-primary); text-underline-offset:5px; }
.overtext-theme button,.overtext-theme input { font:inherit; }
.overtext-theme button,.overtext-theme a { -webkit-tap-highlight-color:transparent; }
.overtext-theme :focus-visible { outline:3px solid var(--ot-primary); outline-offset:5px; }
.overtext-theme h1,.overtext-theme h2,.overtext-theme h3,.overtext-theme p { margin:0 0 1rem; }
.overtext-theme h1,.overtext-theme h2,.overtext-theme h3 { line-height:1.13; letter-spacing:-.035em; }
.overtext-theme h1 { font-size:clamp(2.8rem,5.3vw,4.6rem); font-weight:650; }
.overtext-theme h2 { font-size:clamp(2rem,3.3vw,2.9rem); font-weight:550; }
.overtext-theme h3 { font-size:1.4rem; font-weight:600; }
.overtext-theme p { max-width:65ch; color:var(--ot-secondary); }
.overtext-theme em { font-style:normal; color:var(--ot-primary); }
.overtext-theme .ot-wrap { width:min(1200px,calc(100% - 96px)); margin-inline:auto; }
.overtext-theme .ot-header { padding:27px 48px; display:flex; justify-content:space-between; gap:24px; align-items:center; border-bottom:1px solid var(--ot-border); font-size:.78rem; letter-spacing:.12em; }
.overtext-theme .ot-header>a { color:var(--ot-text); font-weight:750; text-decoration:none; }
.overtext-theme .ot-header span { color:var(--ot-secondary); font-weight:400; margin-left:12px; }
.overtext-theme nav { display:flex; gap:28px; align-items:center; letter-spacing:0; font-size:.88rem; }
.overtext-theme nav a { text-decoration:none; }
.overtext-theme form { margin:0; }
.overtext-theme .ot-lock { color:var(--ot-secondary); background:none; border:0; padding:10px 0; cursor:pointer; text-decoration:underline; text-underline-offset:5px; }
.overtext-theme .ot-hero { background:var(--ot-deep) url('/assets/overtext/desktop.webp') center/cover no-repeat; }
.overtext-theme .ot-hero-grid { display:grid; grid-template-columns:1.6fr 1fr; align-items:center; gap:60px; padding-block:100px 90px; }
.overtext-theme .ot-eyebrow { font-size:.7rem; letter-spacing:.18em; color:var(--ot-primary); font-weight:650; margin-bottom:24px; }
.overtext-theme .ot-intro { max-width:52ch; font-size:1.06rem; margin-block:28px; }
.overtext-theme .ot-status { display:flex; gap:18px; align-items:center; flex-wrap:wrap; font-size:.73rem; color:var(--ot-secondary); }
.overtext-theme .ot-status>span:first-child { color:var(--ot-primary); border:1px solid var(--ot-border); border-radius:30px; padding:5px 12px; background:var(--ot-deep); }
.overtext-theme .ot-actions { display:flex; gap:12px; flex-wrap:wrap; margin-block:28px 18px; }
.overtext-theme .ot-unavailable { display:inline-flex; align-items:center; min-height:48px; padding:12px 17px; border:1px dashed #527769; border-radius:8px; color:#bfd2ca; background:#101e1a; font-size:.84rem; }
.overtext-theme .ot-progress-link { font-size:.85rem; display:inline-block; padding:10px 0; }
.overtext-theme .ot-progress-link span { margin-left:20px; }
.overtext-theme .ot-identity { margin:0; text-align:center; }
.overtext-theme .ot-identity img { width:100%; max-width:340px; height:auto; border-radius:24px; box-shadow:0 15px 70px #02100cb3; }
.overtext-theme figcaption { font-size:1.2rem; font-weight:700; letter-spacing:.22em; margin-top:24px; }
.overtext-theme figcaption span { display:block; font-size:.55rem; letter-spacing:.13em; font-weight:400; margin-top:9px; color:var(--ot-secondary); }
.overtext-theme .ot-section { padding-block:80px; border-bottom:1px solid var(--ot-border); scroll-margin-top:24px; }
.overtext-theme .ot-section-heading { max-width:720px; margin-bottom:40px; }
.overtext-theme .ot-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.overtext-theme .ot-steps article { border-top:1px solid var(--ot-border); padding-top:24px; }
.overtext-theme .ot-steps article>span { display:block; font-size:.68rem; letter-spacing:.12em; color:var(--ot-primary); margin-bottom:24px; }
.overtext-theme .ot-philosophy { display:grid; grid-template-columns:1fr 1.2fr; gap:80px; }
.overtext-theme .ot-lead { font-size:1.25rem; color:var(--ot-text); }
.overtext-theme .ot-draft { font-size:.85rem; }
.overtext-theme .ot-principles { padding-left:20px; color:var(--ot-secondary); }
.overtext-theme .ot-principles li { margin-block:10px; padding-left:5px; }
.overtext-theme .ot-focus { background:var(--ot-surface); padding:24px 30px; border-left:2px solid var(--ot-primary); border-radius:0 16px 16px 0; }
.overtext-theme .ot-focus p { margin:10px 0 0; }
.overtext-theme .ot-journal article { display:grid; grid-template-columns:180px 1fr; gap:35px; padding:36px 0; border-bottom:1px solid var(--ot-border); }
.overtext-theme .ot-journal article:last-child { border:0; padding-bottom:0; }
.overtext-theme .ot-entry-meta { font-size:.78rem; color:var(--ot-secondary); }
.overtext-theme .ot-entry-meta span { display:block; color:var(--ot-primary); margin-top:10px; }
.overtext-theme .ot-verification,.overtext-theme .ot-feedback { font-size:.9rem; }
.overtext-theme strong { color:var(--ot-text); font-weight:600; }
.overtext-theme .ot-verification strong,.overtext-theme .ot-feedback strong { margin-right:8px; }
.overtext-theme .ot-testing ol { padding-left:23px; color:var(--ot-secondary); }
.overtext-theme .ot-testing li { padding-left:10px; margin-bottom:12px; }
.overtext-theme .ot-note { font-size:.8rem; margin-top:22px; }
.overtext-theme .ot-footer { display:flex; justify-content:space-between; align-items:center; gap:25px; padding-block:35px; font-size:.82rem; }
.overtext-theme .ot-footer p { margin:4px 0 0; font-size:.72rem; }
.overtext-theme .ot-footer strong span { font-weight:400; color:var(--ot-secondary); }
.overtext-theme .ot-button { border:0; border-radius:8px; background:var(--ot-primary); color:var(--ot-on-primary); font-weight:650; min-height:48px; padding:12px 20px; display:inline-flex; gap:20px; align-items:center; justify-content:center; text-decoration:none; cursor:pointer; }
.overtext-theme .ot-button:disabled { opacity:.6; cursor:default; }
.overtext-theme .ot-secondary { background:var(--ot-surface); color:var(--ot-primary); border:1px solid var(--ot-border); }
.overtext-theme.ot-access { min-height:100svh; background:var(--ot-deep) url('/assets/overtext/desktop.webp') center/cover no-repeat; display:flex; flex-direction:column; }
.overtext-theme .ot-gate { flex:1; display:grid; place-items:center; padding:50px 24px; }
.overtext-theme .ot-gate-panel { background:#101c19f5; border:1px solid var(--ot-border); border-radius:24px; width:min(460px,100%); padding:38px; box-shadow:0 24px 90px #0004; }
.overtext-theme .ot-gate-panel>img { width:80px; height:80px; border-radius:16px; margin-bottom:24px; }
.overtext-theme .ot-gate-panel h1 { font-size:2.8rem; }
.overtext-theme .ot-gate-panel .ot-eyebrow { margin-bottom:10px; }
.overtext-theme .ot-gate-panel form { margin-top:30px; }
.overtext-theme label { display:block; margin-bottom:8px; font-size:.9rem; }
.overtext-theme .ot-password { display:flex; border:1px solid #638679; border-radius:8px; background:var(--ot-deep); }
.overtext-theme input { min-width:0; width:100%; border:0; color:var(--ot-text); background:transparent; padding:12px; border-radius:8px; }
.overtext-theme .ot-reveal { border:0; background:transparent; color:var(--ot-primary); padding:12px; cursor:pointer; }
.overtext-theme .ot-message { font-size:.85rem; color:var(--ot-error); margin:10px 0; }
.overtext-theme .ot-gate-panel .ot-button { width:100%; justify-content:space-between; }
.overtext-theme .ot-access-footer { text-align:center; padding:0 24px 30px; font-size:.85rem; }
.overtext-theme .ot-skip { position:absolute; left:20px; top:-100px; padding:12px; z-index:5; background:var(--ot-deep); }
.overtext-theme .ot-skip:focus { top:12px; }
@media(max-width:900px) { .overtext-theme .ot-wrap { width:calc(100% - 48px); } .overtext-theme .ot-hero-grid { gap:28px; padding-block:65px; } .overtext-theme .ot-philosophy { gap:35px; } .overtext-theme .ot-header { padding:20px 24px; } .overtext-theme .ot-steps { gap:24px; } }
@media(max-width:620px) { .overtext-theme .ot-header { align-items:flex-start; flex-wrap:wrap; gap:10px; } .overtext-theme .ot-header nav { width:100%; justify-content:space-between; gap:12px; } .overtext-theme .ot-header>span { font-size:.6rem; margin:0; } .overtext-theme .ot-hero,.overtext-theme.ot-access { background-image:url('/assets/overtext/mobile.webp'); } .overtext-theme .ot-hero-grid,.overtext-theme .ot-steps,.overtext-theme .ot-philosophy { grid-template-columns:1fr; } .overtext-theme .ot-hero-grid { padding-block:50px; gap:45px; } .overtext-theme .ot-identity img { max-width:220px; } .overtext-theme .ot-section { padding-block:50px; } .overtext-theme .ot-journal article { grid-template-columns:1fr; gap:16px; } .overtext-theme .ot-entry-meta { display:flex; gap:20px; } .overtext-theme .ot-entry-meta span { margin:0; } .overtext-theme .ot-footer { align-items:flex-start; flex-wrap:wrap; } .overtext-theme .ot-gate-panel { padding:28px; } .overtext-theme .ot-gate { padding:30px 20px; } }
@media(prefers-reduced-motion:reduce) { .overtext-theme * { scroll-behavior:auto; } }

.overtext-theme .ot-dashboard-artwork { margin:clamp(32px,5vw,64px) 0 0; }
.overtext-theme .ot-dashboard-artwork img { display:block; width:100%; height:auto; object-fit:contain; border:1px solid var(--ot-border); border-radius:var(--ot-panel-radius); }

.overtext-theme .ot-faq details { border-top:1px solid var(--ot-border); scroll-margin-top:24px; }
.overtext-theme .ot-faq details:last-child { border-bottom:1px solid var(--ot-border); }
.overtext-theme .ot-faq summary { cursor:pointer; padding:22px 8px; font-size:clamp(1rem,2vw,1.2rem); font-weight:600; line-height:1.5; color:var(--ot-text); }
.overtext-theme .ot-faq summary::marker { color:var(--ot-primary); }
.overtext-theme .ot-faq details[open] summary { color:var(--ot-primary); }
.overtext-theme .ot-faq-answer { padding:0 8px 18px; max-width:70ch; }
.overtext-theme .ot-header nav { flex-wrap:wrap; }
