/* APP42 uses OVARIANA's existing colour, typography and contrast tokens. */
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.kx-layout{margin-top:32px}.kx-level-grid input:disabled+span{opacity:.7;cursor:default}.kx-level-grid input:disabled{cursor:default}.kx [hidden]{display:none!important}
.kx-card h2{overflow-wrap:anywhere}.kx-hero p{max-width:850px}.kx-hero-note{border-left:0;border-inline-start:1px solid var(--line);padding-left:0;padding-inline-start:35px}
.article-body.app42-large-text{font-size:1.3em}.article-reviewer{font:15px/1.65 var(--sans);border:1px solid var(--line);border-radius:10px;padding:18px;margin:20px 0}.article-reviewer em{font-style:normal}
.app42-draft-note{font:14px/1.5 var(--sans);padding:12px 24px;border-bottom:1px solid var(--line);background:var(--surface-soft);color:var(--ink)}
html[dir=rtl] .kx-card,html[dir=rtl] .article-body{text-align:start}html[dir=rtl] .brand{direction:ltr;unicode-bidi:isolate}
html[dir=rtl] a[href^="mailto:"],html[dir=rtl] [lang=pl],html[dir=rtl] time{unicode-bidi:isolate;direction:ltr}
html:lang(ja),html:lang(zh),html:lang(ko),html:lang(th),html:lang(hi),html:lang(bn),html:lang(pa),html:lang(ar),html:lang(fa),html:lang(he){--serif:system-ui,sans-serif;--sans:system-ui,sans-serif}
html:lang(ja) :is(h1,h2,h3),html:lang(zh) :is(h1,h2,h3),html:lang(ko) :is(h1,h2,h3),html[dir=rtl] :is(h1,h2,h3){letter-spacing:normal;line-height:1.35}
html:lang(ko){word-break:keep-all}html:lang(th) :is(h1,h2,h3,p){line-height:1.65;letter-spacing:normal}
html:lang(hi) :is(h1,h2,h3,p),html:lang(bn) :is(h1,h2,h3,p),html:lang(pa) :is(h1,h2,h3,p){line-height:1.65;letter-spacing:normal}
@media(max-width:1000px){.site-nav.is-open{display:flex;flex-direction:column;position:absolute;top:100%;inset-inline:0;background:var(--paper);padding:20px;z-index:45}.nav-row{position:relative;flex-wrap:wrap}.nav-actions{flex-wrap:wrap;gap:8px}.kx-hero-grid{grid-template-columns:1fr}.kx-hero-note{display:none}}
@media print{.site-header,.site-footer,.reading-tools,.language-switch{display:none}.article-body{font-size:12pt!important}.article-reviewer{break-inside:avoid}}
.app42-mail-hint{display:block;margin-block-start:12px;font:14px/1.5 var(--sans);color:var(--muted);unicode-bidi:isolate}
.site-header .app42-launch-button{max-width:250px;white-space:normal;gap:10px;line-height:1.35}
.app42-launch-copy{display:flex;flex-direction:column;gap:2px;text-align:start}
.app42-launch-status{font-size:14px;font-weight:600}
.app42-launch-action{font-size:12px}

/* Language selector v0.2: stable code order, 4 rows on wide desktop. */
.app42-languages,.app42-languages .language-menu{position:static}
.app42-languages .language-menu>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;white-space:nowrap;font:14px/1.5 var(--sans);min-height:44px;padding:9px 12px;border:1px solid var(--deep);border-radius:9px;background:var(--surface);color:var(--deep)}
.app42-languages .language-menu>summary::-webkit-details-marker{display:none}
.app42-languages .language-menu>summary::after{content:'⌄';font-size:20px}
.app42-languages.app42-language-enhanced .language-menu>summary::after{content:none}
.app42-languages summary svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.app42-languages summary .app42-language-chevron{width:24px;height:24px;padding:2px;border:1px solid var(--line);border-radius:5px;background:var(--surface-soft);transition:transform .2s ease}
.app42-languages details[open] .app42-language-chevron{transform:rotate(180deg)}
.app42-languages .language-panel{position:absolute;top:calc(100% + 12px);inset-inline:auto;left:50%;right:auto;transform:translateX(-50%);width:min(1480px,calc(100vw - 32px));max-height:var(--language-panel-room,calc(100dvh - 150px));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;z-index:65;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 18px 48px #24153633}
.app42-languages .language-options{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));grid-auto-flow:row;gap:6px;direction:ltr}
.app42-languages .language-options a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:78px;padding:9px 5px;white-space:normal;text-align:center;border:1px solid transparent;border-radius:8px;font:13px/1.4 var(--sans);color:var(--ink);overflow-wrap:normal}
.app42-languages .language-options a:hover{background:var(--surface-soft);border-color:var(--line)}
.app42-languages .app42-language-code{display:inline-block;direction:ltr;unicode-bidi:isolate;min-width:35px;padding:3px 7px;border-radius:5px;background:var(--surface-soft);color:var(--deep);font:600 11px/1.4 var(--sans);letter-spacing:.045em}
.app42-languages .app42-language-name{max-width:100%;unicode-bidi:isolate;overflow-wrap:anywhere;line-height:1.45}
.app42-languages .app42-language-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;direction:ltr;max-width:100%}
.app42-languages .app42-language-flag{display:block;flex:none;width:24px;height:18px;max-width:none;object-fit:contain;border-radius:2px;box-shadow:0 0 0 1px rgba(100,80,120,.18)}
.app42-languages .language-options a[aria-current=page]{border-color:var(--deep);background:var(--surface-soft);font-weight:600}
.app42-languages .language-options a[aria-current=page] .app42-language-code{background:var(--deep);color:var(--paper)}
html[data-contrast=high] .app42-languages .language-panel,html[data-contrast=high] .app42-languages .language-menu>summary{background:var(--paper);color:var(--ink);border:2px solid var(--ink);box-shadow:none}
html[data-contrast=high] .app42-languages .language-options a[aria-current=page]{outline:2px solid var(--ink);outline-offset:-2px}
@media(min-width:1200px){.app42-languages .language-options{grid-template-rows:repeat(4,minmax(78px,auto))}}
@media(max-width:1199px){.app42-languages .language-options{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media(max-width:799px){.app42-languages .language-options{grid-template-columns:repeat(4,minmax(0,1fr))}.app42-languages .language-panel{padding:12px}}
@media(max-width:479px){.app42-languages .language-options{grid-template-columns:repeat(3,minmax(0,1fr))}.app42-languages .language-panel{width:calc(100vw - 20px)}.app42-languages .language-options a{min-height:72px}}
@media(prefers-reduced-motion:reduce){.app42-languages summary .app42-language-chevron{transition:none}}
