/* Xunglee common identity. All assets and fonts stay local. */
:root:root{font-family:Arial,Helvetica,sans-serif;--bg:#f7f8f4;--paper:#f7f8f4;--panel:#fff;--surface:#fff;--white:#fff;--text:#101217;--ink:#101217;--muted:#566171;--line:#dce1d9;--border:#dce1d9;--control:#677386;--accent:#095a47;--green:#095a47;--soft:#eaf3ed;--wash:#eaf3ed;--tint:#eaf3ed;--key:#f0f3ed;--lime:#ddf78d;--button:#fff;--error:#a51c30;--danger:#a51c30;--success:#087552;--xec-primary:#095a47;--xec-on-primary:#fff;color:var(--ink);background:var(--bg);color-scheme:light}
:root:root[data-theme=dark]{--bg:#101916;--paper:#101916;--panel:#192620;--surface:#192620;--white:#192620;--text:#f1f5f2;--ink:#f1f5f2;--muted:#b6c7bd;--line:#43554b;--border:#43554b;--control:#98ada0;--accent:#9bdfbd;--green:#9bdfbd;--soft:#253c30;--wash:#253c30;--tint:#253c30;--key:#26382e;--lime:#ddf78d;--button:#10251c;--error:#ffa7b3;--danger:#ffa7b3;--success:#89dfb5;--xec-primary:#9bdfbd;--xec-on-primary:#10251c;--shadow:none;color-scheme:dark}
body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}
:root:root{--mint:var(--soft)}
main,article,section,footer,header{min-width:0}h1,h2,h3,p,footer a{overflow-wrap:anywhere}
:root :is(h1,h2,h3){font-family:Arial,Helvetica,sans-serif}
button,input,select,textarea{font-family:inherit}
:root[data-theme] input::placeholder,:root[data-theme] textarea::placeholder{color:var(--muted);opacity:1}
:root[data-theme] .x-logo-light,:root[data-theme] .logo-light{display:block!important}
:root[data-theme] .x-logo-dark,:root[data-theme] .logo-dark{display:none!important}
:root[data-theme=dark] .x-logo-light,:root[data-theme=dark] .logo-light{display:none!important}
:root[data-theme=dark] .x-logo-dark,:root[data-theme=dark] .logo-dark{display:block!important}
:root[data-theme=dark] .brand img:not([class]),:root[data-theme=dark] .footer-brand img:not([class]){filter:brightness(0) invert(1)}
.xec-bar,.xec-more{font:14px/1.5 Arial,Helvetica,sans-serif;color:var(--ink);background:var(--panel);border-bottom:1px solid var(--line);width:100%}
.xec-inner{max-width:1280px;margin:auto;padding:10px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;min-width:0}
.xec-name{font-size:12px;font-weight:700;letter-spacing:.03em;margin-right:auto;color:var(--muted)}
.xec-all,.xec-more a{color:var(--accent);font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:10px;min-height:32px}
.xec-all:hover,.xec-more a:hover{text-decoration:underline;text-underline-offset:4px}
.xec-theme{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--control);border-radius:8px;background:var(--panel);color:var(--ink);padding:7px 12px;min-height:38px;font-size:12px;font-weight:600;cursor:pointer}
.xec-theme:hover{background:var(--soft);color:var(--ink)}
.xec-more{border-top:1px solid var(--line);border-bottom:0}.xec-more .xec-inner{justify-content:space-between;padding-block:22px}.xec-more span{color:var(--muted)}
.xec-bar a:focus-visible,.xec-bar button:focus-visible,.xec-more a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:480px){.xec-inner{padding-inline:14px;gap:8px 14px}.xec-theme span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.xec-theme{min-width:40px}.xec-more .xec-inner{display:grid;gap:8px}.xec-name{font-size:11px}.xec-all{font-size:12px}}
/* Ads/Analytics notices use the same theme; this does not change consent. */
:root[data-theme=dark] .xga{--xga-bg:var(--panel);--xga-text:var(--ink)}
:root[data-theme=dark] .xga-banner{background:var(--panel);color:var(--ink);border-color:var(--control)}
:root[data-theme=dark] .xga-banner p,:root[data-theme=dark] .xga-banner h2,:root[data-theme=dark] .xga-banner a{color:var(--ink)}
:root[data-theme=dark] .xga-actions button{background:var(--soft);color:var(--ink);border-color:var(--control)}
:root[data-theme=dark] .xga button{background:var(--panel);color:var(--ink);border-color:var(--control)}
:root[data-theme] .xga,:root[data-theme] .xga h2{font-family:Arial,Helvetica,sans-serif}
:root[data-theme] .primary:not(nav),:root[data-theme] .button.primary{background:var(--xec-primary);color:var(--xec-on-primary);border-color:var(--xec-primary)}
:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{color-scheme:dark}
/* Compact header controls: native selection and local vector icons. */
.xec-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.xec-icon{display:block;width:19px;height:19px;flex:none;pointer-events:none}
.xec-header-controls{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex:none;min-width:0;margin-left:auto}
:root[data-theme] .xec-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--ink);box-shadow:0 2px 6px #10121704;cursor:pointer;transition:background .16s,border-color .16s,transform .16s}
:root[data-theme] .xec-theme-toggle:hover{background:var(--soft);border-color:var(--control);color:var(--accent);transform:translateY(-1px)}
.xec-theme-toggle .xec-icon-sun{display:none}:root[data-theme=dark] .xec-theme-toggle .xec-icon-sun{display:block}:root[data-theme=dark] .xec-theme-toggle .xec-icon-moon{display:none}
.xec-language-select{display:inline-flex;align-items:center;position:relative;flex:none;max-width:100%;color:var(--muted)}
.xec-language-select>.xec-icon-globe{position:absolute;left:14px;z-index:1}.xec-language-select>.xec-icon-chevron{position:absolute;right:10px;width:16px;height:16px}
:root[data-theme] .xec-language-select select{appearance:none;-webkit-appearance:none;width:146px;max-width:100%;height:44px;min-height:44px;padding:0 31px 0 41px;border:1px solid var(--line);border-radius:24px;background:var(--panel);color:var(--ink);font:600 13px/1.3 Arial,Helvetica,sans-serif;cursor:pointer;box-shadow:0 2px 6px #10121704;transition:border-color .16s,background .16s}
:root[data-theme] .xec-language-select select:hover{border-color:var(--control);background:var(--soft)}
.xec-language-label{display:inline-flex!important;align-items:center;margin:0!important;line-height:1!important}
.xec-language-menu{position:relative;z-index:20;margin:0;font:600 13px/1.3 Arial,Helvetica,sans-serif;flex:none}
:root[data-theme] .xec-language-menu>summary{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 13px;border:1px solid var(--line);border-radius:24px;background:var(--panel);color:var(--ink);list-style:none;cursor:pointer;white-space:nowrap;font:600 13px/1.3 Arial,Helvetica,sans-serif}
.xec-language-menu>summary::-webkit-details-marker{display:none}.xec-language-menu>summary::marker{content:''}.xec-language-menu>summary>.xec-icon-chevron{width:16px;height:16px;color:var(--muted)}.xec-language-menu[open]>summary>.xec-icon-chevron{transform:rotate(180deg)}
:root[data-theme] .xec-language-menu>nav{position:absolute;inset:auto auto auto 0;top:calc(100% + 8px);display:grid;grid-template-columns:1fr;gap:3px;min-width:180px;width:max-content;max-width:calc(100vw - 32px);padding:7px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);box-shadow:0 14px 36px #0002;margin:0;z-index:20}
:root[data-theme] .xec-language-menu>nav a{display:block;margin:0;padding:11px 13px;border:0;border-radius:10px;color:var(--ink);font:500 13px/1.3 Arial,Helvetica,sans-serif;text-decoration:none}
:root[data-theme] .xec-language-menu>nav a:hover,:root[data-theme] .xec-language-menu>nav a[aria-current]{background:var(--soft);color:var(--accent)}
.xec-header-controls :is(button,select,summary,a):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:480px){.xec-header-controls{gap:7px}.xec-language-select select{width:138px!important}.xec-header :is(.header-actions,.header-controls){gap:8px}.xec-header-controls .xec-icon{width:18px;height:18px}}
@media(max-width:600px){.xec-header.site-header{height:auto;min-height:88px;flex-wrap:wrap;gap:12px;padding-top:16px;padding-bottom:16px}}
@media(prefers-reduced-motion:reduce){.xec-header-controls *{transition:none!important}}

/* Existing literal UI colours adapted for dark surfaces. */
:root[data-theme=dark] .skip{background:var(--panel)}
:root[data-theme=dark] .language nav{background:var(--panel)}
:root[data-theme=dark] .language nav a:hover,:root[data-theme=dark] .language nav [aria-current]{background:var(--panel)}
:root[data-theme=dark] .hero-board{border:1px solid var(--line);background:var(--panel)}
:root[data-theme=dark] .board-label{color:var(--ink)}
:root[data-theme=dark] .feature-small.compress{background:var(--soft);color:var(--ink)}
:root[data-theme=dark] .feature-small.convert{background:var(--soft);color:var(--ink)}
:root[data-theme=dark] .search-box{background:var(--panel);border:1px solid var(--line)}
:root[data-theme=dark] .search-box input::placeholder{color:var(--ink)}
:root[data-theme=dark] .search-box button{background:var(--panel)}
:root[data-theme=dark] .filters button{color:var(--ink)}
:root[data-theme=dark] .tool-card{background:var(--panel)}
:root[data-theme=dark] .tool-card:hover{border-color:var(--line)}
:root[data-theme=dark] .tool-icon{background:var(--panel);color:var(--accent)}
:root[data-theme=dark] .green .tool-icon{background:var(--panel);color:var(--ink)}
:root[data-theme=dark] .cyan .tool-icon{background:var(--panel);color:var(--ink)}
:root[data-theme=dark] .purple .tool-icon{background:var(--panel);color:var(--ink)}
:root[data-theme=dark] .orange .tool-icon{background:var(--soft)}
:root[data-theme=dark] .card-arrow{color:var(--ink)}
:root[data-theme=dark] .category-name{color:var(--ink)}
:root[data-theme=dark] .card-bottom{border-top:1px solid var(--line);color:var(--ink)}
:root[data-theme=dark] .empty-state{border:1px dashed var(--line);background:var(--panel)}
:root[data-theme=dark] .principle-number{border-bottom:1px solid var(--line)}

:root[data-theme] .feature-main{background:#095a47;color:#fff}:root[data-theme] .hero-cta{background:var(--ink);color:var(--bg)}:root[data-theme] .filters button[aria-pressed=true],:root[data-theme] .empty-state button{background:var(--xec-primary);color:var(--xec-on-primary);border-color:var(--xec-primary)}:root[data-theme] .search-box input::placeholder{color:var(--muted);opacity:1}

:root[data-theme] button.primary,:root[data-theme] .primary-button,:root[data-theme] button[type=submit]{background:var(--xec-primary);color:var(--xec-on-primary)}
:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:var(--panel);color:var(--ink);border-color:var(--control)}
