.workspace:has(.jarvis-page){
  position:fixed;
  inset:var(--zeus-viewport-top,0px) 0 auto var(--sidebar);
  height:var(--zeus-viewport-height,100dvh);
  min-height:0;
  margin:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#000;
}
.workspace:has(.jarvis-page)>.topbar{flex:none}
.view-container:has(>.jarvis-page){display:flex;flex:1;flex-direction:column;width:100%;max-width:none;min-height:0;padding:0;overflow:hidden;background:#000}
.view-container:has(>.jarvis-page)>.app-footer{flex:none;margin-top:0}
.jarvis-page{flex:1;min-width:0;min-height:0;color:#fff;background:#000}
.jarvis-page .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.jarvis-page>[data-jarvis-root],.zeus-court{height:100%}
.zeus-court:has(>.zeus-audience){display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:minmax(0,1fr)}
.zeus-stage{position:relative;height:100%;min-width:0;min-height:0;overflow:hidden}
.zeus-sanctuary{position:relative;height:100%;overflow:hidden;background:#000}
.zeus-sanctuary::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 68%,#0009 96%);
}
.zeus-court:has(>.zeus-audience) .zeus-sanctuary::after{background:linear-gradient(90deg,transparent 78%,#000),linear-gradient(180deg,transparent 70%,#000b)}
.zeus-visual{display:block;width:100%;height:100%;margin-inline:auto}
.zeus-eyes,.zeus-temple-storm{opacity:0;pointer-events:none;transition:opacity .17s ease-out}
.zeus-temple-strike path,.zeus-eye-arc{fill:none;stroke-linecap:round;stroke-linejoin:round}
.zeus-temple-strike+.zeus-temple-strike{opacity:.53}
.zeus-stone-light{filter:brightness(1.54) saturate(.84);opacity:.76}
.zeus-air-light{mix-blend-mode:screen;opacity:.7}
.zeus-strike-bloom{stroke:var(--zeus-air-light);stroke-width:5;opacity:.6}
.zeus-strike-core{stroke:#f5f1e8;stroke-width:1.65}
.zeus-strike-forks{stroke:var(--zeus-air-light);stroke-width:1.05;opacity:.63}
.zeus-strike-filaments{stroke:var(--zeus-air-light);stroke-width:.64;opacity:.43}
.zeus-eye-arc{stroke-width:1.02;opacity:.68}
.zeus-eye-bloom{fill:var(--zeus-eye-light);opacity:.72}
.zeus-eye-iris{fill:var(--zeus-eye-light)}
.zeus-eye-core{fill:#fff1ce}
.zeus-sanctuary{--zeus-air-light:#c6d4dd;--zeus-eye-light:#edc78c}
.zeus-sanctuary[data-eye-state="answering"]{--zeus-air-light:#dac5a8;--zeus-eye-light:#f6d29a}
.zeus-sanctuary:is([data-eye-state="thinking"],[data-eye-state="answering"]) :is(.zeus-eyes,.zeus-temple-storm){opacity:1}
@media(prefers-reduced-motion:no-preference){
  .zeus-sanctuary:is([data-eye-state="thinking"],[data-eye-state="answering"]) .zeus-temple-storm{animation:zeus-light-exposure 1.7s ease-out both}
}
@keyframes zeus-light-exposure{0%{opacity:.5}12%{opacity:1}100%{opacity:.72}}
.zeus-audience{display:flex;flex-direction:column;min-width:0;min-height:0;padding:clamp(14px,2.6vw,36px) clamp(16px,3vw,42px) 8px}
.zeus-dialogue{display:flex;flex:1;flex-direction:column;min-height:0;gap:8px}
.zeus-chat-controls{display:flex;align-items:flex-start;gap:6px;color:#a4abad;font-size:14px;line-height:1.4}
.zeus-archive{flex:1;min-width:0}
.zeus-archive>summary{min-height:44px;padding:12px 0;cursor:pointer;list-style:none}
.zeus-archive>summary::-webkit-details-marker{display:none}
.zeus-archive>p{margin:0 0 10px}
.zeus-archive>ul{list-style:none;max-height:100px;overflow-y:auto;margin:0 0 6px;padding:0}
.zeus-archive li>button{min-height:34px;max-width:100%;padding:4px 0;text-align:left;overflow-wrap:anywhere}
.zeus-chat-controls .zeus-new-chat{display:inline-flex;align-items:center;min-height:44px;padding:4px 6px;gap:5px;white-space:nowrap}
.zeus-chat-controls button:disabled{opacity:.48;cursor:default}
.zeus-chat-controls button:not(:disabled):hover,.zeus-archive>summary:hover{color:var(--gold,#fdc52c)}
.zeus-greeting{display:grid;flex:1;place-items:center;min-height:0;margin:0;text-align:center;color:#c9bea4;font:400 17px/1.65 var(--display)}
.zeus-compose-dock{flex:none;padding-top:4px}
.jarvis-page .jarvis-compose{display:flex;align-items:flex-end;gap:8px;margin:0;padding:4px 0;border:0;background:transparent;box-shadow:none}
.jarvis-page .jarvis-compose>textarea{display:block;flex:1;min-width:0;width:auto;height:44px;min-height:44px;max-height:112px;resize:none;padding:10px 3px;border:0;outline:0;background:transparent;color:#fff;caret-color:var(--gold,#fdc52c);font:400 17px/1.4 var(--display);box-shadow:none;scrollbar-width:thin;scrollbar-color:#60676b transparent}
.jarvis-page .jarvis-compose>textarea::-webkit-scrollbar{width:6px;background:transparent}
.jarvis-page .jarvis-compose>textarea::-webkit-scrollbar-thumb{background:#60676b;border-radius:4px}
.jarvis-compose>textarea::placeholder{color:#b8b8b8}
.jarvis-compose>textarea:focus::placeholder{color:#eee}
.jarvis-page .btn,.jarvis-page .zeus-action{background:none;color:#eee;border:0;box-shadow:none}
.jarvis-page .btn:hover,.jarvis-page .zeus-action:hover{background:none;color:var(--gold,#fdc52c);transform:none}
.jarvis-page .zeus-action{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;flex-shrink:0}
.jarvis-page .zeus-action>svg{stroke-width:2}
.jarvis-page .zeus-voice[aria-pressed="true"]{color:var(--gold,#fdc52c)}
.zeus-voice-status{margin:9px 0 0;text-align:center;font-size:14px;line-height:1.4;color:var(--gold)}
.zeus-voice-status[hidden]{display:none}
.jarvis-connection{padding:10px 0 0;text-align:center;font-size:14px;line-height:1.4;color:#aaa}
.jarvis-error{color:#fff;font-size:16px;line-height:1.5;padding:10px 0 0;margin:0;text-align:center}
.jarvis-conversation{display:flex;flex:1;flex-direction:column;gap:24px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#555 #111;padding:5px 12px 8px 0;outline-offset:-2px}
.jarvis-message{min-width:0;flex-shrink:0}
.jarvis-message-user{color:#fff;margin-left:min(12%,70px);text-align:right}
.jarvis-message-text{font:400 17px/1.65 var(--display);overflow-wrap:anywhere}
.jarvis-message-assistant .jarvis-message-text{color:var(--gold,#fdc52c)}
.jarvis-message-text p{margin:0 0 14px}.jarvis-message-text p:last-child{margin-bottom:0}
.zeus-answer-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px}
.zeus-answer-tools:empty{display:none}
.jarvis-draft{color:var(--gold,#fdc52c);font:400 14px/1.4 var(--display)}
.jarvis-thinking{font-size:16px;color:#ddd;margin:0}
.jarvis-answer-sources{margin-top:14px}
.jarvis-answer-sources>summary{font-size:14px;color:#bbb;padding:12px 0;cursor:pointer}
.jarvis-source{min-width:0;padding:0}
.jarvis-source>button{display:flex;align-items:center;gap:10px;width:100%;min-width:0;background:transparent;border:0;color:#fff;text-align:left;padding:14px 0;cursor:pointer}
.jarvis-source>button:hover strong{color:var(--gold,#fdc52c)}
.jarvis-source>button>span:not(.jarvis-source-icon){display:block;flex:1;min-width:0}
.jarvis-source-icon{display:grid;place-items:center;flex-shrink:0;width:28px;height:38px;color:var(--gold,#fdc52c)}
.jarvis-source>button>svg{flex-shrink:0}
.jarvis-source small{display:block;font-size:14px;line-height:1.4;margin-bottom:4px;color:#bbb}
.jarvis-source strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px;line-height:1.4;font-weight:600}
.jarvis-source-excerpt,.jarvis-source-text{font-size:16px;line-height:1.65;margin:0 0 18px;padding-left:38px;color:#eee;overflow-wrap:anywhere}
.jarvis-source-text p{margin:0 0 14px}
.zeus-attachments,.zeus-message-images{display:flex;gap:10px;padding:0 0 10px}
.zeus-attachment{display:flex;align-items:flex-start}
.zeus-attachment>img,.zeus-message-images>img{width:72px;height:72px;object-fit:cover;border-radius:6px}
.zeus-attachment>button{width:36px;height:36px;color:#fff;display:grid;place-items:center}
.zeus-door{position:absolute;inset:0;perspective:1200px;z-index:4;overflow:hidden;background:#000}
.zeus-door-half{position:absolute;top:0;bottom:0;width:50%;background-image:url('assets/zeus-door-v13.webp');background-size:200% 100%;backface-visibility:hidden;transition:transform 1.45s cubic-bezier(.22,.7,.2,1)}
.zeus-door-left{left:0;background-position:left center;transform-origin:left center}
.zeus-door-right{right:0;background-position:right center;transform-origin:right center}
.zeus-riddle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(90%,580px);max-height:calc(100% - 24px);overflow-y:auto;padding:clamp(12px,2.2vw,28px);text-align:center;color:#eee6d7;text-shadow:0 2px 5px #000;background:radial-gradient(ellipse,#0e0c0be6 4%,#0e0c0bbf 62%,transparent 92%);transition:opacity .16s ease}
.zeus-riddle-kicker{margin:0 0 12px;color:#d7bb85;font:600 clamp(17px,2.3vw,27px)/1.25 var(--display);letter-spacing:.095em;text-transform:uppercase}
.zeus-riddle-intro{margin:0;font:400 clamp(15px,1.6vw,19px)/1.5 var(--display)}
.zeus-riddle-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(100%,340px);margin:13px auto}
.zeus-riddle-scenario dt{font:600 14px/1.35 var(--display);letter-spacing:.09em;text-transform:uppercase;color:#d7bb85}
.zeus-riddle-scenario dd{margin:3px 0 0;font-size:clamp(13px,1.4vw,16px);color:#e1d9ca}
.zeus-riddle-question{margin:0;font:600 clamp(16px,1.7vw,22px)/1.45 var(--display)}
.zeus-riddle-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:368px;margin:16px auto 0}
.zeus-riddle-options>.btn{min-height:44px;padding:8px 5px;border:0;border-radius:2px;background:linear-gradient(#322d25,#181612);color:#f3e4c2;box-shadow:inset 0 1px 1px #ffffff1f,0 2px 6px #0008;font:600 clamp(12px,1.3vw,15px)/1.25 var(--display);letter-spacing:.035em}
.jarvis-page .zeus-riddle-options>.btn:hover{border-color:#b59866;background:linear-gradient(#4a3f2e,#231e16);color:#fff1ce}
.zeus-riddle-feedback{margin:10px 0 0;font-size:15px;line-height:1.4;color:#fff}
.zeus-door.is-opening{background:transparent;pointer-events:none}
.zeus-door.is-opening .zeus-door-left{animation:zeus-door-open-left 1.45s cubic-bezier(.22,.7,.2,1) both}
.zeus-door.is-opening .zeus-door-right{animation:zeus-door-open-right 1.45s cubic-bezier(.22,.7,.2,1) both}
.zeus-door.is-opening .zeus-riddle{opacity:0}
@keyframes zeus-door-open-left{from{transform:none}to{transform:rotateY(-102deg) translateX(-16%)}}
@keyframes zeus-door-open-right{from{transform:none}to{transform:rotateY(102deg) translateX(16%)}}
.jarvis-page button:focus-visible,.jarvis-page summary:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:1023px){
  .zeus-court:has(>.zeus-audience){grid-template-columns:minmax(0,1fr);grid-template-rows:clamp(125px,40%,285px) minmax(0,1fr)}
  .zeus-court:has(>.zeus-audience) .zeus-sanctuary::after{background:linear-gradient(180deg,transparent 72%,#000)}
  .zeus-audience{width:min(720px,100%);margin-inline:auto;padding:9px 16px 4px}
}
@media(max-width:760px){
  .workspace:has(.jarvis-page){left:0}
  .view-container:has(>.jarvis-page){padding-bottom:calc(63px + max(9px,env(safe-area-inset-bottom)))}
  .jarvis-page .jarvis-compose{gap:6px}
  .jarvis-page .jarvis-compose>textarea{font-size:16px;padding:11px 2px}
  .jarvis-page .jarvis-compose .zeus-action{width:40px;min-width:40px}
  .jarvis-conversation{gap:20px;padding-right:8px}
  .jarvis-message-text{font-size:16px}
  .jarvis-message-user{margin-left:22px}
  .zeus-greeting{font-size:16px}
  .zeus-door-half{background-image:url('assets/zeus-door-mobile-v13.webp')}
  .jarvis-source-excerpt,.jarvis-source-text{padding-left:36px}
  .workspace[data-zeus-keyboard]+.mobile-nav{display:none}
  .workspace[data-zeus-keyboard]>.topbar{height:48px}
  .workspace[data-zeus-keyboard]>.view-container{padding-bottom:0}
  .workspace[data-zeus-keyboard] .zeus-court:has(>.zeus-audience){grid-template-rows:clamp(82px,35%,155px) minmax(0,1fr)}
  .workspace[data-zeus-keyboard] .zeus-audience{padding-top:3px}
  .workspace[data-zeus-keyboard] .zeus-chat-controls{display:none}
  .workspace[data-zeus-keyboard] .jarvis-compose>textarea{max-height:74px;overflow-y:auto!important}
}
@media(max-width:1023px) and (max-height:430px){
  .zeus-court:has(>.zeus-audience){grid-template-rows:clamp(80px,33%,140px) minmax(0,1fr)}
  .zeus-audience{padding-top:3px}
  .zeus-dialogue{gap:3px}
}
@media(prefers-reduced-motion:reduce){.zeus-door-half,.zeus-riddle,.zeus-eyes,.zeus-temple-storm{transition:none!important}}
/* Explicit work modes, personal inference account and review tools. */
.zeus-modes{display:flex;flex-wrap:wrap;gap:6px;flex:none;padding-bottom:5px}
.zeus-modes>button{flex:1 1 auto;min-height:38px;padding:7px 10px;border:0;border-radius:4px;color:#c9c7c0;font:500 12px/1.25 var(--display);background:#0c0c0b}
.zeus-modes>button[aria-pressed="true"]{color:#fff1c2;border-color:#b59b57;background:#31291a}
.zeus-modes>button:hover:not(:disabled){border-color:#d2b86e;color:#fff1c2}
.zeus-modes>button:disabled{opacity:.5}
.zeus-preview-notice,.zeus-connection-row,.zeus-connection-panel,.zeus-paper-panel,.zeus-athlete-picker,.zeus-admin-panel,.zeus-feedback-editor{font-size:12px;line-height:1.45;color:#b9b6ae;flex:none}
.zeus-preview-notice{margin:0;padding:4px 0 8px}
.zeus-connection-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:0 0 8px}
.zeus-connection-row button,.zeus-answer-tools button,.zeus-answer-tools a,.zeus-feedback-editor button,.zeus-admin-panel button{color:#dfc383;font:500 12px/1.4 var(--display);text-decoration:none;background:none;border:0;padding:5px 0;cursor:pointer}
.zeus-connection-panel{padding-bottom:6px}
.zeus-connection-panel summary,.zeus-paper-panel summary,.zeus-admin-panel summary{cursor:pointer;min-height:30px;padding:6px 0;overflow-wrap:anywhere}
.zeus-connection-panel p,.zeus-paper-panel p,.zeus-feedback-editor p{margin:4px 0 8px}
.zeus-connection-panel>details{margin-top:5px}
.zeus-panel-button{display:inline-flex;min-height:34px;padding:5px 9px!important;align-items:center;justify-content:center;border:0!important;border-radius:3px;background:#211c13!important;color:#f2d99d!important;font:500 12px/1.4 var(--display)!important}
.zeus-connection-panel input,.zeus-paper-panel input,.zeus-paper-panel select,.zeus-paper-panel textarea,.zeus-athlete-picker select,.zeus-feedback-editor textarea,.zeus-admin-panel textarea{width:100%;min-width:0;border:1px solid #45413a;border-radius:3px;background:#11110f;color:#f1eee5;padding:8px;font:400 13px/1.45 var(--display);box-shadow:none}
.zeus-connection-panel label,.zeus-paper-panel label,.zeus-feedback-editor>label,.zeus-admin-panel form>label{display:block;margin:5px 0}
.zeus-connection-panel form{display:grid;gap:7px;padding-bottom:8px}
.zeus-input-context{flex:none;max-height:36%;overflow:auto;scrollbar-width:thin;scrollbar-color:#555 #111}
.zeus-input-context:empty{display:none}
.zeus-paper-panel{border-bottom:1px solid #34312c;padding-bottom:5px}
.zeus-paper-panel textarea{resize:vertical;min-height:90px;max-height:220px}
.zeus-paper-tools{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.zeus-paper-tools select{width:auto;flex:1;min-width:120px}
.zeus-paper-warning{color:#f4d58f}
.zeus-review-questions ul{padding-left:20px;margin:4px 0}
.zeus-athlete-picker{display:flex;align-items:center;gap:10px;padding:4px 0 8px}
.zeus-athlete-picker>span{white-space:nowrap;color:#d4c8af}
.zeus-athlete-picker select{flex:1}
.zeus-answer-mode{display:block;margin-bottom:6px;color:#9b978c;font-size:11px;letter-spacing:.03em}
.zeus-answer-tools{flex-wrap:wrap;justify-content:flex-start;gap:2px 12px;margin-top:8px}
.zeus-answer-tools>span{font-size:12px;color:#b6ab8f}
.zeus-trainer-note{font-size:13px;color:#c9c2b3;margin-top:10px}
.zeus-trainer-note summary{padding:5px 0;cursor:pointer;color:#d2bd87}
.zeus-trainer-note p{margin:6px 0}
.jarvis-message-text h2,.jarvis-message-text h3,.jarvis-message-text h4,.jarvis-message-text h5,.jarvis-message-text h6{font-family:var(--display);font-weight:600;font-size:16px;line-height:1.4;color:inherit;margin:20px 0 8px}
.jarvis-message-text h2:first-child,.jarvis-message-text h3:first-child{margin-top:0}
.jarvis-message-text ul,.jarvis-message-text ol{padding-left:21px;margin:9px 0 16px}
.jarvis-message-text li{margin:6px 0}
.jarvis-page code{font-family:var(--display);font-size:.9em;background:#24221a;padding:1px 4px;border-radius:3px}
.zeus-table-scroll{max-width:100%;overflow:auto;margin:12px 0 18px;scrollbar-width:thin}
.zeus-table-scroll table{min-width:360px;width:100%;border-collapse:collapse;font-size:13px;line-height:1.55;color:#e7dfc9}
.zeus-table-scroll th,.zeus-table-scroll td{padding:9px 8px;text-align:left;vertical-align:top;border:1px solid #4a4233;white-space:normal;overflow-wrap:normal}
.zeus-table-scroll th{background:#242015;color:#f3d897;font-weight:600}
.zeus-feedback-editor{max-height:40%;overflow:auto;padding:10px;border:0;background:#15130e}
.zeus-feedback-editor .zeus-checkbox{display:flex;gap:7px;align-items:flex-start;margin:8px 0}
.zeus-checkbox input{margin-top:3px;flex:none;accent-color:#d8ba6b}
.zeus-feedback-editor>div{display:flex;gap:12px}
.zeus-admin-panel{max-height:35%;overflow:auto;border-top:1px solid #33312b;scrollbar-width:thin;padding-top:5px}
.zeus-admin-panel h3{font-size:13px;margin:12px 0 6px;color:#e6cf9a}
.zeus-admin-users>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #27251f}
.zeus-admin-users strong,.zeus-admin-users small{display:block;font-size:12px;overflow-wrap:anywhere}
.zeus-admin-users small{font-size:11px;color:#96938b}
.zeus-feedback-review{padding:5px 0;border-bottom:1px solid #333}
.zeus-feedback-review p{font-size:12px;overflow-wrap:anywhere}
.zeus-feedback-review textarea{display:block;margin:5px 0}
@media(max-width:1023px){
 .zeus-court:has(>.zeus-audience){grid-template-rows:clamp(105px,28%,220px) minmax(0,1fr)}
 .zeus-modes{gap:5px}.zeus-modes>button{font-size:11px;min-height:34px;padding:6px 8px}
 .zeus-input-context{max-height:30%}
}
@media(max-width:760px){
 .zeus-answer-tools{gap:3px 10px}
 .zeus-answer-tools button,.zeus-answer-tools a{min-height:36px;display:inline-flex;align-items:center}
 .zeus-preview-notice{font-size:11px;padding-bottom:2px}
 .zeus-modes>button{flex-basis:calc(33.333% - 5px)}
 .jarvis-message-text h2,.jarvis-message-text h3,.jarvis-message-text h4{font-size:15px}
 .workspace[data-zeus-keyboard] .zeus-connection-panel,.workspace[data-zeus-keyboard] .zeus-preview-notice,.workspace[data-zeus-keyboard] .zeus-admin-panel{display:none}
}

.zeus-privacy-hint{margin:3px 0 1px;color:#8e8b83;font:400 11px/1.4 var(--display)}

.zeus-paper-panel .zeus-paper-confirm{display:flex;align-items:flex-start;gap:7px;margin:9px 0;color:#e3d3ad}
.zeus-paper-confirm>input{width:auto;flex:none;min-width:0;margin-top:3px}

/* Zeus uses the ATD Campus Montserrat webfont throughout. */
.jarvis-page{font-family:var(--display)}
.jarvis-page :is(button,input,select,textarea){font-family:var(--display)}
.zeus-structured{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;padding:4px 0 8px}
.zeus-structured.zeus-study-input{grid-template-columns:minmax(0,1fr)}
.zeus-structured label{display:grid;gap:3px;font-size:13px;color:#e1d9ca;min-width:0}
.zeus-structured :is(input,select){width:100%;min-width:0;min-height:36px;border:1px solid #45413a;border-radius:4px;background:#11110f;color:#f1eee5;padding:6px 8px;font-size:14px;line-height:1.3}
.zeus-study-basis{margin:4px 0 7px;color:#e1d9ca;font-size:14px}
.zeus-local-results{margin-top:3px}
.zeus-mode-submit{min-height:36px;padding:5px 10px}
.zeus-published-note{margin:4px 0;font-size:13px;color:#b9b6ae}
@media(max-width:760px){
 .zeus-structured{gap:4px 8px}
 .zeus-structured :is(input,select){font-size:16px}
}
