.eo-dialog{border:0;padding:0;background:transparent;color:var(--ink,#f3efe2);width:min(1080px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 20px);font-family:'IBM Plex Sans',sans-serif}
.eo-dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(3px)}
.eo-shell,.eo-guide-shell,.eo-loading,.eo-load-error{border:1px solid var(--gold,#f5c518);background:#12100b;box-shadow:0 24px 80px #000;max-height:calc(100dvh - 20px);overflow:auto;overscroll-behavior:contain}
.eo-loading,.eo-load-error{padding:32px;min-height:160px}
.eo-shell>header,.eo-guide-shell>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;border-bottom:1px solid rgba(245,197,24,.2)}
.eo-dialog h2{font:400 clamp(1.8rem,5vw,2.8rem) Anton,sans-serif;text-transform:uppercase;margin:3px 0 0}
.eo-dialog h3{font-size:1.25rem;margin:8px 0;line-height:1.25}
.eo-kicker{color:var(--gold,#f5c518);font:.65rem 'IBM Plex Mono',monospace;letter-spacing:.14em;text-transform:uppercase}
.eo-icon{min-width:44px;min-height:44px;border:1px solid rgba(245,197,24,.3);background:transparent;color:#f3efe2;font-size:1.55rem}
.eo-progress{height:4px;background:#312b1c}.eo-progress i{display:block;height:100%;background:var(--gold,#f5c518);transition:width .2s}
.eo-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);min-height:480px}
.eo-chat{padding:clamp(18px,4vw,34px);border-right:1px solid rgba(245,197,24,.2)}
.eo-save{font:.65rem 'IBM Plex Mono',monospace;color:#98d17c;text-align:right;min-height:18px}
.eo-bubble{background:#1b1710;border-left:3px solid var(--gold,#f5c518);padding:18px;margin:12px 0 20px}
.eo-bubble p{color:#c9c1ae;line-height:1.5;margin:8px 0 0}
.eo-composer label,.eo-search label{display:block;margin-bottom:7px}
.eo-composer>div,.eo-search-line{display:grid;grid-template-columns:1fr auto;gap:8px}
.eo-dialog input{min-height:46px}
.eo-dialog button,.eo-action{min-height:44px;border:1px solid var(--gold,#f5c518);background:transparent;color:var(--gold,#f5c518);padding:10px 13px;font:600 .68rem 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.eo-dialog button:hover,.eo-dialog button:focus-visible,.eo-action:hover{background:rgba(245,197,24,.12)}
.eo-dialog button.primary,.eo-search-line button,.eo-composer button,.eo-action{background:var(--gold,#f5c518);color:#191305}
.eo-dialog button:disabled{opacity:.42}
.eo-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.eo-choices button{border-radius:30px;text-transform:none;letter-spacing:0}
.eo-message{min-height:22px;color:#98d17c;line-height:1.4}.eo-message.error{color:#ff8175}
.eo-summary{padding:24px;background:#0d0b08;overflow:auto}
.eo-summary-row{display:grid!important;grid-template-columns:minmax(110px,.7fr) 1fr;gap:12px;width:100%;text-align:left;border:0!important;border-bottom:1px solid rgba(245,197,24,.15)!important;color:#f3efe2!important;padding:13px 2px!important;text-transform:none!important;letter-spacing:0!important}
.eo-summary-row b,.eo-summary-row small{display:block}.eo-summary-row small{color:#aaa28e;font-size:.63rem;margin-top:3px}.eo-summary-row>span:last-child{overflow-wrap:anywhere;color:#d8d0bd}
.eo-empty,.eo-missing,.eo-complete,.eo-upload{padding:13px;border:1px solid rgba(245,197,24,.18);color:#aaa28e;line-height:1.45}
.eo-missing{border-color:#ff8175}.eo-complete{border-color:#98d17c}.eo-link{width:100%;margin-top:10px}
.eo-shell>footer,.eo-guide-shell>footer{position:sticky;bottom:0;display:grid;grid-template-columns:auto auto 1fr auto auto;gap:8px;padding:12px 18px;background:#12100b;border-top:1px solid rgba(245,197,24,.2);padding-bottom:max(12px,env(safe-area-inset-bottom))}
.eo-search [data-results]{max-height:210px;overflow:auto;margin-top:8px;border:1px solid rgba(245,197,24,.18)}
.eo-search [data-results] button{display:block;width:100%;border:0;border-bottom:1px solid rgba(245,197,24,.12);text-align:left;color:#f3efe2;text-transform:none;letter-spacing:0}
.eo-search [data-results] small{display:block;color:#aaa28e}
.eo-review-note,.eo-prereq,.eo-warning{padding:14px;border-left:3px solid var(--gold,#f5c518);background:rgba(245,197,24,.07);line-height:1.5}
.eo-warning{border-color:#ff8175;background:rgba(255,129,117,.07);margin:14px 0}
.eo-guide-body{display:grid;grid-template-columns:minmax(190px,.35fr) minmax(0,1fr);min-height:430px}
.eo-guide-body nav{padding:14px;border-right:1px solid rgba(245,197,24,.2);overflow:auto}
.eo-guide-body nav button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid rgba(245,197,24,.12);color:#aaa28e}
.eo-guide-body nav button.active{color:#f5c518;background:rgba(245,197,24,.09)}
.eo-guide-body main{padding:clamp(22px,5vw,52px);max-width:700px}
.eo-guide-body main h3{font:400 clamp(2rem,5vw,3.7rem)/1 Anton,sans-serif;text-transform:uppercase;margin:13px 0}
.eo-guide-body main>p{font-size:1.05rem;color:#c9c1ae;line-height:1.65}
.eo-guide-body .eo-action{display:inline-block;margin-top:20px}
@media(max-width:720px){
  .eo-dialog{width:100vw;max-height:100dvh;margin:0}
  .eo-shell,.eo-guide-shell{height:100dvh;max-height:100dvh;border-left:0;border-right:0;display:flex;flex-direction:column}
  .eo-layout{display:flex;flex-direction:column;min-height:0;overflow:auto;flex:1}
  .eo-chat{border-right:0}.eo-summary{overflow:visible}
  .eo-shell>footer,.eo-guide-shell>footer{grid-template-columns:1fr 1fr 1fr;flex:none}
  .eo-shell>footer span,.eo-guide-shell>footer span{display:none}
  .eo-guide-body{display:flex;flex-direction:column;overflow:auto;min-height:0;flex:1}
  .eo-guide-body nav{display:flex;border-right:0;border-bottom:1px solid rgba(245,197,24,.2);flex:none;overflow:auto}
  .eo-guide-body nav button{min-width:175px}
}
@media(max-width:390px){
  .eo-shell>header,.eo-guide-shell>header{padding:13px 14px}
  .eo-chat,.eo-summary,.eo-guide-body main{padding:16px}
  .eo-composer>div,.eo-search-line{grid-template-columns:1fr}
  .eo-shell>footer,.eo-guide-shell>footer{padding:8px;gap:5px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .eo-dialog button,.eo-action{padding:9px 8px;font-size:.61rem}
}
@media(prefers-reduced-motion:reduce){.eo-progress i{transition:none}}