@import"https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&family=Spectral:wght@600;700&display=swap";:root{--bg: #f2f5f8;--surface: #ffffff;--surface-2: #f7fafc;--line: #d0d7e0;--text: #1f2933;--muted: #4f5d6b;--primary: #0f5f8f;--primary-strong: #0d4568;--alert-bg: #fff3df;--alert-line: #d0aa6f;--focus: #8ac6f2;--shadow: 0 18px 45px rgba(30, 53, 75, .12)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:"Source Sans 3",Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at 10% 10%,rgba(214,228,244,.85),transparent 45%),radial-gradient(circle at 90% 20%,rgba(228,241,236,.9),transparent 40%),linear-gradient(180deg,#eef3f7,#f6f8fa 55%,#eef1f4)}a{color:inherit}button,input,select{font:inherit}button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:.7rem;padding:.56rem .92rem;cursor:pointer}button:hover{border-color:var(--primary)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.primary-button{background:var(--primary);border-color:var(--primary);color:#fff}.primary-button:hover{background:var(--primary-strong);border-color:var(--primary-strong)}.ghost-button{background:transparent}.app-shell{max-width:1180px;margin:0 auto;padding:1.2rem 1rem 2rem}.site-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:flex-end;margin-bottom:1.2rem;padding:1rem 1rem 1.1rem;border-radius:.95rem;border:1px solid var(--line);background:linear-gradient(130deg,#fefefe,#edf3f7);box-shadow:var(--shadow)}.site-header h1{margin:0;font-family:Spectral,Georgia,serif;font-size:1.8rem}nav{display:flex;flex-wrap:wrap;gap:.5rem}nav a{text-decoration:none;border:1px solid var(--line);border-radius:.65rem;padding:.45rem .75rem;color:var(--muted);font-weight:600}nav a.active{background:#0f5f8f1f;color:var(--primary-strong);border-color:#0f5f8f6b}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;color:var(--muted)}.page{display:grid;gap:1rem}.hero-card,.panel,.warning-panel,.test-card,.channel-readout{border:1px solid var(--line);border-radius:.9rem;background:var(--surface);padding:1rem;box-shadow:0 10px 24px #1d344b12}.hero-card h1,.panel h1,.warning-panel h2,.panel h2,.test-header h3,.channel-readout h3{margin-top:0;font-family:Spectral,Georgia,serif}.action-row{display:grid;gap:.75rem;margin-top:1rem}.ack-row{display:flex;gap:.6rem;align-items:center;color:var(--muted)}.warning-panel{background:var(--alert-bg);border-color:var(--alert-line)}.warning-panel ul,.panel ul,.channel-readout ul,.stats-panel ul{margin:0;padding-left:1.1rem;display:grid;gap:.45rem}.warning-panel.compact{padding:.9rem}.test-selector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem}.test-choice{text-align:left;display:grid;gap:.45rem;min-height:96px}.test-choice.active{border-color:#0f5f8f8c;background:#0f5f8f14}.panel-header-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem}.panel-subtitle{margin-top:0;color:var(--muted)}.slider-panel-embedded{display:grid;gap:.8rem}.slider-stack{display:grid;gap:.9rem}.settings-group-grid{display:grid;gap:1rem}.settings-group-card{display:grid;gap:.85rem;border:1px solid var(--line);border-radius:.95rem;padding:.95rem;background:linear-gradient(180deg,#fbfdff,#f2f7fb)}.settings-group-card-wide{gap:1rem}.settings-group-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;align-items:start}.settings-group-header h3{margin:0 0 .2rem}.settings-group-header p{margin:0;max-width:58ch;color:var(--muted)}.settings-inline-grid,.visual-mix-grid{display:grid;gap:.9rem}.settings-inline-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.audio-settings-columns{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.visual-mix-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.content-toggle-card{display:grid;gap:.7rem;border:1px solid #d9c7af;border-radius:.85rem;padding:.85rem .9rem;background:linear-gradient(180deg,#fffaf3,#fff4e6)}.content-toggle-inline{margin-top:0}.content-toggle-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;align-items:start}.content-toggle-header h3{margin:0 0 .25rem}.content-toggle-header p{margin:0;max-width:52ch;color:var(--muted)}.toggle-checkbox{display:flex;gap:.55rem;align-items:center;font-weight:700}.toggle-checkbox input{width:1rem;height:1rem}.content-warning{margin:0;color:#784d17;font-size:.94rem}.slider-row{display:grid;gap:.28rem;border:1px solid var(--line);border-radius:.8rem;padding:.75rem;background:var(--surface-2)}.slider-row-header{display:flex;justify-content:space-between;align-items:center;gap:.6rem;font-weight:700}.slider-row output{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.15rem .55rem;min-width:44px;text-align:center}.slider-range-hints{display:flex;justify-content:space-between;gap:.75rem;font-size:.78rem;color:var(--muted)}.slider-row-muted input:disabled{opacity:.45;cursor:not-allowed}.slider-row small{color:var(--muted)}input[type=range]{width:100%}input[readonly],input[type=text][readonly]{width:100%;border:1px solid var(--line);border-radius:.7rem;padding:.55rem .65rem;color:var(--muted)}.preset-message{color:var(--primary-strong);font-weight:700}.page-footer-actions{display:flex;flex-wrap:wrap;gap:.65rem}.simulation-controls{display:flex;flex-wrap:wrap;gap:.55rem}.simulation-controls-overlay{position:relative;z-index:3}.settings-drawer{background:linear-gradient(160deg,#f7fbff,#edf5fb)}.audio-note{background:#edf7ff;border-color:#9bc2de}.audio-note p{margin:0}.simulation-layout{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:1rem;align-items:start}.simulation-stage{position:relative;display:grid;gap:1rem}.fullscreen-hidden{display:none}.simulation-page.is-fullscreen{min-height:100vh;padding:1rem;gap:0;background:radial-gradient(circle at top left,rgba(30,67,102,.36),transparent 34%),linear-gradient(180deg,#dfe8ef,#f1f5f8)}.simulation-page.is-fullscreen:fullscreen{width:100%;max-width:none;margin:0}.simulation-stage-fullscreen{min-height:calc(100vh - 2rem);grid-template-rows:1fr}.simulation-layout-fullscreen{grid-template-columns:1fr;min-height:calc(100vh - 2rem)}.simulation-layout-fullscreen .visual-shell{min-height:calc(100vh - 2rem)}.simulation-layout-fullscreen .test-card{min-height:calc(100vh - 2rem);padding-top:8.9rem;padding-bottom:9.2rem;padding-left:clamp(1.25rem,3vw,2.5rem);padding-right:clamp(1.25rem,3vw,2.5rem)}.simulation-layout-fullscreen .test-header,.simulation-layout-fullscreen .target-callout,.simulation-layout-fullscreen .test-status{max-width:1040px;width:100%;margin-left:auto;margin-right:auto}.simulation-layout-fullscreen .target-callout{padding:1rem 1.2rem}.simulation-layout-fullscreen .prompt-callout{gap:1rem}.simulation-layout-fullscreen .prompt-callout strong{font-size:1.28rem}.simulation-layout-fullscreen .prompt-color-chip,.simulation-layout-fullscreen .prompt-symbol-chip,.simulation-layout-fullscreen .prompt-shape-chip{width:72px;height:72px}.simulation-layout-fullscreen .prompt-shape{width:44px;height:44px}.simulation-layout-fullscreen .prompt-shape.triangle{border-left-width:24px;border-right-width:24px;border-bottom-width:42px}.fullscreen-toolbar{position:absolute;top:.85rem;left:.85rem;right:.85rem;z-index:4;display:grid;gap:.75rem;padding:.9rem 1rem;border-radius:1rem;border:1px solid rgba(23,46,69,.16);background:#fafcffd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 14px 32px #182b3f29}.fullscreen-toolbar-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:end}.fullscreen-toolbar-header div{display:grid;gap:.15rem}.fullscreen-toolbar-header span,.fullscreen-toolbar-header p{margin:0;color:var(--muted)}.settings-drawer-floating,.audio-note-floating{position:absolute;z-index:4;left:.85rem;right:.85rem}.settings-drawer-floating{top:9.7rem;max-height:calc(100vh - 13rem);overflow:auto}.audio-note-floating{top:9.7rem}.channel-readout{position:sticky;top:1rem}.visual-shell{position:relative;isolation:isolate;overflow:hidden;border-radius:1rem}.visual-stage{position:relative;transform-origin:center center}.visual-source{position:relative;z-index:0}.visual-source-hidden{opacity:0}.visual-content{position:relative;z-index:0;transform-origin:center center}.visual-webgl-surface{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;pointer-events:auto}.visual-webgl-surface-hidden{opacity:0;pointer-events:none}.visual-noise,.visual-ghost-content,.visual-shimmer,.visual-fluorescent{position:absolute;inset:0;pointer-events:none}.visual-ghost-content{z-index:2;overflow:hidden;mix-blend-mode:multiply;transform-origin:center center}.visual-ghost-content *{pointer-events:none!important}.visual-noise{z-index:3;overflow:hidden;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.64) 0 1px,transparent 1px),radial-gradient(circle at 70% 60%,rgba(0,0,0,.18) 0 1px,transparent 1px),linear-gradient(118deg,transparent 0 48%,rgba(255,255,255,.16) 49%,transparent 52%),linear-gradient(74deg,transparent 0 56%,rgba(22,32,35,.1) 57%,transparent 60%);background-size:9px 9px,11px 11px,190px 160px,240px 210px;mix-blend-mode:normal;animation:floating-noise 7.5s ease-in-out infinite alternate}.visual-noise:before{content:"";position:absolute;inset:-18%;opacity:var(--noise-touch-opacity, 0);background:radial-gradient(circle at var(--noise-touch-x, 50%) var(--noise-touch-y, 50%),rgba(255,255,255,.72) 0 2%,rgba(168,210,222,.34) 5%,rgba(36,48,52,.2) 12%,transparent 28%),radial-gradient(circle at var(--noise-touch-x, 50%) var(--noise-touch-y, 50%),rgba(30,42,45,.2) 0 1px,transparent 18%);filter:blur(5px)}.visual-noise-particle{position:absolute;display:block;box-shadow:0 0 9px #ffffff2e;animation-name:drift-noise-particle;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}.visual-shimmer{z-index:4;background:linear-gradient(115deg,#fdd28747,#80bde929);animation:shimmer 3.4s ease-in-out infinite}.visual-fluorescent{z-index:5;background:linear-gradient(180deg,#ffffff38,#eaf7ff14 32%,#121d2924),repeating-linear-gradient(180deg,#ffffff14 0 10px,#ffffff05 10px 24px,#0000000f 24px 28px);mix-blend-mode:screen}@keyframes floating-noise{0%{background-position:0 0,20px -10px,-12px 24px,18px 8px}to{background-position:18px 26px,0 20px,24px -10px,-12px 22px}}@keyframes drift-noise-particle{0%{transform:translateZ(0) rotate(var(--noise-rotate)) scale(.88)}to{transform:translate3d(var(--noise-drift-x),var(--noise-drift-y),0) rotate(var(--noise-rotate)) scale(1.12)}}@keyframes shimmer{0%{opacity:.08;transform:translate(-5%)}50%{opacity:.3;transform:translate(5%)}to{opacity:.08;transform:translate(-5%)}}.test-card{display:grid;gap:.9rem;min-height:460px;background:linear-gradient(170deg,#fff,#f2f6f9)}.test-header p{color:var(--muted);margin-bottom:0}.target-callout{border:1px solid rgba(15,95,143,.35);border-radius:.75rem;padding:.7rem .85rem;background:#0f5f8f14;font-weight:700}.prompt-callout{display:flex;align-items:center;gap:.8rem}.prompt-callout-copy{display:grid;gap:.15rem}.prompt-callout-label{color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.prompt-callout strong{font-size:1.05rem;text-transform:capitalize}.prompt-color-chip,.prompt-symbol-chip,.prompt-shape-chip{display:grid;place-items:center;flex:0 0 auto;width:54px;height:54px;border-radius:.95rem;border:1px solid rgba(16,37,58,.18);background:#ffffffe0;box-shadow:inset 0 1px #ffffff80}.prompt-color-chip{border-radius:.8rem}.prompt-shape{width:34px;height:34px}.prompt-shape.triangle{border-left-width:19px;border-right-width:19px;border-bottom-width:34px}.aac-grid,.recognition-grid,.focus-response-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.7rem}.simulation-layout-fullscreen .aac-grid,.simulation-layout-fullscreen .recognition-grid,.simulation-layout-fullscreen .focus-response-grid,.simulation-layout-fullscreen .color-grid{width:min(1180px,100%);margin:0 auto;justify-content:center;align-content:center}.simulation-layout-fullscreen .aac-grid,.simulation-layout-fullscreen .recognition-grid{grid-template-columns:repeat(auto-fit,minmax(220px,260px));gap:1rem}.simulation-layout-fullscreen .focus-response-grid{grid-template-columns:repeat(auto-fit,minmax(220px,280px));gap:1rem}.symbol-tile,.recognition-option,.focus-response-option{min-height:66px;border-radius:.72rem;border:1px solid #bbc8d5;background:#fff;font-weight:600;transition:border-color .12s ease}.symbol-tile{display:grid;justify-items:center;gap:.3rem;padding:.45rem .35rem}.symbol-icon{width:32px;height:32px;display:block;overflow:visible;flex:0 0 auto}.color-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.75rem}.simulation-layout-fullscreen .color-grid{grid-template-columns:repeat(auto-fit,minmax(220px,250px));gap:1rem}.color-swatch{min-height:82px;border-radius:.8rem;border:1px solid #b8c8d9;display:grid;grid-template-columns:48px 1fr;align-items:center;gap:.55rem;text-align:left;padding:.55rem .7rem;background:#fff}.simulation-layout-fullscreen .symbol-tile,.simulation-layout-fullscreen .recognition-option,.simulation-layout-fullscreen .focus-response-option,.simulation-layout-fullscreen .color-swatch{min-height:170px;padding:1rem;border-radius:1rem;box-shadow:0 12px 28px #182b3f14}.simulation-layout-fullscreen .symbol-tile,.simulation-layout-fullscreen .focus-response-option,.simulation-layout-fullscreen .recognition-option{display:grid;place-items:center;text-align:center}.simulation-layout-fullscreen .color-swatch{grid-template-columns:1fr;justify-items:center;align-content:center;text-align:center;gap:.9rem}.color-chip{width:40px;height:40px;border-radius:.55rem;border:1px solid rgba(0,0,0,.24)}.simulation-layout-fullscreen .color-chip{width:84px;height:84px;border-radius:1rem}.color-label{font-weight:700;text-transform:capitalize}.simulation-layout-fullscreen .color-label,.simulation-layout-fullscreen .symbol-tile span,.simulation-layout-fullscreen .focus-response-option{font-size:1.18rem}.shape-card{display:flex;align-items:center;justify-content:center;min-height:88px;padding:.6rem}.shape-visual{display:block;width:56px;height:56px;border:2px solid rgba(23,35,48,.35)}.simulation-layout-fullscreen .shape-visual{width:94px;height:94px}.shape-visual.circle{border-radius:999px}.shape-visual.square{border-radius:.35rem}.shape-visual.triangle{border:0;width:0;height:0;border-left:32px solid transparent;border-right:32px solid transparent;border-bottom:58px solid;background:transparent}.simulation-layout-fullscreen .shape-visual.triangle{border-left-width:52px;border-right-width:52px;border-bottom-width:92px}.shape-visual.diamond{transform:rotate(45deg);border-radius:.2rem}.simulation-layout-fullscreen .symbol-icon{width:64px;height:64px}.test-status{margin-top:auto;border-top:1px solid var(--line);padding-top:.7rem;color:var(--muted)}.interrupt-overlay{border:1px dashed rgba(143,70,15,.55);border-radius:.65rem;padding:.6rem;background:#d0aa6f33;color:#5f3f15;font-weight:600}.stats-panel{background:linear-gradient(170deg,#fefefe,#f3f8fb)}.stats-panel-inline{position:sticky;top:1rem}.fullscreen-hud{position:absolute;left:.85rem;right:.85rem;bottom:.85rem;z-index:4;display:grid;grid-template-columns:repeat(2,minmax(220px,320px));gap:.8rem;justify-content:space-between;pointer-events:none}.fullscreen-hud-card{pointer-events:auto;border:1px solid rgba(23,46,69,.14);border-radius:.95rem;padding:.85rem .95rem;background:#f7fbffc7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 28px #182b3f24}.fullscreen-hud-card h2{margin:0 0 .5rem;font-size:.95rem}.fullscreen-hud-card ul{margin:0;padding-left:1rem;display:grid;gap:.28rem}@media(max-width:940px){.simulation-layout{grid-template-columns:1fr}.channel-readout{position:static}.fullscreen-hud{grid-template-columns:1fr}}@media(max-width:640px){.app-shell{padding:.8rem .65rem 1.2rem}.site-header{padding:.8rem}.test-card{min-height:0}.simulation-layout-fullscreen .test-card{padding-top:11.5rem;padding-bottom:12.8rem}.fullscreen-toolbar{top:.6rem;left:.6rem;right:.6rem;padding:.8rem}.settings-drawer-floating,.audio-note-floating{left:.6rem;right:.6rem;top:12rem}.fullscreen-hud{left:.6rem;right:.6rem;bottom:.6rem}}
