.ica{--ica-bg:#fff;--ica-ink:#232329;--ica-soft:#f7f2f4;--ica-line:#b7a7ad;--ica-accent:#8e1630;--ica-focus:#005fcc;--ica-size:20px;background:var(--ica-bg);color:var(--ica-ink);font:var(--ica-size)/1.65 system-ui,sans-serif;max-width:1040px;margin:24px auto;padding:clamp(16px,4vw,40px);border:1px solid var(--ica-line);border-radius:24px;box-shadow:0 12px 45px #27131a0c}
.ica *{box-sizing:border-box}.ica [hidden],.icf-assessment-container [hidden]{display:none!important}
.ica.dark{--ica-bg:#101215;--ica-ink:#fff;--ica-soft:#21252b;--ica-line:#8d98a8;--ica-accent:#ffe16b;--ica-focus:#6dd5ff}
.ica h2,.ica h3,.ica p{color:inherit;font:inherit;margin:0 0 14px}.ica h2{font-size:1.65em;font-weight:750;line-height:1.3}.ica h3{font-size:1.3em;font-weight:700;line-height:1.4}.ica .ica-brand{font-size:.7em;font-weight:800;letter-spacing:.13em;color:var(--ica-accent)}
.ica button,.ica input,.ica select{font:inherit;min-height:52px;border:2px solid var(--ica-line);border-radius:12px;background:var(--ica-bg);color:var(--ica-ink);padding:10px 14px;max-width:100%}.ica button{cursor:pointer;font-weight:650;white-space:normal;text-align:left;line-height:1.45}.ica button:hover{border-color:var(--ica-accent);background:var(--ica-soft)}.ica button:disabled{opacity:.6;cursor:default}.ica :focus-visible{outline:4px solid var(--ica-focus)!important;outline-offset:4px!important}
.ica .ica-primary{background:var(--ica-accent);color:#fff;border-color:var(--ica-accent)}.ica.dark .ica-primary{color:#101215}.ica .ica-primary:hover{filter:brightness(.95)}
.ica .ica-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.ica .ica-control{display:flex;flex-direction:column;gap:5px;font-size:.8em;flex:1 1 150px}.ica .ica-control select{width:100%}.ica .ica-check{display:flex;align-items:center;gap:10px;font-size:.85em}.ica input[type=checkbox]{width:26px;min-height:26px;flex-shrink:0;accent-color:var(--ica-accent)}
.ica .ica-divider{border-top:1px solid var(--ica-line);padding-top:24px}.ica .ica-bubble{background:var(--ica-soft);border:1px solid var(--ica-line);border-radius:18px;padding:24px;margin-bottom:20px}.ica .ica-code{color:var(--ica-accent);font-size:.8em;font-weight:700}
.ica .ica-options{display:grid;gap:10px;margin:20px 0}.ica .ica-options button[aria-pressed=true]{border:3px solid var(--ica-accent);background:var(--ica-soft)}.ica .ica-options .ica-number{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--ica-line);border-radius:8px;min-width:36px;margin-right:12px;font-size:.85em}
.ica .ica-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.ica .ica-compose{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.ica .ica-compose label{flex:1 1 250px}.ica .ica-compose input{display:block;width:100%;margin-top:6px}.ica .ica-status{min-height:1.7em;margin:10px 0;font-size:.9em;font-weight:650}.ica .ica-small{font-size:.8em}
.ica progress{width:100%;height:10px;accent-color:var(--ica-accent);margin:8px 0 16px}.ica .ica-confirm{padding:20px;border:2px solid var(--ica-accent);border-radius:14px;background:var(--ica-soft);margin:18px 0}.ica .ica-review{display:grid;gap:12px}.ica .ica-review p{margin:0}.ica .ica-review article{padding:16px;background:var(--ica-soft);border-radius:12px}.ica .ica-footer{font-size:.72em;margin-top:24px;border-top:1px solid var(--ica-line);padding-top:16px}.ica details{margin:12px 0}.ica summary{cursor:pointer;padding:12px 0;font-weight:700}
@media(max-width:560px){.ica{border-radius:14px;margin:12px 0}.ica .ica-bubble{padding:16px}.ica .ica-actions button{flex:1 1 140px}.ica .ica-options button{padding:14px 10px}.ica h2{font-size:1.35em}}
@media(prefers-reduced-motion:reduce){.ica *{scroll-behavior:auto!important}}
@media(forced-colors:active){.ica button[aria-pressed=true]{outline:3px solid Highlight}.ica .ica-primary{border:3px solid ButtonText}}

#icf-assessment-container.ica-enhanced{padding:0;background:transparent;min-height:0;max-width:1040px}
.ica .ica-settings{border:1px solid var(--ica-line);border-radius:12px;padding:0 16px;margin:16px 0}
.ica>.ica-control{max-width:240px}.ica .ica-settings .ica-control{margin:12px 0}
/* Version 0.2: focused, progressive interface. Reset theme tracking explicitly. */
#icf-assessment-container .ica,#icf-assessment-container .ica *{letter-spacing:normal;text-transform:none;word-spacing:normal}
.ica{--ica-soft:#f8f4f5;--ica-line:#d5c8cd;max-width:920px;padding:clamp(20px,4vw,44px);border-radius:24px;border-color:#e1d5d9;box-shadow:0 14px 50px #4518270b}
.ica.dark{--ica-soft:#202329;--ica-line:#85909d}
.ica .ica-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--ica-line)}
.ica .ica-topbar .ica-brand{margin:0;font-size:.7em;font-weight:800;letter-spacing:.08em!important}
.ica .ica-topbar .ica-control{flex:0 1 180px;max-width:180px;margin:0;font-size:.7em}
.ica .ica-topbar .ica-control select{font-size:1.1em;min-height:46px;padding:8px 12px}
.ica .ica-settings{padding:0;border:none;margin:8px 0 28px}
.ica .ica-settings>summary{font-size:.8em;color:var(--ica-accent);font-weight:650;min-height:44px;display:list-item;list-style-position:inside}
.ica .ica-settings[open]{padding:0 16px 16px;border:1px solid var(--ica-line);background:var(--ica-soft)}
.ica .ica-welcome-title{font-size:2.05em;line-height:1.18;max-width:720px;margin:16px 0 20px}
.ica .ica-welcome-intro{max-width:650px;font-size:1.05em;line-height:1.65}
.ica .ica-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0}
.ica .ica-how>div{display:flex;align-items:flex-start;gap:12px;font-size:.8em;font-weight:600}
.ica .ica-how-number{display:flex;align-items:center;justify-content:center;flex:0 0 32px;height:32px;background:var(--ica-soft);color:var(--ica-accent);border-radius:50%;border:1px solid var(--ica-line)}
.ica .ica-bubble{padding:26px 28px;border-radius:18px;background:var(--ica-soft)}
.ica .ica-bubble h3{font-size:1.6em;line-height:1.3;margin-bottom:14px}
.ica .ica-bubble p:last-child{margin:0}
.ica .ica-bubble .ica-check{margin-bottom:20px}
.ica .ica-bubble>.ica-primary{min-width:230px;text-align:center;padding:15px 24px}
.ica .ica-eyebrow{font-size:.7em;font-weight:750;color:var(--ica-accent);margin:0 0 4px}
.ica .ica-divider{border:0;padding-top:0}
.ica .ica-divider>.ica-small:first-child{margin:0}
.ica progress{margin:10px 0 24px;height:7px}
.ica button{font-weight:600;box-shadow:none;transition:background-color .12s,border-color .12s}
.ica .ica-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.ica .ica-options button{position:relative;padding:16px;min-height:68px;display:flex;align-items:center;border-width:2px}
.ica .ica-options button[aria-pressed=true]{border-width:2px;border-color:var(--ica-accent);padding-right:42px}
.ica .ica-options button[aria-pressed=true]:after{content:'✓';position:absolute;right:14px;top:50%;transform:translateY(-50%);font-weight:800;color:var(--ica-accent)}
.ica .ica-options .ica-number{flex:0 0 34px;min-height:34px;border-radius:8px;background:var(--ica-soft)}
.ica .ica-audio{margin:0 0 12px}
.ica .ica-listen{border-color:var(--ica-accent);color:var(--ica-accent);background:var(--ica-bg)}
.ica .ica-typing{font-size:.85em;border-bottom:1px solid var(--ica-line);padding-bottom:8px}
.ica .ica-voice-hint{flex:1 1 100%;margin:0}
.ica [data-mic-start][aria-pressed=true]{border:3px solid var(--ica-accent);background:var(--ica-soft)}
.ica .ica-status:empty{display:none}
.ica .ica-status:not(:empty){padding:14px 16px;border-left:4px solid var(--ica-accent);background:var(--ica-soft);border-radius:6px;font-size:.9em}
.ica .ica-navigation{border-top:1px solid var(--ica-line);padding-top:20px;justify-content:space-between;margin-top:24px}
.ica .ica-navigation .ica-primary{margin-left:auto;min-width:190px;text-align:center}
.ica .ica-about{font-size:.75em;margin-top:28px;color:var(--ica-ink)}
.ica .ica-about summary{font-weight:500}
.ica .ica-footer{font-size:.65em;color:var(--ica-ink);opacity:.85}
@media(max-width:600px){.ica{border-radius:16px;padding:20px 16px}.ica .ica-welcome-title{font-size:1.6em}.ica .ica-how{grid-template-columns:1fr;gap:12px}.ica .ica-how>div{align-items:center}.ica .ica-bubble{padding:20px 18px}.ica .ica-bubble h3{font-size:1.3em}.ica .ica-options{grid-template-columns:1fr}.ica .ica-topbar{align-items:start;gap:10px}.ica .ica-topbar .ica-control{flex:0 1 145px}.ica .ica-navigation .ica-primary{min-width:0;width:100%}.ica .ica-bubble>.ica-primary{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){.ica button{transition:none}}

/* Always-visible typing panel, with an explicit label and a strong input boundary. */
.ica .ica-typing{padding:20px;margin:22px 0;background:var(--ica-soft);border:1px solid var(--ica-line);border-radius:14px;font-size:1em}
.ica .ica-typing label{font-weight:700;display:block}
.ica .ica-typing input{background:var(--ica-bg);border:2px solid var(--ica-accent);min-height:64px;margin-top:10px;padding:14px 16px;font-weight:400}
.ica .ica-typing input::placeholder{color:var(--ica-ink);opacity:.72}
.ica .ica-typing .ica-small{margin:12px 0 0;font-size:.8em}
.ica .ica-typing button{min-height:64px;border-color:var(--ica-accent);color:var(--ica-accent)}
@media(max-width:600px){.ica .ica-typing{padding:16px}.ica .ica-typing .ica-compose button{width:100%;text-align:center}}

.ica .ica-neural-panel{padding:16px;border:1px solid var(--ica-line);border-radius:12px;background:var(--ica-bg)}
.ica [data-neural-message]:empty,.ica [data-engine-fallback]:empty{display:none}
.ica [data-neural-message]{font-size:.85em;font-weight:650;min-height:1.5em}

/* Navigation belongs immediately after answers, before optional input methods. */
.ica .ica-navigation{margin:20px 0 24px;padding:18px;border:2px solid var(--ica-accent);border-radius:14px;background:var(--ica-soft);align-items:center;gap:14px}
.ica .ica-navigation-selection{flex:1 1 100%;margin:0;font-size:.9em;font-weight:650;overflow-wrap:anywhere}
.ica .ica-navigation .ica-primary{min-height:60px;min-width:200px;font-size:1.05em}
.ica .ica-navigation button{min-height:52px}
.ica [data-question-heading],.ica .ica-confirm,.ica .ica-navigation button{scroll-margin-block:24px}
@media(max-width:600px){.ica .ica-navigation{padding:16px;gap:12px}.ica .ica-navigation .ica-primary{min-width:0;flex:1 1 100%;width:100%;min-height:60px}.ica .ica-navigation button{flex:1 1 140px}}

/* Prominent language selector: visible without opening accessibility settings. */
.ica .ica-topbar{align-items:center;flex-wrap:wrap}
.ica .ica-topbar .ica-control{flex:0 1 300px;max-width:100%;border:2px solid var(--ica-accent);border-radius:14px;padding:10px 14px;background:var(--ica-soft);font-size:.9em;font-weight:700}
.ica .ica-topbar .ica-control select{font-size:1em;min-height:52px;background:var(--ica-bg)}
@media(max-width:600px){.ica .ica-topbar .ica-control{flex:1 1 100%;max-width:100%}}

.ica{overflow-wrap:anywhere}
.ica .ica-ai-help{margin:20px 0;padding:20px;border:2px solid var(--ica-accent);border-radius:14px;background:var(--ica-soft)}
.ica .ica-ai-help h4{font:inherit;font-weight:750;line-height:1.4;color:var(--ica-ink);margin:0 0 12px}
.ica .ica-ai-help .ica-actions{gap:12px}
.ica .ica-ai-help button{min-height:56px}
.ica .ica-ai-help .ica-ai-status:empty{display:none}
.ica .ica-ai-help .ica-ai-status{font-weight:650;overflow-wrap:anywhere}
.ica .ica-ai-answer{white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:600px){.ica .ica-ai-help{padding:16px}.ica .ica-ai-help .ica-actions button{flex:1 1 100%}}

/* Conversation stays distinct from questionnaire answers and inherits accessibility settings. */
.ica .ica-ai-compose label{display:block;font-weight:750;margin-top:20px}
.ica .ica-ai-compose textarea{display:block;width:100%;max-width:100%;min-height:150px;resize:vertical;font:inherit;line-height:1.5;color:var(--ica-ink);background:var(--ica-bg);border:3px solid var(--ica-accent);border-radius:12px;padding:16px;margin:10px 0}
.ica .ica-ai-compose textarea::placeholder{color:var(--ica-ink);opacity:.7}
.ica .ica-ai-consent{padding:14px;border:1px solid var(--ica-line);border-radius:12px;background:var(--ica-bg);align-items:flex-start}
.ica .ica-ai-consent input{margin-top:5px}
.ica .ica-ai-log{margin:20px 0}
.ica .ica-ai-log:empty{display:none}
.ica .ica-ai-message{padding:18px;margin:14px 0;border:1px solid var(--ica-line);border-radius:14px;background:var(--ica-bg);overflow-wrap:anywhere;white-space:pre-line}
.ica .ica-ai-user{border-left:5px solid var(--ica-accent)}
.ica .ica-ai-speaker{font-size:.8em;font-weight:800;margin-bottom:6px}
.ica .ica-ai-message p:last-child{margin-bottom:0}
.ica .ica-ai-message button{margin-top:10px}
.ica .ica-ai-mic-notice{padding:18px;border:2px solid var(--ica-accent);border-radius:12px;background:var(--ica-bg)}
.ica .ica-ai-mic-notice button{margin:6px 10px 6px 0}
.ica .ica-ai-tools{border-top:1px solid var(--ica-line);padding-top:16px}
@media(max-width:600px){.ica .ica-ai-message{padding:14px}.ica .ica-ai-compose textarea{padding:12px}.ica .ica-navigation button{flex-basis:100%}}
