.lma-slot{margin-top:auto;padding-top:8px;width:100%;display:flex;justify-content:center;border-top:1px solid #EAE8EE}
.lma-btn{width:36px;height:36px;border-radius:50%;border:1px solid #DAD7E0;background:#fff;color:#7F7A8D;display:grid;place-items:center;cursor:pointer;padding:0;font:700 13px/1 "Noto Sans","Noto Sans KR","Noto Sans JP",sans-serif}
.lma-btn:hover{color:#3D3A46;border-color:#C6C2CE}
.lma-btn.on{background:linear-gradient(180deg,#786EBE,#6C63AB);border-color:transparent;color:#fff}
.lma-btn svg{width:18px;height:18px}
.lma-float{position:fixed;left:16px;bottom:16px;z-index:2147483000;box-shadow:0 4px 16px rgba(61,58,70,.18)}
.lma-menu{position:fixed;z-index:2147483001;min-width:220px;background:#fff;border:1px solid #DAD7E0;border-radius:12px;box-shadow:0 12px 32px rgba(61,58,70,.16);padding:8px;font:400 14px/21px "Noto Sans","Noto Sans KR","Noto Sans JP",sans-serif;color:#3D3A46}
.lma-menu .h{padding:8px 10px 10px;border-bottom:1px solid #EAE8EE;margin-bottom:6px}
.lma-menu .h b{display:block;font-size:14px}
.lma-menu .h span{color:#7F7A8D;font-size:12px}
.lma-menu a{display:block;padding:8px 10px;border-radius:8px;color:#3D3A46;text-decoration:none}
.lma-menu a:hover{background:#FBFAFB}
.lma-menu .lma-ask{display:flex;gap:2px;border-top:1px solid #EAE8EE;margin-top:6px;padding-top:6px}
.lma-menu .lma-ask a{flex:1;padding:6px 8px;font-size:12.5px;color:#5D596A;white-space:nowrap}
.lma-menu a.p{background:#786EBE;color:#fff;text-align:center;font-weight:700;margin:4px 0}
.lma-menu a.p:hover{background:#6C63AB}
.lma-menu .warn{background:#FFF4E0;color:#9A6400;border-radius:8px;padding:8px 10px;font-size:12px;margin:6px 0}
.lma-ov{position:fixed;inset:0;z-index:2147483646;background:rgba(35,33,40,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.lma-box{background:#fff;color:#3D3A46;border-radius:12px;max-width:420px;width:100%;padding:28px;box-shadow:0 20px 60px rgba(35,33,40,.25);font:400 15px/24px "Noto Sans","Noto Sans KR","Noto Sans JP",sans-serif}
.lma-box .e{color:#C81414;font-weight:700;font-size:13px}
.lma-box h2{font-size:20px;line-height:28px;margin:4px 0 8px}
.lma-box p{color:#5D596A;margin:0 0 20px;font-size:14px;line-height:21px}
.lma-row{display:flex;gap:8px}
.lma-row a,.lma-row button{flex:1;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;font:700 14px/1 "Noto Sans","Noto Sans KR","Noto Sans JP",sans-serif;text-decoration:none;cursor:pointer}
.lma-row .p{background:#786EBE;color:#fff;border:0}
.lma-row .p:hover{background:#6C63AB}
.lma-row .g{background:#fff;color:#5D596A;border:1px solid #DAD7E0}
.lma-x{display:block;margin:12px auto 0;background:none;border:0;color:#7F7A8D;font:inherit;font-size:13px;cursor:pointer}
.lma-top{display:flex;align-items:center;gap:8px;margin-left:12px;flex:none}
.lma-top a{display:inline-flex;align-items:center;height:36px;border-radius:999px;text-decoration:none;white-space:nowrap;font:600 14px/1 "Noto Sans","Noto Sans KR","Noto Sans JP",sans-serif}
.lma-me{gap:8px;padding:0 14px 0 4px;border:1px solid #DAD7E0;color:#3D3A46;background:#fff}
.lma-me:hover{border-color:#C6C2CE;background:#FBFAFB;color:#3D3A46}
.lma-av{width:28px;height:28px;border-radius:50%;background:linear-gradient(180deg,#786EBE,#6C63AB);color:#fff;display:grid;place-items:center;font:700 12px/1 "Noto Sans","Noto Sans KR","Noto Sans JP",sans-serif}
.lma-nm{max-width:160px;overflow:hidden;text-overflow:ellipsis}
.lma-pend{font-size:11px;line-height:16px;background:#FFF4E0;color:#9A6400;border-radius:99px;padding:1px 7px}
.lma-top{position:relative}.lma-badge{position:absolute;top:-6px;right:-4px;z-index:2;box-sizing:border-box;min-width:18px;height:18px!important;padding:0 5px!important;margin:0;border:0!important;border-radius:99px;background:#FF5B60;color:#fff!important;font:700 11px/18px "Noto Sans","Noto Sans KR","Noto Sans JP",sans-serif!important;text-align:center;text-decoration:none;box-shadow:0 0 0 2px #fff;animation:lma-badge-in .35s ease-out;display:inline-block;white-space:nowrap}
.lma-badge:hover{background:#E04A4F;color:#fff}.lma-btn{position:relative}.lma-badge--btn{top:-5px;right:-5px}.lma-badge--in{position:static;display:inline-block;margin-left:6px;box-shadow:none;vertical-align:1px}.lma-sub{display:block;font-size:11px;line-height:15px;color:#9691A2;font-weight:400}
.lma-badge--runs,.lma-badge--busy{right:auto;left:-4px;cursor:pointer;background:#2F80ED}.lma-badge--fail{background:#9691A2}.lma-runs__sum{margin:0 10px 4px;font-size:12px;color:#2368C9}.lma-badge--runs:hover{background:#2368C9;color:#fff}
.lma-badge--busy{background:#fff;border:2px solid #786EBE!important;width:14px;height:14px!important;min-width:0;padding:0!important;top:-3px;left:-3px;box-shadow:none;display:grid;place-items:center}.lma-badge--busy i{width:6px;height:6px;border-radius:50%;background:#786EBE;animation:lma-pulse 1.2s ease-in-out infinite}
.lma-badge--btn2{left:-5px;top:-5px}@keyframes lma-pulse{0%,100%{transform:scale(.6);opacity:.5}50%{transform:scale(1);opacity:1}}
.lma-has-dot{position:relative!important}.lma-raildot{position:absolute;top:1px;right:1px;z-index:2;min-width:16px;height:16px;padding:0 4px;box-sizing:border-box;border-radius:99px;background:#2F80ED;color:#fff;font:700 10px/16px "Noto Sans","Noto Sans KR","Noto Sans JP",sans-serif;font-style:normal;text-align:center;pointer-events:none;box-shadow:0 0 0 2px #fff;animation:lma-badge-in .35s ease-out}
.lma-runs{border-top:1px solid #EAE8EE;margin-top:6px;padding-top:6px;min-width:280px}.lma-runs__h{display:flex;align-items:center;justify-content:space-between;padding:4px 10px}.lma-runs__h b{font-size:12px;color:#7F7A8D;text-transform:uppercase;letter-spacing:.04em}
.lma-runs__all{border:0;background:transparent;color:#786EBE;font:600 12px/18px inherit;cursor:pointer;padding:0}.lma-runs__all:hover{text-decoration:underline}
.lma-menu a.lma-run{display:flex;align-items:center;gap:8px;padding:7px 10px}.lma-run__st{flex:none;font-size:11px;line-height:18px;padding:0 7px;border-radius:99px;background:#EAE8EE;color:#7F7A8D}
.lma-run.is-ok .lma-run__st{background:#E6F0FD;color:#2368C9}.lma-run.is-bad .lma-run__st{background:#FDECEC;color:#C81414}.lma-run.is-busy .lma-run__st{background:#F1EFF8;color:#786EBE}
.lma-run__t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.lma-run__t b{font-weight:600}.lma-run__ago{flex:none;font-size:11px;color:#9691A2}
.lma-new{display:inline-block;flex:none;margin-left:6px;padding:0 6px;border-radius:99px;background:#E6F0FD;color:#2368C9;font:700 10px/16px "Noto Sans","Noto Sans KR","Noto Sans JP",sans-serif;font-style:normal;vertical-align:middle;letter-spacing:.02em}
.lma-run.is-seen .lma-run__t{color:#7F7A8D}.lma-run.is-seen .lma-run__st{opacity:.7}
.lma-runs__none,.lma-runs__note{margin:4px 10px;font-size:12px;color:#9691A2}.lma-runs__note{border-top:1px dashed #EAE8EE;padding-top:6px}
.lma-note{position:fixed;right:16px;bottom:16px;z-index:2147483002;max-width:360px;padding:12px 16px 12px 44px;background:#232128;color:#fff;border-radius:12px;box-shadow:0 12px 32px rgba(35,33,40,.3);font:500 13px/19px "Noto Sans","Noto Sans KR","Noto Sans JP",sans-serif;text-decoration:none;transform:translateY(12px);opacity:0;transition:transform .3s,opacity .3s}
.lma-note::before{content:"";position:absolute;left:16px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:#2F80ED;box-shadow:0 0 0 4px rgba(47,128,237,.25)}.lma-note.is-on{transform:none;opacity:1}.lma-note:hover{background:#3D3A46;color:#fff}
@keyframes lma-badge-in{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.lma-badge{animation:none}}
.lma-in{padding:0 14px;border:1px solid #DAD7E0;color:#5D596A;background:#fff}
.lma-in:hover{border-color:#C6C2CE;color:#3D3A46}
.lma-up{padding:0 14px;background:#786EBE;color:#fff;border:1px solid #786EBE}
.lma-up:hover{background:#6C63AB;color:#fff}
@media (max-width:599px){.lma-top{margin-left:6px}
.lma-top .lma-nm,.lma-top .lma-pend,.lma-top .lma-tx{display:none}
.lma-top .lma-in{width:36px;padding:0;justify-content:center}
.lma-top .lma-me{padding:0 4px}
.lma-top .lma-up{display:none}
}

/* app rail = the main site's rail (:8110) */
html.lma-nav{--lm-rail-w:64px}
html.lma-nav .lm-rail{width:64px;padding:0 0 10px;gap:2px;align-items:center;overflow-x:hidden}
html.lma-nav .lm-rail__home{flex:none;width:64px;height:56px;margin:0 0 10px;border-radius:0;border-bottom:1px solid #DAD7E0;display:grid;place-items:center;box-sizing:border-box}
html.lma-nav .lm-rail__home img{width:26px;height:auto}
html.lma-nav .lm-rail__group{border-top:0;padding:0;gap:2px;width:100%;display:flex;flex-direction:column;align-items:center}
html.lma-nav .lm-rail__group::before{content:"";display:block;flex:none;width:28px;height:1px;background:#DAD7E0;margin:8px 0}
html.lma-nav .lm-rail__app{flex:none;width:44px;height:36px;border-radius:6px;color:#7F7A8D;display:grid;place-items:center;background:transparent;text-decoration:none}
html.lma-nav .lm-rail__app:hover{background:#EAE8EE;color:#3D3A46}
html.lma-nav .lm-rail__icon,html.lma-nav .lm-rail__app.is-current .lm-rail__icon{width:20px;height:20px;background:none;color:inherit;border-radius:0;display:grid;place-items:center}
html.lma-nav .lm-rail__icon svg{width:20px;height:20px}
html.lma-nav .lm-rail__app.is-current{background:#F1EFF9;color:#786EBE}
html.lma-nav .lm-rail__app[data-tint] .lm-rail__icon{color:inherit}  /* one icon colour in the rail; the current app is marked by its background (2026-10-26) */

.lma-in .lma-ic{display:none}
@media (max-width:599px){.lma-top .lma-in .lma-ic{display:grid;place-items:center}
.lma-top .lma-in .lma-ic svg{width:18px;height:18px}
}

/* header: the rail already carries the ListeningMind mark at the far left, so the header shows only the app */
.lm-lockup .lm-lockup__lm,.lm-lockup .lm-lockup__div{display:none!important}

/* phones: a menu button opens the app rail (the shell hides it under 600px) */
.lma-burger{display:none}
@media (max-width:599px){
.lma-burger{display:grid;place-items:center;flex:none;width:36px;height:36px;margin:0 6px 0 0;border:0;border-radius:8px;background:transparent;color:#3D3A46;cursor:pointer;padding:0}
.lma-burger:hover{background:#EAE8EE}
.lma-burger svg{width:22px;height:22px}
html.lma-rail-open .lm-rail{display:flex !important;z-index:2147482990;box-shadow:0 0 0 100vmax rgba(35,33,40,.35)}
html.lma-rail-open body{overflow:hidden}
/* the opened rail on phones shows names and group headings, not bare icons (owner 2026-10-25) */
html.lma-rail-open .lm-rail{width:min(78vw,288px)!important;align-items:stretch!important;padding:12px 10px!important}
html.lma-rail-open .lm-rail__home{margin:0 0 6px 6px}
html.lma-rail-open .lm-rail__group{align-items:stretch!important;padding:10px 0 6px!important}
html.lma-rail-open .lm-rail__group::before{content:attr(aria-label)!important;display:block!important;width:auto!important;height:auto!important;background:none!important;border-top:1px solid #E6E3EC;margin:4px 0 6px!important;padding:10px 8px 2px;font-size:11px;font-weight:700;letter-spacing:.03em;line-height:1.3;color:#6E6880;white-space:nowrap}
html.lma-rail-open .lm-rail__app{width:auto!important;height:42px!important;display:flex!important;align-items:center;justify-content:flex-start;gap:10px;padding:0 6px}
html.lma-rail-open .lm-rail__app .lm-sr{position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;color:#17141F}
html.lma-rail-open .lm-rail__app.is-current .lm-sr{font-weight:700}
}

/* a quiet note (not a dialog) when a run list needs signing in */
.lma-toast{position:fixed;right:16px;bottom:16px;z-index:2147483000;display:flex;gap:12px;align-items:center;max-width:min(420px,calc(100vw - 32px));pointer-events:none;
background:#3D3A46;color:#fff;border-radius:10px;padding:12px 16px;box-shadow:0 12px 32px rgba(35,33,40,.25);font:400 14px/21px "Noto Sans","Noto Sans KR","Noto Sans JP",sans-serif}
.lma-toast a{color:#fff;font-weight:700;white-space:nowrap;pointer-events:auto}
.lma-toast button{pointer-events:auto;background:none;border:0;color:#C6C2CE;cursor:pointer;font:inherit;padding:0 0 0 4px}

/* the field where work starts, focused on arrival (desktop): one highlight for every app, like Brand Wiki's */
.lma-start-box{transition:border-color .15s ease,box-shadow .15s ease}
.lma-start-box:focus-within{border-color:#786EBE!important;box-shadow:0 0 0 3px rgba(120,110,190,.2)!important;outline:none!important}
.lma-start-box input:focus,.lma-start-box textarea:focus,input.lma-start-box:focus,textarea.lma-start-box:focus{outline:none!important}
/* about this app: summary, definitions and related apps, just above the footer */
.lma-about{background:var(--lm-surface,#fff);border-top:1px solid var(--lm-line-soft,#EAE8EE);color:var(--lm-ink-3,#7F7A8D);font:400 13px/20px var(--lm-font,'Noto Sans KR',sans-serif)}
.lma-about__in{max-width:var(--lm-container,1200px);margin:0 auto;padding:24px var(--lm-gutter,24px) 8px;display:grid;gap:8px}
.lma-about h2{margin:0;font:700 14px/21px var(--lm-font,'Noto Sans KR',sans-serif);color:var(--lm-ink,#3D3A46)}
.lma-about__sum{margin:0;max-width:880px;color:var(--lm-ink-2,#5D596A)}
.lma-about__row{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
.lma-about__row b{font-weight:700;color:var(--lm-ink-3,#7F7A8D);margin-right:2px}
.lma-about a{color:var(--lm-ink-2,#5D596A);text-decoration:none;border-bottom:1px solid var(--lm-line-soft,#EAE8EE)}
.lma-about a:hover{color:var(--lm-ink,#3D3A46);border-bottom-color:currentColor}
.lma-about+.lm-footer,.lma-about+[data-lm-footer]{border-top:0}
/* completion sound and app click sound switches, one under the other in the footer */
.lma-sounds{margin-left:auto;display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px}.lma-sounds .lm-sound{margin-left:0}
/* easter egg: the search pulse in the empty part of the header, and the hunch-vs-data card */
.lma-egg{flex:0 1 auto;min-width:0;display:inline-flex;align-items:center;gap:8px;height:36px;margin:0 8px;padding:0 10px 0 4px;border:0;border-radius:8px;background:transparent;color:#7F7A8D;font:500 12px/16px 'Noto Sans KR','Noto Sans JP','Noto Sans',sans-serif;cursor:pointer;white-space:nowrap;overflow:hidden}
.lma-egg:hover{background:#F6F5F8;color:#3D3A46}.lma-egg:focus-visible{outline:2px solid #786EBE;outline-offset:2px}
.lma-egg__px{flex:none;display:block;width:120px;height:36px;image-rendering:pixelated;image-rendering:crisp-edges}
.lma-egg__lbl{overflow:hidden;text-overflow:ellipsis;font-weight:700}.lma-egg__chip{flex:none;color:#786EBE;font-weight:700;opacity:.5;transition:opacity .2s,transform .2s}.lma-egg:hover .lma-egg__chip,.lma-egg:focus-visible .lma-egg__chip{opacity:1;transform:translateX(2px)}
@media (max-width:1200px){.lma-egg__lbl{display:none}}@media (max-width:979px){.lma-egg{display:none}}
.lma-quiz{position:fixed;top:64px;width:380px;max-width:calc(100vw - 32px);z-index:2147482900;background:#fff;border:1px solid #DAD7E0;border-radius:12px;box-shadow:0 12px 40px rgba(35,33,40,.16);color:#3D3A46;font:400 14px/21px 'Noto Sans KR','Noto Sans JP','Noto Sans',sans-serif;padding:14px 16px 12px}
.lma-quiz.is-left{left:max(16px,calc(50vw - 420px))}.lma-quiz.is-right{right:16px}
.lma-quiz__head{display:flex;align-items:center;justify-content:space-between;margin:0 0 6px}.lma-quiz__head b{font-size:13px;color:#C81414}
.lma-quiz__x{border:0;background:transparent;font-size:20px;line-height:1;color:#9691A2;cursor:pointer;padding:2px 6px;border-radius:6px}.lma-quiz__x:hover{background:#EAE8EE;color:#3D3A46}
.lma-quiz__eb{margin:0 0 2px;font-size:12px;color:#7F7A8D}.lma-quiz__q{margin:0 0 8px;font-weight:700;font-size:15px;line-height:23px;color:#232128}
.lma-quiz__lead{margin:0 0 10px;font-size:13px;color:#5D596A}
.lma-quiz__opts{display:flex;flex-direction:column;gap:6px}
.lma-quiz__opt{text-align:left;font:inherit;padding:8px 12px;border:1px solid #DAD7E0;border-radius:8px;background:#fff;color:#3D3A46;cursor:pointer}
.lma-quiz__opt:hover:not(:disabled){border-color:#786EBE;background:#F6F5FA}.lma-quiz__opt:disabled{cursor:default;color:#9691A2}
.lma-quiz__opt.is-hit{border-color:#FF5B60;background:#FFF1F1;color:#C81414;font-weight:700}.lma-quiz__opt.is-miss{border-color:#C6C2CE;text-decoration:line-through}
.lma-quiz__verdict{margin:10px 0 0;font-weight:700}.lma-quiz__verdict.is-ok{color:#4E8A1F}.lma-quiz__verdict.is-no{color:#C81414}
.lma-quiz__rows{margin:8px 0 0;padding:10px 12px;background:#FBFAFB;border-radius:8px;display:flex;flex-direction:column;gap:5px}
.lma-quiz__why{margin:0 0 4px;font-size:12px;color:#7F7A8D}
.lma-quiz__row{display:grid;grid-template-columns:minmax(0,1fr) 100px 64px;align-items:center;gap:8px;font-size:12px;line-height:16px;color:#5D596A}
.lma-quiz__row.is-hit{color:#232128;font-weight:700}.lma-quiz__rl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lma-quiz__rv{text-align:right;font-variant-numeric:tabular-nums;color:#7F7A8D}
.lma-quiz__src{display:block;margin:8px 0 0;font-size:12px;color:#786EBE;text-decoration:none}.lma-quiz__src:hover{text-decoration:underline}
.lma-quiz__btn{margin:10px 0 0;font:inherit;font-weight:700;padding:8px 14px;border:0;border-radius:8px;background:#786EBE;color:#fff;cursor:pointer}.lma-quiz__btn:hover{background:#6C63AB}
.lma-quiz__foot{display:flex;justify-content:space-between;margin:10px 0 0;padding-top:8px;border-top:1px solid #EAE8EE;font-size:12px;color:#7F7A8D}
/* the top-left mark turns over to show the other ListeningMind mark */
.lma-coin{position:relative;display:inline-grid;place-items:center;transform-style:preserve-3d;perspective:200px}
.lma-coin>img{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.lma-coin>img[data-lma-coin="back"]{transform:rotateY(180deg)}
.lm-rail__home{perspective:220px}
/* floating rail label on the main site and the account pages */
.lma-tip{position:fixed;z-index:2147483000;transform:translateY(-50%);white-space:nowrap;background:#3D3A46;color:#fff;font:500 12px/16px 'Noto Sans KR','Noto Sans JP','Noto Sans',sans-serif;padding:5px 9px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .12s}
.lma-tip.is-on{opacity:1}
nav.rail a span,nav.apprail a[data-tip]::after{display:none!important}
/* phones and tablets: the main site's rail is a drawer with names next to the icons (2026-10-11: the names were hidden
   above, leaving icons only); no hover label there, and the sign-in chip stays in the header instead of the drawer */
@media (max-width:1023px){
nav.rail[data-lm-rail] a span{display:inline!important}
html:has(nav.rail[data-lm-rail]) .lma-tip{display:none!important}
html:has(.lma-top) nav.rail[data-lm-rail] .lma-slot{display:none!important}
}

.lma-est{display:inline-flex;align-items:center;gap:6px;margin:0 0 0 10px;padding:4px 10px;border-radius:999px;background:var(--lm-surface,#F6F5F8);border:1px solid var(--lm-line-soft,#EAE8EE);color:var(--lm-ink-2,#5F5B6A);font:600 12.5px/18px var(--lm-font,'Noto Sans KR',sans-serif);white-space:nowrap;vertical-align:middle;cursor:help}
.lma-est::before{content:'';width:8px;height:8px;border-radius:50%;background:linear-gradient(180deg,#F2B134,#D98B0B)}
@media (max-width:600px){.lma-est{margin:8px 0 0;display:inline-flex}}
.lma-est[hidden]{display:none!important}  /* an app hides the chip when a run would cost nothing (ACO home stop) */

.lma-out{padding:0 10px;color:#5D596A;border:1px solid #DAD7E0;background:#fff;font-size:13px;white-space:nowrap}.lma-out:hover{color:#C81414;border-color:#C81414}
[data-lm-guest-only][hidden]{display:none!important}

/* one scale for every app (2026-10-10). The hub sets these values and every app reads them: the root size (rem base),
   body text, header height, rail width, content width and the hero head. An app does not change the rem base, and
   nothing zooms or scales the page; the same screen shows the same sizes in all 16 apps. Scoped to app pages
   (body.lm-app), so the main site and the account pages keep their own. Phones keep the shell's smaller head. */
html:has(>body.lm-app){--lm-fs-root:16px;--lm-fs-base:16px;--lm-lh-base:24px;--lm-container:1200px;--lm-gutter:20px;--lm-gnb-h:56px;--lm-rail-w:64px;
  --lm-t-body:400 var(--lm-fs-base)/var(--lm-lh-base) var(--lm-font);--lm-t-h1:700 32px/44.8px var(--lm-font);
  font-size:var(--lm-fs-root)!important;zoom:normal!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html body.lm-app{font-size:var(--lm-fs-base)!important;line-height:var(--lm-lh-base)!important;zoom:normal!important}
html body.lm-app .lm-gnb{height:var(--lm-gnb-h)!important}
/* the header's first and last items line up with the body text, which sits a gutter inside the 1,200px column (owner 2026-10-27 22:50) */
html body.lm-app .lm-gnb__in{max-width:var(--lm-container)!important;padding-left:var(--lm-gutter)!important;padding-right:var(--lm-gutter)!important}
html body.lm-app .lm-hero,html body.lm-app .lm-footer__in{max-width:var(--lm-container)!important}
/* Brand Wiki: its pages run full width (side menu + content), so the header starts at the left edge with them, not in the
   centred 1,200px column (owner request 2026-10-22); its first page (a hero, centred like every app) keeps the header in the
   centred column so the logos line up with the body (owner 2026-10-27 22:50) */
html:has(script[data-lm-app="brand-wiki"]):not(:has(.lm-hero)) body.lm-app .lm-gnb__in{max-width:none!important;margin-left:0!important;margin-right:0!important}
/* an app's first page (it has the hero): the header sits in the same centred column as the hero, whatever width the app
   gives its header on its working pages (Intent KG, Brand Wiki run full width there), so the ListeningMind mark and the app
   logo stand at the same place in every app (owner 2026-10-27 22:51) */
@media (min-width:600px){html body.lm-app:has(.lm-hero) header[data-lm-gnb] .lm-gnb__in,html body.lm-app:has(.lm-hero) .lm-gnb .lm-gnb__in{max-width:var(--lm-container)!important;margin-left:auto!important;margin-right:auto!important;padding-left:var(--lm-gutter)!important;padding-right:var(--lm-gutter)!important}}
@media (min-width:600px){html body.lm-app .lm-h1{font:var(--lm-t-h1)!important}}

/* phones (mobile QA 2026-10-14, iPhone 440px): the header fits the screen with the sign-out chip visible, a row with the
   run button wraps instead of pushing the button off the left edge, and nothing makes the page scroll sideways */
@media (max-width:599px){
html:has(>body.lm-app),html body.lm-app{overflow-x:clip}
html body.lm-app .lm-gnb__in{gap:8px!important;padding-left:12px!important;padding-right:12px!important;min-width:0}
html body.lm-app .lm-gnb__in>*{min-width:0}
html body.lm-app .lm-lockup{flex:1 1 auto;min-width:0;overflow:hidden}
html body.lm-app .lm-lockup__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body.lm-app .lm-lockup .lm-ver{display:none}
html body.lm-app .lm-gnb__right{flex:none;gap:6px}
html body.lm-app .lm-lang__btn{width:36px;padding:0;gap:0;justify-content:center}
html body.lm-app .lm-lang__btn>span,html body.lm-app .lm-lang__btn>svg:last-child:not(:first-child){display:none}
html body.lm-app .lma-top{margin-left:0;gap:6px}
html body.lm-app .lma-top .lma-out{padding:0 9px}
html body.lm-app :is(.lm-form-actions,.in-foot),html body.lm-app :where(div,p,footer,section,form):has(>[data-lm-submit],>.lm-btn--product){flex-wrap:wrap}
html body.lm-app .lma-est{white-space:normal;max-width:100%}
html body.lm-app .lma-xscroll{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* the member's own rail and its editor on the app catalog (2026-10-20) */
.lma-railedit{display:grid!important;place-items:center;width:32px;height:32px;margin:8px auto 4px;border-radius:9px;border:1px dashed #CFC8DC;color:#7F7A8D!important;background:none!important;text-decoration:none}
.lma-railedit:hover{border-color:#7F18FF;color:#7F18FF!important}
nav.lm-rail .lm-rail__group.lma-first::before{display:none}
.lma-re{border:1px solid #DCCBF7;border-radius:14px;background:linear-gradient(180deg,#F7F2FF,#fff 90px);padding:18px;margin:0 0 8px;font:400 14px/21px "Noto Sans KR","Noto Sans",sans-serif;color:#16121F}
.lma-re-h b{display:block;font-size:16px;line-height:24px}.lma-re-h span{display:block;color:#4A4458;font-size:13.5px;margin-top:2px}
.lma-re-g{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.lma-re-c{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:99px;border:1px solid #DDD6EA;background:#fff;color:#3B3550;font:600 13.5px/1 inherit;cursor:pointer}
.lma-re-c img{width:20px;height:20px;border-radius:5px}.lma-re-c.on{background:#16121F;color:#fff;border-color:#16121F}
.lma-re-f{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.lma-re-btn{display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:9px;border:1px solid #DDD6EA;background:#fff;color:#16121F;font:700 14px/1 inherit;cursor:pointer;text-decoration:none}
.lma-re-btn.p{background:linear-gradient(90deg,#FF247A,#7F18FF);color:#fff;border:0}.lma-re-m{font-size:13px;color:#118A4E}
/* QA A9 (2026-10-21): Lima left with its unit; locked app cards */
.lma-top a.lma-lima{padding:0 12px;border:1px solid #DAD7E0;background:#fff;color:#3D3A46;font-weight:700;font-size:13px}
.lma-lockb{display:inline-flex;align-items:center;gap:4px;margin-left:auto;flex:none;align-self:flex-start;padding:2px 9px;border-radius:999px;border:1px solid #DAD7E0;background:#fff;color:#5B5566;font:700 12px/18px "Noto Sans","Noto Sans KR","Noto Sans JP",sans-serif;white-space:nowrap}
.lma-locked{opacity:.78}.lma-locked:hover{opacity:1}

/* 2026-10-26: phones keep one header row (logo, language, avatar); the Lima chip and Sign out live on My account */
@media (max-width:699px){.lma-top .lma-lima,.lma-top .lma-out{display:none!important}.lma-top .lma-me{padding:0 4px}.lma-top .lma-nm{display:none}}
/* rail badge D */ .lma-raildot{top:-4px!important;right:-3px!important;min-width:15px!important;height:15px!important;padding:0 4px!important;font-size:9.5px!important;line-height:15px!important;background:#5B3DF5!important}

/* rail badge as a small dot (2026-10-26): six numbered badges read as noise; the count stays in the link's label and the dot's title */
.lma-raildot{top:3px!important;right:3px!important;width:9px!important;min-width:9px!important;height:9px!important;padding:0!important;font-size:0!important;line-height:0!important;border-radius:50%!important;background:#5B3DF5!important;box-shadow:0 0 0 2px #fff!important}

/* app rail as a drawer on wide screens too (owner 2026-10-26, the main site's C5-100): off screen behind a brand line and a bump
   at the left edge; open, it shows the ListeningMind mark, group headings and app names (the phone look). */
@media (min-width:600px){
html.lma-nav.lm-has-rail body{padding-left:0!important}
html.lma-nav .lm-rail{transform:translateX(-100%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s;z-index:2147482990}
html.lma-nav.lma-rail-open .lm-rail{transform:none;visibility:visible;transition:transform .22s ease;display:flex!important;box-shadow:0 0 0 100vmax rgba(35,33,40,.22),0 12px 48px rgba(11,11,15,.16)}
html.lma-nav.lma-rail-open .lm-rail{width:256px!important;align-items:stretch!important;padding:12px 10px!important}
html.lma-nav.lma-rail-open .lm-rail__home{margin:0 0 6px 6px}
html.lma-nav.lma-rail-open .lm-rail__group{align-items:stretch!important;padding:10px 0 6px!important}
html.lma-nav.lma-rail-open .lm-rail__group::before{content:attr(aria-label)!important;display:block!important;width:auto!important;height:auto!important;background:none!important;border-top:1px solid #E6E3EC;margin:4px 0 6px!important;padding:10px 8px 2px;font-size:12px;font-weight:700;color:#8A8A96}
html.lma-nav.lma-rail-open .lm-rail__app{width:auto!important;height:40px!important;display:flex!important;align-items:center;justify-content:flex-start;gap:10px;padding:0 8px}
html.lma-nav.lma-rail-open .lm-rail__app .lm-sr{position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;color:#17141F}
html.lma-nav.lma-rail-open .lm-rail__app.is-current .lm-sr{font-weight:700}
html.lma-nav.lma-rail-open .lma-raildot{top:50%!important;right:10px!important;margin-top:-4.5px}
.lma-railtab{position:fixed;left:0;top:96px;z-index:2147482980;width:22px;height:56px;display:flex;align-items:center;justify-content:center;padding:0;border:1.5px solid transparent;border-left:0;border-radius:0 12px 12px 0;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(160deg,#FF247A 0%,#AA18CC 55%,#7F18FF 100%) border-box;color:#45454F;box-shadow:0 4px 14px rgba(11,11,15,.08);cursor:pointer;transition:width .15s ease,color .15s ease}
.lma-railtab:hover,.lma-railtab:focus-visible{width:28px;color:#0B0B0F;outline:none}
.lma-railtab:focus-visible{box-shadow:0 0 0 3px rgba(91,61,245,.35)}
.lma-railtab svg{width:16px;height:16px;display:block}
.lma-railtab i{display:none;position:absolute;top:7px;right:5px;width:7px;height:7px;border-radius:50%;background:#FFD43B;box-shadow:0 0 0 1.5px #AA18CC}
.lma-railtab.has-dot i{display:block}
html.lma-rail-open .lma-railtab{display:none}
}
@media (max-width:599px){.lma-railtab{display:none!important}}
@media (prefers-reduced-motion:reduce){html.lma-nav .lm-rail,.lma-railtab svg{transition:none!important}}

/* 2026-10-27: the open drawer like the main site's: wordmark and close on top, no extra divider lines, plain group headings */
.lma-rdhead{display:none}
html.lma-rail-open nav.lm-rail .lma-rdhead{display:flex!important;align-items:center;justify-content:space-between;flex:0 0 64px;height:64px;margin:-12px -10px 8px;padding:0 8px 0 18px;border-bottom:1px solid #EFEFF3;background:#fff;position:sticky;top:-12px;z-index:2}
.lma-rdlogo{display:flex;align-items:center}
.lma-rdlogo img{height:22px;width:auto;display:block}
.lma-rdx{width:36px;height:36px;border:0;border-radius:8px;background:none;color:#45454F;display:grid;place-items:center;cursor:pointer;padding:0}
.lma-rdx:hover{background:#F1F0F5;color:#0B0B0F}
.lma-rdx:focus-visible{outline:2px solid #5B3DF5;outline-offset:1px}
html.lma-rail-open nav.lm-rail .lm-rail__home,html.lma-rail-open nav.lm-rail .lma-sep{display:none!important}
html.lma-rail-open nav.lm-rail .lm-rail__group::before{border-top:0!important;margin:0!important;padding:16px 8px 6px!important;font-size:12px!important;color:#8A8A96!important;letter-spacing:0!important}
html.lma-rail-open nav.lm-rail .lma-home{margin:0!important}

/* 2026-10-27 22:39: the ListeningMind.AI mark at the top left of every app header, a divider, then the app (the drawer stays as it is) */
.lma-lmhome{flex:none;display:flex!important;align-items:center;height:32px;padding:0 12px 0 2px;margin:0 4px 0 0;border-right:1px solid #E6E3EC;text-decoration:none;cursor:pointer}
.lma-lmhome svg,.lma-lmhome img{width:26px;height:auto;display:block;transition:transform .15s ease}
.lma-lmhome:hover svg{transform:scale(1.08)}
.lma-lmhome:focus-visible{outline:2px solid #5B3DF5;outline-offset:2px;border-radius:6px}
@media (max-width:599px){.lma-lmhome{padding-right:8px;margin-right:2px}.lma-lmhome svg{width:22px}}
/* one logo at a time (owner 2026-10-27 22:41): when the header mark is still in view beside the open drawer, the drawer drops its wordmark */
html.lma-rail-open nav.lm-rail .lma-rdhead.lma-rdbare{justify-content:flex-end!important}
.lma-rdhead.lma-rdbare .lma-rdlogo{display:none!important}
.lma-lmhome.lma-under{visibility:hidden}
.lma-rdlogo{text-decoration:none}.lma-rdlogo svg{width:26px;height:auto;display:block;margin-right:8px}.lma-rdword{font-size:16px;font-weight:700;color:#17141F;letter-spacing:-.01em}

/* C5-176: an app's own button rules (min-height 36-44px for touch) made the blue run count tall; badges stay 18px */
.lma-badge{min-height:0!important;max-height:18px!important;box-sizing:border-box!important;-webkit-appearance:none;appearance:none}
.lma-badge--busy{max-height:14px!important}

/* LMDialog (confirm/alert) — moved from inline <style> for strict-CSP apps (C5-292) */
.lmdlg-o{position:fixed;inset:0;z-index:2147483646;background:rgba(31,27,58,.42);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:16px;animation:lmdlgf .14s ease-out}.lmdlg{width:100%;max-width:440px;background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(31,27,58,.28);overflow:hidden;font-family:Pretendard,"Noto Sans KR","Noto Sans JP",system-ui,sans-serif;color:#3D3A46;animation:lmdlgu .16s ease-out}.lmdlg i.lmdlg-l{display:block;height:4px;background:linear-gradient(90deg,#FF5B60,#786EBE)}.lmdlg-b{padding:22px 24px 8px}.lmdlg-k{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#786EBE;letter-spacing:.01em;margin:0 0 10px}.lmdlg-k svg{width:18px;height:18px}.lmdlg-m{font-size:16px;line-height:1.6;white-space:pre-wrap;word-break:keep-all;overflow-wrap:anywhere;margin:0}.lmdlg-f{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px 22px}.lmdlg-f button{font:inherit;font-size:15px;font-weight:700;border-radius:999px;padding:10px 20px;cursor:pointer;min-width:84px;transition:background .12s,border-color .12s}.lmdlg-c{background:#fff;color:#3D3A46;border:1px solid #DDDAE8}.lmdlg-c:hover{background:#F6F5FA}.lmdlg-y{background:#786EBE;color:#fff;border:1px solid #786EBE}.lmdlg-y:hover{background:#6C63AB;border-color:#6C63AB}.lmdlg-f button:focus-visible{outline:3px solid #EFEDF8;outline-offset:2px}@keyframes lmdlgf{from{opacity:0}}@keyframes lmdlgu{from{transform:translateY(8px);opacity:0}}@media (max-width:480px){.lmdlg-f button{flex:1}}
/* rail separator (moved from inline <style>, C5-292) */
nav.lm-rail .lma-sep + .lm-rail__group::before{display:none}
