/* Primatika theme. Tokens shared with the author's Primakov seating app.
   Base component layout stays in style.css; this file owns the visual identity. */
:root {
  --accent:#a32e0b; --accent-hover:#812408; --accent-soft:#f4e7e2;
  --ink:#212529; --muted:#686a70; --paper:#f4f4f5; --white:#fff;
  --line:#e0e0e4; --dark:#292a2e; --red:#a32e0b; --lime:#edd4cc;
  --radius:12px; --shadow:0 6px 24px #21252904;
  --heading:Georgia,"Times New Roman",serif;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
[hidden]{display:none!important}
button:disabled{cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
h1,h2{font-family:var(--heading);font-weight:400;line-height:1.1;letter-spacing:-.04em}
h3{font-weight:600;line-height:1.3;letter-spacing:-.025em}
summary{cursor:pointer;font-weight:600}
.skip-link{position:fixed;top:-100px;left:20px;z-index:200;padding:10px 16px;background:white;border:2px solid var(--accent)}
.skip-link:focus{top:12px}
.topbar{height:auto;min-height:92px;border-top:4px solid var(--accent);gap:20px;padding:16px 4vw}
.brand{gap:13px;flex-shrink:0}
.brand-icon{width:44px;height:44px;border-radius:7px;background:var(--accent);color:white;font:600 30px/1 var(--heading);padding:0}
.brand b{font:400 29px/1.12 var(--heading);letter-spacing:-.055em}
.brand-dot{color:var(--accent)}
.brand small{display:block;margin-top:5px;font-size:9px;letter-spacing:.16em;font-weight:600}
#top-tools{gap:9px;flex-wrap:wrap;justify-content:flex-end}
.pill{font-size:12px;border-radius:6px;padding:6px 10px;line-height:1.4}
.pill.green,.pill.lime{background:var(--accent-soft);color:var(--accent)}
.eyebrow{font-size:11px;font-weight:650;letter-spacing:.13em;color:var(--accent);line-height:1.6}
.lead{font-size:22px;line-height:1.5;color:var(--ink)}
.primary,.secondary,.quiet,.danger{border:1px solid transparent;border-radius:7px;font-size:14px;padding:12px 18px;line-height:1.35;transition:background .15s,border-color .15s}
.primary{background:var(--accent);border-color:var(--accent)}
.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.primary.lime{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-soft)}
.primary.lime:hover{background:#edd4cc}
.secondary{border-color:var(--line)}
.secondary:hover{background:#f1f1f3;border-color:#c9c9cf}
.quiet{background:#ececef}.quiet:hover{background:#e3e3e7}
.danger{background:#f9eae4}
.text-link{text-decoration-color:#bcbcc3;text-underline-offset:5px}
.text-link:hover{color:var(--accent);text-decoration-color:var(--accent)}
input,textarea,select{border-color:#d5d6da;border-radius:7px;padding:13px 14px}
input::placeholder,textarea::placeholder{color:#787980;opacity:1}
.field-label,.join-form label{font-size:13px}

/* Invitation and joining form. */
.entry{max-width:1260px;padding:28px 4vw 0;background:none}
.entry:after{content:none}
.entry-top{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.edition{font-size:12px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.entry-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.8fr);gap:65px;align-items:center;padding:48px 0 40px}
.event-name{font-size:15px;font-weight:600;color:var(--accent);margin-bottom:22px}
.entry h1{font-size:clamp(62px,6.7vw,92px);line-height:.99;margin:0 0 26px}
.entry h1 em{font-style:italic;color:var(--accent);font-weight:400}
.entry h1 span.accent-dot{color:var(--accent)}
.entry-description{color:var(--muted);margin-top:10px;font-size:15px;line-height:1.7}
.event-meta{display:flex;gap:22px;align-items:center;margin-top:28px;font-size:12px;color:var(--muted)}
.event-meta>span+span{border-left:1px solid #d5d6da;padding-left:22px;max-width:225px}
.event-meta b{font-size:24px;font-weight:500;color:var(--ink);margin-right:3px}
.entry-side{min-width:0}
.join-card{background:white;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:3px 3px 12px 12px;padding:30px}
.join-card h2{font-size:35px;line-height:1.17;margin:13px 0 17px}
.join-form{margin:27px 0 18px;max-width:none}
.join-form input{height:52px;font-size:16px;background:#fafafa}
input#room-code{letter-spacing:.09em}
.join-form .primary{width:100%;margin-top:12px;justify-content:space-between;min-height:50px}
.join-form .primary span{font-size:22px;font-weight:400}
.join-card>.text-link{font-size:13px}
.entry-note{display:flex;gap:16px;align-items:center;margin-top:22px;padding:0 15px;color:var(--muted);font-size:13px;line-height:1.6}
.note-comma{font:90px/.65 var(--heading);color:var(--accent);height:44px;transform:translateY(-19px)}
.entry-route{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;gap:22px}
.entry-route>div{display:flex;gap:17px;align-items:flex-start}
.entry-route>div+div{border-left:1px solid var(--line);padding-left:28px}
.entry-route span{font:25px/1.3 var(--heading);color:var(--accent)}
.entry-route p{font-size:13px;color:var(--muted);line-height:1.65}
.entry-route b{font-weight:550;color:var(--ink)}
.entry-footer{display:flex;justify-content:space-between;gap:16px;padding:22px 0;font-size:11px;color:var(--muted)}

/* Working screens: restrained type, compact controls and warm highlights. */
.host-layout{grid-template-columns:220px minmax(0,1fr);gap:30px}
.host-layout>section,.card{min-width:0}
.sidebar{border-right:1px solid var(--line);padding-right:23px;gap:21px;min-width:0}
.nav-caption{font-size:10px;letter-spacing:.12em;padding:0 10px}
.stage-nav{gap:4px}
.stage-button{border-radius:7px;padding:12px 10px;font-size:13px;line-height:1.35;min-height:47px}
.stage-button.active{background:var(--accent)}
.stage-button:hover:not(.active){background:#eaeaec;color:var(--ink)}
.sidebar-card{background:white;border:1px solid var(--line);border-radius:10px;padding:15px}
.sidebar-card .time{font-weight:500}
.sidebar-card .primary,.sidebar-card .secondary{padding:9px 12px;min-height:39px;font-size:12px}
.sidebar>.secondary{font-size:12px;padding:10px;line-height:1.5}
.section-head h2{margin:9px 0 13px;text-wrap:balance}
.section-head p{font-size:15px;max-width:750px}
.card.dark{background:var(--dark);border:1px solid var(--dark);border-top:3px solid var(--accent);box-shadow:none}
.card.dark .muted{color:#d0d0d4}.dark .eyebrow{color:#edc2b3}.dark .pill{border-color:#ffffff35;color:#eee}
.grid-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.qr-white{padding:13px;border:1px solid var(--line);border-radius:7px}
.code{letter-spacing:.12em;font-size:32px;font-weight:600;margin:10px 0;color:var(--accent)}
.link-break{font-size:13px}
.big-comma{color:#ddb2a3;font-size:150px;line-height:.45}
.welcome-words{font:400 clamp(36px,4.4vw,64px)/1.04 var(--heading);letter-spacing:-.035em;margin:22px 0 26px}
.welcome-words .dim{color:#edc2b3;font-style:italic}
.entry-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:22px}
.entry-grid .card.dark{padding:32px}
.option{padding:16px 18px;border-radius:8px;gap:12px;line-height:1.45}
.option:hover:not(:disabled){background:#faf4f1;border-color:#cfb8ae}
.option .option-letter{border-color:#d5d6da;width:29px;height:29px;border-radius:5px;font-size:12px}
.option.selected{background:var(--accent-soft);border-color:var(--accent)}
.option.selected .option-letter{background:var(--accent);border-color:var(--accent)}
.bar-label b{white-space:nowrap;font-variant-numeric:tabular-nums}
.bar-track{border-radius:3px;background:#eeeef0}.bar-fill{border-radius:3px}
.bar-fill.c1,.paired-bars.after .bar-fill{background:var(--accent)}.bar-fill.c2{background:#989aa2}
.blank{padding:30px 20px;border-color:#d5d6da;border-radius:8px;background:#fafafa;font-size:14px;line-height:1.65}
.status-note{border-radius:5px;border-left:3px solid var(--accent);background:var(--accent-soft);color:#653528;line-height:1.55}
.status-note.error{background:#f9eae4}
.toast{border-radius:8px}.toast.error{background:var(--accent-hover)}
.tabs{background:#eaeaec;border-radius:8px}.tab{border-radius:5px}.tab.active{color:var(--accent)}
.message{border-radius:7px;background:#f5f5f6}
.message.user{background:#f2f2f4;border-left-color:#b8b8c0}
.message.assistant{background:#faf3ef;border-left-color:var(--accent)}
.message p{overflow-wrap:anywhere}.message-meta{font-size:11px}
.submission .row button{min-height:36px;font-size:12px}
.quote{font:400 clamp(24px,2.7vw,36px)/1.4 var(--heading);letter-spacing:-.025em;overflow-wrap:anywhere}
.round-button{width:40px;height:40px;border-radius:7px;background:white;border:1px solid var(--line);color:var(--muted)}
.round-button.active{background:var(--accent);border-color:var(--accent)}
.choice-card{border-radius:8px}.choice-card.selected{border-color:var(--accent);background:var(--accent-soft)}
.participant .section-head h2{font-size:36px}.participant .welcome-words{font-size:56px}
.step-label{font-size:11px;color:var(--accent)}
.participant-footer{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);font-size:12px;line-height:1.8}
.screen .entry-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.screen .welcome-words{font-size:clamp(42px,5.4vw,80px)}
.check-list li:before{color:var(--accent)}
.memo h1{font-size:46px}.memo .quote{font-size:27px}
.login{max-width:480px;margin:60px auto;padding:36px;border-top:3px solid var(--accent)}
.login h2{font-size:38px;margin-bottom:15px}.login input{margin:10px 0 14px}.login form{margin-top:26px}.login .field-label{margin-bottom:0}
.host-facts .metric{font-family:var(--heading);font-weight:400;font-size:36px;color:var(--accent);margin-bottom:4px}
.busy:before{border-color:var(--accent);border-top-color:transparent;flex-shrink:0}
dialog::backdrop{background:#21252988}dialog.card{max-height:85dvh;overflow:auto}

@media(min-width:1500px){.entry{padding-left:20px;padding-right:20px}.entry-body{gap:100px}}
@media(max-width:1100px){
 .entry-body{gap:36px;grid-template-columns:minmax(0,1fr) minmax(290px,.8fr)}.entry h1{font-size:76px}.join-card{padding:25px}
 .host-layout{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:0 0 20px;gap:15px;display:grid;grid-template-columns:minmax(0,1fr) auto}
 .sidebar>div:first-child{grid-column:1/-1}.stage-nav{flex-direction:row;overflow:auto;padding-bottom:5px}.stage-button{white-space:nowrap;flex-shrink:0;padding:11px 13px}
 .sidebar-card{display:flex;align-items:center;justify-content:space-between;gap:25px}.sidebar-card .time{font-size:27px;margin:0}.sidebar-card .small{font-size:12px}
 .sidebar>.secondary{align-self:stretch;max-width:190px}.nav-caption{display:none}.sidebar>.small,.sidebar>.text-link{font-size:12px}.section-head{flex-wrap:wrap}
}
@media(max-width:760px){
 .topbar{min-height:80px;padding:14px 22px}.brand b{font-size:26px}.brand-icon{width:39px;height:39px;font-size:27px}.brand small{font-size:8px;letter-spacing:.13em}
 .entry{padding:22px 24px 0}.entry-top{align-items:flex-start}.entry-top .eyebrow{font-size:10px;max-width:235px}.edition{font-size:11px}
 .entry-body{grid-template-columns:1fr;gap:32px;padding:30px 0}.entry h1{font-size:clamp(60px,11vw,84px)}.event-name{font-size:13px;margin-bottom:20px}
 .entry-copy{max-width:580px}.join-card h2{font-size:32px}.entry-note{margin-top:22px;padding:0 12px}
 .entry-route{gap:15px}.entry-route>div{gap:9px}.entry-route>div+div{padding-left:15px}.entry-route p{font-size:12px}.entry-route span{font-size:21px}
 .entry-footer{flex-direction:column;gap:5px}.entry-grid,.screen .entry-grid,.grid-two{grid-template-columns:1fr}
 .section-head h2{font-size:34px}.card{padding:23px}.shell{padding:25px 20px}.screen{padding:28px 24px}.screen .card{padding:26px}.screen .message p{font-size:19px}
 .screen .welcome-words{font-size:62px}.screen .code{font-size:36px}.host-facts .card{padding:14px}.host-facts .metric{font-size:30px}.login{margin:35px auto}
}
@media(max-width:480px){
 .topbar{padding:12px 16px;gap:10px;flex-wrap:wrap}.brand{gap:10px}.brand b{font-size:25px}.brand-icon{width:35px;height:38px;font-size:25px}.brand small{font-size:7px;letter-spacing:.1em}
 #top-tools{gap:5px;max-width:155px}.topbar .pill{font-size:10px;padding:5px 7px}.topbar .secondary{padding:6px 9px;min-height:32px;font-size:11px}
 .entry{padding:20px 20px 0}.entry-top{gap:8px}.entry-top .eyebrow{font-size:9px;letter-spacing:.09em;max-width:190px}.edition{font-size:10px}.entry-body{padding:28px 0}
 .entry h1{font-size:clamp(52px,14.5vw,65px);margin-bottom:23px}.event-name{font-size:12px}.lead{font-size:20px}.entry-description{font-size:14px}.desktop-break{display:none}
 .event-meta{gap:15px;margin-top:24px}.event-meta>span:first-child{white-space:nowrap}.event-meta>span+span{font-size:11px;padding-left:15px}.event-meta b{font-size:23px}
 .join-card{padding:25px 22px}.entry-route{grid-template-columns:1fr;gap:0;padding:5px 0}.entry-route>div{gap:20px;padding:16px 0}.entry-route>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.entry-route p{font-size:13px}.entry-route p br{display:none}.entry-route p b:before{content:" "}.entry-route span{font-size:23px;min-width:29px}
 .participant .card{padding:22px}.participant .section-head h2{font-size:34px}.participant .welcome-words{font-size:47px}
 .shell{padding:22px 16px}.sidebar{gap:12px;grid-template-columns:1fr 1fr}.sidebar-card{grid-column:1/-1;gap:15px}.sidebar>.secondary{max-width:none}.sidebar>.small{align-self:center}
 .card{padding:21px}.entry-grid .card.dark{padding:28px}.welcome-words{font-size:48px}.quote{font-size:27px}.question{font-size:21px}.section-head p{font-size:14px}
 .host-facts{gap:8px}.host-facts .card{padding:12px}.host-facts .metric{font-size:28px}.host-facts .small{font-size:11px}.submit-actions .small{font-size:12px}
 .option{font-size:15px;padding:15px 13px}.login{margin:30px 16px;padding:28px}.login h2{font-size:35px}.memo h1{font-size:37px}.memo .quote{font-size:25px}
 .screen{padding:25px 18px}.screen .welcome-words{font-size:50px}.screen .card{padding:25px}.screen .code{font-size:32px}.screen .bar-label{font-size:16px}.message{padding:16px}.message-meta{font-size:10px}
}
.poll-context{margin-bottom:18px;line-height:1.55}
.welcome-intro{margin:24px 0}.welcome-intro h2{font-size:40px;margin:12px 0 18px}.welcome-intro em{color:var(--accent);font-weight:400}
.welcome-screen-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}
.welcome-screen-grid>.card{margin:0}.welcome-screen-grid .topic-wall{grid-template-columns:1fr}
@media(max-width:760px){.welcome-screen-grid{grid-template-columns:1fr}.welcome-intro h2{font-size:34px}}
.topic-wall,.quote-wall{display:grid;gap:16px;margin-top:20px}
.topic-wall{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.topic-wall blockquote,.quote-wall blockquote{margin:0;padding:22px 25px;background:#faf3ef;border-left:3px solid var(--accent);border-radius:4px;overflow-wrap:anywhere;white-space:pre-wrap}
.quote-wall p{font:400 clamp(22px,2.3vw,34px)/1.45 var(--heading);margin-top:10px}
.chat-screen .section-head{margin-bottom:20px}.chat-screen h2{font-size:clamp(32px,3.3vw,46px)}
.chat-screen .card{padding:24px}.chat-screen .quote{font-size:clamp(26px,2.7vw,36px)}
.chat-screen .quote-wall{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
.chat-screen .quote-wall p{font-size:clamp(22px,2vw,28px)}
@media(max-width:760px){.chat-screen .quote-wall{grid-template-columns:1fr}}
.topic-wall blockquote{font:400 24px/1.45 var(--heading)}
.screen .submission p{font-size:clamp(22px,2vw,28px);line-height:1.5}
.host-chat-list{max-height:650px;overflow:auto;scrollbar-width:thin;padding-right:8px}
.chat-context summary{font-size:12px;color:var(--muted);cursor:pointer}
.chat-thread{max-height:55dvh;min-height:160px;overflow:auto;scrollbar-width:thin;padding-right:4px}
.chat-thread .message-meta{font-size:12px}.chat-thread .message p{line-height:1.6}
#chat-form textarea{min-height:90px}#chat-form .primary{flex-shrink:0}
@media(max-width:480px){.topic-wall blockquote{font-size:22px;padding:20px}.quote-wall blockquote{padding:18px}.chat-thread{max-height:52dvh}.chat-thread .message{padding:14px}.poll-context{font-size:12px}}
@media print{.skip-link{display:none!important}.memo h1{font-size:30px}.memo .quote{font-size:18px}}

/* Takeaway materials and the public, read-only explanation of the AI integration. */
.takeaway-materials>.card{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.takeaway-materials h3{margin:0}.takeaway-materials p{flex:1}.takeaway-materials a{margin-top:4px}
.prompts-page{max-width:960px}.prompts-page h2{font-size:32px;line-height:1.2}
.prompts-page header{margin-bottom:36px}.prompt-card h2{margin:12px 0 16px}
.prompt-label{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:24px 0 12px}
.prompt-label h3{font-size:17px;margin:0}.prompt-label button{font-size:12px;padding:9px 12px;min-height:40px}
.prompt-text{margin:0;padding:20px 22px;border-left:3px solid var(--accent);border-radius:5px;background:#faf3ef;font-size:16px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text}
.prompt-text.user-prompt{background:var(--paper);border-left-color:#989aa2}
.prompt-topics{margin:12px 0 0;padding-left:25px}.prompt-topics li{padding:6px 0 6px 5px}
.integration-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:24px 0;counter-reset:flow}
.integration-flow li{counter-increment:flow;border-top:1px solid var(--line);padding-top:14px}
.integration-flow li::before{content:'0' counter(flow);display:block;color:var(--accent);font:26px var(--heading);margin-bottom:12px}
.integration-flow b{display:block;font-size:15px;margin-bottom:8px}.integration-flow span{font-size:14px;color:var(--muted);line-height:1.6}
@media(max-width:600px){.prompts-page{padding:28px 16px}.prompts-page h1{font-size:37px}.prompts-page h2{font-size:28px}.integration-flow{grid-template-columns:1fr;gap:14px}.integration-flow li::before{font-size:22px;margin-bottom:8px}.prompt-text{padding:16px;font-size:15px}.prompt-label{align-items:flex-start}}
@media print{.prompts-page h2{font-size:22px}.prompts-page .prompt-card{break-inside:auto}.prompt-text{font-size:11pt;line-height:1.55}.prompt-label{break-after:avoid}.integration-flow{grid-template-columns:repeat(3,1fr)}.prompts-page{padding:0;max-width:100%}}
