@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@500;600;700;800;900&family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');
/* vNext functional/accessibility component styles */
:root{
  --bg:#17133f;--panel:#241d5d;--panel2:#2c2470;--ink:#fff;--soft:#d9d5f7;--muted:#a9a3d4;
  --line:rgba(255,255,255,.16);--accent:#47d8ff;--accent2:#7968ff;--danger:#ff6678;--ok:#4dd39b;
  --shadow:0 14px 40px rgba(8,5,35,.34);--r:22px;--tap:52px;--composer-h:168px;
  --c-fav:#ffd35b;--c-core:#73a8ff;--c-conv:#8f7bff;--c-people:#ff9ac3;--c-feel:#ffd36b;--c-need:#68dfb4;--c-food:#ff9e70;--c-animal:#85d887;--c-school:#72b7ff;--c-act:#b08cff;--c-sens:#65d8ed;--c-health:#ff7e8c;--c-place:#77cfa5;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}body{overflow:hidden;background:radial-gradient(circle at 20% -10%,rgba(91,96,255,.23),transparent 34%),linear-gradient(180deg,#1c164d,#141134)}
button,input,select,textarea{font:inherit}button{cursor:pointer}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:10px;top:-80px;background:#fff;color:#111;padding:10px 14px;z-index:9999;border-radius:10px}.skip-link:focus{top:10px}
.shell{height:100dvh;display:grid;grid-template-rows:1fr auto;max-width:1180px;margin:0 auto;position:relative}.view{overflow:auto;padding:26px 26px 34px;scroll-padding-bottom:20px;outline:none}.view:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}
.hd{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 84px 18px 0}.kicker{font-size:.72rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--accent)}.hd h1,.lh h2,.section-title,.sheet h2,.onb h1{font-size:clamp(1.8rem,4vw,3.1rem);line-height:1.02;margin:.15rem 0 0;font-weight:900;letter-spacing:-.035em}.avatar-btn{width:62px;height:62px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;font-size:2rem;overflow:hidden}.avatar-btn img{width:100%;height:100%;object-fit:cover}.sos-global{position:absolute;right:26px;top:26px;z-index:40;min-width:58px;height:58px;border:2px solid rgba(255,255,255,.65);border-radius:18px;background:var(--danger);color:#fff;font-weight:1000;box-shadow:var(--shadow);letter-spacing:.03em}.sos-global:focus-visible{outline:4px solid #fff;outline-offset:3px}
.section{margin:0 0 24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-head h2{margin:0;font-size:1.18rem}.section-head p{margin:0;color:var(--soft);font-size:.92rem}.ctx-sel,.si,.ti,.onb-input{min-height:48px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.1);color:var(--ink);padding:0 14px}.ctx-sel option,.si option{color:#111}
.suggested-panel{background:linear-gradient(135deg,rgba(85,102,255,.18),rgba(46,217,229,.10));border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--shadow)}.pred-row,.core-row{display:flex;gap:10px;overflow:auto;padding:3px 2px 6px;scrollbar-width:thin}.chip-tile{position:relative;flex:0 0 auto}.chip{min-width:130px;max-width:190px;min-height:76px;padding:10px 12px;border-radius:17px;border:1px solid color-mix(in srgb,var(--cc,#777) 55%,white 15%);background:linear-gradient(180deg,color-mix(in srgb,var(--cc,#777) 34%,transparent),rgba(255,255,255,.08));color:#fff;display:flex;align-items:center;gap:9px;text-align:left;font-weight:850;box-shadow:0 8px 18px rgba(0,0,0,.16)}.chip .em{font-size:1.65rem}.chip-more{position:absolute;right:4px;top:4px;width:30px;height:30px;border-radius:10px;border:0;background:rgba(0,0,0,.28);color:#fff}.core-wrap{margin:0 0 22px}.core-label{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 8px}.core-chip{flex:0 0 auto;min-height:52px;padding:7px 12px;border-radius:15px;border:1px solid var(--line);background:rgba(255,255,255,.09);color:#fff;font-weight:900;display:flex;align-items:center;gap:7px}.core-chip .em{font-size:1.25rem}
.primary-grid,.all-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.cat-tile,.word-tile{position:relative}.cat-card,.all-card{width:100%;min-height:128px;border-radius:20px;border:1px solid color-mix(in srgb,var(--cc,#777) 55%,white 12%);background:linear-gradient(150deg,color-mix(in srgb,var(--cc,#777) 36%,transparent),rgba(255,255,255,.07));color:#fff;padding:14px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;box-shadow:0 10px 24px rgba(0,0,0,.18)}.cat-card .cat-illo,.all-card .cat-illo{font-size:2.35rem;line-height:1}.cat-card strong,.all-card strong{font-size:1.05rem;display:block}.cat-card small,.all-card small{display:block;color:var(--soft);margin-top:4px}.all-boards-btn,.quick{width:100%;min-height:66px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:#fff;padding:13px 15px;display:flex;align-items:center;gap:12px;text-align:left}.all-boards-btn strong,.quick strong{font-size:1.04rem}.all-boards-btn small,.quick small{display:block;color:var(--soft);margin-top:2px}.arr{margin-left:auto;font-size:1.5rem}.quick{margin-top:12px;background:linear-gradient(135deg,rgba(121,104,255,.32),rgba(71,216,255,.14))}.spark{font-size:1.8rem}
.style-visual .cat-card{min-height:150px}.style-visual .cat-card .cat-illo{font-size:3rem}.style-phrases .suggested-panel{padding:20px}.style-phrases .chip{min-width:175px;min-height:84px}.style-guided .guided-home{display:flex}.guided-home{display:none;margin:0 0 20px}.style-low .chip{box-shadow:none}.style-low .suggested-panel,.style-low .cat-card,.style-low .all-card{background:rgba(255,255,255,.07);box-shadow:none}
.lh{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:10px;margin:0 84px 18px 0}.lh h2{text-align:center;font-size:2rem}.back,.icon-btn{min-width:48px;height:48px;border-radius:15px;border:1px solid var(--line);background:rgba(255,255,255,.1);color:#fff;font-size:1.6rem}.word-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.word-card,.add-card{width:100%;min-height:126px;border-radius:18px;border:1px solid color-mix(in srgb,var(--cc,#777) 52%,white 12%);background:linear-gradient(160deg,color-mix(in srgb,var(--cc,#777) 34%,transparent),rgba(255,255,255,.08));color:#fff;padding:11px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;position:relative}.word-card .word-icon{font-size:2.35rem;line-height:1;min-height:44px;display:grid;place-items:center}.word-card .word-icon img,.detail-icon img,.sym img,.result-symbol img{max-width:70px;max-height:70px;object-fit:contain}.word-card strong{font-size:.95rem;line-height:1.15}.more-fab,.edit-fab{position:absolute;width:31px;height:31px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:rgba(10,7,40,.74);color:#fff;z-index:2}.more-fab{right:5px;bottom:5px}.edit-fab{left:5px;top:5px}.pin-badge{position:absolute;right:7px;top:6px;font-size:.8rem}.add-card{border-style:dashed;background:rgba(255,255,255,.045)}.add-card .plus{font-size:2rem}.layout-controls{position:absolute;inset:auto 5px 5px 5px;display:flex;justify-content:center;gap:5px;z-index:5}.layout-controls button{width:36px;height:32px;border:1px solid #fff5;border-radius:10px;background:#111a;color:#fff}.show-more{margin:16px auto 2px;display:block;min-height:50px;padding:0 20px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:#fff;border-radius:15px;font-weight:850}
.composer{background:rgba(20,16,54,.97);backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:12px 18px max(12px,env(safe-area-inset-bottom));box-shadow:0 -10px 34px rgba(0,0,0,.24);z-index:30}.composer-top{display:grid;grid-template-columns:1fr 112px;gap:10px;max-width:1140px;margin:0 auto}.composer textarea{resize:none;width:100%;min-height:64px;max-height:110px;border-radius:18px;border:2px solid rgba(255,255,255,.32);background:#fff;color:#17132f;padding:12px 14px;font-size:1.08rem;font-weight:750;line-height:1.3;box-shadow:inset 0 1px 0 #fff}.speak-main{border:0;border-radius:18px;background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;font-weight:1000;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:7px}.composer-tools{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-width:860px;margin:9px auto 0}.tool-btn{min-height:46px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;gap:6px}.tool-btn.accent{background:rgba(121,104,255,.28);border-color:rgba(121,104,255,.7)}
.modal,.onb{position:fixed;inset:0;z-index:100;display:none;align-items:flex-end;justify-content:center;background:rgba(7,5,27,.62);backdrop-filter:blur(7px);padding:20px}.modal.open,.onb.open{display:flex}.sheet,.onb-card{width:min(760px,100%);max-height:min(88dvh,900px);overflow:auto;background:linear-gradient(180deg,#2a2268,#1b174a);border:1px solid rgba(255,255,255,.2);border-radius:28px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.5);position:relative}.sheet h2,.onb h1{font-size:2rem}.x-close{position:sticky;float:right;top:0;z-index:5;width:44px;height:44px;border-radius:14px;border:1px solid var(--line);background:#3a326f;color:#fff;font-size:1.5rem}.lede{color:var(--soft);line-height:1.45}.sec-title{font-size:1rem!important;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:22px 0 10px}.pill{min-height:48px;border-radius:14px;padding:0 15px;border:1px solid var(--line);color:#fff;background:rgba(255,255,255,.08);font-weight:900}.pill.primary{background:linear-gradient(135deg,var(--accent2),#44cbe8);border:0}.pill.danger{background:var(--danger);border:0}.pill.ghost{background:rgba(255,255,255,.07)}.fg{display:grid;gap:10px}.stack{display:grid;gap:6px}.stack label{font-size:.84rem;font-weight:850;color:var(--soft)}.switch-row{min-height:62px;border:1px solid var(--line);border-radius:16px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,.055)}.switch-row strong{display:block}.switch-row small{display:block;color:var(--muted);margin-top:3px}.switch{width:52px;height:30px;border:0;border-radius:99px;background:#605a7d;position:relative}.switch:before{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.18s}.switch[aria-checked="true"]{background:#4dbdce}.switch[aria-checked="true"]:before{left:25px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.export{white-space:pre-wrap;background:#0f0c2b;border-radius:14px;padding:12px;color:#d7d3ff;font-size:.78rem}.data-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.sync-card{border:1px solid var(--line);border-radius:18px;padding:14px;background:rgba(255,255,255,.055)}.sync-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--ok);margin-right:6px}.privacy-note{font-size:.85rem;color:var(--soft);line-height:1.45;background:rgba(86,214,192,.09);border:1px solid rgba(86,214,192,.3);border-radius:15px;padding:11px}
.search-box{display:grid;grid-template-columns:1fr auto;gap:8px;margin:12px 0}.search-box input{min-height:52px;border-radius:15px;border:1px solid var(--line);background:#fff;color:#111;padding:0 14px;font-size:1rem}.search-results{display:grid;gap:9px}.finder-result{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:9px;background:rgba(255,255,255,.06)}.result-symbol{width:54px;height:54px;border-radius:13px;background:#fff;color:#222;display:grid;place-items:center;font-size:1.9rem;overflow:hidden}.finder-result strong{display:block}.finder-result small{display:block;color:var(--muted);margin-top:3px}.finder-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.finder-actions button{min-height:38px;border-radius:11px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:#fff;font-weight:850}.highlight-card{animation:hi 1.8s ease 1}@keyframes hi{0%,100%{outline:0 solid transparent}30%{outline:6px solid #fff;outline-offset:3px}}
.assist-list{display:grid;gap:10px;margin-top:14px}.assist-option{border:1px solid var(--line);border-radius:18px;padding:14px;background:rgba(255,255,255,.06)}.assist-option.current{border-color:rgba(71,216,255,.65)}.assist-option small{color:var(--muted);text-transform:uppercase;font-weight:900;letter-spacing:.08em}.assist-option p{font-size:1.1rem;font-weight:800;line-height:1.35}.assist-actions{display:flex;gap:8px}.authorship-note{padding:11px 12px;border-radius:15px;background:rgba(121,104,255,.12);color:var(--soft);font-size:.88rem;line-height:1.45}
.keyboard-shell{display:grid;gap:12px}.kbd-input{min-height:110px;width:100%;border-radius:18px;padding:14px;border:2px solid #fff4;background:#fff;color:#17132f;font-weight:750;font-size:1.15rem}.kbd-preds{display:flex;gap:7px;overflow:auto}.kbd-preds button{flex:0 0 auto;min-height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:#fff1;color:#fff}.kbd-row{display:flex;gap:6px;justify-content:center}.kbd-key{min-width:42px;min-height:48px;border-radius:12px;border:1px solid #fff3;background:#fff1;color:#fff;font-weight:900}.kbd-key.wide{min-width:76px}.kbd-key.space{flex:1;max-width:330px}.kbd-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.sym-tabs{display:flex;gap:8px;margin:8px 0 10px}.sym-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.sym{min-height:64px;border-radius:13px;border:1px solid var(--line);background:#fff1;color:#fff;font-size:1.7rem;display:grid;place-items:center;overflow:hidden}.sym.sel{outline:3px solid var(--accent)}.sym img{width:100%;height:100%;object-fit:contain;background:#fff}.ar-results{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.ar-item{border:1px solid var(--line);border-radius:14px;background:#fff;color:#111;padding:6px;min-height:110px}.ar-item img{width:100%;height:76px;object-fit:contain}.ar-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview{display:none;margin-top:12px;border:1px solid var(--line);border-radius:16px;padding:10px;align-items:center;gap:12px}.preview.open{display:flex}.pi{width:62px;height:62px;border-radius:13px;background:#fff;color:#111;display:grid;place-items:center;font-size:2rem;overflow:hidden}.pi img{width:100%;height:100%;object-fit:contain}
.detail-hero{text-align:center;display:grid;justify-items:center;gap:8px}.detail-icon{width:105px;height:105px;border-radius:24px;background:color-mix(in srgb,var(--cc,#777) 35%,white 8%);display:grid;place-items:center;font-size:3.5rem;overflow:hidden}.tag{font-size:.8rem;color:var(--muted)}.detail-acts{display:flex;justify-content:center;gap:8px;margin:14px 0}.round{width:49px;height:49px;border-radius:15px;border:1px solid var(--line);background:#fff1;color:#fff}.rel-list{display:grid;gap:8px}.rel{min-height:58px;border-radius:15px;border:1px solid var(--line);background:#fff1;color:#fff;padding:8px 11px;display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center;text-align:left}.rel .em{font-size:1.6rem}.rel img{max-width:38px;max-height:38px}.gridbtns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bcard{min-height:76px;border-radius:16px;border:1px solid var(--line);background:#fff1;color:#fff;text-align:left;padding:11px;font-weight:900}.bcard small{display:block;color:var(--muted);font-weight:600;margin-top:4px}.bresult{display:none;margin-top:12px}.bresult.open{display:grid;gap:10px}.flow-preview{background:#fff1;border-radius:14px;padding:10px}.flow-head{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:8px}.flow-count{color:var(--muted)}
.onb{z-index:120;align-items:center}.onb-card{max-width:640px}.onb-content{text-align:center}.onb-content p{color:var(--soft)}.onb-note{margin:15px 0;background:#fff1;border:1px solid var(--line);border-radius:15px;padding:11px;color:var(--soft);text-align:left}.onb-acts{margin-top:18px;display:flex;justify-content:flex-end}.onb-acts.two{justify-content:space-between}.onb-acts .pill{min-width:145px}.tabs{display:flex;justify-content:center;gap:7px;margin:14px 0}.tabs button{min-height:42px;border-radius:12px;border:1px solid var(--line);background:#fff1;color:#fff;padding:0 13px}.tabs button.on{background:var(--accent2)}.av-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.av{min-height:58px;border-radius:13px;border:1px solid var(--line);background:#fff1;font-size:1.8rem}.av.sel{outline:3px solid var(--accent)}.pref-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;text-align:left}.pref{min-height:110px;border-radius:18px;border:1px solid var(--line);background:#fff1;color:#fff;padding:12px}.pref span{font-size:2rem}.pref strong,.pref small{display:block}.pref small{color:var(--muted);margin-top:4px}.pref.sel{outline:3px solid var(--accent);background:#ffffff17}
.empty{min-height:180px;display:grid;place-items:center;text-align:center;color:var(--soft)}.empty .big{font-size:3rem}.empty h2{margin:0;color:#fff}.status{position:fixed;left:50%;bottom:calc(var(--composer-h) + 16px);transform:translate(-50%,20px);z-index:200;background:#111b;color:#fff;padding:10px 14px;border-radius:13px;opacity:0;pointer-events:none;transition:.18s;max-width:min(90vw,620px);text-align:center}.status.show{opacity:1;transform:translate(-50%,0)}#dim{position:fixed;inset:0;background:#000;opacity:0;pointer-events:none;z-index:90}
.light{--bg:#eef1fb;--panel:#fff;--panel2:#f3f5ff;--ink:#1d193c;--soft:#4c4963;--muted:#716d8d;--line:rgba(29,25,60,.18);background:#eef1fb;color:var(--ink)}.light body,.light{background:#eef1fb}.light .composer{background:rgba(245,246,253,.97)}.light .tool-btn,.light .core-chip,.light .all-boards-btn,.light .quick,.light .ctx-sel,.light .si,.light .ti,.light .switch-row,.light .sync-card,.light .pill.ghost,.light .back,.light .icon-btn{color:var(--ink);background:rgba(30,25,70,.06)}.light .cat-card,.light .all-card,.light .word-card,.light .chip{color:#1d193c}.light .cat-card small,.light .all-card small,.light .chip small{color:#444}.light .sheet,.light .onb-card{background:#fff;color:#1d193c}.light .x-close,.light .round,.light .rel,.light .bcard,.light .tabs button,.light .av,.light .pref,.light .kbd-key,.light .kbd-preds button{color:#1d193c;background:#f1f2f8}.light .speak-main{color:#fff}.light .word-card strong{color:#1d193c}.hc{--line:rgba(255,255,255,.65)}.light.hc{--line:rgba(0,0,0,.5)}.large{font-size:118%}.large .word-card strong{font-size:1rem}.large-targets button,.large-targets .tool-btn{min-height:max(58px,var(--tap))}.reduce *, .lowstim *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.vs-text .word-icon,.vs-text .cat-illo,.vs-text .chip .em,.vs-text .core-chip .em,.vs-text .result-symbol,.vs-text .detail-icon{display:none}.vs-mono img{filter:grayscale(1) contrast(1.15)}
.scan-highlight{outline:5px solid #fff!important;outline-offset:3px!important;box-shadow:0 0 0 8px rgba(71,216,255,.45)!important}
:focus-visible{outline:4px solid var(--accent)!important;outline-offset:3px!important}.light :focus-visible{outline-color:#3f42ff!important}
@media(max-width:860px){.primary-grid,.all-grid{grid-template-columns:repeat(3,1fr)}.word-grid{grid-template-columns:repeat(4,1fr)}.view{padding:20px 18px 30px}.sos-global{right:18px;top:18px}.hd,.lh{margin-right:70px}.composer-tools{grid-template-columns:repeat(5,1fr)}.tool-btn{font-size:.82rem;gap:3px}.settings-grid{grid-template-columns:1fr}.sym-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:600px){:root{--composer-h:174px}.view{padding:16px 12px 24px}.hd{margin-right:66px}.hd h1{font-size:1.9rem}.avatar-btn{width:52px;height:52px}.sos-global{right:12px;top:14px;width:53px;height:53px;border-radius:16px}.section-head{align-items:flex-start;flex-direction:column}.section-head .ctx-sel{width:100%}.primary-grid,.all-grid{grid-template-columns:repeat(2,1fr);gap:9px}.cat-card,.all-card{min-height:112px}.style-visual .cat-card{min-height:122px}.word-grid{grid-template-columns:repeat(3,1fr);gap:8px}.word-card,.add-card{min-height:112px}.word-card .word-icon{font-size:2rem}.composer{padding:9px 9px max(9px,env(safe-area-inset-bottom))}.composer-top{grid-template-columns:1fr 86px}.composer textarea{min-height:58px;font-size:1rem}.speak-main{border-radius:15px;flex-direction:column;gap:0}.composer-tools{gap:5px;margin-top:7px}.tool-btn{min-height:44px;padding:4px;flex-direction:column;font-size:.68rem;line-height:1.05}.tool-btn span:first-child{font-size:.9rem}.sheet,.onb-card{padding:17px;border-radius:23px}.modal{padding:8px;align-items:flex-end}.onb{padding:8px}.pref-grid{grid-template-columns:1fr 1fr}.av-grid{grid-template-columns:repeat(5,1fr)}.sym-grid{grid-template-columns:repeat(5,1fr)}.ar-results{grid-template-columns:repeat(3,1fr)}.finder-result{grid-template-columns:48px 1fr}.finder-actions{grid-column:1/-1;justify-content:stretch}.finder-actions button{flex:1}.gridbtns{grid-template-columns:1fr}.data-actions{grid-template-columns:1fr}.kbd-key{min-width:30px;min-height:44px}.lh{grid-template-columns:46px 1fr 46px;margin-right:0}.lh h2{font-size:1.5rem}}

/* Account/sync service UI — intentionally isolated from AAC modal logic. */
.cloud-modal{position:fixed;inset:0;z-index:160;display:none;align-items:center;justify-content:center;background:rgba(7,5,27,.72);backdrop-filter:blur(8px);padding:18px}.cloud-modal.open{display:flex}.cloud-sheet{width:min(880px,100%);max-height:min(92dvh,960px);overflow:auto;background:linear-gradient(180deg,#2a2268,#1b174a);border:1px solid rgba(255,255,255,.2);border-radius:28px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.5);position:relative}.cloud-sheet h2{font-size:clamp(1.8rem,4vw,2.6rem);margin:.2rem 0 .8rem}.cloud-sheet h3{margin:.1rem 0 .8rem}.cloud-status{display:flex;align-items:center;gap:9px;margin:10px 0 16px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff1}.cloud-status span{width:11px;height:11px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 5px color-mix(in srgb,var(--ok) 20%,transparent)}.cloud-status.warn span{background:#ffd35b;box-shadow:0 0 0 5px rgba(255,211,91,.16)}.cloud-error{margin:10px 0 14px;padding:11px 12px;border-radius:14px;border:1px solid rgba(255,102,120,.6);background:rgba(255,102,120,.14);color:#fff}.cloud-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cloud-panel,.account-card,.invite-join,.cloud-empty{border:1px solid var(--line);background:#fff1;border-radius:18px;padding:15px}.cloud-panel{display:grid;gap:10px}.cloud-panel label,.cloud-field{display:grid;gap:6px;font-weight:800;color:var(--soft)}.cloud-panel .ti,.cloud-panel .si,.cloud-field .si{width:100%}.microcopy{font-size:.86rem;line-height:1.45;color:var(--muted);margin:.2rem 0}.privacy-note{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:rgba(71,216,255,.08);color:var(--soft);font-size:.88rem;line-height:1.45}.account-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.account-card div{display:grid;gap:2px}.account-card small,.account-card span{color:var(--muted)}.account-card strong{font-size:1.1rem}.cloud-field{margin:10px 0 12px}.sync-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.sync-stat{border:1px solid var(--line);background:#fff1;border-radius:15px;padding:11px;display:grid;gap:5px}.sync-stat small{color:var(--muted)}.sync-stat strong{font-size:.94rem;overflow-wrap:anywhere}.cloud-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.invite-join{margin-top:14px}.invite-join h3{margin-top:0}.inline-form{display:grid;grid-template-columns:1fr auto;gap:8px}.member-list{display:grid;gap:8px;margin:12px 0}.member-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;border:1px solid var(--line);background:#fff1;border-radius:15px;padding:10px}.member-row div{display:grid}.member-row span{color:var(--muted);font-size:.88rem}.role-badge{padding:5px 8px;border-radius:999px;background:rgba(121,104,255,.25);color:#fff!important;font-weight:900;text-transform:capitalize}.invite-code{display:grid;justify-items:center;gap:7px;margin-top:12px;padding:14px;border-radius:16px;background:rgba(71,216,255,.1);border:1px solid rgba(71,216,255,.38)}.invite-code strong{font-size:1.9rem;letter-spacing:.12em}.invite-code span{color:var(--muted);font-size:.86rem}.cloud-back{margin:4px 0 12px}.cloud-empty{margin:12px 0}.cloud-empty p{color:var(--soft);margin-bottom:0}
.light .cloud-sheet{background:#fff;color:#1d193c}.light .cloud-panel,.light .account-card,.light .invite-join,.light .cloud-empty,.light .sync-stat,.light .member-row,.light .cloud-status{background:#f3f4fa;color:#1d193c}.light .cloud-error{color:#8a1625}.light .role-badge{color:#1d193c!important}.light .privacy-note{color:#3a3852}.light .cloud-status strong{color:#1d193c}
@media(max-width:720px){.cloud-modal{padding:8px;align-items:flex-end}.cloud-sheet{border-radius:24px;padding:17px}.cloud-two{grid-template-columns:1fr}.sync-grid{grid-template-columns:repeat(2,1fr)}.cloud-actions{grid-template-columns:1fr}.member-row{grid-template-columns:1fr auto}.member-row .pill{grid-column:1/-1}.inline-form{grid-template-columns:1fr}.account-card{align-items:flex-start;flex-direction:column}.account-card .pill{width:100%}}
.conflict-action{margin:10px 0;padding:12px;border-radius:15px;border:1px solid rgba(255,102,120,.5);background:rgba(255,102,120,.10)}.conflict-action strong{display:block}.conflict-action .pill{width:100%}
/* Original HUDChat visual language */
:root{--ink:#14162c;--ink-soft:#3a3f63;--light:#eef0ff;--light-soft:#b7bce4;--brand:#7c5cff;--brand-2:#38e8ff;--accentA:#9b6cff;--accentB:#38e8ff;--glassD:rgba(22,22,50,.46);--glassD2:rgba(30,28,68,.6);--lineD:rgba(255,255,255,.16);--glassL:rgba(255,255,255,.78);--lineL:rgba(255,255,255,.78);--shadow:0 3px 10px rgba(8,8,30,.10),0 16px 44px rgba(8,8,30,.20);--shadow-sm:0 2px 7px rgba(8,8,30,.07),0 9px 24px rgba(8,8,30,.13);--glow:0 0 0 1px rgba(255,255,255,.10),0 24px 60px rgba(60,40,140,.35);--r-xl:30px;--r-lg:22px;--r-md:16px;--exp-ring:inset 0 0 0 2px rgba(124,92,255,.6);--tap:64px;--fs:1;--c-fav:#5fe9bd;--c-core:#8aa0ff;--c-conv:#ff7ba6;--c-people:#56b2ff;--c-feel:#ffcf52;--c-need:#ff9152;--c-food:#52dd92;--c-animal:#ff7fd4;--c-school:#a98bff;--c-act:#ffab4d;--c-sens:#3fe0ff;--c-health:#ff7a85;--c-place:#6e9bff;--display:"Space Grotesk","Outfit",system-ui,sans-serif;--head:"Outfit","Space Grotesk",system-ui,sans-serif;--font:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--font);color:var(--light);font-size:calc(16px*var(--fs));-webkit-font-smoothing:antialiased;line-height:1.45;overflow:hidden;background:radial-gradient(60rem 50rem at 6% -8%,rgba(108,124,255,.50),transparent 60%),radial-gradient(54rem 46rem at 100% 2%,rgba(155,108,255,.46),transparent 60%),radial-gradient(58rem 54rem at 92% 100%,rgba(56,232,255,.30),transparent 60%),radial-gradient(50rem 46rem at 2% 98%,rgba(255,111,174,.36),transparent 60%),radial-gradient(42rem 42rem at 50% 46%,rgba(255,174,87,.12),transparent 70%),linear-gradient(160deg,#0b0d22 0%,#131339 46%,#1d1648 100%);background-attachment:fixed}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 80px),repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 80px);mix-blend-mode:soft-light}body::after{content:"";position:fixed;width:46vw;height:46vw;right:-14vw;bottom:-16vw;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(20px);opacity:.5;mix-blend-mode:screen;background:radial-gradient(circle,rgba(56,232,255,.4),rgba(155,108,255,.18) 44%,transparent 72%);animation:breathe 14s ease-in-out infinite alternate}@keyframes breathe{from{transform:scale(1) translate(0,0)}to{transform:scale(1.15) translate(-3vw,-2vw)}}button,input,select,textarea{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}:focus-visible{outline:3px solid rgba(56,232,255,.7);outline-offset:3px}.hide{display:none!important}.shell{max-width:1180px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding:clamp(20px,3vw,48px) clamp(18px,4vw,54px) 0}.view{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 12px 16px 2px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}.view::-webkit-scrollbar{width:11px}.view::-webkit-scrollbar-track{background:transparent}.view::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24);border-radius:999px;border:3px solid transparent;background-clip:padding-box}.view::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.36)}.view>*{animation:fadeUp .55s cubic-bezier(.16,1,.3,1) both}@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.hd,.panel,.quick,.dock,.sheet,.onb-card,.lh{background:linear-gradient(145deg,var(--glassD2),var(--glassD));border:1px solid var(--lineD);box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.09),inset 0 0 22px rgba(255,255,255,.03);backdrop-filter:blur(34px) saturate(180%);-webkit-backdrop-filter:blur(34px) saturate(180%)}.search,.core-chip,.chip,.cat-card,.word-card,.rel,.av,.tabs button,.pref,.switch-row,.bcard,.bblock,.preview,.progress{background:linear-gradient(150deg,rgba(255,255,255,.82),rgba(255,255,255,.6));border:1px solid var(--lineL);box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.65);color:var(--ink);backdrop-filter:blur(26px) saturate(160%);-webkit-backdrop-filter:blur(26px) saturate(160%)}.hd{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:clamp(18px,2.6vw,30px);border-radius:var(--r-xl);margin-bottom:18px;overflow:hidden;position:relative}.kicker{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#cfe0ff;background:rgba(255,255,255,.1);padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.16)}.hd h1{font-family:var(--head);font-weight:800;letter-spacing:-.04em;margin:.6rem 0 0;line-height:1;font-size:clamp(2.3rem,6vw,3.9rem);background:linear-gradient(108deg,#aef3ff 0%,#c6b3ff 42%,#ff9ecb 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 6px 20px rgba(120,90,255,.35))}.avatar-btn{width:clamp(70px,8vw,98px);height:clamp(70px,8vw,98px);border-radius:var(--r-lg);display:grid;place-items:center;font-size:clamp(2.1rem,4vw,3rem);position:relative;background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.5),transparent 60%),linear-gradient(150deg,#9b6cff,#38e8ff);border:1px solid rgba(255,255,255,.3);box-shadow:var(--glow);overflow:visible}.avatar-btn img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.avatar-btn::after{content:"⚙";position:absolute;right:-10px;bottom:-10px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;background:rgba(16,18,38,.94);color:#cfe0ff;border:1px solid rgba(255,255,255,.22);box-shadow:var(--shadow-sm)}.search{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:74px;padding:0 18px;border-radius:999px;margin-bottom:16px;overflow:hidden;position:relative}.search svg{width:24px;height:24px;color:var(--ink-soft)}.search input{border:0;background:transparent;width:100%;font-size:1.2rem;font-weight:700;min-height:48px;color:var(--ink)}.search input::placeholder{color:#8b91b8;font-weight:600}.search .x{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;color:var(--ink-soft)}.core-wrap{margin:0 0 18px;position:sticky;top:-2px;z-index:30;padding:10px 12px;margin-left:-12px;margin-right:-12px;border-radius:var(--r-lg);background:linear-gradient(180deg,rgba(40,38,84,.34),rgba(30,30,66,.22));backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid rgba(255,255,255,.08)}body.light .core-wrap{background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,.4))!important;border-color:rgba(255,255,255,.6)!important}body.lowstim .core-wrap{background:#13152b!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;border:1px solid rgba(255,255,255,.1)!important}body.lowstim.light .core-wrap{background:#eef1fb!important;border-color:rgba(20,24,60,.12)!important}.core-label{font-family:var(--display);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--light-soft);margin:0 0 9px 6px}.core-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.core-row::-webkit-scrollbar{display:none}.core-chip{flex:0 0 auto;min-height:56px;display:inline-flex;align-items:center;gap:9px;padding:0 18px;border-radius:999px;font-weight:800;font-size:1.02rem;transition:transform .16s ease,box-shadow .2s ease}.core-chip .em{font-size:1.3rem}.core-chip:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.core-chip:active{transform:scale(.95)}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:clamp(14px,1.8vw,20px)}.cat-tile{position:relative;min-width:0}.cat-card{width:100%;min-height:172px;display:grid;place-items:center;gap:12px;text-align:center;padding:24px 16px;border-radius:var(--r-xl);overflow:hidden;isolation:isolate;background:radial-gradient(circle at 26% 18%,rgba(255,255,255,.55),transparent 42%),linear-gradient(150deg,color-mix(in srgb,var(--cc,#8aa0ff) 58%,#fff),color-mix(in srgb,var(--cc,#8aa0ff) 26%,rgba(255,255,255,.7)));transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .25s ease}.cat-card>span:not(.cat-illo){display:flex;flex-direction:column;align-items:center;gap:3px;width:100%}.cat-card strong,.cat-card small{display:block;width:100%}.cat-card strong{font-family:var(--head);font-weight:800;font-size:1.26rem;letter-spacing:-.03em;color:#16182e}.cat-card small{font-family:var(--display);font-weight:700;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(22,24,46,.56)}.cat-illo{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;font-size:3rem;background:radial-gradient(circle at 30% 22%,#fff,rgba(255,255,255,.55) 50%,rgba(255,255,255,.25));border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 12px 22px rgba(20,16,60,.16)}.cat-card:hover,.word-card:hover,.chip:hover,.rel:hover{transform:translateY(-4px);box-shadow:0 30px 64px rgba(20,16,60,.32)}.cat-card:active,.word-card:active{transform:scale(.985)}.cat-card:hover .cat-illo,.word-card:hover .word-icon{animation:float 1.4s ease-in-out infinite}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}.cat-card::after,.word-card::after,.chip::after,.rel::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.5) 48%,transparent 60%);transform:translateX(-130%);opacity:0}.cat-card:hover::after,.word-card:hover::after,.chip:hover::after,.rel:hover::after{animation:sheen .9s cubic-bezier(.16,1,.3,1)}@keyframes sheen{0%{transform:translateX(-130%);opacity:0}25%{opacity:.9}100%{transform:translateX(130%);opacity:0}}.edit-fab{position:absolute;top:10px;left:10px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(16,18,38,.88);box-shadow:var(--shadow-sm);color:#cfe0ff;font-size:.82rem;z-index:4;border:1px solid rgba(255,255,255,.18)}.word-card.is-exp{box-shadow:var(--shadow-sm),var(--exp-ring)}.chip.is-exp{box-shadow:var(--shadow-sm),var(--exp-ring)}.more-fab,.chip-more{display:grid;place-items:center;border-radius:50%;color:#fff;font-weight:800;background:linear-gradient(135deg,#7c5cff,#38e8ff);box-shadow:0 8px 18px rgba(80,60,220,.4);border:1px solid rgba(255,255,255,.3)}.more-fab{position:absolute;top:9px;right:9px;width:34px;height:34px;font-size:1.2rem;z-index:4}.chip-tile{position:relative;min-width:0}.chip-tile .chip{width:100%}.chip.is-exp{padding-right:50px}.chip-more{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;font-size:1.2rem;z-index:4}.panel{margin:22px 0 8px;padding:clamp(18px,2.4vw,26px);border-radius:var(--r-xl)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head h2{font-family:var(--head);font-weight:700;font-size:1.3rem;letter-spacing:-.02em;margin:0;color:var(--light)}.ctx-sel{min-height:48px;padding:0 18px;border-radius:999px;background:var(--glassL);border:1px solid var(--lineL);font-weight:800;color:var(--ink)}.pred-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:11px}.chip{display:inline-flex;align-items:center;gap:12px;min-height:64px;padding:10px 14px 10px 10px;border-radius:var(--r-lg);font-weight:800;text-align:left;overflow:hidden;position:relative;transition:transform .18s ease,box-shadow .22s ease}.chip:active{transform:scale(.97)}.chip .em{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;flex:0 0 auto;background:radial-gradient(circle at 30% 22%,#fff,color-mix(in srgb,var(--cc,#8aa0ff) 55%,#fff))}.quick{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-height:90px;padding:16px 20px;margin:18px 0 4px;border-radius:var(--r-xl);text-align:left;color:#fff;overflow:hidden;position:relative;background:radial-gradient(circle at 16% 18%,rgba(56,232,255,.4),transparent 32%),radial-gradient(circle at 82% 30%,rgba(255,111,174,.36),transparent 36%),linear-gradient(135deg,#191638,#2a2466);box-shadow:0 26px 60px rgba(40,24,120,.5),var(--glow);border:1px solid rgba(255,255,255,.16)}.quick .spark{width:54px;height:54px;border-radius:var(--r-lg);display:grid;place-items:center;font-size:1.6rem;background:radial-gradient(circle at 30% 22%,#fff,#ffd9a8 30%,#ff9ecb 70%,#9b6cff);color:#171633;animation:float 4.6s ease-in-out infinite}.quick strong{display:block;font-family:var(--head);font-size:1.18rem}.quick small{color:rgba(255,255,255,.78);font-weight:600}.quick .arr{font-size:1.7rem;font-weight:800;opacity:.85}.lh{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:16px;padding:clamp(14px,2vw,22px);border-radius:var(--r-xl);overflow:hidden;position:relative}.lh::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 20%,color-mix(in srgb,var(--cc,#8aa0ff) 45%,transparent),transparent 40%)}.lh h2{font-family:var(--head);font-weight:800;letter-spacing:-.03em;margin:0;font-size:clamp(1.9rem,4.5vw,3rem);color:var(--light);position:relative}.back{width:56px;height:56px;border-radius:var(--r-md);display:grid;place-items:center;font-size:1.6rem;font-weight:800;background:var(--glassL);box-shadow:var(--shadow-sm);color:var(--brand);position:relative;border:1px solid var(--lineL)}.word-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));gap:clamp(13px,1.6vw,17px);margin-bottom:8px}.word-tile{position:relative;min-width:0}.word-card{width:100%;min-height:154px;display:grid;grid-template-rows:1fr auto;place-items:center;gap:11px;padding:18px 12px;text-align:center;border-radius:var(--r-xl);overflow:hidden;position:relative;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .25s ease;background:radial-gradient(circle at 28% 18%,rgba(255,255,255,.5),transparent 42%),linear-gradient(150deg,color-mix(in srgb,var(--cc,#8aa0ff) 52%,#fff),color-mix(in srgb,var(--cc,#8aa0ff) 22%,rgba(255,255,255,.72)))}.word-icon{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;font-size:2.8rem;background:radial-gradient(circle at 30% 22%,#fff,rgba(255,255,255,.5) 52%,rgba(255,255,255,.22));border:1px solid rgba(255,255,255,.68);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 10px 20px rgba(20,16,60,.14)}.word-card strong{font-family:var(--head);font-weight:700;font-size:1.04rem;line-height:1.1;letter-spacing:-.02em;color:#16182e;overflow-wrap:anywhere}.empty{min-height:300px;display:grid;place-items:center;gap:14px;text-align:center;padding:42px;border-radius:var(--r-xl);background:linear-gradient(145deg,var(--glassD2),var(--glassD));border:1px solid var(--lineD);box-shadow:var(--shadow-sm);backdrop-filter:blur(30px)}.empty .big{font-size:3.6rem}.empty h2{margin:0;font-family:var(--head);color:var(--light)}.empty p{margin:0;color:var(--light-soft);max-width:36ch}.add-card{width:100%;height:100%;min-height:150px;display:grid;place-items:center;gap:11px;text-align:center;padding:20px 14px;border-radius:var(--r-xl);cursor:pointer;color:var(--light);background:linear-gradient(150deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border:2px dashed var(--lineD);box-shadow:none;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .2s ease,background .2s ease}.add-card:hover{transform:translateY(-3px);border-color:rgba(124,92,255,.65);background:linear-gradient(150deg,rgba(124,92,255,.14),rgba(56,232,255,.07))}.add-card:active{transform:scale(.985)}.add-card .plus{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:2rem;line-height:1;font-weight:800;color:#fff;background:linear-gradient(135deg,#7c5cff,#38e8ff);box-shadow:0 8px 18px rgba(80,60,220,.3)}.add-card strong{font-family:var(--head);font-weight:700;font-size:1.04rem;color:var(--light)}.word-icon img,.detail-icon img,.cat-illo img,.chip .em img,.rel .em img,.core-chip .em img,.preview .pi img,.sym img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.sym-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:8px;margin-bottom:12px}.sym{min-height:52px;border-radius:var(--r-md);display:grid;place-items:center;font-size:1.6rem;overflow:hidden;background:rgba(255,255,255,.1);border:1px solid var(--lineD);color:var(--light);cursor:pointer;transition:transform .14s ease,background .2s ease}.sym:hover{background:rgba(255,255,255,.18)}.sym:active{transform:scale(.94)}.sym.sel{outline:3px solid #38e8ff;box-shadow:0 0 0 5px rgba(56,232,255,.18)}.sym-upload{justify-self:start;display:inline-grid;place-items:center;cursor:pointer}.pinned-sec{margin-bottom:18px}.pinned-grid{margin-top:2px}.pin-badge{position:absolute;top:8px;left:8px;font-size:.85rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));pointer-events:none}.round.on{outline:3px solid #38e8ff;box-shadow:0 0 0 5px rgba(56,232,255,.18)}.lh-edit{position:static;width:42px;height:42px}.board-add-ind{margin-left:auto;font-weight:800;font-size:1.2rem;color:var(--brand-2)}[draggable="true"]{cursor:grab}[draggable="true"]:active{cursor:grabbing}.cat-tile.dragging,.word-tile.dragging{opacity:.45;outline:2px dashed var(--brand-2);outline-offset:-2px;border-radius:var(--r-lg)}.onb-note{margin:16px auto 0;max-width:42ch;padding:12px 16px;border-radius:var(--r-md);font-size:.92rem;line-height:1.45;color:var(--light);background:rgba(124,92,255,.14);border:1px solid rgba(124,92,255,.3)}body.light .onb-note{color:#2a2350;background:rgba(124,92,255,.12);border-color:rgba(124,92,255,.28)}.dock{flex:0 0 auto;position:relative;z-index:300;margin:12px 0 14px;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:10px;align-items:center;padding:13px;border-radius:var(--r-xl);overflow:hidden;box-shadow:0 26px 64px rgba(20,12,60,.5),var(--glow)}#app[data-screen="onboarding"] .dock{display:none!important}.dock input{min-height:58px;border:1px solid rgba(255,255,255,.2);border-radius:var(--r-md);background:rgba(255,255,255,.84);color:var(--ink);padding:0 22px;font-size:1.16rem;font-weight:800;width:100%}.dock input::placeholder{color:#8b91b8;font-weight:600}.dbtn{min-width:56px;height:58px;border-radius:var(--r-md);display:grid;place-items:center;font-weight:800;font-size:1.25rem;background:rgba(255,255,255,.12);color:var(--light);border:1px solid rgba(255,255,255,.18);transition:transform .16s ease,background .2s ease}.dbtn:active{transform:scale(.94)}.dbtn.clear{background:rgba(255,111,150,.22);color:#ffd7e1}.dbtn.predict{background:linear-gradient(135deg,rgba(56,232,255,.32),rgba(155,108,255,.32))}.speak{min-width:104px;height:58px;border-radius:999px;font-weight:800;color:#fff;font-size:1.06rem;background:linear-gradient(135deg,#7c5cff,#38e8ff);box-shadow:0 14px 30px rgba(80,60,220,.45);border:1px solid rgba(255,255,255,.2)}.modal{position:fixed;inset:0;z-index:120;display:none;place-items:center;padding:clamp(14px,3vw,22px);padding-bottom:calc(var(--dock-h,110px) + 26px);overflow:auto;background:rgba(8,8,26,.5);backdrop-filter:blur(16px)}.modal.open{display:grid}.sheet{width:min(100%,740px);max-height:calc(100dvh - var(--dock-h,110px) - 64px);overflow:auto;border-radius:var(--r-xl);padding:24px;position:relative;box-shadow:0 42px 100px rgba(8,8,30,.55),var(--glow)}.sheet h2{font-family:var(--head);font-weight:800;letter-spacing:-.02em;margin:.2rem 0 .4rem;font-size:1.8rem;color:var(--light)}.sheet .lede{color:var(--light-soft);margin:0 0 18px}.x-close{position:sticky;top:0;margin-left:auto;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;font-size:1.5rem;z-index:5;background:rgba(255,255,255,.12);color:var(--light);border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-sm)}.detail-hero{display:grid;justify-items:center;gap:12px;text-align:center;padding:8px 0 20px}.detail-icon{width:168px;height:168px;border-radius:50%;display:grid;place-items:center;font-size:6rem;background:radial-gradient(circle at 30% 22%,#fff,color-mix(in srgb,var(--cc,#8aa0ff) 55%,#fff) 60%);border:1px solid rgba(255,255,255,.7);box-shadow:0 22px 50px rgba(20,16,60,.4)}.detail-hero h3{font-family:var(--head);font-weight:800;font-size:2.1rem;margin:0;letter-spacing:-.03em;color:var(--light)}.detail-hero .tag{color:var(--light-soft);font-weight:700;font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem}.detail-acts{display:flex;justify-content:center;gap:14px;margin:14px 0 20px}.round{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:1.6rem;background:rgba(255,255,255,.14);color:var(--light);border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-sm)}.rel-list{display:grid;gap:11px}.rel{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;min-height:68px;padding:12px 16px;border-radius:var(--r-lg);font-weight:800;text-align:left;overflow:hidden;position:relative}.rel .em{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:1.45rem;background:rgba(255,255,255,.7)}.fg{display:grid;gap:14px}.stack{display:grid;gap:7px}.stack label{font-family:var(--display);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--light-soft)}.ti,.si{width:100%;min-height:58px;border:1px solid rgba(255,255,255,.2);border-radius:var(--r-md);background:rgba(255,255,255,.86);color:var(--ink);padding:0 16px;font-weight:700}.pill{min-height:60px;border-radius:999px;font-weight:800;padding:0 22px}.pill.primary{background:linear-gradient(135deg,#7c5cff,#38e8ff);color:#fff;box-shadow:0 14px 30px rgba(80,60,220,.4)}.pill.ghost{background:rgba(255,255,255,.12);color:var(--light);border:1px solid rgba(255,255,255,.2)}.pill.danger{background:rgba(255,90,120,.22);color:#ffd7e1;border:1px solid rgba(255,120,150,.4)}.sec-title{font-family:var(--head);font-weight:700;margin:24px 0 10px;font-size:1.08rem;color:var(--light)}.switch-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;min-height:68px;padding:14px 16px;border-radius:var(--r-lg)}.switch-row strong{display:block;color:var(--ink)}.switch-row small{color:var(--ink-soft)}.switch{width:62px;height:36px;border-radius:999px;background:#c7cce6;position:relative;flex:0 0 auto}.switch::after{content:"";position:absolute;top:4px;left:4px;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:left .18s ease}.switch[aria-checked="true"]{background:linear-gradient(135deg,#7c5cff,#38e8ff)}.switch[aria-checked="true"]::after{left:30px}.gridbtns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bcard{min-height:76px;border-radius:var(--r-lg);padding:14px 16px;text-align:left;font-weight:800;display:grid;align-content:center;gap:3px;color:var(--ink)}.bcard small{color:var(--ink-soft);font-weight:600}.bresult{margin-top:16px;padding:16px;border-radius:var(--r-lg);display:none;background:linear-gradient(145deg,var(--glassD2),var(--glassD));border:1px solid var(--lineD)}.flow-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.flow-head [data-flow-back]{min-height:44px;min-width:44px;padding:0;border-radius:50%;font-size:1.4rem}.flow-head strong{flex:1;font-family:var(--head);font-size:1.18rem;color:var(--light)}.flow-count{font-family:var(--display);font-weight:700;font-size:.78rem;color:var(--light-soft);background:rgba(255,255,255,.08);padding:5px 11px;border-radius:999px}.flow-preview{margin:0 0 12px;padding:13px 16px;border-radius:var(--r-md);font-weight:800;font-size:1.08rem;color:var(--ink);background:linear-gradient(150deg,rgba(255,255,255,.84),rgba(255,255,255,.66));border:1px solid var(--lineL)}body.light .flow-head strong{color:#1b2233}.bresult.open{display:grid;gap:12px}.bblock{padding:14px;border-radius:var(--r-md);display:grid;gap:9px}.bblock small{font-family:var(--display);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}.bblock strong{font-size:1.25rem;font-family:var(--head);color:var(--ink)}.export{max-height:160px;overflow:auto;padding:14px;border-radius:var(--r-md);background:#0c0e22;color:#cfe0ff;font:.75rem/1.5 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;border:1px solid var(--lineD)}.progress{margin-top:14px;padding:14px;border-radius:var(--r-lg);display:none}.progress.open{display:block}.progress strong{color:var(--ink)}.ptrack{height:10px;border-radius:999px;background:#dfe3f6;overflow:hidden;margin-top:8px}.pfill{height:100%;width:0;background:linear-gradient(90deg,#7c5cff,#38e8ff);border-radius:999px;transition:width .3s ease}.preview{margin-top:14px;padding:16px;border-radius:var(--r-lg);display:none;align-items:center;gap:14px}.preview.open{display:flex}.preview .pi{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-size:3rem;background:rgba(255,255,255,.7)}.preview h3{color:var(--ink)}.onb{position:fixed;inset:0;z-index:90;display:none;place-items:center;padding:18px;overflow:auto}.onb.open{display:grid}.onb-card{width:min(100%,580px);min-height:min(100dvh - 36px,760px);display:grid;grid-template-rows:1fr auto;gap:18px;padding:clamp(30px,6vw,58px) clamp(22px,5vw,42px);border-radius:var(--r-xl);box-shadow:var(--shadow)}.onb-content{display:grid;align-content:center;gap:18px;text-align:center;overflow:auto}.onb-content h1{font-family:var(--head);font-weight:800;letter-spacing:-.03em;font-size:clamp(2.1rem,7vw,3.1rem);margin:0;color:var(--light)}.onb-content p{color:var(--light-soft);margin:0 auto;max-width:40ch}.onb-input{min-height:72px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.88);color:var(--ink);padding:0 24px;font-size:1.3rem;font-weight:800;text-align:center}.onb-acts{display:grid;gap:12px}.onb-acts.two{grid-template-columns:1fr 1fr}.av-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-height:46vh;overflow:auto;padding:4px}.av{aspect-ratio:1;border-radius:var(--r-lg);display:grid;place-items:center;font-size:2.2rem}.av.sel{outline:3px solid #38e8ff;box-shadow:0 0 0 6px rgba(56,232,255,.2)}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tabs button{min-height:52px;border-radius:999px;font-weight:800;color:var(--ink)}.tabs button.on{background:linear-gradient(135deg,color-mix(in srgb,var(--c-people) 55%,#fff),#fff);outline:2px solid rgba(56,232,255,.5)}.pref-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.pref{min-height:106px;border-radius:var(--r-lg);display:grid;place-items:center;gap:4px;font-weight:800;padding:12px;color:var(--ink)}.pref span{font-size:1.9rem}.pref small{color:var(--ink-soft)}.pref.sel{outline:3px solid #38e8ff;box-shadow:0 0 0 6px rgba(56,232,255,.18)}#dim{position:fixed;inset:0;z-index:9990;background:#000;opacity:0;pointer-events:none;transition:opacity .25s ease}.status{position:fixed;z-index:9999;top:max(14px,env(safe-area-inset-top));left:50%;transform:translate(-50%,-180%);padding:13px 24px;border-radius:999px;background:rgba(14,14,34,.92);color:#fff;font-weight:800;box-shadow:var(--shadow);transition:transform .32s cubic-bezier(.16,1,.3,1);pointer-events:none;max-width:calc(100vw - 28px);font-family:var(--display);letter-spacing:.02em;border:1px solid rgba(255,255,255,.16)}.status.show{transform:translate(-50%,0)}.vs-mono .em,.vs-mono .word-icon,.vs-mono .cat-illo,.vs-mono .detail-icon,.vs-mono .core-chip .em{filter:grayscale(1) contrast(1.05)}.vs-text .word-icon,.vs-text .cat-illo,.vs-text .chip .em,.vs-text .core-chip .em{display:none}.vs-text .word-card{grid-template-rows:1fr}.vs-text .word-card strong{font-size:1.34rem}body.large{--fs:1.14}body.hc{--light:#fff;--light-soft:#e6ebff;--ink:#000;--ink-soft:#1a1f33}body.hc .cat-card,body.hc .word-card,body.hc .chip,body.hc .core-chip,body.hc .search,body.hc .rel,body.hc .hd,body.hc .panel,body.hc .quick,body.hc .dock,body.hc .sheet,body.hc .lh,body.hc .back,body.hc .pill,body.hc .switch-row{border:2px solid #fff!important}body.reduce *,body.reduce *::before,body.reduce *::after{animation:none!important;transition:none!important}body.lowstim{background:linear-gradient(180deg,#101227,#15172e)!important}body.lowstim.light{background:linear-gradient(180deg,#f4f6fc,#eef1fb)!important}body.lowstim::before,body.lowstim::after{display:none!important}body.lowstim *,body.lowstim *::before,body.lowstim *::after{animation:none!important;transition:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body.lowstim .cat-card,body.lowstim .word-card{background:rgba(255,255,255,.92)!important;border:1px solid rgba(20,24,60,.14)!important}body.lowstim.light .cat-card,body.lowstim.light .word-card{background:#fff!important}body.lowstim .cat-card::after,body.lowstim .word-card::after,body.lowstim .chip::after,body.lowstim .rel::after{display:none!important}body.lowstim .cat-illo,body.lowstim .word-icon,body.lowstim .detail-icon,body.lowstim .quick .spark{background:rgba(20,24,60,.05)!important;border:1px solid rgba(20,24,60,.1)!important}body.lowstim .hd h1{background:none!important;-webkit-text-fill-color:var(--light)!important;color:var(--light)!important;filter:none!important}body.lowstim .quick{background:rgba(255,255,255,.06)!important}body.lowstim .cat-card:hover,body.lowstim .word-card:hover,body.lowstim .chip:hover,body.lowstim .rel:hover{transform:none!important}body.lowstim .cat-grid,body.lowstim .word-grid{gap:clamp(16px,2.4vw,26px)!important}body.lowstim .hd,body.lowstim .panel,body.lowstim .dock,body.lowstim .lh{background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.12)!important}body.lowstim .sheet{background:#1a1c30!important;border:1px solid rgba(255,255,255,.16)!important}body.lowstim.light .sheet{background:#ffffff!important;border:1px solid rgba(20,24,60,.12)!important}body.lowstim .modal{background:rgba(6,6,16,.72)!important}body.lowstim.light .hd,body.lowstim.light .panel,body.lowstim.light .dock,body.lowstim.light .sheet,body.lowstim.light .lh{background:#fff!important;border:1px solid rgba(20,24,60,.1)!important}.cat-grid.beginner{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(18px,2.6vw,28px)}.cat-grid.beginner .cat-card{min-height:220px}.cat-grid.beginner .cat-illo{width:120px;height:120px;font-size:4rem}.cat-grid.beginner .cat-card strong{font-size:1.5rem}body.light{--light:#1b2233;--light-soft:#586089;color:#1b2233;background:radial-gradient(50rem 42rem at 6% -8%,rgba(108,124,255,.20),transparent 60%),radial-gradient(46rem 40rem at 100% 2%,rgba(155,108,255,.18),transparent 60%),radial-gradient(48rem 44rem at 92% 100%,rgba(56,232,255,.16),transparent 60%),radial-gradient(44rem 40rem at 2% 98%,rgba(255,111,174,.16),transparent 60%),linear-gradient(170deg,#fbfcff 0%,#f1f4ff 55%,#fbf9ff 100%)}body.light::before{opacity:.45}body.light::after{opacity:.26}body.light .hd,body.light .panel,body.light .dock,body.light .sheet,body.light .onb-card,body.light .lh,body.light .empty{background:linear-gradient(150deg,rgba(255,255,255,.9),rgba(255,255,255,.7))!important;border:1px solid rgba(255,255,255,.95)!important;box-shadow:0 18px 46px rgba(60,78,128,.12)!important}body.light .bresult{background:linear-gradient(150deg,rgba(255,255,255,.9),rgba(255,255,255,.72))!important;border-color:rgba(20,24,60,.08)!important}body.light .hd h1{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:#23284f!important;color:#23284f!important;filter:none!important}body.light .kicker{color:#3a55c9!important;background:rgba(58,85,201,.08)!important;border-color:rgba(58,85,201,.16)!important}body.light .dbtn,body.light .round,body.light .x-close,body.light .pill.ghost{color:#1b2233!important;background:rgba(20,24,60,.06)!important;border-color:rgba(20,24,60,.12)!important}body.light .dbtn.clear{background:rgba(255,111,150,.16)!important;color:#b4233a!important}body.light .dbtn.predict{background:linear-gradient(135deg,rgba(56,232,255,.28),rgba(155,108,255,.28))!important;color:#1b2233!important}body.light .rel,body.light .switch-row,body.light .bcard,body.light .bblock,body.light .preview,body.light .progress{background:rgba(255,255,255,.82)!important}body.light .ti,body.light .si,body.light .dock input,body.light .onb-input{background:#fff!important;color:#1b2233!important;border-color:rgba(20,24,60,.14)!important}body.light .modal{background:rgba(225,232,250,.5)!important}body.light .view::-webkit-scrollbar-thumb{background:rgba(20,24,60,.2)!important}body.light .add-card{border-color:rgba(20,24,60,.2)!important;background:rgba(20,24,60,.03)!important}body.light .add-card:hover{border-color:rgba(124,92,255,.6)!important;background:rgba(124,92,255,.08)!important}body.light .sym{background:rgba(20,24,60,.05)!important;border-color:rgba(20,24,60,.12)!important}body.light .sym:hover{background:rgba(20,24,60,.1)!important}@media(max-width:760px){.shell{padding:14px 14px 0}.cat-grid{grid-template-columns:repeat(2,1fr)}.word-grid{grid-template-columns:repeat(2,1fr)}.pred-row{grid-template-columns:1fr}.dock{grid-template-columns:repeat(4,1fr);grid-template-areas:"i i i i" "b c p s"}.dock input{grid-area:i}#backDock{grid-area:b}#clearDock{grid-area:c}#predictDock{grid-area:p}#speakDock{grid-area:s}.dbtn,.speak{width:100%;min-width:0}.onb-acts.two{grid-template-columns:1fr}.av-grid{grid-template-columns:repeat(4,1fr)}}
/* Guided tour */
.tour-layer{position:fixed;inset:0;z-index:9997;pointer-events:auto}.tour-spot{position:fixed;border-radius:24px;box-shadow:0 0 0 9999px rgba(2,4,18,.72),0 0 0 4px rgba(56,232,255,.72),0 18px 50px rgba(56,232,255,.22);outline:2px solid rgba(255,255,255,.9);pointer-events:none;transition:all .28s cubic-bezier(.16,1,.3,1)}.tour-card{position:fixed;z-index:9998;padding:20px;border-radius:22px;background:linear-gradient(150deg,rgba(255,255,255,.96),rgba(244,247,255,.9));color:var(--ink);border:1px solid rgba(255,255,255,.9);box-shadow:0 26px 70px rgba(2,4,18,.38),inset 0 1px 0 rgba(255,255,255,.7);backdrop-filter:blur(26px) saturate(170%);-webkit-backdrop-filter:blur(26px) saturate(170%)}.tour-card h2{font-family:var(--head);font-size:1.28rem;line-height:1.1;letter-spacing:-.03em;margin:2px 0 8px;color:var(--ink)}.tour-card p{margin:0;color:var(--ink-soft);font-weight:650}.tour-count{font-family:var(--display);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brand)!important;margin:0 0 8px!important}.tour-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.tour-actions .pill{min-height:46px;padding:0 18px}.tour-x{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(20,22,44,.08);color:var(--ink-soft);font-size:1.3rem;font-weight:800}.tour-x:hover{background:rgba(20,22,44,.14);color:var(--ink)}body.light .tour-spot{box-shadow:0 0 0 9999px rgba(9,18,40,.58),0 0 0 4px rgba(124,92,255,.68),0 18px 50px rgba(80,70,160,.2)}body.lowstim .tour-spot{box-shadow:0 0 0 9999px rgba(2,4,18,.7),0 0 0 3px rgba(255,255,255,.9)!important;outline:0!important}body.lowstim .tour-card{background:#fff!important;box-shadow:0 22px 54px rgba(0,0,0,.32)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}@media(max-width:760px){.tour-card{left:16px!important;right:16px!important;bottom:max(16px,env(safe-area-inset-bottom))!important;top:auto!important;width:auto!important}.tour-spot{border-radius:18px}.tour-actions{justify-content:stretch}.tour-actions .pill{flex:1}}
/* HUDChat classic UI restoration — keeps the richer original visual language. */
.dock{grid-template-columns:minmax(0,1fr) auto auto auto auto auto}
.dbtn.keyboard{font-size:.78rem;letter-spacing:.04em;background:rgba(255,255,255,.12)}
.classic-sos{top:clamp(24px,3vw,48px);right:clamp(84px,9vw,118px);width:48px;min-width:48px;height:48px;border-radius:999px;font-size:.72rem;z-index:80;box-shadow:0 10px 24px rgba(20,12,60,.34)}
.hd{padding-right:72px}
.cat-grid .add-card{min-height:172px;border-radius:var(--r-xl)}
.cat-tile .edit-fab{z-index:8}
.home-add-word{background:linear-gradient(150deg,rgba(124,92,255,.18),rgba(56,232,255,.12))}
.suggest-empty{color:var(--light-soft)}
.search.classic-search{display:grid}
/* New review features inherit the classic glass styling. */
.keyboard-shell,.assist-option,.search-results,.sync-card,.data-actions,.authorship-note,.layout-controls{font-family:var(--font)}
.search-box input,.kbd-input{color:var(--ink)}
.finder-result{background:linear-gradient(150deg,rgba(255,255,255,.82),rgba(255,255,255,.6));border:1px solid var(--lineL);box-shadow:var(--shadow-sm);color:var(--ink)}
.finder-result small{color:var(--ink-soft)}
.finder-actions button{border:1px solid rgba(20,22,44,.12);background:rgba(255,255,255,.72);color:var(--ink);border-radius:12px;font-weight:800;min-height:42px;padding:0 12px}
.kbd-key,.kbd-preds button{background:linear-gradient(150deg,rgba(255,255,255,.82),rgba(255,255,255,.62));color:var(--ink);border:1px solid var(--lineL);box-shadow:var(--shadow-sm)}
.onb-note{max-width:100%}
body.light .finder-result,body.light .kbd-key,body.light .kbd-preds button{color:var(--ink)}
@media(max-width:760px){
  .dock{grid-template-columns:repeat(5,1fr);grid-template-areas:"i i i i i" "b c p k s"}
  .dock input{grid-area:i}.dock #backDock{grid-area:b}.dock #clearDock{grid-area:c}.dock #predictDock{grid-area:p}.dock #keyboardDock{grid-area:k}.dock #speakDock{grid-area:s}
  .classic-sos{top:18px;right:80px;width:44px;min-width:44px;height:44px}
  .hd{padding-right:54px}
}
/* Communication-style choices keep the classic shell but change emphasis. */
body.style-visual .cat-card .cat-illo{width:96px;height:96px;font-size:3.25rem}
body.style-phrases .panel{box-shadow:0 24px 58px rgba(40,25,120,.30),var(--shadow-sm)}
body.style-guided .quick{box-shadow:0 24px 58px rgba(80,45,150,.34),var(--shadow-sm)}

/* HUDChat R11 consolidated experience styles. Superseded R4-R7 override layers removed. */
/* ===== HUDChat Experience R8 =====
   Communication-space UI: less dashboard, more expressive AAC surface. */

:root{--composer-h:150px}

/* The composer is the persistent center of the experience. */
.composer-layer{
  flex:0 0 auto;position:relative;z-index:300;margin:10px 0 14px;display:grid;gap:8px;
}
#app[data-screen="onboarding"] .composer-layer{display:none!important}
.composer-layer .dock{margin:0!important;border-radius:24px!important;background:rgba(20,22,54,.86)!important;border:1px solid rgba(255,255,255,.28)!important;padding:10px!important}
body.light .composer-layer .dock{background:#fff!important;border-color:#aeb6cd!important}

/* Contextual language lives immediately above the composer, not in a dashboard panel. */
.composer-rail{display:flex;align-items:center;gap:10px;min-height:58px;padding:4px 2px;overflow:hidden}
.composer-rail[hidden]{display:none!important}
.rail-head{display:flex;align-items:center;gap:8px;flex:0 0 auto;color:#eef2ff;font-size:.78rem;font-weight:800;letter-spacing:.04em}
.rail-head select{height:42px;max-width:138px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:#202449;color:#fff;padding:0 30px 0 12px;font-weight:800}
body.light .rail-head{color:#252a44}
body.light .rail-head select{background:#fff;color:#1b2233;border-color:#aeb6cd}
.rail-items{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 4px 3px;min-width:0;flex:1}
.rail-items::-webkit-scrollbar{display:none}
.rail-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:5px 13px 5px 6px;border-radius:999px;background:color-mix(in srgb,var(--cc,#8aa0ff) 28%,#fff 72%);border:1px solid color-mix(in srgb,var(--cc,#8aa0ff) 46%,#6d7690 54%);color:#14162c;font-weight:850;white-space:nowrap}
.rail-symbol{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1.5px solid #69738c;font-size:1.2rem;overflow:hidden}
.rail-symbol img{max-width:78%;max-height:78%;object-fit:contain}

/* Inline auto-complete: it expands the composer instead of opening another app-like modal. */
.assist-tray{border-radius:22px;border:1px solid rgba(255,255,255,.30);background:#171a3e;color:#fff;padding:12px;display:grid;gap:10px}
.assist-tray[hidden]{display:none!important}
body.light .assist-tray{background:#fff;color:#14162c;border-color:#aeb6cd}
.assist-inline-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 3px}
.assist-inline-head>div{display:grid;gap:1px}
.assist-inline-head small{color:#9eeeff;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.assist-inline-head strong{font-size:.95rem}
body.light .assist-inline-head small{color:#4b37d1}
.assist-inline-head button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:#25294f;color:#fff;font-size:1.4rem}
body.light .assist-inline-head button{background:#f2f4f9;color:#14162c;border-color:#aeb6cd}
.assist-inline-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.assist-inline-option{min-height:78px;border-radius:16px;border:1px solid #aeb6cd;background:#fff;color:#14162c;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}
.assist-inline-option span:first-child{display:grid;gap:2px}
.assist-inline-option small{font-size:.67rem;color:#5b3fd4;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.assist-inline-option strong{font-size:.95rem;line-height:1.25}
.assist-inline-option span:last-child{color:#4b37d1;font-size:.78rem;font-weight:900;white-space:nowrap}
.assist-inline-clear{grid-column:1/-1;padding:8px 4px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.assist-inline-clear span{color:#d7daef}
body.light .assist-inline-clear span{color:#4a5270}

/* Header is atmosphere, not a container. */
.experience-header{background:transparent!important;border:0!important;padding:8px 6px 18px!important;margin-bottom:6px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.experience-header h1{font-size:clamp(2.5rem,5vw,4.1rem)!important}
.home-intro{margin:8px 0 0;color:#d7daef;font-size:1rem;font-weight:700}
body.light .home-intro{color:#4a5270}

/* Home becomes a stable bento-like communication space. */
.home-space{margin:8px 0 14px}
.home-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:14px}
.home-bento .cat-tile{min-width:0}
.home-bento .cat-card{min-height:168px!important;border-radius:28px!important;padding:18px!important;gap:9px!important}
.home-bento .cat-card small{display:none!important}
.home-bento .cat-label strong{font-size:1.32rem!important}
.home-bento .cat-illo{width:92px!important;height:92px!important}
.home-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 2px 2px}
.home-actions button{min-height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.07);color:#f8f9ff;padding:0 16px;display:inline-flex;align-items:center;gap:7px;font-weight:850}
.home-actions button span{font-size:1.1rem}
body.light .home-actions button{background:#fff;color:#14162c;border-color:#aeb6cd}

/* Keep the core row stable and non-sticky. */
.core-wrap{position:relative!important;top:auto!important;z-index:auto!important;margin-left:0!important;margin-right:0!important;padding:8px 0!important;background:transparent!important;border:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* Help Me Say It feels like a launch point, not another settings panel. */
.experience-help{min-height:82px!important;border-radius:26px!important;margin:16px 0 6px!important;background:linear-gradient(105deg,rgba(91,63,212,.48),rgba(0,107,143,.40))!important;border:1px solid rgba(255,255,255,.35)!important;padding:14px 20px!important}
.experience-help .spark{width:52px;height:52px;border-radius:18px;background:#fff;color:#14162c;display:grid;place-items:center;font-size:1.55rem;border:1px solid #69738c}
.experience-help strong{font-size:1.18rem!important}
.experience-help small{color:#e9edff!important}
body.light .experience-help{background:linear-gradient(105deg,#eae5ff,#dff6fb)!important;border-color:#9fa8c0!important;color:#14162c!important}
body.light .experience-help small{color:#3d4664!important}

/* Thought builder: visual branching instead of a rigid question wizard. */
.thought-builder{max-width:980px!important;width:min(980px,calc(100vw - 36px))!important;padding:28px!important;background:#171a3e!important;color:#fff!important;border:1px solid rgba(255,255,255,.35)!important}
body.light .thought-builder{background:#fff!important;color:#14162c!important;border-color:#aeb6cd!important}
.thought-head{display:flex;align-items:center;gap:14px;padding-right:52px;margin-bottom:18px}
.thought-head h2{margin:0!important;font-size:2rem!important}
.thought-head p{margin:3px 0 0;color:#d7daef}
body.light .thought-head p{color:#4a5270}
.thought-mark,.thought-symbol{background:#fff;color:#14162c;border:1.5px solid #69738c;display:grid;place-items:center}
.thought-mark{width:58px;height:58px;border-radius:18px;font-size:1.8rem;flex:0 0 auto}
.thought-symbol{width:50px;height:50px;border-radius:16px;font-size:1.55rem}
.thought-current,.thought-live{border:1px solid #aeb6cd;background:#fff;color:#14162c;border-radius:20px;padding:16px 18px;margin-bottom:16px;display:grid;gap:7px}
.thought-current small,.thought-live small{color:#5b3fd4;text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:.68rem}
.thought-current strong,.thought-live strong{font-size:1.25rem;line-height:1.3}
.thought-text-link{justify-self:start;color:#4b37d1;text-decoration:underline;font-weight:850;padding:4px 0}
.thought-prompt{display:grid;gap:3px;margin:8px 0 14px}
.thought-prompt strong{font-size:1.25rem}
.thought-prompt span{color:#d7daef}
body.light .thought-prompt span{color:#4a5270}
.thought-prompt.compact{margin-top:16px}
.thought-intent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.thought-intent{min-height:104px;border-radius:22px;border:1px solid #aeb6cd;background:#fff;color:#14162c;padding:14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left}
.thought-intent:nth-child(1){background:#f4eaff}.thought-intent:nth-child(2){background:#ffe9ec}.thought-intent:nth-child(3){background:#e6f5ff}.thought-intent:nth-child(4){background:#e8f8f2}.thought-intent:nth-child(5){background:#fff4d9}.thought-intent:nth-child(6){background:#f2ecff}
.thought-intent>span:nth-child(2){display:grid;gap:2px}.thought-intent strong{font-size:1.05rem}.thought-intent small{color:#3d4664;line-height:1.3}.thought-intent>span:last-child{font-size:1.6rem;color:#4b37d1}
.thought-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;color:#d7daef;font-weight:850}
.thought-nav button{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.36);color:#fff;background:#25294f;font-weight:850}
body.light .thought-nav{color:#4a5270}.light .thought-nav button{background:#f2f4f9;color:#14162c;border-color:#aeb6cd}
.thought-starter-grid,.thought-follow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.thought-starter,.thought-follow{min-height:64px;border-radius:18px;border:1px solid #aeb6cd;background:#fff;color:#14162c;padding:11px 14px;font-weight:850;text-align:left;line-height:1.25}
.thought-starter:nth-child(4n+1),.thought-follow:nth-child(4n+1){background:#f4eaff}.thought-starter:nth-child(4n+2),.thought-follow:nth-child(4n+2){background:#e6f5ff}.thought-starter:nth-child(4n+3),.thought-follow:nth-child(4n+3){background:#e8f8f2}.thought-starter:nth-child(4n),.thought-follow:nth-child(4n){background:#fff4d9}
.thought-follow.done{background:#f2f4f9;color:#4a5270}
.thought-live-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:3px}

/* Category boards read more like an AAC canvas and less like a dashboard grid. */
.word-grid{grid-template-columns:repeat(auto-fill,minmax(142px,1fr))!important;gap:14px!important}
.word-card{min-height:160px!important;border-radius:24px!important}
.word-card strong{font-size:1.02rem!important}

/* Search stays visually light and secondary. */
.classic-search{min-height:64px!important;margin-bottom:10px!important;border-radius:22px!important}

/* Preserve readable, age-neutral symbol plates. */
.home-bento .cat-illo,.thought-symbol,.thought-mark,.rail-symbol{background:#fff!important;color:#111827!important}

@media(max-width:900px){
  .home-bento{grid-template-columns:repeat(3,minmax(0,1fr))}
    .assist-inline-list{grid-template-columns:1fr}
}
@media(max-width:680px){
  .composer-rail{align-items:flex-start;flex-direction:column;gap:5px}
  .rail-head{width:100%;justify-content:space-between}.rail-head select{max-width:170px}
  .home-bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .home-bento .cat-card{min-height:140px!important;padding:14px!important}
    .home-bento .cat-illo{width:74px!important;height:74px!important}
  .thought-builder{width:calc(100vw - 20px)!important;padding:20px!important}
  .thought-intent-grid,.thought-starter-grid,.thought-follow-grid{grid-template-columns:1fr}
  .thought-intent{min-height:88px}
  .word-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .word-card{min-height:126px!important;padding:10px 6px!important}
  .word-icon{width:58px!important;height:58px!important;min-height:58px!important;font-size:1.9rem!important}
  .word-card strong{font-size:.86rem!important}
}
@media(max-width:430px){
  .word-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-bento .cat-label strong{font-size:1.08rem!important}
  .experience-header h1{font-size:2.35rem!important}
}



:root{color-scheme:light}
html,body{background:#f5f7fb!important;color:#15182c!important}
body{background:linear-gradient(180deg,#f8f9fd 0%,#eef2fb 100%)!important}
.shell,.view{color:#15182c!important}
.shell *,.modal *,.onb *{box-shadow:none!important;text-shadow:none!important}
body .hd,body .panel,body .core-wrap,body .composer-layer,body .dock,body .composer-rail,body .quick,body .sheet,body .onb-card{filter:none!important}

/* One appearance: accessible light. */
body:not(.light){background:#f5f7fb!important;color:#15182c!important}
body .home-intro,body .lede,body .microcopy,body .thought-head p,body .thought-prompt span{color:#46506b!important}
body .kicker,body .core-label,body label,body .sec-title{color:#3e4662!important}

/* Full-width headers, including category boards. */
.experience-header,.lh{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}
.lh{min-height:92px!important;border:1.5px solid #a9b2c8!important;background:linear-gradient(90deg,color-mix(in srgb,var(--cc,#dfe6ff) 30%,white),#fff 72%)!important;border-radius:26px!important;padding:14px 18px!important;display:grid!important;grid-template-columns:56px 1fr 56px!important;align-items:center!important}
.lh h2{text-align:center!important;color:#15182c!important;font-size:clamp(1.8rem,4vw,2.7rem)!important;margin:0!important}
.lh .back,.lh .edit-fab{position:static!important;justify-self:center!important}

/* Home: more choices, equal weight, no spanning cards. */
.home-bento{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-flow:row!important;gap:14px!important}
.home-bento [data-cat-id]{grid-column:auto!important}
.home-bento .cat-card,.home-bento [data-cat-id="Conversation"] .cat-card,.home-bento [data-cat-id="SelfAdvocacy"] .cat-card{min-height:162px!important;height:162px!important;grid-template-columns:1fr!important;place-items:center!important;text-align:center!important;padding:16px!important;border:1.5px solid #8e98b2!important;border-radius:26px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--cc) 42%,white),color-mix(in srgb,var(--cc) 18%,white))!important}
.home-bento .cat-label,.home-bento [data-cat-id="Conversation"] .cat-label,.home-bento [data-cat-id="SelfAdvocacy"] .cat-label{align-items:center!important;text-align:center!important}
.home-bento .cat-label strong{font-size:1.08rem!important;color:#15182c!important}
.home-bento .cat-illo{width:76px!important;height:76px!important;background:#fff!important;border:1.5px solid #7e889f!important;border-radius:50%!important}
.home-actions button{background:#fff!important;color:#15182c!important;border:1.5px solid #9ba5bc!important}

/* Tactile suggestion rail: not tiny tags. */
.composer-rail{background:#fff!important;border:1.5px solid #a6afc4!important;border-radius:24px!important;padding:10px!important;gap:10px!important;align-items:stretch!important}
.rail-head{min-width:118px!important;align-content:center!important;justify-content:center!important;gap:6px!important}
.rail-head select{background:#fff!important;color:#15182c!important;border:1.5px solid #98a3bb!important;min-height:38px!important}
.rail-head>span{color:#49536c!important;font-weight:850!important}
.rail-recent{min-height:36px;border:1.5px solid #8f99b1;background:#f5f7fb;color:#15182c;border-radius:999px;font-weight:850;padding:0 10px}
.rail-items{gap:9px!important;align-items:stretch!important}
.rail-chip{min-width:92px!important;width:92px!important;min-height:82px!important;border-radius:18px!important;border:2px solid color-mix(in srgb,var(--cc) 72%,#69738c)!important;background:color-mix(in srgb,var(--cc) 18%,white)!important;color:#15182c!important;padding:7px 6px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:4px!important;text-align:center!important;font-weight:850!important;white-space:normal!important}
.rail-symbol{width:44px!important;height:44px!important;min-width:44px!important;border-radius:50%!important;background:#fff!important;border:1.5px solid #7e889f!important;margin:auto!important;font-size:1.35rem!important}
.rail-chip>span:last-child{font-size:.78rem!important;line-height:1.05!important}

/* Composer token strip uses the token state already stored by HUDChat. */
.token-strip{display:flex;gap:8px;overflow-x:auto;padding:7px 4px 2px;scrollbar-width:thin}
.token-strip[hidden]{display:none!important}
.message-token{flex:0 0 auto;min-height:62px;max-width:150px;border:1.5px solid #919bb3;background:#fff;color:#15182c;border-radius:16px;padding:6px 9px;display:flex;align-items:center;gap:7px;font-weight:850;text-align:left}
.message-token-symbol{width:42px;height:42px;min-width:42px;border:1.5px solid #7e889f;background:#fff;border-radius:50%;display:grid;place-items:center;overflow:hidden;font-size:1.3rem}
.message-token-symbol img{max-width:88%;max-height:88%;object-fit:contain}

/* Auto-complete stays in the composer and can hand off to Help me say it. */
.assist-tray{background:#fff!important;color:#15182c!important;border:1.5px solid #9ca6bd!important;border-radius:24px!important}
.assist-inline-head small{color:#4a39c7!important}.assist-inline-head strong{color:#15182c!important}.assist-inline-head span{display:block;color:#4c5670;font-size:.78rem;margin-top:2px}
.assist-inline-head button{background:#f4f6fa!important;color:#15182c!important;border:1.5px solid #8f99b1!important}
.assist-inline-option{border:1.5px solid #98a3b9!important;background:#fff!important;color:#15182c!important}
.assist-inline-clear span{color:#4c5670!important}
.assist-build-row{margin-top:10px;padding-top:10px;border-top:1.5px solid #c3cad8}
.assist-build{width:100%;min-height:74px;border:1.5px solid #7c6fd0;background:linear-gradient(100deg,#f0edff,#e6f7fb);color:#15182c;border-radius:18px;padding:11px 14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;text-align:left}
.assist-build-icon{width:46px;height:46px;border-radius:15px;background:#fff;border:1.5px solid #7e889f;display:grid;place-items:center;font-size:1.35rem}
.assist-build strong{font-size:1rem}.assist-build small{display:block;color:#46506b;margin-top:2px;line-height:1.2}
.recent-message-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.recent-message-list button{min-height:58px;border:1.5px solid #98a3b9;background:#fff;color:#15182c;border-radius:15px;padding:10px 12px;text-align:left;font-weight:800}

/* Thought builder is always readable in the single light theme. */
.thought-builder{background:#fff!important;color:#15182c!important;border:1.5px solid #9ba5bc!important}
.thought-nav{color:#46506b!important}.thought-nav button{background:#fff!important;color:#15182c!important;border:1.5px solid #909ab1!important}
.thought-current,.thought-live,.thought-intent,.thought-starter,.thought-follow{color:#15182c!important;border-width:1.5px!important}
.start-over{margin-top:14px}

/* Word boards retain color, symbols always sit on white. */
.word-card{border:1.5px solid #909ab1!important;background:linear-gradient(145deg,color-mix(in srgb,var(--cc) 34%,white),color-mix(in srgb,var(--cc) 13%,white))!important;color:#15182c!important}
.word-icon,.em,.cat-illo,.rail-symbol,.message-token-symbol{background:#fff!important;color:#15182c!important}
.word-icon{border:1.5px solid #7e889f!important}
.word-card strong{color:#15182c!important}

/* Focus and scanning stay visible without shadows. */
:focus-visible{outline:4px solid #087ea4!important;outline-offset:3px!important}
.scan-row-highlight{outline:3px solid #7357e8!important;outline-offset:2px!important;background-color:#f0edff!important}
.scan-highlight{outline:5px solid #007b9d!important;outline-offset:3px!important}

/* Modals remain comfortably wide. */
.sheet,.edit-board-sheet,.edit-phrase-sheet,.create-word-sheet{width:min(880px,calc(100vw - 32px))!important;max-width:880px!important}

@media(max-width:900px){.home-bento{grid-template-columns:repeat(3,minmax(0,1fr))!important}.home-bento [data-cat-id]{grid-column:auto!important}}
@media(max-width:680px){
 .home-bento{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.home-bento [data-cat-id]{grid-column:auto!important}
 .home-bento .cat-card,.home-bento [data-cat-id="Conversation"] .cat-card,.home-bento [data-cat-id="SelfAdvocacy"] .cat-card{height:146px!important;min-height:146px!important;padding:12px!important}
 .composer-rail{flex-direction:column!important}.rail-head{width:100%!important;display:flex!important;justify-content:flex-start!important;align-items:center!important}.rail-items{width:100%!important}
 .rail-chip{min-width:84px!important;width:84px!important;min-height:78px!important}
 .recent-message-list{grid-template-columns:1fr}
}
@media(max-width:430px){.home-bento{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-bento .cat-label strong{font-size:.98rem!important}.home-bento .cat-illo{width:68px!important;height:68px!important}}




/* Give the Home header enough breathing room and keep the settings control inside it. */
.experience-header{
  overflow:visible!important;
  padding:26px 34px 28px!important;
  min-height:154px!important;
  gap:28px!important;
}
.experience-header>div:first-child{min-width:0;padding-right:12px}
.experience-header .avatar-btn{
  margin:8px 12px 8px 0!important;
  flex:0 0 auto!important;
}
.experience-header .avatar-btn::after{
  right:-7px!important;
  bottom:-7px!important;
  width:42px!important;
  height:42px!important;
  border:2px solid #fff!important;
}
.home-intro{margin-top:8px!important}

/* The language rail is large when choosing language, then calms down once a phrase is underway. */
.composer-rail.rail-compact{
  padding:7px 9px!important;
  min-height:58px!important;
  align-items:center!important;
}
.composer-rail.rail-compact .rail-head{
  min-width:auto!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
}
.composer-rail.rail-compact .rail-head>span{display:none!important}
.composer-rail.rail-compact .rail-head select{
  min-height:36px!important;
  height:36px!important;
  max-width:118px!important;
}
.composer-rail.rail-compact .rail-items{align-items:center!important}
.composer-rail.rail-compact .rail-chip{
  min-width:auto!important;
  width:auto!important;
  min-height:48px!important;
  height:48px!important;
  padding:4px 10px 4px 5px!important;
  border-radius:14px!important;
  flex-direction:row!important;
  gap:7px!important;
  white-space:nowrap!important;
}
.composer-rail.rail-compact .rail-symbol{
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  font-size:1.05rem!important;
  margin:0!important;
}
.composer-rail.rail-compact .rail-chip>span:last-child{
  font-size:.78rem!important;
  line-height:1!important;
}

/* Message symbols remain available for repair without becoming a second full-size board. */
.token-strip{
  padding:5px 2px 1px!important;
  gap:6px!important;
  max-height:58px!important;
}
.message-token{
  min-height:48px!important;
  height:48px!important;
  max-width:132px!important;
  border-radius:13px!important;
  padding:4px 8px 4px 5px!important;
  gap:6px!important;
  font-size:.78rem!important;
  white-space:nowrap!important;
}
.message-token-symbol{
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  font-size:1rem!important;
}
.token-strip.token-dense .message-token{
  min-height:42px!important;
  height:42px!important;
  max-width:108px!important;
  font-size:.72rem!important;
}
.token-strip.token-dense .message-token-symbol{
  width:28px!important;
  min-width:28px!important;
  height:28px!important;
}

/* Custom boards: adding a word starts with reuse, not duplication. */
.board-word-picker{max-width:760px!important}
.board-word-picker .lede{max-width:640px}
.board-lookup-results{
  display:grid;
  gap:8px;
  margin-top:12px;
  max-height:360px;
  overflow:auto;
}
.board-lookup-row{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:64px;
  padding:8px 10px;
  border:1.5px solid #a6afc4;
  border-radius:16px;
  background:#fff;
  color:#15182c;
}
.board-lookup-row .result-symbol{
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  border:1.5px solid #7e889f;
  overflow:hidden;
  font-size:1.3rem;
}
.board-lookup-row .result-symbol img{max-width:88%;max-height:88%;object-fit:contain}
.board-lookup-row strong{display:block}
.board-lookup-row small{display:block;color:#566078;margin-top:1px}
.board-lookup-row button{
  min-height:42px;
  min-width:70px;
  border-radius:12px;
  background:#ece9ff;
  color:#2f278f;
  border:1.5px solid #786bd0;
  font-weight:850;
}
.board-lookup-empty{
  min-height:122px;
  display:grid;
  align-content:center;
  gap:4px;
  margin-top:12px;
  padding:18px;
  border:1.5px dashed #a6afc4;
  border-radius:18px;
  background:#f8f9fd;
  text-align:center;
}
.board-lookup-empty span{color:#566078}
.board-picker-divider{
  display:flex;
  align-items:center;
  gap:12px;
  color:#6a7288;
  margin:16px 0 12px;
}
.board-picker-divider::before,.board-picker-divider::after{
  content:"";
  height:1px;
  background:#c7cedc;
  flex:1;
}
.board-create-new{width:100%!important;min-height:52px!important}

/* Help me say it: make replacement behavior visually explicit. */
.thought-builder .thought-live{background:#f8f9fd!important}
.thought-builder .thought-prompt.compact{margin-top:16px!important}
.thought-builder .thought-follow{min-height:58px!important}
.thought-builder [data-thought-replace]{
  background:linear-gradient(100deg,#f0edff,#e8f8fb)!important;
  border-color:#8175d3!important;
}
.thought-builder [data-thought-replace]::after{
  content:"Replace";
  display:block;
  margin-top:3px;
  color:#5148a7;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.02em;
}

/* Keep customization surfaces roomy but visually simple. */
.create-word-sheet,.create-board-sheet,.edit-board-sheet,.edit-phrase-sheet,.board-word-picker{
  padding:28px 30px!important;
}
.create-word-sheet .fg,.board-word-picker .search-box{gap:14px!important}

@media(max-width:680px){
  .experience-header{
    padding:20px 22px 22px!important;
    min-height:138px!important;
    gap:16px!important;
  }
  .experience-header .avatar-btn{margin-right:8px!important}
  .composer-rail.rail-compact{flex-direction:row!important}
  .composer-rail.rail-compact .rail-head{width:auto!important}
  .board-lookup-row{grid-template-columns:44px minmax(0,1fr) auto;gap:8px}
  .create-word-sheet,.create-board-sheet,.edit-board-sheet,.edit-phrase-sheet,.board-word-picker{padding:22px!important}
}
/* ===== HUDChat R11 canonical interaction layer ===== */
/* Assisted output keeps a symbolic anchor so pre-literate users can verify a rewritten sentence. */
.token-strip.assisted-strip{display:block!important;overflow:visible!important}
.message-token.assisted-token{width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;grid-template-areas:"icon text" "icon note"!important;align-items:center!important;text-align:left!important;gap:2px 12px!important;padding:10px 14px!important;background:#f7f5ff!important;border:1.5px solid #6c5ce7!important;color:#171b31!important}
.message-token.assisted-token .message-token-symbol{grid-area:icon;width:42px!important;height:42px!important;background:#fff!important;border:1.5px solid #7e889f!important;border-radius:50%!important;display:grid!important;place-items:center!important}
.message-token.assisted-token>span:not(.message-token-symbol){grid-area:text;font-weight:800!important;white-space:normal!important}
.message-token.assisted-token small{grid-area:note;color:#4f5873!important;font-size:.75rem!important;font-weight:700!important}
.photo-local-note{margin-top:12px;padding:12px 14px;border:1px solid #9ca6be;border-radius:14px;background:#f7f8fc;color:#171b31;display:grid;gap:4px}.photo-local-note span{color:#4f5873;line-height:1.4}

/* ===== HUDChat R11.1 regression hotfix ===== */
/* Compact status toast. R11 consolidation accidentally left both top and bottom offsets active. */
.status{
  top:max(14px,env(safe-area-inset-top))!important;
  bottom:auto!important;
  left:50%!important;
  right:auto!important;
  width:max-content!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:min(520px,calc(100vw - 28px))!important;
  max-height:none!important;
  padding:10px 16px!important;
  border-radius:999px!important;
  background:#211b58!important;
  color:#fff!important;
  border:1px solid #211b58!important;
  line-height:1.25!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  transform:translate(-50%,-160%)!important;
  opacity:1!important;
  box-shadow:none!important;
}
.status.show{transform:translate(-50%,0)!important}

/* Restore the approved white circular symbol plates lost during stylesheet consolidation. */
.cat-illo,.word-icon,.detail-icon,.result-symbol,.chip .em,.core-chip .em,.rel .em{
  background:#fff!important;
  color:#111827!important;
  border:1.5px solid #69738c!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  flex:0 0 auto!important;
}
.core-chip .em,.chip .em,.rel .em{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:50%!important;
  padding:3px!important;
  font-size:1.35rem!important;
}
.cat-illo{border-radius:50%!important}
.word-icon{border-radius:50%!important}
.detail-icon,.result-symbol{border-radius:50%!important}
.cat-illo img,.word-icon img,.detail-icon img,.result-symbol img,.chip .em img,.core-chip .em img,.rel .em img{
  max-width:82%!important;
  max-height:82%!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
@media(max-width:760px){
  .chip .em,.core-chip .em,.rel .em{width:36px!important;height:36px!important;min-width:36px!important}
}

/* ===== HUDChat R12 experience layer ===== */
/* Personalized Home hierarchy: card emphasis is stored per profile rather than hard-coded by category. */
.home-bento{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:162px!important;
  grid-auto-flow:dense!important;
  gap:14px!important;
  align-items:stretch!important;
}
.home-bento .cat-tile{min-width:0!important;height:100%!important}
.home-bento .cat-card{height:100%!important;min-height:0!important}
.home-bento .cat-tile[data-size="featured"]{
  grid-column:span 2!important;
  grid-row:span 2!important;
}
.home-bento .cat-tile[data-size="featured"] .cat-card{
  padding:24px!important;
  justify-content:center!important;
  gap:16px!important;
}
.home-bento .cat-tile[data-size="featured"] .cat-illo{
  width:124px!important;
  height:124px!important;
}
.home-bento .cat-tile[data-size="featured"] .cat-label strong{
  font-size:1.45rem!important;
}
.home-bento .cat-tile[data-size="featured"] .cat-label small{
  display:block!important;
  margin-top:4px!important;
  color:#4d5570!important;
  font-size:.78rem!important;
  font-weight:750!important;
}
.home-bento .cat-tile[data-size="standard"] .cat-card{height:162px!important}

/* Owned HUDChat pictograms remain crisp and distinct from platform emoji. */
.cat-illo img[src^="symbols/"],.word-icon img[src^="symbols/"],.message-token-symbol img[src^="symbols/"],.rail-symbol img[src^="symbols/"],.em img[src^="symbols/"],.result-symbol img[src^="symbols/"],.detail-icon img[src^="symbols/"]{
  width:84%!important;
  height:84%!important;
  max-width:84%!important;
  max-height:84%!important;
  object-fit:contain!important;
}
.core-chip .em img[src^="symbols/"]{width:90%!important;height:90%!important;max-width:90%!important;max-height:90%!important}

/* Home layout controls: visible/hidden state and size are explicit but kept in caregiver tools. */
.home-layout-list{display:grid;gap:9px}
.home-layout-row{
  display:grid;
  grid-template-columns:48px minmax(160px,1fr) 150px 76px 110px;
  gap:10px;
  align-items:center;
  padding:9px 10px;
  border:1.5px solid #a8b0c4;
  border-radius:16px;
  background:#fff;
}
.home-layout-symbol{
  width:44px;height:44px;border-radius:50%;background:#fff;border:1.5px solid #7e889f;
  display:grid;place-items:center;font-size:1.35rem;overflow:hidden;
}
.home-layout-symbol img{max-width:82%;max-height:82%;object-fit:contain}
.home-layout-name{display:grid;gap:2px;min-width:0}
.home-layout-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-layout-name small{color:#59627a;font-size:.76rem}
.home-size-select{height:44px!important;min-height:44px!important}
.home-visibility{min-height:44px!important;padding:0 12px!important}
.home-order{display:flex;gap:5px;justify-content:flex-end}
.home-order .pill{min-width:46px!important;min-height:42px!important;padding:0!important}

/* Custom board creation becomes a vocabulary-curation step, not an empty-board dead end. */
.board-populate-sheet{max-width:900px!important}
.board-populate-search{margin:14px 0 12px}
.board-populate-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  max-height:430px;
  overflow:auto;
  padding:2px;
}
.board-populate-card{
  min-height:92px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  grid-template-areas:"symbol copy" "state state";
  align-items:center;
  gap:8px 10px;
  padding:10px;
  border:1.5px solid #9ca6bd;
  border-radius:18px;
  background:#fff;
  color:#171b31;
  text-align:left;
}
.board-populate-card:hover,.board-populate-card:focus-visible{border-color:#6554d9;background:#f6f4ff}
.board-populate-card.added{border-color:#28966b;background:#eefaf5}
.board-populate-card .result-symbol{grid-area:symbol;width:48px;height:48px}
.board-populate-card>span:nth-child(2){grid-area:copy;min-width:0}
.board-populate-card strong{display:block;line-height:1.15}
.board-populate-card small{display:block;color:#5c657c;margin-top:3px;font-size:.72rem}
.board-populate-state{grid-area:state;color:#5148a7;font-size:.75rem;font-weight:850;padding-top:3px}
.board-populate-card.added .board-populate-state{color:#167b55}
.board-populate-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}

/* Communication boards keep more breathing room around the symbol and label. */
.word-card{
  padding:14px 10px!important;
  gap:11px!important;
}
.word-icon{width:78px!important;height:78px!important;min-height:78px!important}
.word-card strong{max-width:94%;line-height:1.18!important}

/* Composer hierarchy: assistance owns the composer area while active. */
.composer-layer.assist-open .token-strip,.composer-layer.assist-open .composer-rail{display:none!important}
.assist-tray{padding:14px!important}
.assist-inline-option,.assist-build{min-height:68px!important}
.message-token.assisted-token{border-color:#6554d9!important;background:#f5f2ff!important}

/* Recent is intentionally secondary to context suggestions. */
.rail-recent{opacity:.84}
.rail-recent:hover,.rail-recent:focus-visible{opacity:1}

@media(max-width:900px){
  .home-bento{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:154px!important}
  .home-bento .cat-tile[data-size="standard"] .cat-card{height:154px!important}
  .home-bento .cat-tile[data-size="featured"] .cat-illo{width:108px!important;height:108px!important}
  .home-layout-row{grid-template-columns:44px minmax(130px,1fr) 130px 70px 100px}
  .board-populate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .home-bento{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important}
  .home-bento .cat-tile[data-size="standard"] .cat-card{height:146px!important;min-height:146px!important}
  .home-bento .cat-tile[data-size="featured"]{grid-column:span 2!important;grid-row:span 1!important}
  .home-bento .cat-tile[data-size="featured"] .cat-card{height:208px!important;min-height:208px!important}
  .home-bento .cat-tile[data-size="featured"] .cat-illo{width:96px!important;height:96px!important}
  .home-layout-row{grid-template-columns:44px minmax(0,1fr) 112px 68px;grid-template-areas:"symbol name size vis" "symbol order order order"}
  .home-layout-symbol{grid-area:symbol}.home-layout-name{grid-area:name}.home-layout-row label{grid-area:size}.home-visibility{grid-area:vis}.home-order{grid-area:order;justify-content:flex-start}
  .board-populate-grid{grid-template-columns:1fr;max-height:360px}
  .board-populate-actions{flex-direction:column-reverse}.board-populate-actions .pill{width:100%!important}
  .word-icon{width:70px!important;height:70px!important;min-height:70px!important}
}

/* ===== HUDChat R12.1 visual-balance hotfix ===== */
/* Restore the richer category identity while keeping the accessible light canvas. */
body.light .home-bento .cat-card,
body .home-bento .cat-card{
  background:linear-gradient(145deg,
    color-mix(in srgb,var(--cc,#8aa0ff) 34%,white 66%),
    color-mix(in srgb,var(--cc,#8aa0ff) 16%,white 84%))!important;
  border-color:color-mix(in srgb,var(--cc,#8aa0ff) 58%,#8590a8 42%)!important;
}
body.light .word-card,
body .word-card{
  background:linear-gradient(150deg,
    color-mix(in srgb,var(--cc,#8aa0ff) 27%,white 73%),
    color-mix(in srgb,var(--cc,#8aa0ff) 11%,white 89%))!important;
  border-color:color-mix(in srgb,var(--cc,#8aa0ff) 52%,#8c96ad 48%)!important;
}
/* Low stimulation keeps color-coding, but at a quieter intensity instead of erasing it. */
body.lowstim.light .home-bento .cat-card{
  background:linear-gradient(145deg,
    color-mix(in srgb,var(--cc,#8aa0ff) 20%,white 80%),
    color-mix(in srgb,var(--cc,#8aa0ff) 9%,white 91%))!important;
  border-color:color-mix(in srgb,var(--cc,#8aa0ff) 42%,#9ca5b8 58%)!important;
}
body.lowstim.light .word-card{
  background:linear-gradient(150deg,
    color-mix(in srgb,var(--cc,#8aa0ff) 16%,white 84%),
    color-mix(in srgb,var(--cc,#8aa0ff) 7%,white 93%))!important;
  border-color:color-mix(in srgb,var(--cc,#8aa0ff) 38%,#a2aabd 62%)!important;
}

/* Remove the last high-specificity legacy shadows from the light header and board chrome. */
body.light .experience-header,
body.light .hd,
body.light .lh,
body.light .panel,
body.light .quick,
body.light .dock,
body.light .sheet,
body.light .onb-card,
body.light .composer-layer,
body.light .composer-rail{
  box-shadow:none!important;
  filter:none!important;
}

/* Loosen Home and use a 2x1.5-ish featured card instead of a very tall 2x2 block. */
.home-bento{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:80px!important;
  grid-auto-flow:dense!important;
  gap:18px!important;
}
.home-bento .cat-tile[data-size="standard"]{
  grid-column:span 1!important;
  grid-row:span 2!important;
}
.home-bento .cat-tile[data-size="featured"]{
  grid-column:span 2!important;
  grid-row:span 3!important;
}
.home-bento .cat-tile[data-size="standard"] .cat-card,
.home-bento .cat-tile[data-size="featured"] .cat-card{
  height:100%!important;
  min-height:0!important;
}
.home-bento .cat-tile[data-size="standard"] .cat-card{
  padding:18px!important;
}
.home-bento .cat-tile[data-size="featured"] .cat-card{
  padding:24px 28px!important;
  display:grid!important;
  grid-template-columns:118px minmax(0,1fr)!important;
  align-items:center!important;
  justify-items:start!important;
  column-gap:26px!important;
  text-align:left!important;
}
.home-bento .cat-tile[data-size="featured"] .cat-illo{
  width:110px!important;
  height:110px!important;
}
.home-bento .cat-tile[data-size="featured"] .cat-label{
  align-items:flex-start!important;
  text-align:left!important;
  width:100%!important;
}
.home-bento .cat-tile[data-size="featured"] .cat-label strong{
  font-size:1.42rem!important;
}
.home-bento .cat-tile[data-size="featured"] .cat-label small{
  display:block!important;
  margin-top:5px!important;
}
.home-space{margin-top:14px!important;margin-bottom:20px!important}
.home-actions{padding-top:16px!important;gap:10px!important}

/* Give vocabulary cards room again. This also eliminates the R12 desktop wrapping regression. */
.word-grid{
  grid-template-columns:repeat(auto-fill,minmax(158px,1fr))!important;
  gap:16px!important;
}
.word-card,.add-card{
  min-height:158px!important;
  border-radius:24px!important;
}
.word-card{
  padding:16px 12px!important;
  gap:12px!important;
}
.word-icon{
  width:76px!important;
  height:76px!important;
  min-height:76px!important;
}
.word-card strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  padding:0 3px!important;
  font-size:.94rem!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
/* Board names also stay on one clean line; very long custom names truncate rather than break awkwardly. */
.home-bento .cat-label strong,
.cat-grid .cat-card strong,
.all-grid .all-card strong{
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Restore more breathing room around the main top-level chrome. */
.experience-header{
  padding:30px 38px 32px!important;
  margin-bottom:14px!important;
}
.search{margin-bottom:16px!important}
.core-wrap{margin-bottom:22px!important;padding-top:10px!important;padding-bottom:10px!important}

@media(max-width:900px){
  .home-bento{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:76px!important;gap:14px!important}
  .home-bento .cat-tile[data-size="featured"]{grid-column:span 2!important;grid-row:span 3!important}
  .home-bento .cat-tile[data-size="featured"] .cat-card{grid-template-columns:94px minmax(0,1fr)!important;column-gap:18px!important;padding:20px!important}
  .home-bento .cat-tile[data-size="featured"] .cat-illo{width:90px!important;height:90px!important}
  .word-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))!important;gap:14px!important}
}
@media(max-width:680px){
  .home-bento{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:12px!important}
  .home-bento .cat-tile[data-size="standard"]{grid-row:auto!important}
  .home-bento .cat-tile[data-size="featured"]{grid-column:span 2!important;grid-row:auto!important}
  .home-bento .cat-tile[data-size="standard"] .cat-card{height:148px!important;min-height:148px!important}
  .home-bento .cat-tile[data-size="featured"] .cat-card{height:190px!important;min-height:190px!important;grid-template-columns:86px minmax(0,1fr)!important;padding:18px!important}
  .home-bento .cat-tile[data-size="featured"] .cat-illo{width:82px!important;height:82px!important}
  .experience-header{padding:22px 22px 24px!important}
  .word-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .word-card,.add-card{min-height:142px!important}
  .word-card strong{font-size:.88rem!important}
}

/* ===== HUDChat R13 communication-shelf + visual-system lock ===== */
:root{
  --r13-border:#b9c3d8;
  --r13-border-soft:#d4dbe8;
  --r13-text:#171b31;
  --r13-muted:#4f5a75;
  --r13-white:#fff;
}

/* One visual grammar: bordered surfaces, no decorative shadows. */
body.light .experience-header,
body.light .search,
body.light .core-wrap,
body.light .lh,
body.light .quick,
body.light .home-actions button,
body.light .communication-shelf,
body.light .dock,
body.light .sheet,
body.light .onb-card,
body.light .settings-card,
body.light .account-card,
body.light .sync-card,
body.light .word-card,
body.light .cat-card,
body.light .add-card{
  box-shadow:none!important;
}
body.light .experience-header,
body.light .search,
body.light .core-wrap,
body.light .communication-shelf,
body.light .dock,
body.light .sheet,
body.light .onb-card{
  border:1.5px solid var(--r13-border-soft)!important;
}
body.light .quick,
body.light .home-actions button,
body.light .add-card{
  border:1.5px solid var(--r13-border)!important;
}

/* Communication cards use the Home treatment everywhere: solid pastel tint + matching edge. */
body.light .home-bento .cat-card,
body.light .cat-grid .cat-card,
body.light .word-card{
  background:color-mix(in srgb,var(--cc) 19%,#fff)!important;
  background-image:none!important;
  border:1.5px solid color-mix(in srgb,var(--cc) 64%,#8793aa)!important;
  color:var(--r13-text)!important;
}
body.lowstim.light .home-bento .cat-card,
body.lowstim.light .cat-grid .cat-card,
body.lowstim.light .word-card{
  background:color-mix(in srgb,var(--cc) 11%,#fff)!important;
}

/* Every symbol source — HUDChat SVG, emoji, ARASAAC, personal image — lives on white. */
.cat-illo,.word-icon,.detail-icon,.result-symbol,.rail-symbol,.message-token-symbol,
.core-chip .em,.chip .em,.rel .em,.thought-symbol,.shelf-symbol{
  background:#fff!important;
  background-image:none!important;
  border:1.5px solid #aab4c8!important;
  border-radius:50%!important;
  color:var(--r13-text)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.cat-illo img,.word-icon img,.detail-icon img,.result-symbol img,.rail-symbol img,
.message-token-symbol img,.core-chip .em img,.chip .em img,.rel .em img{
  object-fit:contain!important;
}

/* Board headers are full-width, flat category tints — never gradients. */
body.light .lh{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  background:color-mix(in srgb,var(--cc) 17%,#fff)!important;
  background-image:none!important;
  border:1.5px solid color-mix(in srgb,var(--cc) 62%,#8f99ad)!important;
  box-shadow:none!important;
  padding:18px 20px!important;
  min-height:78px!important;
}
body.light .lh h2{color:var(--r13-text)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.light .lh .back,body.light .lh .lh-edit{border:1.5px solid #aeb8cc!important;background:#fff!important;box-shadow:none!important;}

/* Labels stay intact. Long custom language truncates instead of splitting a word. */
.word-card strong,.cat-label strong,.cat-card>strong,.rail-chip>span:last-child{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* The bottom of HUDChat has exactly two surfaces: one communication shelf + the composer. */
.composer-layer{
  gap:8px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.communication-shelf{
  width:100%!important;
  box-sizing:border-box!important;
  border:1.5px solid var(--r13-border)!important;
  border-radius:20px!important;
  background:#fff!important;
  padding:9px 10px!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.composer-rail{
  width:100%!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.composer-rail[hidden],.assist-tray[hidden]{display:none!important;}
.rail-head{
  width:auto!important;
  min-width:128px!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.rail-context{display:flex;align-items:center;gap:7px;min-width:0;}
.rail-head select{
  min-width:92px!important;
  max-width:126px!important;
  height:48px!important;
  padding:0 30px 0 12px!important;
  border:1.5px solid var(--r13-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--r13-text)!important;
  font-weight:800!important;
}
#railMode{
  color:var(--r13-muted)!important;
  font-size:.78rem!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.rail-more{
  height:44px!important;
  border:1.5px solid var(--r13-border)!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#2d3e70!important;
  font-weight:850!important;
  padding:0 11px!important;
}
.rail-items{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
  overflow:hidden!important;
  padding:0!important;
}
.rail-chip{
  width:100%!important;
  min-width:0!important;
  height:66px!important;
  min-height:66px!important;
  border-radius:15px!important;
  border:1.5px solid color-mix(in srgb,var(--cc) 68%,#8793aa)!important;
  background:color-mix(in srgb,var(--cc) 15%,#fff)!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  padding:7px 9px!important;
  color:var(--r13-text)!important;
  text-align:left!important;
  box-shadow:none!important;
}
.rail-chip .rail-symbol{width:38px!important;height:38px!important;min-width:38px!important;display:grid!important;place-items:center!important;font-size:1.2rem!important;}
.rail-chip>span:last-child{font-size:.82rem!important;font-weight:850!important;line-height:1.08!important;}
.rail-expanded .rail-items{grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-flow:row!important;}

/* Assistance takes over the shelf instead of stacking another tray. */
.assist-tray{
  width:100%!important;
  max-height:min(46vh,430px)!important;
  overflow:auto!important;
  padding:1px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  color:var(--r13-text)!important;
}
.shelf-assist-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 8px!important;
  padding:0 2px 8px!important;
  border-bottom:1.5px solid var(--r13-border-soft)!important;
}
.shelf-assist-head>div{min-width:0;display:grid;gap:1px;}
.shelf-assist-head small{font-size:.72rem!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#4a51b8!important;font-weight:900!important;}
.shelf-assist-head strong{font-size:1rem!important;color:var(--r13-text)!important;}
.shelf-assist-head span{font-size:.77rem!important;color:var(--r13-muted)!important;}
.shelf-assist-head>button{
  width:42px!important;height:42px!important;min-width:42px!important;border-radius:50%!important;
  border:1.5px solid var(--r13-border)!important;background:#fff!important;color:var(--r13-text)!important;
  font-size:1.2rem!important;box-shadow:none!important;
}
.shelf-sentence-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
.shelf-sentence{
  min-width:0!important;min-height:70px!important;padding:10px 12px!important;border-radius:15px!important;
  border:1.5px solid #aeb8cc!important;background:#f8f9fd!important;color:var(--r13-text)!important;
  display:grid!important;align-content:center!important;gap:3px!important;text-align:left!important;box-shadow:none!important;
}
.shelf-sentence span{font-size:.92rem!important;font-weight:850!important;line-height:1.16!important;}
.shelf-sentence small{font-size:.7rem!important;color:var(--r13-muted)!important;font-weight:700!important;}
.shelf-say-more{
  width:100%!important;margin-top:8px!important;min-height:56px!important;padding:8px 12px!important;border-radius:15px!important;
  border:1.5px solid #8b78e8!important;background:#f5f2ff!important;color:var(--r13-text)!important;
  display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;gap:9px!important;align-items:center!important;text-align:left!important;box-shadow:none!important;
}
.shelf-say-more>span:first-child{width:36px;height:36px;border:1.5px solid #aeb8cc;border-radius:50%;background:#fff;display:grid;place-items:center;}
.shelf-say-more strong{display:block;font-size:.9rem!important}.shelf-say-more small{display:block;color:var(--r13-muted)!important;font-size:.72rem!important;margin-top:1px;}
.shelf-clear{padding:10px 12px;border:1.5px solid var(--r13-border-soft);border-radius:14px;background:#fafbfe;display:grid;gap:2px;color:var(--r13-text);}
.shelf-clear span{color:var(--r13-muted);font-size:.78rem;}

/* Help me say it is the deeper state of the same shelf. */
.thought-canvas-inline{display:grid!important;gap:8px!important;}
.shelf-current,.shelf-prompt,.shelf-nav{
  border:1.5px solid var(--r13-border-soft)!important;border-radius:14px!important;background:#fafbfe!important;color:var(--r13-text)!important;box-shadow:none!important;
}
.shelf-current{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"label action" "text action"!important;gap:2px 10px!important;align-items:center!important;padding:9px 11px!important;}
.shelf-current small{grid-area:label;color:#525bb6!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-size:.66rem!important;}
.shelf-current strong{grid-area:text;font-size:.94rem!important;line-height:1.15!important;}
.shelf-use{grid-area:action;border:1.5px solid #5366cf!important;border-radius:12px!important;background:#eef1ff!important;color:#243374!important;font-weight:850!important;padding:9px 12px!important;}
.shelf-prompt{padding:8px 11px!important;display:flex!important;align-items:baseline!important;gap:8px!important;}
.shelf-prompt strong{font-size:.86rem!important;white-space:nowrap!important}.shelf-prompt span{font-size:.76rem!important;color:var(--r13-muted)!important;}
.shelf-choice-grid,.shelf-intent-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;}
.shelf-choice,.shelf-intent{
  min-height:54px!important;border:1.5px solid #b3bdd0!important;border-radius:14px!important;background:#fff!important;color:var(--r13-text)!important;
  padding:8px 10px!important;box-shadow:none!important;font-weight:800!important;text-align:left!important;
}
.shelf-choice.done{background:#f4f6fa!important;color:#39435e!important;}
.shelf-intent{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;}
.shelf-intent .thought-symbol{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;}
.shelf-intent strong{display:block;font-size:.82rem!important}.shelf-intent small{display:block;font-size:.67rem!important;color:var(--r13-muted)!important;line-height:1.1!important;margin-top:1px;}
.shelf-nav{display:flex!important;align-items:center!important;gap:10px!important;padding:7px 9px!important;}
.shelf-nav button,.shelf-text-link{border:1.5px solid var(--r13-border)!important;border-radius:11px!important;background:#fff!important;color:#34436e!important;font-weight:800!important;padding:7px 10px!important;box-shadow:none!important;}
.shelf-text-link{width:max-content!important;max-width:100%!important;}
.recent-message-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;}
.recent-message-list button{border:1.5px solid var(--r13-border)!important;border-radius:13px!important;background:#fff!important;color:var(--r13-text)!important;padding:10px 12px!important;text-align:left!important;font-weight:800!important;box-shadow:none!important;}

/* Symbol tokens are part of the composer itself, never a third rail. */
.dock{
  width:100%!important;box-sizing:border-box!important;background:#fff!important;border:1.5px solid var(--r13-border)!important;border-radius:20px!important;
  padding:9px!important;display:grid!important;grid-template-columns:minmax(0,1fr) repeat(5,50px) 92px!important;gap:7px!important;align-items:center!important;box-shadow:none!important;
}
.token-strip{
  grid-column:1/-1!important;width:100%!important;box-sizing:border-box!important;display:flex!important;gap:6px!important;padding:0 1px 2px!important;margin:0!important;
  border:0!important;background:transparent!important;overflow-x:auto!important;box-shadow:none!important;
}
.token-strip[hidden]{display:none!important;}
.message-token{min-height:38px!important;max-width:220px!important;border:1.5px solid var(--r13-border)!important;background:#fafbfe!important;border-radius:12px!important;box-shadow:none!important;}
.message-token-symbol{width:30px!important;height:30px!important;min-width:30px!important;}
.message-token.assisted-token{width:auto!important;max-width:100%!important;min-height:42px!important;grid-template-columns:34px minmax(0,1fr)!important;padding:6px 9px!important;background:#f7f5ff!important;border-color:#8c7ce4!important;}
.message-token.assisted-token .message-token-symbol{width:32px!important;height:32px!important;min-width:32px!important;}
.dock input#dockText{grid-column:1!important;min-width:0!important;height:52px!important;border:1.5px solid var(--r13-border-soft)!important;border-radius:14px!important;background:#fff!important;color:var(--r13-text)!important;box-shadow:none!important;}
.dock .dbtn,.dock .speak{height:52px!important;min-width:0!important;border-width:1.5px!important;box-shadow:none!important;}
#historyDock:disabled{display:none!important;}
#historyDock.has-history{display:block!important;}
.composer-layer.assist-open .token-strip:not([hidden]){display:flex!important;}
.composer-layer.assist-open .composer-rail{display:none!important;}

/* Keep the strongest Home spacing and color/border pairing. */
.home-bento{gap:16px!important;}
.home-bento .cat-card{box-shadow:none!important;}
.home-bento .cat-illo{background:#fff!important;}

/* Modal and settings surfaces are always bounded; no floating white-on-white panels. */
.modal .sheet,.modal article,.onb>*,.settings-group,.profile-card,.accessibility-card,.emergency-card{
  box-shadow:none!important;
}
.modal .sheet,.modal article{
  border:1.5px solid var(--r13-border)!important;
}

@media(max-width:900px){
  .composer-rail{grid-template-columns:1fr!important;gap:7px!important;}
  .rail-head{width:100%!important;justify-content:space-between!important;}
  .rail-items{grid-template-columns:repeat(5,minmax(82px,1fr))!important;overflow-x:auto!important;}
  .shelf-sentence-list,.shelf-choice-grid,.shelf-intent-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .dock{grid-template-columns:minmax(0,1fr) repeat(5,48px) 86px!important;}
}
@media(max-width:620px){
  .communication-shelf{padding:8px!important;border-radius:17px!important;}
  .rail-items{grid-template-columns:repeat(5,92px)!important;}
  .rail-chip{height:64px!important;padding:6px!important;grid-template-columns:36px minmax(0,1fr)!important;}
  .rail-chip .rail-symbol{width:34px!important;height:34px!important;min-width:34px!important;}
  .shelf-sentence-list,.shelf-choice-grid,.shelf-intent-grid,.recent-message-list{grid-template-columns:1fr!important;}
  .shelf-prompt{display:grid!important;gap:2px!important;}
  .dock{grid-template-columns:repeat(5,46px) minmax(78px,1fr)!important;gap:6px!important;}
  #historyDock{grid-column:1!important;}
  #backDock{grid-column:2!important;}#clearDock{grid-column:3!important;}#predictDock{grid-column:4!important;}#keyboardDock{grid-column:5!important;}#speakDock{grid-column:6!important;}
  .dock input#dockText{grid-column:1/-1!important;grid-row:auto!important;}
  .dock .dbtn,.dock .speak{height:46px!important;}
}

/* =========================================================
   R14 — CALM COMMUNICATION SYSTEM LOCK
   Permanent prediction rail removed. The Home card system is
   the visual source of truth for borders, tints and symbol plates.
   ========================================================= */
:root{
  --r14-border:#aeb8cc;
  --r14-border-soft:#cbd3e2;
  --r14-text:#171b31;
  --r14-muted:#536078;
  --r14-surface:#ffffff;
  --r14-canvas:#f4f7fd;
}

/* The communication shelf only exists when the user explicitly asks for help. */
.communication-shelf[hidden]{display:none!important;}
.communication-shelf{
  width:100%!important;
  box-sizing:border-box!important;
  border:1.5px solid var(--r14-border)!important;
  border-radius:20px!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
  padding:10px!important;
  margin:0!important;
}
.assist-tray{
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* Remove the retired rail from layout even if stale markup is cached for a frame. */
#composerRail,.composer-rail,.rail-head,.rail-items{display:none!important;}

/* One border language for primary UI surfaces. */
.hd,.experience-header,.classic-search,.core-wrap,.lh,.quick,.experience-help,
.dock,.communication-shelf,.sheet,.onb-card,.panel,.settings-group,.profile-card,
.accessibility-card,.emergency-card,.finder-card,.board-populate-sheet,
.home-actions button,.add-card,.show-more{
  border:1.5px solid var(--r14-border)!important;
  box-shadow:none!important;
}
.hd,.experience-header,.classic-search,.core-wrap,.dock,.sheet,.onb-card,.panel,
.settings-group,.profile-card,.accessibility-card,.emergency-card,.finder-card,
.board-populate-sheet{
  background-image:none!important;
}

/* Header is a bounded flat surface, never floating. */
.hd,.experience-header{
  background:#fff!important;
  border-color:var(--r14-border-soft)!important;
  box-shadow:none!important;
  filter:none!important;
  padding:26px 30px!important;
  overflow:visible!important;
}

/* Board page headers: flat category tint + matching border. No gradients. */
.lh{
  width:100%!important;
  box-sizing:border-box!important;
  background:color-mix(in srgb,var(--cc,#9aa7c8) 16%,#fff 84%)!important;
  background-image:none!important;
  border-color:color-mix(in srgb,var(--cc,#9aa7c8) 58%,#8e99b2 42%)!important;
  box-shadow:none!important;
  min-height:84px!important;
  padding:14px 18px!important;
}
.lh::before,.lh::after{display:none!important;background:none!important;}

/* Search/core/help are flat, bounded containers. */
.classic-search{background:#fff!important;border-color:var(--r14-border-soft)!important;}
.core-wrap{background:#f1f4fb!important;border-color:var(--r14-border-soft)!important;}
.quick,.experience-help{
  background:#f3f0ff!important;
  background-image:none!important;
  border-color:#afa4df!important;
}

/* Home hierarchy is predictable again: same geometry, same spacing. */
.home-bento{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:158px!important;
  grid-auto-flow:row!important;
  gap:16px!important;
  align-items:stretch!important;
}
.home-bento .cat-tile,.home-bento .cat-tile[data-size],.home-bento [data-size]{
  grid-column:auto!important;
  grid-row:auto!important;
  min-width:0!important;
  height:158px!important;
  min-height:158px!important;
}
.home-bento .cat-card,.home-bento .experience-card{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:14px!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  justify-items:center!important;
  align-content:center!important;
  gap:8px!important;
  background:color-mix(in srgb,var(--cc,#9aa7c8) 18%,#fff 82%)!important;
  background-image:none!important;
  border:1.5px solid color-mix(in srgb,var(--cc,#9aa7c8) 66%,#8f9ab2 34%)!important;
  border-radius:22px!important;
  box-shadow:none!important;
}
.home-bento .cat-label{display:grid!important;gap:2px!important;min-width:0!important;text-align:center!important;}
.home-bento .cat-label strong,.home-bento .cat-label small{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}

/* All-board grid follows the same predictable card geometry. */
.cat-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
.cat-grid .cat-tile{min-width:0!important;min-height:158px!important;height:158px!important;}
.cat-grid .cat-card,.cat-grid .add-card{
  height:100%!important;
  min-height:0!important;
  border-radius:22px!important;
  box-shadow:none!important;
}
.cat-grid .cat-card{
  background:color-mix(in srgb,var(--cc,#9aa7c8) 18%,#fff 82%)!important;
  border:1.5px solid color-mix(in srgb,var(--cc,#9aa7c8) 66%,#8f9ab2 34%)!important;
  background-image:none!important;
}

/* Board vocabulary grid: consistent rows/columns, never masonry-like. */
.word-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:16px!important;
  align-items:stretch!important;
}
.word-grid .word-tile{
  min-width:0!important;
  height:142px!important;
  min-height:142px!important;
}
.word-grid .word-card,.word-grid .add-card{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border-radius:20px!important;
  box-shadow:none!important;
}
.word-grid .word-card{
  background:color-mix(in srgb,var(--cc,#9aa7c8) 16%,#fff 84%)!important;
  background-image:none!important;
  border:1.5px solid color-mix(in srgb,var(--cc,#9aa7c8) 66%,#8f9ab2 34%)!important;
  padding:13px 10px!important;
  display:grid!important;
  grid-template-rows:70px auto!important;
  justify-items:center!important;
  align-content:center!important;
  gap:7px!important;
}
.word-grid .word-card>strong{
  display:block!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1.1!important;
  text-align:center!important;
}

/* Pure-white plate is a component rule, not a per-screen exception. */
.cat-illo,.word-icon,.em,.detail-icon,.result-symbol,.message-token-symbol,
.home-layout-symbol,.thought-symbol,.sym-preview,.finder-symbol,.board-result-symbol{
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  border:1.5px solid #9aa5bb!important;
  box-shadow:none!important;
  color:var(--r14-text)!important;
  overflow:hidden!important;
}
.cat-illo img,.word-icon img,.em img,.detail-icon img,.result-symbol img,
.message-token-symbol img,.home-layout-symbol img,.thought-symbol img,
.sym-preview img,.finder-symbol img,.board-result-symbol img{
  background:transparent!important;
  object-fit:contain!important;
}

/* Core word chips retain a clear white plate and bounded chip. */
.core-chip{
  border:1.5px solid #bcc5d7!important;
  background:#e9edf7!important;
  box-shadow:none!important;
}
.core-chip .em{background:#fff!important;border-color:#8f9ab2!important;}

/* Word-level 'ways to say it' replaces the permanent rail as the optional shortcut. */
.word-language-sheet{max-width:820px!important;width:min(820px,calc(100vw - 32px))!important;}
.say-it-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
.say-it-option{
  min-height:74px!important;
  border:1.5px solid #aeb8cc!important;
  border-radius:16px!important;
  background:#f8f9fd!important;
  color:var(--r14-text)!important;
  box-shadow:none!important;
  padding:12px 14px!important;
  text-align:left!important;
  display:grid!important;
  gap:3px!important;
}
.say-it-option strong{font-size:.94rem!important;line-height:1.2!important;}
.say-it-option small{font-size:.72rem!important;color:var(--r14-muted)!important;font-weight:750!important;}

/* Small edit/expand controls are consistently bounded. */
.edit-fab,.more-fab,.chip-more,.x-close,.back,.lh-edit,.round{
  border:1.5px solid #8f9ab2!important;
  box-shadow:none!important;
}
.more-fab,.chip-more{background:#fff!important;color:#33405f!important;}

/* Composer is the only permanent bottom communication surface. */
.composer-layer{gap:8px!important;}
.dock{
  border-color:var(--r14-border)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.token-strip{background:transparent!important;border:0!important;}
.message-token{border:1.5px solid var(--r14-border)!important;background:#fafbfe!important;box-shadow:none!important;}

/* Keep status announcements compact and non-blocking. */
.status{
  top:14px!important;bottom:auto!important;left:50%!important;right:auto!important;
  width:auto!important;max-width:min(560px,calc(100vw - 32px))!important;height:auto!important;
  min-height:0!important;padding:9px 14px!important;border:1.5px solid #8994aa!important;
  border-radius:999px!important;background:#1f263b!important;color:#fff!important;box-shadow:none!important;
  transform:translateX(-50%)!important;
}

/* Home-layout caregiver panel no longer exposes geometry that Home does not use. */
.home-layout-row{grid-template-columns:46px minmax(0,1fr) auto auto!important;}
.home-size-select{display:none!important;}

@media(max-width:1020px){
  .home-bento,.cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .word-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .home-bento,.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
  .word-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;}
  .say-it-list{grid-template-columns:1fr!important;}
}
@media(max-width:520px){
  .word-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .home-bento,.cat-grid{gap:10px!important;}
  .home-bento .cat-tile,.home-bento .cat-tile[data-size],.cat-grid .cat-tile{height:148px!important;min-height:148px!important;}
  .word-grid .word-tile{height:134px!important;min-height:134px!important;}
  .lh{min-height:72px!important;padding:10px 12px!important;}
}

/* ======================================================================
   HUDChat R15 — Visual hierarchy + progressive communication workspace
   Final authoritative layer. R15 deliberately leaves composer mechanics
   stable while making communication and editing states easier to parse.
   ====================================================================== */
:root{
  --r15-ink:#171b35;
  --r15-muted:#58627b;
  --r15-line:#b8c2d7;
  --r15-line-soft:#d6dcea;
  --r15-blue:#5f7ff4;
  --r15-blue-soft:#e5ebff;
  --r15-peach:#fff0df;
  --r15-coral:#ffe2e5;
  --r15-yellow:#fff5ca;
  --r15-lavender:#eee8ff;
  --r15-green:#e1f6ea;
  --r15-cyan:#e3f4fb;
}

/* Idle live announcements are invisible. The accessible region still exists. */
.status[hidden],.status:not(.show),.status:empty{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.status.show:not(:empty){
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  top:14px!important;
  bottom:auto!important;
  left:50%!important;
  width:auto!important;
  max-width:min(560px,calc(100vw - 32px))!important;
  min-height:0!important;
  height:auto!important;
  padding:9px 14px!important;
  border:1px solid #6d7891!important;
  border-radius:999px!important;
  background:#20263b!important;
  color:#fff!important;
  transform:translateX(-50%)!important;
  box-shadow:none!important;
}

/* Major application surfaces: boundaries without shadows. */
body.light .hd,body.light .experience-header,
body.light .classic-search,body.light .core-wrap,
body.light .lh,body.light .quick,body.light .experience-help,
body.light .dock,body.light .communication-shelf,
body.light .sheet,body.light .onb-card,
body.light .sync-card,body.light .fg{
  box-shadow:none!important;
}
body.light .hd,body.light .experience-header,
body.light .classic-search,body.light .core-wrap,
body.light .dock{
  border:1px solid var(--r15-line-soft)!important;
}

/* Home is the visual source of truth: stronger color, generous artwork. */
.home-bento{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:170px!important;
  gap:16px!important;
}
.home-bento .cat-tile,.home-bento .cat-tile[data-size],.home-bento [data-size]{
  height:170px!important;min-height:170px!important;
}
body.light .home-bento .cat-card,
body.light .home-bento .experience-card{
  background:color-mix(in srgb,var(--cc,#aab5d0) 27%,#fff 73%)!important;
  background-image:none!important;
  border:1.5px solid color-mix(in srgb,var(--cc,#aab5d0) 74%,#8d99b4 26%)!important;
  border-radius:24px!important;
  padding:16px 14px!important;
  gap:9px!important;
  box-shadow:none!important;
}
.home-bento .cat-illo{
  width:82px!important;height:82px!important;min-width:82px!important;
  font-size:2.65rem!important;
}
.home-bento .cat-label strong{font-size:1.02rem!important;letter-spacing:-.015em!important;}
.home-bento .cat-label small{display:none!important;}

/* All Boards uses the same visual grammar, with counts retained. */
.cat-grid{gap:16px!important;}
body.light .cat-grid .cat-card{
  background:color-mix(in srgb,var(--cc,#aab5d0) 23%,#fff 77%)!important;
  background-image:none!important;
  border:1.5px solid color-mix(in srgb,var(--cc,#aab5d0) 70%,#8d99b4 30%)!important;
  box-shadow:none!important;
}
.cat-grid .cat-illo{width:76px!important;height:76px!important;min-width:76px!important;font-size:2.45rem!important;}

/* Board headers are flat category surfaces — never a gradient. */
body.light .lh,
body .lh{
  background:color-mix(in srgb,var(--cc,#aab5d0) 24%,#fff 76%)!important;
  background-color:color-mix(in srgb,var(--cc,#aab5d0) 24%,#fff 76%)!important;
  background-image:none!important;
  border:1.5px solid color-mix(in srgb,var(--cc,#aab5d0) 68%,#8d99b4 32%)!important;
  box-shadow:none!important;
  min-height:82px!important;
  padding:14px 18px!important;
}
.lh::before,.lh::after{display:none!important;content:none!important;}

/* Vocabulary: keep motor grid predictable but make imagery easier to digest. */
.word-grid{
  gap:18px!important;
  grid-auto-rows:154px!important;
}
.word-grid .word-tile{height:154px!important;min-height:154px!important;}
body.light .word-grid .word-card{
  background:color-mix(in srgb,var(--cc,#aab5d0) 20%,#fff 80%)!important;
  background-image:none!important;
  border:1.5px solid color-mix(in srgb,var(--cc,#aab5d0) 70%,#8d99b4 30%)!important;
  border-radius:22px!important;
  padding:14px 9px!important;
  grid-template-rows:78px auto!important;
  gap:8px!important;
  box-shadow:none!important;
}
.word-grid .word-icon{
  width:72px!important;height:72px!important;min-width:72px!important;
  font-size:2.35rem!important;
}
.word-grid .word-card>strong{font-size:.92rem!important;font-weight:850!important;}

/* Symbol plates are truly white, regardless of source or parent color. */
body.light .cat-illo,body.light .word-icon,body.light .em,
body.light .detail-icon,body.light .result-symbol,body.light .message-token-symbol,
body.light .home-layout-symbol,body.light .thought-symbol,body.light .sym-preview,
body.light .finder-symbol,body.light .board-result-symbol,
body .cat-illo,body .word-icon,body .em,
body .detail-icon,body .result-symbol,body .message-token-symbol,
body .home-layout-symbol,body .thought-symbol,body .sym-preview,
body .finder-symbol,body .board-result-symbol{
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  border:1.5px solid #a8b1c4!important;
  box-shadow:none!important;
}

/* Communication mode and Edit mode are intentionally different products. */
.edit-mode-banner{
  width:100%;box-sizing:border-box;margin:0 0 12px;padding:12px 14px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  border:1.5px solid #7790e8;border-radius:18px;background:#edf1ff;color:var(--r15-ink);
}
.edit-mode-banner span{display:grid;gap:2px;min-width:0;}
.edit-mode-banner strong{font-size:.98rem;}
.edit-mode-banner small{font-size:.76rem;color:var(--r15-muted);font-weight:700;}
.edit-entry{background:#f6f8ff!important;border:1px solid #c4cde4!important;}
body:not(.editing) .edit-fab{box-shadow:none!important;}

/* Everyday Home no longer looks like an admin screen. */
.home-actions{padding-top:14px!important;}
.home-actions button{
  min-height:44px!important;background:#fff!important;color:var(--r15-ink)!important;
  border:1px solid var(--r15-line)!important;box-shadow:none!important;
}

/* Help me say it card gets a clear entry-state identity. */
body.light .quick.experience-help{
  min-height:82px!important;
  padding:14px 18px!important;
  border:1.5px solid #91a6e8!important;
  background:#eaf0ff!important;
  background-image:none!important;
  box-shadow:none!important;
}
.quick.experience-help .spark{
  width:50px!important;height:50px!important;border-radius:16px!important;
  display:grid!important;place-items:center!important;background:#fff!important;
  border:1px solid #9aa7ca!important;font-size:1.45rem!important;
}
.quick.experience-help strong{font-size:1rem!important;color:var(--r15-ink)!important;}
.quick.experience-help small{color:#4e5d7d!important;font-weight:700!important;}

/* Progressive Help me say it workspace. Only one question is visually primary. */
.communication-shelf{
  border:0!important;background:transparent!important;padding:0!important;
}
.assist-tray{border:0!important;background:transparent!important;box-shadow:none!important;}
.hm-workspace{
  --hm:#dfe8ff;--hm-line:#7e94dc;
  width:100%;box-sizing:border-box;border:1.5px solid var(--hm-line);border-radius:24px;
  background:var(--hm);overflow:hidden;color:var(--r15-ink);box-shadow:none;
  max-height:min(62vh,620px);overflow-y:auto;
}
.hm-tone-peach{--hm:#fff0df;--hm-line:#d99c6b;}
.hm-tone-coral{--hm:#ffe4e8;--hm-line:#d27d8b;}
.hm-tone-lavender{--hm:#eee8ff;--hm-line:#9783df;}
.hm-tone-blue{--hm:#e6edff;--hm-line:#7d94df;}
.hm-tone-yellow{--hm:#fff5ca;--hm-line:#c8aa55;}
.hm-tone-green{--hm:#e3f6ea;--hm-line:#72ad8b;}
.hm-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 16px;background:color-mix(in srgb,var(--hm) 72%,#fff 28%);
  border-bottom:1px solid color-mix(in srgb,var(--hm-line) 60%,#fff 40%);
}
.hm-head>div{display:grid;gap:1px;}
.hm-head small{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:#4e5ca1;font-weight:900;}
.hm-head strong{font-size:1rem;}
.hm-head button{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--hm-line);background:#fff;
  color:var(--r15-ink);font-size:1.25rem;font-weight:800;
}
.hm-body{padding:18px;display:grid;gap:16px;background:rgba(255,255,255,.42);}
.hm-step-title{display:grid;gap:5px;max-width:720px;}
.hm-step-title h3{margin:0;font-size:1.35rem;letter-spacing:-.02em;color:var(--r15-ink);}
.hm-step-title p{margin:0;color:var(--r15-muted);font-size:.86rem;line-height:1.45;}
.hm-intent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.hm-intent{
  min-height:104px;border-radius:20px;border:1.5px solid #a6b0c4;background:#fff;
  color:var(--r15-ink);padding:14px;display:grid;grid-template-columns:56px minmax(0,1fr) 20px;
  align-items:center;gap:12px;text-align:left;box-shadow:none;
}
.hm-intent.hm-peach{background:var(--r15-peach);border-color:#dda77d;}
.hm-intent.hm-coral{background:var(--r15-coral);border-color:#d38b96;}
.hm-intent.hm-lavender{background:var(--r15-lavender);border-color:#a293df;}
.hm-intent.hm-blue{background:var(--r15-cyan);border-color:#83b2c7;}
.hm-intent.hm-yellow{background:var(--r15-yellow);border-color:#ccb468;}
.hm-intent.hm-green{background:var(--r15-green);border-color:#7fb597;}
.hm-intent-symbol{
  width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#fff;
  border:1px solid #a7b1c4;font-size:1.7rem;
}
.hm-intent>span:nth-child(2){display:grid;gap:3px;min-width:0;}
.hm-intent strong{font-size:1rem;line-height:1.15;}
.hm-intent small{font-size:.73rem;line-height:1.3;color:#555f76;font-weight:650;}
.hm-intent-arrow{font-size:1.4rem;color:#59637b;}
.hm-current,.hm-path{
  width:100%;border:1px solid color-mix(in srgb,var(--hm-line) 75%,#aab3c5 25%);
  border-radius:16px;background:rgba(255,255,255,.82);color:var(--r15-ink);box-shadow:none;
  padding:11px 13px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;
}
.hm-current-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#fff;border:1px solid #abb5c9;}
.hm-current span:nth-child(2),.hm-path span:nth-child(2){display:grid;gap:2px;}
.hm-current small,.hm-path small{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--r15-muted);font-weight:850;}
.hm-current strong,.hm-path strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hm-fragment{padding:14px;border-radius:16px;background:#fff;border:1px solid var(--hm-line);font-size:1.08rem;font-weight:850;}
.hm-eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#5967a6;font-weight:900;margin-bottom:-8px;}
.hm-step-replace h3{margin:0;font-size:1.3rem;}
.hm-step-replace p{margin:0 0 4px;color:var(--r15-muted);}
.hm-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.hm-choice{
  min-height:72px;border:1.5px solid color-mix(in srgb,var(--hm-line) 75%,#a7b0c3 25%);
  border-radius:16px;background:#fff;color:var(--r15-ink);padding:12px 14px;
  text-align:left;display:grid;align-content:center;gap:3px;box-shadow:none;font-weight:800;
}
.hm-choice span{font-size:.93rem;line-height:1.25;}
.hm-choice small{font-size:.68rem;color:var(--r15-muted);font-weight:700;}
.hm-result{
  min-height:104px;padding:16px;border-radius:20px;background:#fff;
  border:2px solid var(--hm-line);display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;
}
.hm-result.compact{min-height:86px;grid-template-columns:52px minmax(0,1fr);}
.hm-result-symbol{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:var(--hm);border:1px solid var(--hm-line);font-size:1.8rem;}
.hm-result.compact .hm-result-symbol{width:48px;height:48px;border-radius:14px;font-size:1.45rem;}
.hm-result>div{display:grid;gap:4px;min-width:0;}
.hm-result small{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#5b6792;font-weight:900;}
.hm-result strong{font-size:1.22rem;line-height:1.3;}
.hm-primary-actions{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px;}
.hm-use,.hm-more,.hm-back{
  min-height:52px;border-radius:15px;font-weight:900;border:1.5px solid var(--hm-line);box-shadow:none;
}
.hm-use{background:#345bcf;color:#fff;border-color:#345bcf;}
.hm-more{background:#fff;color:#28324e;}
.hm-back{background:#fff;color:#28324e;}
.hm-link{justify-self:start;border:0;background:transparent;color:#4056a2;font-weight:850;padding:5px 2px;box-shadow:none;}

/* Edit controls appear intentionally when Edit mode is active. */
.edit-mode-banner ~ .home-space .edit-fab,
.edit-mode-banner ~ .lh .edit-fab,
.edit-mode-banner ~ .word-grid .edit-fab{opacity:1!important;}

/* Composer stays stable in R15; just keep its hierarchy quieter than assistance. */
.dock{border-radius:20px!important;padding:8px!important;gap:8px!important;}
.dock input{border:1px solid #c5ccdc!important;box-shadow:none!important;}
.dbtn,.speak{box-shadow:none!important;}

@media(max-width:1020px){
  .home-bento{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .word-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .home-bento,.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .word-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;}
  .hm-intent-grid,.hm-choice-grid{grid-template-columns:1fr;}
  .hm-body{padding:14px;}
  .hm-primary-actions{grid-template-columns:1fr;}
  .edit-mode-banner{align-items:flex-start;flex-direction:column;}
}
@media(max-width:520px){
  .word-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .home-bento .cat-tile,.home-bento .cat-tile[data-size],.home-bento [data-size]{height:154px!important;min-height:154px!important;}
  .home-bento{grid-auto-rows:154px!important;gap:10px!important;}
  .word-grid .word-tile{height:142px!important;min-height:142px!important;}
  .word-grid{grid-auto-rows:142px!important;}
  .word-grid .word-card{grid-template-rows:68px auto!important;}
  .word-grid .word-icon{width:64px!important;height:64px!important;min-width:64px!important;font-size:2.05rem!important;}
}
.hm-step-replace{display:grid;gap:12px;}
