/* Layout extends the accepted, locally copied ealpopov compiled stylesheet. */
#adult-route ol{list-style:decimal;padding-left:1.5rem;line-height:1.8;margin-bottom:1rem}#only-mine{width:auto;justify-self:start}#adult-route{margin-bottom:1.5rem}
/* The compiled bundle omitted unicode-range; declare the local subsets explicitly. */
@font-face{font-family:"Golos Text";font-style:normal;font-display:swap;font-weight:400;src:url("/_astro/golos-text-cyrillic-400-normal.C7us6pn1.woff2") format("woff2");unicode-range:U+0400-052F,U+1C80-1C8F,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Golos Text";font-style:normal;font-display:swap;font-weight:600;src:url("/_astro/golos-text-cyrillic-600-normal.lpQ9rVRR.woff2") format("woff2");unicode-range:U+0400-052F,U+1C80-1C8F,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Golos Text";font-style:normal;font-display:swap;font-weight:400;src:url("/_astro/golos-text-latin-400-normal.Coi1FYaD.woff2") format("woff2");unicode-range:U+0000-03FF,U+2000-206F,U+20A0-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF,U+FEFF,U+FFFD}
@font-face{font-family:"Golos Text";font-style:normal;font-display:swap;font-weight:600;src:url("/_astro/golos-text-latin-600-normal.Bhk8uV1U.woff2") format("woff2");unicode-range:U+0000-03FF,U+2000-206F,U+20A0-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF,U+FEFF,U+FFFD}
:root{--cab-bg:#f4f3ef;--cab-alt:#eae8e1;--cab-primary:#1b2a4a;--cab-accent:#a8812f;--cab-text:#121a2b;--cab-muted:#5b6170;--cab-border:#d3d1c8}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--cab-bg:#0e1422;--cab-alt:#151d2e;--cab-primary:#d9b866;--cab-accent:#c9a24a;--cab-text:#eceae4;--cab-muted:#9aa1ae;--cab-border:#273149}}
:root[data-theme=dark]{--cab-bg:#0e1422;--cab-alt:#151d2e;--cab-primary:#d9b866;--cab-accent:#c9a24a;--cab-text:#eceae4;--cab-muted:#9aa1ae;--cab-border:#273149}
*{box-sizing:border-box}html{background:var(--cab-bg);color:var(--cab-text);font-family:"Golos Text",system-ui,-apple-system,"Segoe UI",sans-serif}body{margin:0}[hidden]{display:none!important}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;background:var(--cab-primary);color:var(--cab-bg);padding:.8rem 1.1rem;border:1px solid var(--cab-primary);border-radius:3px;font-weight:600;line-height:1.3}button:hover{filter:brightness(1.12)}button:disabled{opacity:.5;cursor:wait}.quiet{background:transparent;color:var(--cab-primary);border-color:var(--cab-border)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--cab-accent);outline-offset:3px}.test-banner{padding:.65rem 1rem;background:#1b2a4a;color:#f4f3ef;text-align:center;font-size:.7rem;letter-spacing:.12em;font-weight:600}header{max-width:1200px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.8rem 2rem;border-bottom:1px solid var(--cab-border)}.wordmark{font-size:1.3rem;line-height:1.05;font-weight:600;letter-spacing:-.04em;color:var(--cab-text)}.wordmark span{color:var(--cab-muted)}nav,.actions{display:flex;gap:.6rem;flex-wrap:wrap}main{max-width:1200px;margin:auto;padding:0 2rem}h1,h2,h3{color:var(--cab-text);font-weight:600;letter-spacing:-.03em}h1{font-size:clamp(2.6rem,7vw,5.8rem);line-height:1.02;margin:1.1rem 0 1.5rem}h2{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.2;margin:.7rem 0 1.2rem}h3{font-size:1.15rem;line-height:1.35;margin:.6rem 0}p{line-height:1.65;margin:.6rem 0 1rem}.hero{padding:5.5rem 0 4rem;max-width:850px}.hero.compact{padding:3.4rem 0 2rem}.compact h1{font-size:clamp(2.5rem,6vw,4.5rem)}.eyebrow{font-size:.7rem;letter-spacing:.16em;font-weight:600;color:var(--cab-muted)}.lead{font-size:1.15rem;max-width:670px;color:var(--cab-muted);line-height:1.7}.rule-accent{border-top:2px solid var(--cab-accent);padding-top:1.5rem}.access-note{margin-top:3rem;max-width:620px}.quota-strip{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 0 2.5rem;gap:1rem}.quota{font-size:clamp(1.3rem,3vw,2rem);font-weight:600;margin-top:.4rem}.compose{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;padding-bottom:3rem}form{display:grid;gap:1rem}label{display:grid;gap:.45rem;font-size:.9rem;font-weight:600}input,textarea,select{width:100%;padding:.75rem;border:1px solid var(--cab-border);border-radius:3px;background:var(--cab-bg);color:var(--cab-text);min-width:0}textarea{resize:vertical;line-height:1.6}input[type=file]{font-size:.85rem}small,.muted{color:var(--cab-muted);font-size:.85rem;line-height:1.6}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.queue-section{padding:2rem 0}.filters{display:flex;gap:1rem;padding:1rem 0 1.5rem}.filters label{min-width:150px;flex:1}.notice{padding:1.3rem 1.5rem;background:var(--cab-alt);border-left:2px solid var(--cab-accent);margin:0 0 1.5rem}.request{border-top:1px solid var(--cab-border);padding:1.5rem 0}.request-header{display:flex;justify-content:space-between;gap:1rem;align-items:start}.badge{display:inline-block;border:1px solid var(--cab-border);padding:.35rem .65rem;font-size:.75rem;white-space:nowrap;border-radius:2px}.badge.done{border-color:var(--cab-accent)}.badge.clarify,.badge.failed{background:var(--cab-alt)}.prompt{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;margin:1rem 0;max-height:24rem;overflow:auto}.files{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.file-link{color:var(--cab-primary);text-decoration:underline;text-decoration-color:var(--cab-accent);text-underline-offset:4px;font-size:.9rem;overflow-wrap:anywhere}.operator-form{margin-top:1.3rem;padding:1.3rem;background:var(--cab-alt)}.empty{padding:2rem 0;color:var(--cab-muted)}.extras-section{margin:2rem 0 3rem}.extra-item{padding:1rem 0;border-bottom:1px solid var(--cab-border)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin:2rem 0}.team-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--cab-border)}footer{border-top:1px solid var(--cab-border);padding:2rem 0;display:flex;justify-content:space-between;gap:1rem;color:var(--cab-muted);font-size:.75rem;margin-top:4rem}dialog{border:1px solid var(--cab-border);border-top:3px solid var(--cab-accent);padding:2rem;background:var(--cab-bg);color:var(--cab-text);width:min(760px,calc(100% - 2rem));max-height:90vh;overflow:auto}dialog::backdrop{background:#0e1422b8}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.prose-content{color:var(--cab-text)}.prose-content li{margin-bottom:.6rem}.prose-content ol{list-style:decimal;margin:1rem 0 1rem 1.4rem}.prose-content strong{color:var(--cab-text)}#message{position:sticky;top:10px;z-index:3;background:var(--cab-primary);color:var(--cab-bg);padding:1rem 1.3rem;box-shadow:0 3px 15px #0002;margin-top:1rem;white-space:pre-wrap}#qr-image{display:block;max-width:100%;height:auto;background:white;margin:1rem auto}.decision-form{grid-template-columns:1fr 100px;align-items:end}.decision-form textarea,.decision-form .actions{grid-column:1/-1}
@media(max-width:720px){header{padding:1.2rem;align-items:start}.wordmark{font-size:1.1rem}nav{justify-content:end;gap:.35rem}nav button{font-size:.75rem;padding:.6rem}main{padding:0 1.2rem}.hero{padding:3rem 0}.compose,.admin-grid{grid-template-columns:1fr;gap:1.5rem}.section-heading{align-items:start;flex-direction:column}.filters{flex-wrap:wrap}.filters label{min-width:120px}.request-header{flex-wrap:wrap}footer{flex-direction:column}.quota-strip{align-items:start}.quota{font-size:1.2rem}.team-row{flex-wrap:wrap}dialog{padding:1.2rem}.test-banner{font-size:.6rem;letter-spacing:.06em}.actions button{flex-grow:1}}

/* Small feedback/accessibility changes; preserve existing theme palette. */
header nav button{min-height:44px;min-width:44px}
#message{display:flex;align-items:center;justify-content:space-between;gap:1rem;white-space:normal}
#message-text{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}
#message-close{min-height:44px;min-width:44px;flex-shrink:0;background:transparent;color:var(--cab-bg);border-color:currentColor}
#message-close:focus-visible{outline-color:var(--cab-bg)}
.dialog-error{padding:.75rem;border:2px solid var(--cab-accent);overflow-wrap:anywhere}

/* Responsive workspaces: same ealpopov palette, compact authenticated chrome. */
#message{position:static;z-index:auto;max-width:100%;margin:1rem 0}
body[data-role] > header{padding-top:.75rem;padding-bottom:.75rem}
body[data-role] #demo-entry{margin:.75rem 0;padding:.75rem 1rem}
body[data-role] #demo-entry h2{font-size:1rem;margin:0 0 .35rem}
body[data-role] #demo-entry p{font-size:.8rem;line-height:1.4;margin:0 0 .5rem}
body[data-role] #demo-buttons button{font-size:.8rem;padding:.6rem .8rem;min-height:44px}
body[data-role] .hero.compact{padding:1rem 0;max-width:none}
body[data-role] .compact h1{font-size:clamp(1.5rem,3vw,2.2rem);margin:.4rem 0}
body[data-role] .compact .lead{font-size:.95rem;margin:.4rem 0;max-width:none}
body[data-role] .queue-section{padding:1rem 0}
body[data-role] #operator-note{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;margin:.75rem 0}
#operator-note button{flex-shrink:0}#operator-note p{font-size:.8rem;margin:0;line-height:1.45}
#adult-route{padding-top:.75rem;display:grid;gap:.75rem;margin-bottom:1rem}
.adult-guide{padding:1rem 0;border-top:1px solid var(--cab-border)}
.adult-guide ol{padding-left:1.5rem}.adult-guide p{font-size:.9rem}
#admin-tools{margin-top:1rem}#admin-tools .admin-grid{gap:1.5rem;margin:1rem 0}
#team-roster{display:grid;gap:1rem;width:100%}
#team-roster .team-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:.75rem;width:100%;min-width:0;padding:1rem 0}
.team-row h4{margin:0;font-size:1.05rem;overflow-wrap:anywhere}
.team-counters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.team-counters p,.team-row > p{margin:0;font-size:.85rem;overflow-wrap:anywhere}
.team-edit-form,#create-team-form{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)) auto;gap:.75rem;align-items:end;width:100%;min-width:0}
.team-edit-form label,#create-team-form label{min-width:0}
.team-edit-form button,#create-team-form button{min-height:44px}
.team-actions{display:flex;gap:.75rem;flex-wrap:wrap;min-width:0}
.team-actions button{min-height:44px}
dialog{margin:auto;padding:0;overflow:hidden;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);max-width:calc(100vw - 2rem)}
dialog[open]{display:flex;flex-direction:column}
dialog > .dialog-heading{flex:none;padding:1rem 1.25rem;background:var(--cab-bg);border-bottom:1px solid var(--cab-border);min-width:0;align-items:start}
.dialog-heading h2{margin:0;font-size:clamp(1.15rem,3vw,1.6rem);overflow-wrap:anywhere;min-width:0}
.dialog-heading button{flex:none;min-height:44px}
.dialog-body{padding:1rem 1.25rem;overflow:auto;overscroll-behavior:contain;min-height:0;min-width:0}
.dialog-body > :first-child{margin-top:0}
@media(max-width:720px){
  body[data-role] > header{padding:.6rem 1rem;gap:.5rem;flex-wrap:wrap}
  body[data-role] > header nav{gap:.35rem}
  body[data-role] #demo-entry{padding:.6rem .75rem}
  body[data-role] #demo-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
  body[data-role] #demo-buttons button{width:100%;min-width:0;padding:.45rem;font-size:.75rem;overflow-wrap:anywhere}
  body[data-role] .hero.compact{padding:.6rem 0}
  body[data-role] .compact .lead{font-size:.85rem;line-height:1.4}
  body[data-role] #operator-note{flex-direction:column;align-items:stretch;gap:.6rem}
  body[data-role] .section-heading{flex-direction:row;flex-wrap:wrap;align-items:center}
  body[data-role] .section-heading h2{font-size:1.35rem;margin:.25rem 0}
  .team-edit-form,#create-team-form,.team-counters{grid-template-columns:minmax(0,1fr);gap:.65rem}
  .team-edit-form input,#create-team-form input,.team-edit-form button,#create-team-form button{width:100%;min-width:0}
  .team-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  .team-actions button{width:100%;white-space:normal}
  dialog > .dialog-heading{padding:.75rem;gap:.5rem}
  .dialog-body{padding:.75rem}
  #message{padding:.75rem;gap:.5rem;align-items:start}
  #message-close{padding:.6rem;white-space:normal}
}

@media(max-width:400px){
  body[data-role] > header .wordmark{font-size:1rem}
  body[data-role] > header nav{gap:.25rem}
  body[data-role] > header nav button{font-size:.7rem;padding:.45rem}
  body[data-role] #demo-entry h2{font-size:.9rem}
  #message-text{font-size:.85rem;line-height:1.4}
}
#updates-status:empty,#announcement-live:empty{display:none}
/* Short authenticated context; all four role controls remain visible. */
body[data-role] #workspace > .hero.compact{padding:.5rem 0}
body[data-role] #workspace > .hero.compact h1{margin:.3rem 0;line-height:1.15}
body[data-role] #workspace > .hero.compact .lead{margin:.25rem 0;line-height:1.4}
.demo-role-help{margin:0 0 .5rem}
.demo-role-help summary{cursor:pointer;min-height:44px;padding:.4rem 0;font-size:.85rem;line-height:1.4}
.demo-role-help summary:focus-visible{outline:3px solid var(--cab-accent);outline-offset:3px}
