/* Four connected IO stages, preserving the original editable work. */
body.io-panel-guide main>.container{max-width:1500px!important;width:94%;padding:22px 0!important}
body.io-panel-guide #sideNav{display:none!important}
body.io-panel-guide [hidden]{display:none!important}
.io-intro{max-width:1000px;font:16px/1.65 Inter,sans-serif;color:#393440}
.io-route{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:24px 0}
.io-route-card{position:relative;display:flex;flex-direction:column;text-align:left;gap:12px;min-height:240px;border:2px solid var(--io-edge);border-left:6px solid var(--io-edge);border-radius:18px;padding:22px;color:var(--io-ink);background:var(--io-fill);font:16px/1.6 Inter,sans-serif;box-shadow:0 4px 10px #1e2e3e22;cursor:pointer}
.io-route-card:nth-child(1),#io-choose,#ioPanelTabs button:nth-child(1){--io-fill:#F4ECD9;--io-ink:#584521;--io-edge:#C7AF78}
.io-route-card:nth-child(2),#io-argument,#ioPanelTabs button:nth-child(2){--io-fill:#EDE2F3;--io-ink:#543267;--io-edge:#B293C5}
.io-route-card:nth-child(3),#io-analysis,#ioPanelTabs button:nth-child(3){--io-fill:#DFEBF5;--io-ink:#294F70;--io-edge:#8CB1D1}
.io-route-card:nth-child(4),#io-outline,#ioPanelTabs button:nth-child(4){--io-fill:#F3E4E7;--io-ink:#693E48;--io-edge:#BE929C}
.io-route-card:not(:last-child)::after{content:'→';position:absolute;right:-24px;top:50%;width:24px;text-align:center;color:#315E86;font-size:24px}
.io-card-number{font-weight:800;font-size:24px}.io-route-card strong{font-size:20px}.io-route-card b{margin-top:auto;border-radius:24px;padding:8px 12px;background:#ffffffb0;align-self:flex-start}.io-route-card:hover{transform:translateY(-2px)}
#ioPanelTabs{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}#ioPanelTabs button{padding:14px 18px;border:2px solid var(--io-edge);border-radius:12px;background:var(--io-fill);color:var(--io-ink);font:650 16px/1.4 Inter,sans-serif;cursor:pointer}#ioPanelTabs button.io-open{border-width:3px;box-shadow:inset 0 -5px var(--io-edge)}
.io-workspace{display:flex;align-items:flex-start;gap:18px;overflow-x:auto;padding:0 0 14px;max-width:100%}
.io-panel{flex:1 0 560px;min-width:0;height:76vh;min-height:340px;overflow:hidden;resize:vertical;border:2px solid var(--io-edge);border-top-width:5px;border-radius:12px;background:#FFFDF7;color:#393440;display:flex;flex-direction:column;box-sizing:border-box}
.io-workspace[data-count="1"] .io-panel{flex-basis:100%}.io-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--io-fill);color:var(--io-ink);flex-shrink:0}.io-panel h2{font:750 20px/1.4 Inter,sans-serif;margin:0;color:inherit}.io-panel>header button{background:#fff;border:1px solid var(--io-edge);border-radius:8px;padding:8px 12px;color:var(--io-ink);cursor:pointer}.io-panel.io-active{box-shadow:0 0 0 3px var(--io-edge)}
.io-panel-body{min-height:0;overflow:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:16px;flex:1}.io-panel .step-accordion{background:white;border:1px solid #D4CDD4;box-shadow:none;margin:16px 0}.io-panel .step-accordion-header{background:#F6F2F8!important;color:#393440;padding:12px;cursor:default}.io-panel .step-accordion-header .step-title{color:#543267;font:650 17px/1.5 Inter,sans-serif}.io-panel .step-number,.io-panel .step-complete-badge,.io-panel .accordion-arrow{display:none!important}.io-panel .step-accordion .step-accordion-body{display:block!important;padding:16px}.io-panel .step-description,.io-panel .field-label{color:#393440}.io-panel .editable-field{background:#fff;color:#393440;border:1px solid #B7AABF}.io-panel .editable-field:empty::before{color:#746C79;font-size:13px}.io-panel .editable-table th{color:#393440;background:#EDE2F3}.io-panel .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.io-panel .video-embed{background:#F4ECD9;color:#393440}.io-ask{font:650 16px/1.5 Inter,sans-serif;background:#315E86;color:white;border:0;border-radius:10px;padding:12px 18px;cursor:pointer}.io-panel .panel-gdd-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body.io-panel-guide #aiChatWidget{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;max-height:none!important;margin:22px 0!important;transform:none!important;z-index:auto!important;display:block;border:2px solid #8CB1D1;border-radius:12px;box-sizing:border-box}
body.io-panel-guide #aiChatWidget .ai-chat-body{display:block!important;height:auto!important;overflow:visible!important}body.io-panel-guide #aiChatMessages{height:260px;min-height:120px;max-height:none!important;resize:vertical;overflow:auto;background:white;color:#393440}body.io-panel-guide #aiChatMessages :is(.msg,p,li,strong){color:inherit}body.io-panel-guide #aiChatInput{color:#393440;background:white;resize:vertical;min-height:90px}body.io-panel-guide #aiChatResize,body.io-panel-guide #aiChatToggleBtn{display:none!important}
body.io-panel-guide .site-footer{position:relative!important;inset:auto!important;clear:both}
@media(max-width:1000px){.io-route{grid-template-columns:repeat(2,minmax(0,1fr))}.io-route-card::after{display:none}.io-panel{flex-basis:480px}.io-panel .panel-gdd-grid{grid-template-columns:1fr}}
@media(max-width:650px){.io-route{grid-template-columns:1fr}.io-route-card{min-height:180px}.io-workspace{flex-direction:column;overflow:visible}.io-panel{flex:none;width:100%;height:72vh}.io-panel .grid-2{grid-template-columns:1fr}.io-panel h2{font-size:18px}}
@media print{#ioLanding,#ioPanelTabs,.io-ask,.io-panel>header button,#aiChatWidget{display:none!important}.io-workspace,.io-panel,.io-panel-body{display:block!important;height:auto!important;overflow:visible!important;resize:none}.io-panel[hidden],#ioWorkspace[hidden]{display:block!important}}
body.io-panel-guide .io-panel-body :is(p,td,h3,h4,label,.field-label,.step-description){color:#393440}
body.io-panel-guide .io-panel .panel-gdd{background:#34495E;border:1px solid #526476;border-radius:8px;margin-bottom:16px}
body.io-panel-guide .io-panel .panel-gdd>summary{padding:10px 14px;font:650 14px/1.5 Inter,sans-serif;color:white;cursor:pointer}
body.io-panel-guide .io-panel .panel-gdd-grid{padding:12px}
body.io-panel-guide .io-panel .panel-gdd-card{padding:12px;border-radius:7px;background:#223449;border:1px solid #ffffff30}
body.io-panel-guide .io-panel .panel-gdd-card :is(p,li){color:#fff!important}
body.io-panel-guide .io-panel .panel-gdd-card.get-ready h3{color:#8BC34A!important}
body.io-panel-guide .io-panel .panel-gdd-card.do h3{color:#4A9EFF!important}
body.io-panel-guide .io-panel .panel-gdd-card.done h3{color:#D4A853!important}
body.io-panel-guide .io-panel .panel-gdd .resource-pill{color:#fff;background:#34495E;border:1px solid #ffffff55;border-radius:5px;padding:6px 8px;display:inline-block;font-size:13px}
@media(max-width:1000px){body.io-panel-guide .io-panel .panel-gdd-grid{grid-template-columns:1fr!important}}

/* IDEAs first, followed by evidence and the outline. */
.io-route-card:nth-child(1),#io-argument,#ioPanelTabs button:nth-child(1){--io-fill:#F4ECD9;--io-ink:#584521;--io-edge:#C7AF78}
.io-route-card:nth-child(2),#io-analysis,#ioPanelTabs button:nth-child(2){--io-fill:#EDE2F3;--io-ink:#543267;--io-edge:#B293C5}
.io-route-card:nth-child(3),#io-outline,#ioPanelTabs button:nth-child(3){--io-fill:#DFEBF5;--io-ink:#294F70;--io-edge:#8CB1D1}

/* IO evidence uses the HL card controls and teacher models. */
.io-argument-banner{padding:14px;background:#EAF0F5;border:1px solid #8CB1D1;border-radius:9px;margin-bottom:16px}.io-argument-banner h3{margin:0 0 12px!important;color:#294F70!important}.io-argument-banner label{display:block;font-weight:700;margin:8px 0}.io-argument-banner .editable-field{min-height:55px}
.io-evidence-streams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.io-evidence-stream{min-width:0;background:#EAF0F5;border:1px solid #A8BDCF;border-radius:9px;padding:14px}.io-evidence-stream.stream-2{background:#F0EBF5;border-color:#C6B5D1}.io-evidence-stream>h3{background:#315E86;color:white!important;padding:12px 14px;border-radius:7px;font-size:19px;margin:0 0 12px}.io-evidence-stream.stream-2>h3{background:#65435C}.io-work-reference{white-space:pre-wrap;font-size:14px;margin-bottom:14px}.io-whole-section{border-top:2px solid #A8BDCF;margin-top:24px;padding-top:16px}.io-evidence-stream h4{font-size:17px;margin:10px 0}.io-working-field{margin:12px 0}.io-ea-count{font-size:13px}.io-evidence-stream .hl-evidence-card{padding:14px;margin:16px 0;background:#F7FAFD;border:1px solid #A8BDCF;border-top:4px solid #315E86;border-radius:8px;container-type:inline-size;container-name:io-ea}.stream-2 .hl-evidence-card{background:#FBF8FD;border-color:#C6B5D1;border-top-color:#65435C}.io-panel .hl-ea-title{font-size:16px;font-weight:700;color:#294F70;cursor:pointer}.io-panel .hl-delete-ea{float:right;background:white!important;color:#65435C!important;font-size:12px;padding:5px 8px!important}.io-panel .hl-card-field label{display:block;margin:12px 0 5px;color:#393440;font-size:14px;font-weight:650}.io-panel .hl-card-field textarea,.io-panel .plane-category-select{box-sizing:border-box;width:100%;padding:10px;border:1px solid #A8BDCF;border-radius:5px;background:white;color:#393440;font:15px/1.6 Inter,sans-serif;resize:vertical}.io-panel .hl-card-field textarea::placeholder{color:#746C79;font-size:13px;opacity:1}.io-panel .hl-moment-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:14px 0}.io-panel .hl-ea-moment{background:#EAF0F5;border:1px solid #A8BDCF;border-radius:6px;padding:10px;min-width:0}.io-panel .hl-moment-title{display:flex;align-items:center;justify-content:space-between}.io-panel .hl-moment-title h4{margin:0}.io-panel .hl-add-evidence{background:white;padding:12px;border:1px dashed #9873A5;border-radius:7px;margin:14px 0}.io-panel .hl-add-evidence summary{cursor:pointer;font-size:16px;font-weight:650;color:#65435C}.io-panel .hl-evidence-choices{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.io-panel :is(.hl-add-evidence button,.hl-send-evidence,.hl-add-moment,.hl-moment-remove){background:#315E86;color:white;border:0;border-radius:7px;padding:8px 12px;font:650 14px/1.5 Inter,sans-serif;cursor:pointer}.io-panel .hl-send-evidence{margin-top:12px}.io-panel .hl-moment-remove{padding:2px 8px;font-size:20px}.io-panel #ioLegacyEvidence{margin-top:18px;padding:12px;border:1px solid #B7AABF;border-radius:7px}
#ioWorkspace:not([data-count="1"]) .io-evidence-streams{grid-template-columns:1fr}
@container io-ea (min-width:750px){.io-panel .hl-moment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.io-evidence-streams{grid-template-columns:1fr}}

/* v128: Full-width IO workspace and individual, panel-local AI conversations. */
body.io-panel-guide main>.container{max-width:none!important;width:calc(100% - 44px)!important;margin-left:auto!important;margin-right:auto!important}
body.io-panel-guide #ioWorkspace{width:100%;max-width:none;gap:20px}
body.io-panel-guide .io-panel{flex:1 0 650px;min-width:650px}
body.io-panel-guide .io-workspace[data-count="1"] .io-panel{min-width:0;flex-basis:100%}
body.io-panel-guide .io-ai-slot{min-width:0;padding:12px 16px 18px;flex:none;background:#f6f8fa;border-top:1px solid #ccd7e1}
body.io-panel-guide .io-landing-ai-slot{max-width:100%;margin-top:18px}
body.io-panel-guide .io-panel .io-ai-slot #aiChatWidget{margin:0!important}
body.io-panel-guide #aiChatMessages{height:320px}
@media(max-width:750px){body.io-panel-guide main>.container{width:calc(100% - 24px)!important}body.io-panel-guide .io-panel{min-width:0;flex:0 0 100%;width:100%}body.io-panel-guide .io-ai-slot{padding:10px}}
@media print{body.io-panel-guide .io-ai-slot{display:none!important}}

/* v132: match HL Essay ordering: work first, panel-specific AI at the end of the work scroller. */
body.io-panel-guide main>.container{max-width:none!important;width:calc(100% - 48px)!important;margin-inline:auto!important}
body.io-panel-guide .io-route{grid-template-columns:repeat(3,minmax(0,1fr))}
body.io-panel-guide .io-panel-body{display:block;overflow-y:auto;overflow-x:hidden;scroll-behavior:auto}
body.io-panel-guide .io-panel-body>.io-ai-slot{display:block;position:relative;clear:both;margin:24px 0 6px;padding-top:18px;border-top:2px solid #D4CDD4}
body.io-panel-guide .io-panel-body>.io-ai-slot:empty{min-height:0;padding-top:0;border-top:0}
body.io-panel-guide .io-panel-body #aiChatWidget{margin:0!important}
@media(max-width:1000px){body.io-panel-guide .io-route{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){body.io-panel-guide main>.container{width:calc(100% - 20px)!important}body.io-panel-guide .io-route{grid-template-columns:1fr}}

/* v134 independent IO chats: each panel owns a permanent conversation. */
body.io-panel-guide .io-panel-body>.io-ai-slot{display:block!important;position:relative;clear:both;margin:24px 0 6px;padding:18px 4px 8px;border-top:2px solid #D4CDD4;background:transparent}
body.io-panel-guide .io-independent-chat{width:100%;border:1px solid #cbd5df;border-radius:12px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
body.io-panel-guide .io-independent-chat h3{margin:0;color:#fff;font-size:16px}
body.io-panel-guide .io-independent-chat-header{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#1e2e3e;color:#fff;padding:12px 15px}
body.io-panel-guide .io-independent-chat-header button{background:transparent;border:1px solid #fff9;color:white;border-radius:5px;padding:4px 9px;cursor:pointer}
body.io-panel-guide .io-independent-messages{min-height:120px;max-height:340px;overflow-y:auto;padding:16px;background:#fcfcfd;color:#263648}
body.io-panel-guide .io-independent-message{margin:8px 0 16px;padding:10px 12px;border-radius:8px;background:#edf1f7;overflow-wrap:anywhere;white-space:normal}
body.io-panel-guide .io-independent-message.user{background:#e5eef6}
body.io-panel-guide .io-independent-message.assistant{background:#f4f3f8}
body.io-panel-guide .io-independent-message p{margin:6px 0}
body.io-panel-guide .io-independent-message img{max-width:180px;height:auto}
body.io-panel-guide .io-independent-form{display:flex;gap:8px;padding:10px 14px 14px;align-items:flex-end}
body.io-panel-guide .io-independent-form textarea{flex:1;min-height:65px;max-height:220px;padding:10px;resize:vertical;border:1px solid #abbac9;border-radius:8px;font:inherit}
body.io-panel-guide .io-independent-form button{padding:12px 16px;background:#315e86;color:white;border:0;border-radius:8px;cursor:pointer}
body.io-panel-guide .io-independent-form button:disabled{opacity:.55;cursor:wait}
body.io-panel-guide .io-independent-status{padding:0 14px 8px;font-size:13px;color:#536578}
body.io-panel-guide #io-ai-slot-landing[hidden]{display:none!important}
@media print{body.io-panel-guide .io-independent-chat{display:none!important}}

body.io-panel-guide #aiChatWidget[hidden],body.io-panel-guide #io-ai-slot-landing[hidden]{display:none!important}

/* v137: keep IO AI headings legible against dark header backgrounds. */
body.io-panel-guide .io-independent-chat .io-independent-chat-header h3,
body.io-panel-guide .io-independent-chat .io-independent-chat-header h3 *{color:#fff!important;opacity:1!important;-webkit-text-fill-color:#fff!important;}
