/* Seenry UI — one token driven component layer. Override the variables in :root. */
:root{color-scheme:light;--font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--bg:#fafbfc;--surface:#fff;--surface-2:#f6f7f8;--hover:#f1f2f4;--line:#e6e8ec;--line-strong:#cbd0d8;--text:#1e2530;--text-2:#3c4654;--text-3:#4d5866;--accent:#1c1f24;--accent-hover:#343941;--accent-subtle:#eef0f2;--on-accent:#fff;--focus:0 0 0 3px #1c1f2433;--ok:#246b4b;--ok-bg:#e9f7ef;--warn:#8b5800;--warn-bg:#fff6e5;--bad:#ad342b;--bad-bg:#fff0ee;--info:#2f55ab;--info-bg:#eaf0ff;--r-sm:6px;--r-md:8px;--r-lg:12px;--t-fast:120ms;--t-base:160ms;--t-layer:200ms;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--shadow-float:0 1px 2px oklch(0 0 0/.06),0 12px 32px oklch(0 0 0/.12)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#15171b;--surface:#1e2126;--surface-2:#292d33;--hover:#333840;--line:#3d434c;--line-strong:#69717d;--text:#f5f6f8;--text-2:#d4d8df;--text-3:#c2c8d1;--accent:#f1f2f4;--accent-hover:#ffffff;--accent-subtle:#2c3038;--on-accent:#15171b;--ok:#79d5a5;--ok-bg:#1e4030;--warn:#eec376;--warn-bg:#46351b;--bad:#ff968a;--bad-bg:#482825;--info:#a6bcff;--info-bg:#293759}}
[data-theme=dark]{color-scheme:dark;--bg:#15171b;--surface:#1e2126;--surface-2:#292d33;--hover:#333840;--line:#3d434c;--line-strong:#69717d;--text:#f5f6f8;--text-2:#d4d8df;--text-3:#c2c8d1;--accent:#f1f2f4;--accent-hover:#ffffff;--accent-subtle:#2c3038;--on-accent:#15171b;--ok:#79d5a5;--ok-bg:#1e4030;--warn:#eec376;--warn-bg:#46351b;--bad:#ff968a;--bad-bg:#482825;--info:#a6bcff;--info-bg:#293759}
*,*::before,*::after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-font-smoothing:antialiased;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:400 15px/1.5 var(--font);font-feature-settings:"cv11","ss01"}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.52}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.02em}svg{flex:none}::selection{background:var(--accent-subtle)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Buttons and fields */
.ui-button{--button-h:36px;min-height:var(--button-h);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-size:15px;font-weight:500;line-height:1;white-space:nowrap;text-decoration:none;transition:color var(--t-fast),background-color var(--t-fast),border-color var(--t-fast),opacity var(--t-fast),transform var(--t-fast) var(--ease-out)}.ui-button:hover:not(:disabled){background:var(--hover)}.ui-button:active:not(:disabled){transform:scale(.98)}.ui-button[data-size=sm]{--button-h:32px;padding-inline:10px;font-size:14px}.ui-button[data-size=lg]{--button-h:44px;padding-inline:16px;font-size:15px;border-radius:var(--r-md)}.ui-button[data-variant=primary]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.ui-button[data-variant=primary]:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.ui-button[data-variant=ghost]{background:transparent;border-color:transparent}.ui-button[data-variant=danger]{background:var(--bad);border-color:var(--bad);color:var(--surface)}.ui-button[data-variant=danger]:hover:not(:disabled){filter:brightness(.9)}.ui-button[data-icon]{width:var(--button-h);padding:0}.ui-button svg{width:16px;height:16px}.ui-button[data-loading]{pointer-events:none}.ui-button[data-loading]::before{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .7s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}
.ui-field{display:grid;gap:6px;min-width:0}.ui-label{font-size:15px;font-weight:500;line-height:20px}.ui-help,.ui-error{font-size:15px;line-height:20px;color:var(--text-3)}.ui-error{color:var(--bad)}.ui-control{position:relative;display:flex;align-items:center;min-width:0}.ui-input,.ui-textarea,.ui-select{width:100%;min-height:36px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);padding:7px 10px;color:var(--text);font-size:15px;line-height:20px;transition:border-color var(--t-fast),background-color var(--t-fast),box-shadow var(--t-fast)}.ui-input:hover:not(:disabled),.ui-textarea:hover:not(:disabled),.ui-select:hover:not(:disabled){border-color:var(--text-3)}.ui-input:focus,.ui-textarea:focus,.ui-select:focus{outline:0;border-color:var(--accent);box-shadow:var(--focus)}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--text-3)}.ui-field[data-invalid] .ui-input,.ui-field[data-invalid] .ui-textarea,.ui-field[data-invalid] .ui-select{border-color:var(--bad)}.ui-field[data-invalid] .ui-input:focus,.ui-field[data-invalid] .ui-textarea:focus,.ui-field[data-invalid] .ui-select:focus{box-shadow:0 0 0 3px var(--bad-bg)}.ui-textarea{min-height:96px;resize:vertical}.ui-affix{position:absolute;z-index:1;color:var(--text-2);font-size:15px;pointer-events:none}.ui-affix:first-child{left:12px}.ui-affix:last-child{right:12px}.ui-affix:first-child+.ui-input{padding-left:32px}.ui-input:has(+.ui-affix){padding-right:32px}.ui-select{appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23808A99' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat}
.ui-choice{display:inline-flex;align-items:flex-start;gap:10px;min-height:36px;padding:6px 0;color:var(--text);font-size:15px;line-height:20px;cursor:pointer}.ui-choice input{appearance:none;flex:none;width:18px;height:18px;margin:1px 0;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface);cursor:inherit;transition:background-color var(--t-fast),border-color var(--t-fast)}.ui-choice input[type=radio]{border-radius:50%}.ui-choice input:checked{background:var(--accent);border-color:var(--accent)}.ui-choice input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='m4.5 9 3 3 6-6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.ui-choice input[type=radio]:checked{box-shadow:inset 0 0 0 4px var(--accent)}.ui-choice input[type=radio]:checked{background:var(--surface)}.ui-choice input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-choice:has(input:disabled){cursor:not-allowed;opacity:.55}.ui-choice small{display:block;color:var(--text-3);font-size:15px}.ui-radio-group{display:grid;gap:4px;border:0;margin:0;padding:0}.ui-radio-group legend{padding:0 0 6px;font-size:15px;font-weight:500}
.ui-switch{display:inline-flex;align-items:center;gap:10px;min-height:36px;font-size:15px;cursor:pointer}.ui-switch input{appearance:none;position:relative;width:36px;height:22px;margin:0;border:1px solid var(--line-strong);border-radius:99px;background:var(--surface-2);cursor:inherit;transition:background-color var(--t-fast),border-color var(--t-fast)}.ui-switch input::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px oklch(0 0 0/.2);transition:transform var(--t-fast) var(--ease-out)}.ui-switch input:checked{background:var(--accent);border-color:var(--accent)}.ui-switch input:checked::after{transform:translateX(14px)}.ui-switch input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-switch:has(input:disabled){opacity:.55;cursor:not-allowed}
/* Selection and navigation */
.ui-segmented{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.ui-segmented button{min-height:30px;padding:0 10px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-2);font-size:15px;font-weight:500}.ui-segmented button:hover{color:var(--text);background:var(--hover)}.ui-segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px oklch(0 0 0/.09),0 0 0 1px var(--line)}.ui-tabs{position:relative;display:flex;gap:24px;border-bottom:1px solid var(--line)}.ui-tabs [role=tab]{min-height:40px;padding:0 2px;border:0;background:none;color:var(--text-2);font-size:15px;font-weight:500;white-space:nowrap}.ui-tabs [role=tab]:hover,.ui-tabs [role=tab][aria-selected=true]{color:var(--text)}.ui-tab-indicator{position:absolute;bottom:-1px;left:0;height:2px;background:var(--accent);transform-origin:left;transition:transform var(--t-base) var(--ease-in-out);pointer-events:none}.ui-tab-panel{padding-top:16px}.ui-tab-panel[hidden]{display:none}.ui-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;color:var(--text-2);font-size:15px}.ui-breadcrumb li+li::before{content:"/";margin-right:8px;color:var(--text-3)}.ui-breadcrumb a{text-decoration:none}.ui-breadcrumb a:hover{text-decoration:underline}.ui-breadcrumb [aria-current=page]{color:var(--text);font-weight:500}.ui-kbd{display:inline-block;min-width:22px;padding:2px 5px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface-2);color:var(--text-2);font:500 14px/16px var(--font);text-align:center;box-shadow:0 1px 0 var(--line-strong)}
/* Floating layers */
.ui-menu,.ui-tooltip,[data-ui=popover]{min-width:200px;padding:5px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-float);opacity:0;transform:translateY(4px) scale(.97);transform-origin:top left;transition:opacity var(--t-layer) var(--ease-out),transform var(--t-layer) var(--ease-out),overlay var(--t-layer) allow-discrete,display var(--t-layer) allow-discrete}.ui-menu:popover-open,.ui-tooltip:popover-open,[data-ui=popover]:popover-open{opacity:1;transform:none}@starting-style{.ui-menu:popover-open,.ui-tooltip:popover-open,[data-ui=popover]:popover-open{opacity:0;transform:translateY(4px) scale(.97)}}.ui-menu [role=menuitem],.ui-menu [role=menuitemcheckbox]{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:34px;padding:6px 9px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text);font-size:15px;text-align:left}.ui-menu [role=menuitem]:hover,.ui-menu [role=menuitem]:focus-visible,.ui-menu [role=menuitemcheckbox]:hover,.ui-menu [role=menuitemcheckbox]:focus-visible{background:var(--hover);outline:0}.ui-menu hr{height:1px;margin:5px -5px;border:0;background:var(--line)}.ui-menu kbd{color:var(--text-3);font-size:14px}.ui-tooltip{min-width:0;max-width:240px;padding:7px 10px;font-size:14px;line-height:18px;pointer-events:none}
.ui-dialog,.ui-sheet,.ui-command{width:min(440px,calc(100vw - 32px));max-height:min(88dvh,760px);margin:auto;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-float);opacity:0;transform:scale(.97);transition:opacity var(--t-layer) var(--ease-out),transform var(--t-layer) var(--ease-out),overlay var(--t-layer) allow-discrete,display var(--t-layer) allow-discrete}.ui-dialog[open],.ui-sheet[open],.ui-command[open]{opacity:1;transform:none}@starting-style{.ui-dialog[open],.ui-sheet[open],.ui-command[open]{opacity:0;transform:scale(.97)}}.ui-dialog::backdrop,.ui-sheet::backdrop,.ui-command::backdrop{background:oklch(0 0 0/.4)}.ui-dialog__head,.ui-dialog__body,.ui-dialog__foot{padding:20px 24px}.ui-dialog__head{padding-bottom:0}.ui-dialog__head h2{font-size:18px;line-height:24px}.ui-dialog__body{color:var(--text-2);font-size:15px;line-height:21px}.ui-dialog__foot{display:flex;justify-content:flex-end;gap:8px;padding-top:0}.ui-sheet{position:fixed;inset:0 0 0 auto;width:min(400px,100vw);max-width:none;max-height:none;height:100dvh;margin:0;border-radius:16px 0 0 16px;transform:translateX(100%);transition-duration:320ms}.ui-sheet[open]{transform:none}@starting-style{.ui-sheet[open]{transform:translateX(100%)}}.ui-sheet__content{padding:24px}.ui-sheet__content h2{margin-bottom:16px;font-size:20px}.ui-sheet__content p{color:var(--text-2)}
.ui-toast-stack{position:fixed;right:24px;bottom:24px;z-index:1000;display:grid;gap:8px;width:min(360px,calc(100vw - 32px));pointer-events:none}.ui-toast{display:flex;align-items:start;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-float);color:var(--text);font-size:15px;pointer-events:auto;opacity:1;transform:none;transition:opacity var(--t-layer) var(--ease-out),transform var(--t-layer) var(--ease-out)}.ui-toast[data-state=hidden]{opacity:0;transform:translateY(8px)}.ui-toast strong{display:block;font-weight:500}.ui-toast p{color:var(--text-2)}.ui-toast button{margin-left:auto;border:0;background:none;color:var(--text-2);font-size:18px;line-height:18px}
.ui-accordion{border-top:1px solid var(--line)}.ui-accordion:last-child{border-bottom:1px solid var(--line)}.ui-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;cursor:pointer;list-style:none;font-size:15px;font-weight:500}.ui-accordion summary::-webkit-details-marker{display:none}.ui-accordion summary::after{content:"+";font-size:20px;font-weight:400;color:var(--text-2)}.ui-accordion[open] summary::after{content:"−"}.ui-accordion__body{padding:0 0 16px;color:var(--text-2);font-size:15px;line-height:21px}@supports(interpolate-size:allow-keywords){.ui-accordion{interpolate-size:allow-keywords}.ui-accordion::details-content{height:0;overflow:hidden;transition:height var(--t-layer) var(--ease-out)}.ui-accordion[open]::details-content{height:auto}}
/* Display and data */
.ui-badge,.ui-status{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-2);font-size:14px;font-weight:500;line-height:18px;white-space:nowrap}.ui-badge[data-tone=info],.ui-status[data-tone=info]{background:var(--info-bg);color:var(--info)}.ui-badge[data-tone=ok],.ui-status[data-tone=ok]{background:var(--ok-bg);color:var(--ok)}.ui-badge[data-tone=warn],.ui-status[data-tone=warn]{background:var(--warn-bg);color:var(--warn)}.ui-badge[data-tone=bad],.ui-status[data-tone=bad]{background:var(--bad-bg);color:var(--bad)}.ui-avatar{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--text-2);font-size:14px;font-weight:500}.ui-avatar img{width:100%;height:100%;object-fit:cover}.ui-avatar[data-size=lg]{width:40px;height:40px;font-size:15px}.ui-avatar-group{display:inline-flex;align-items:center;padding-left:7px}.ui-avatar-group .ui-avatar{margin-left:-7px;box-shadow:0 0 0 2px var(--surface)}
.ui-card{padding:20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.ui-card h3{font-size:16px}.ui-card p{margin-top:6px;color:var(--text-2);font-size:15px}.ui-card[data-link]{display:block;text-decoration:none;transition:border-color var(--t-fast),background-color var(--t-fast)}.ui-card[data-link]:hover{border-color:var(--line-strong);background:var(--hover)}
.ui-stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.ui-stat{padding:16px 20px}.ui-stat+.ui-stat{border-left:1px solid var(--line)}.ui-stat dt{color:var(--text-2);font-size:14px;font-weight:500}.ui-stat dd{margin:6px 0 0;font-size:28px;line-height:34px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ui-stat small{color:var(--text-3);font-size:15px}
.ui-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.ui-table{width:100%;border-collapse:collapse;white-space:nowrap}.ui-table th{position:sticky;top:0;z-index:1;height:40px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--text-2);font-size:14px;font-weight:500;text-align:left}.ui-table th button{display:inline-flex;gap:5px;align-items:center;padding:4px 0;border:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit}.ui-table th[aria-sort] button::after{content:"↕";color:var(--text-3)}.ui-table th[aria-sort=ascending] button::after{content:"↑";color:var(--accent)}.ui-table th[aria-sort=descending] button::after{content:"↓";color:var(--accent)}.ui-table td{height:48px;padding:0 16px;border-bottom:1px solid var(--line);font-size:15px;color:var(--text-2)}.ui-table tbody tr:last-child td{border-bottom:0}.ui-table tbody tr:hover td{background:var(--hover)}.ui-table td:first-child{color:var(--text);font-weight:500}.ui-table .num{text-align:right;font-variant-numeric:tabular-nums}.ui-table th.num{text-align:right}.ui-table .num button{margin-left:auto}.ui-table [hidden]{display:none}.ui-pagination{display:flex;align-items:center;gap:4px}.ui-pagination button{min-width:36px;height:36px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-2);font-size:15px}.ui-pagination button:hover:not(:disabled){background:var(--hover)}.ui-pagination button[aria-current=page]{border-color:var(--line);background:var(--surface);color:var(--text);font-weight:500}.ui-empty{display:grid;justify-items:center;gap:8px;padding:48px 24px;text-align:center}.ui-empty h3{font-size:15px}.ui-empty p{max-width:38ch;color:var(--text-2);font-size:15px}.ui-empty .ui-button{margin-top:8px}
.ui-skeleton{display:block;height:16px;border-radius:var(--r-sm);background:linear-gradient(100deg,var(--surface-2) 30%,var(--hover) 50%,var(--surface-2) 70%);background-size:200% 100%;animation:ui-shimmer 1.5s linear infinite}@keyframes ui-shimmer{to{background-position-x:-200%}}.ui-command{width:min(560px,calc(100vw - 32px))}.ui-command input{width:100%;height:52px;padding:0 18px;border:0;border-bottom:1px solid var(--line);outline:0;background:transparent;font-size:16px}.ui-command__list{max-height:320px;overflow:auto;padding:8px}.ui-command__list button{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:7px 10px;border:0;border-radius:var(--r-sm);background:transparent;text-align:left;font-size:15px}.ui-command__list button:hover,.ui-command__list button[data-active]{background:var(--hover)}.ui-command__empty{padding:22px 10px;color:var(--text-2);font-size:15px}.ui-command__footer{padding:10px 18px;border-top:1px solid var(--line);color:var(--text-3);font-size:14px}
.ui-number-visual{display:inline-flex;white-space:nowrap;font-variant-numeric:tabular-nums}.ui-num-slot{display:inline-block;height:1.2em;overflow:hidden}.ui-num-reel{display:grid;line-height:1.2em;transition:transform 420ms var(--ease-out)}.ui-num-reel span{height:1.2em}
@media(max-width:600px){.ui-button,.ui-input,.ui-select,.ui-choice,.ui-switch,.ui-segmented button,.ui-tabs [role=tab],.ui-pagination button{min-height:44px}.ui-input,.ui-select,.ui-textarea{font-size:16px}.ui-tabs{gap:16px;flex-wrap:wrap}.ui-tab-panel{padding-top:12px}.ui-sheet{inset:auto 0 0 0;width:100vw;height:min(84dvh,700px);border-radius:16px 16px 0 0;transform:translateY(100%)}@starting-style{.ui-sheet[open]{transform:translateY(100%)}}.ui-toast-stack{right:16px;bottom:16px}.ui-stat-strip{grid-template-columns:1fr}.ui-stat+.ui-stat{border-left:0;border-top:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}
/* Gallery layout; components above have no dependency on this section. */
.gallery-shell{max-width:1440px;margin:0 auto;padding:40px 32px 64px}
.gallery-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}
.gallery-header h1{font-size:40px;line-height:46px}
.gallery-header p{margin-top:8px;color:var(--text-2);font-size:17px}
.gallery-header a{font-size:15px;color:var(--text-2)}
.gallery-index{margin-bottom:32px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gallery-index-links{display:flex;flex-wrap:wrap;gap:10px 24px}.gallery-index-links a{color:var(--text-2);font-size:15px;font-weight:500;text-decoration:none}.gallery-index-links a:hover{color:var(--accent)}.gallery-jump{display:none}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.gallery-theme{min-width:0;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text)}
.gallery-theme[data-theme=dark]{--text-3:#c2c8d1;--line:#515964}
.gallery-theme>h2{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:20px;line-height:28px}
.gallery-theme>h2 small{color:var(--text-3);font-size:15px;font-weight:400}
.gallery-section{padding:36px 0;border-top:1px solid var(--line);scroll-margin-top:24px}
.gallery-section h3{margin-bottom:22px;font-size:19px;line-height:26px}
.gallery-section p.gallery-note{margin-top:16px;color:var(--text-2);font-size:15px}
.gallery-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.gallery-row+.gallery-row{margin-top:16px}
.gallery-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gallery-stack{display:grid;gap:12px}
.gallery-line{height:1px;margin:24px 0;background:var(--line)}
.gallery-faux-focus{outline:2px solid var(--accent);outline-offset:2px}
.gallery-faux-hover{background:var(--hover)}
.gallery-label{margin:14px 0 7px;color:var(--text-2);font-size:14px;font-weight:500}
.gallery-table-tools{display:flex;gap:8px;margin-bottom:12px}
.gallery-table-tools .ui-input{min-width:0}.gallery-table-tools .ui-select{width:140px}
.gallery-table-tools+.ui-table-wrap{max-height:260px}
.gallery-compact{max-width:360px}
.gallery-rule{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;color:var(--text-2);font-size:15px}.gallery-rule span:last-child{text-align:right}
.gallery-theme .ui-empty h3{font-size:16px}.gallery-theme .ui-table td{height:52px}
.gallery-feature{display:grid;grid-template-columns:1fr auto;gap:14px 16px;padding:24px;border-radius:var(--r-lg);background:var(--surface-2)}
.gallery-feature h3{font-size:21px;line-height:28px}.gallery-feature p{margin-top:4px;color:var(--text-2);font-size:15px}.gallery-feature .ui-status{align-self:start}
.gallery-feature-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid var(--line)}
.gallery-preview{margin-top:24px}.gallery-preview>p{margin-bottom:10px;color:var(--text-2);font-size:15px;font-weight:500}
.gallery-preview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.gallery-preview-menu,.gallery-preview-tip,.gallery-preview-toast{padding:10px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-float)}
.gallery-preview-menu strong{display:block;padding:7px 9px;color:var(--text-2);font-size:14px;font-weight:500}.gallery-preview-menu span{display:flex;justify-content:space-between;padding:7px 9px;border-radius:var(--r-sm);font-size:15px}.gallery-preview-menu span:nth-child(2){background:var(--hover)}.gallery-preview-menu small{color:var(--text-3)}
.gallery-preview-aside{display:grid;gap:16px}.gallery-preview-tip{padding:8px 10px;font-size:15px}.gallery-preview-toast{padding:12px}.gallery-preview-toast strong,.gallery-preview-toast span{display:block;font-size:15px}.gallery-preview-toast strong{font-weight:500}.gallery-preview-toast span{margin-top:2px;color:var(--text-2)}
.gallery-preview-layers{margin-top:16px}
.gallery-preview-dialog,.gallery-preview-sheet{min-height:126px;padding:16px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-float)}
.gallery-preview-dialog strong,.gallery-preview-sheet strong{font-size:15px;font-weight:600}
.gallery-preview-dialog p,.gallery-preview-sheet p{margin-top:6px;color:var(--text-2);font-size:15px;line-height:20px}
.gallery-preview-dialog>span{display:block;margin-top:16px;color:var(--text-2);font-size:15px;text-align:right}
.gallery-preview-action{padding:5px 8px;border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font-weight:500}
.gallery-preview-sheet{border-radius:var(--r-lg) 0 0 var(--r-lg);border-right:3px solid var(--accent)}

.ui-button:not([data-size=sm]),.ui-input,.ui-textarea,.ui-select,.ui-choice,.ui-switch,.ui-card p,.ui-empty p{font-size:15px}
.ui-help,.ui-error{font-size:15px}
@media(max-width:600px){.ui-input,.ui-textarea,.ui-select{font-size:16px}.gallery-feature{padding:20px}.gallery-feature h3{font-size:19px}.gallery-feature-actions{align-items:start;flex-direction:column}.gallery-preview-grid{grid-template-columns:1fr}}

.gallery-theme-switch{display:none}
@media(max-width:900px){.gallery-shell{padding:24px}.gallery-grid{grid-template-columns:1fr}.gallery-theme{padding:24px}}
@media(max-width:600px){.gallery-shell{padding:20px 16px 48px}.gallery-header{display:block;margin-bottom:24px}.gallery-header h1{font-size:30px;line-height:36px}.gallery-header p{font-size:16px}.gallery-header a{display:inline-block;margin-top:16px}.gallery-index{margin-bottom:24px;border:0;padding:0}.gallery-index-links{display:none}.gallery-jump{display:block;min-height:44px}.gallery-theme-switch{display:flex;margin-top:20px}.gallery-theme{padding:20px}.gallery-section{padding:30px 0}.gallery-section h3{font-size:19px}.gallery-fields{grid-template-columns:1fr;gap:18px}.gallery-table-tools{display:grid;grid-template-columns:1fr 1fr}.gallery-table-tools .ui-input{grid-column:1/-1}.gallery-table-tools .ui-select{width:100%}.gallery-grid>[data-gallery-target]{display:none}body[data-gallery-view=dark] .gallery-grid>[data-gallery-source]{display:none}body[data-gallery-view=dark] .gallery-grid>[data-gallery-target]{display:block}}
@media(max-width:600px){.ui-button[data-icon]{width:44px}.ui-menu [role=menuitem],.ui-menu [role=menuitemcheckbox],.ui-command__list button,.ui-table th button{min-height:44px}.ui-toast button{min-width:44px;min-height:44px;margin:-10px -10px -10px auto}.ui-table th{height:44px}.ui-table th,.ui-table td{padding-inline:8px}}

button{border-radius:var(--r-sm)}
button:active:not(:disabled){transform:scale(.98)}
@media (prefers-reduced-motion: reduce){button:active:not(:disabled){transform:none}}
/* Gallery reading scale: component dimensions remain the copyable kit dimensions. */
.gallery-header h1{font-size:44px;line-height:50px}
.gallery-header p{font-size:18px;line-height:26px}
.gallery-theme>h2{font-size:24px;line-height:30px}
.gallery-feature h3{font-size:24px;line-height:30px}
.gallery-feature p{font-size:16px;line-height:24px}
.gallery-section h3{font-size:22px;line-height:28px}
.gallery-theme .ui-button:not([data-size=sm]),.gallery-theme .ui-input,.gallery-theme .ui-textarea,.gallery-theme .ui-select,.gallery-theme .ui-label,.gallery-theme .ui-choice,.gallery-theme .ui-switch,.gallery-theme .ui-segmented button,.gallery-theme .ui-tabs [role=tab]{font-size:16px}
.gallery-theme .ui-help,.gallery-theme .ui-error,.gallery-theme .ui-choice small,.gallery-theme .ui-card p,.gallery-theme .ui-empty p,.gallery-theme .ui-accordion__body,.gallery-theme .ui-tab-panel,.gallery-theme .ui-breadcrumb{font-size:16px;line-height:24px}
.gallery-theme .ui-table td{font-size:15px}.gallery-theme .ui-table th,.gallery-theme .ui-stat dt{font-size:15px}.gallery-theme .ui-stat small{font-size:15px}
.gallery-theme .ui-badge,.gallery-theme .ui-status{font-size:15px}
@media(max-width:600px){.gallery-header h1{font-size:34px;line-height:40px}.gallery-header p{font-size:16px;line-height:24px}.gallery-theme>h2{font-size:22px}.gallery-feature h3{font-size:22px}.gallery-section h3{font-size:21px}}
