.ui-theme{position:relative;display:inline-flex;align-items:center}.ui-theme-toggle{display:grid;place-items:center;width:42px;min-width:42px;height:42px;padding:6px;border:1px solid var(--ui-line);border-radius:var(--r-sm);background:var(--ui-surface);color:var(--ui-ink);cursor:pointer;transition:border-color .15s}.ui-theme-toggle:hover{border-color:var(--ui-accent)}.ui-theme-glyph{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:22px;height:22px}.ui-theme-tile{display:block;border-radius:3px}.ui-theme-red{background:#e44343}.ui-theme-blue{background:#2d70dc}.ui-theme-orange{background:#ec9d34}.ui-theme-green{background:#37a667}.ui-theme-menu{position:absolute;z-index:80;top:calc(100% + 8px);right:0;width:216px;padding:6px;border:1px solid var(--ui-line);border-radius:var(--r-md);background:var(--ui-surface);box-shadow:var(--ui-shadow);color:var(--ui-ink)}.ui-theme-menu[hidden]{display:none}.ui-theme-title{margin:2px 8px 5px;color:var(--ui-muted);font:700 11px var(--ui-font);letter-spacing:.06em;text-transform:uppercase}.ui-theme-menu>button{display:grid;grid-template-columns:22px 1fr;align-items:center;width:100%;min-height:38px;padding:5px 8px;border:0;border-radius:calc(var(--r-md) - 6px);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.ui-theme-menu>button:hover,.ui-theme-menu>button:focus{background:var(--ui-surface-2)}.ui-theme-menu>button:focus-visible{outline-offset:-2px!important;outline-width:2px!important}.ui-theme-check{color:var(--ui-accent);font-weight:900}.ui-theme-palette{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:5px;padding-top:7px;border-top:1px solid var(--ui-line)}.ui-theme-palette label{display:grid;gap:3px;justify-items:center;color:var(--ui-muted);font:10px var(--ui-font)}.ui-theme-palette input{width:44px;height:28px;padding:1px;border:1px solid var(--ui-line);border-radius:var(--r-xs);background:var(--ui-surface);cursor:pointer}
.ui-theme-toggle .ui-theme-glyph{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;width:22px;height:22px}
.ui-theme-menu{width:300px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 110px);overflow:auto;padding:12px;font:14px/1.4 var(--ui-font);text-align:left}
.ui-theme-menu[hidden],.ui-theme-palette[hidden]{display:none!important}
.ui-theme-modes{display:flex;gap:4px}.ui-theme-modes button{flex:1;min-height:36px;padding:6px;border:1px solid var(--ui-line);border-radius:6px;background:var(--ui-surface);color:var(--ui-ink);font:inherit;cursor:pointer}
.ui-theme-modes [aria-checked=true]{border-color:var(--ui-accent);text-decoration:underline;text-underline-offset:4px;font-weight:bold}
.ui-theme-palette{grid-template-columns:1fr 1fr;gap:10px;padding-top:12px;margin-top:12px}
.ui-theme-palette label{font:13px/1.4 var(--ui-font);color:var(--ui-ink);align-items:center;justify-items:stretch;gap:4px}
.ui-theme-palette input[type=color]{width:100%;height:36px}.ui-theme-wide,.ui-theme-hsv,.ui-theme-reset,.ui-theme-error{grid-column:1/-1}
.ui-theme-palette select{width:100%;min-height:36px;background:var(--ui-surface);color:var(--ui-ink);border:1px solid var(--ui-line);border-radius:4px;padding:4px;font:inherit}
.ui-theme-hsv{min-width:0;padding:8px;border:1px solid var(--ui-line);border-radius:6px;margin:0}.ui-theme-hsv label{display:grid;grid-template-columns:1fr 32px;gap:4px;margin-top:8px}.ui-theme-hsv input[type=range]{grid-row:2;width:100%;height:24px;padding:0}.ui-theme-hsv output{grid-row:2;grid-column:2;text-align:right}.ui-theme-hsv legend{font-size:12px}
.ui-theme-reset{min-height:36px;font:inherit;color:var(--ui-ink);background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:6px;cursor:pointer}.ui-theme-error{font-size:12px;margin:0;color:var(--ui-ink)}.ui-theme-error:empty{display:none}

:root { --ui-bg:var(--canvas); --ui-surface:var(--surface-solid); --ui-surface-2:var(--canvas); --ui-ink:var(--ink); --ui-muted:var(--muted); --ui-line:var(--line); --ui-accent:var(--blue); --ui-font:var(--sans); --ui-shadow:var(--shadow); --r-xs:4px; --r-sm:8px; --r-md:12px; }
/* Reserved external CSSOM rule for the validated custom palette. */
:root[data-theme] { }
:root[data-theme="custom"] { --paper:var(--ui-bg); --paper2:var(--ui-surface); --canvas:var(--ui-bg); --card:var(--ui-surface); --surface:var(--ui-surface); --surface-solid:var(--ui-surface); --ink:var(--ui-ink); --ink2:var(--ui-muted); --muted:var(--ui-muted); --line:var(--ui-line); --rule:var(--ui-line); --blue:var(--ui-accent); --red:var(--ui-accent); --red2:var(--ui-accent); --sans:var(--ui-font); --serif:var(--ui-display); --product:var(--ui-font); }
.ui-theme { flex-shrink:0; }
.topbar .ui-theme-toggle { width:40px; min-width:40px; height:40px; border-radius:8px; }
.ui-theme-toggle:focus-visible { outline:2px solid var(--ui-accent); outline-offset:2px; }
@media(max-width:1100px) { .topbar .ui-theme { margin-left:auto; } }
@media(max-width:540px) { .ui-theme-menu { position:fixed; top:80px; right:8px; max-height:calc(100dvh - 96px); } }
@font-face { font-family:UnicontSans; src:url('/assets/fonts/LiberationSans-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:UnicontDejaVu; src:url('/assets/fonts/DejaVuSans.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
