:root{--primary: #97a995;--primary-hover: #7f927d;--primary-shadow: rgba(151, 169, 149, .22);--primary-2: #c8b7a7;--primary-2-hover: #b7a190;--primary-grad: linear-gradient(135deg, var(--primary), var(--primary-2));--primary-grad-hover: linear-gradient(135deg, var(--primary-hover), var(--primary-2-hover));--danger: #ef4444;--danger-hover: #dc2626;--danger-shadow: rgba(239, 68, 68, .22);--success: #22c55e;--success-hover: #16a34a;--success-shadow: rgba(34, 197, 94, .2);--bg-body: #f8f9fa;--bg-secondary: #eef2f5;--bg-glass: rgba(255, 255, 255, .82);--card-bg: #ffffff;--surface-1: #ffffff;--surface-2: #f2f5f7;--bg: var(--bg-body);--glass-bg: var(--bg-glass);--text: #262626;--text-primary: #262626;--text-secondary: #3b3b3b;--text-muted: #555555;--text-faint: rgba(59, 59, 59, .86);--accent-color: var(--primary);--ring: rgba(151, 169, 149, .22);--ring-strong: rgba(151, 169, 149, .34);--border-color: #e2e7eb;--glass-border: rgba(199, 209, 217, .44);--shadow-soft: rgba(38, 54, 68, .07);--shadow-medium: rgba(38, 54, 68, .13);--shadow-lg: rgba(38, 54, 68, .2);--hover-bg: rgba(151, 169, 149, .1);--hover-bg-soft: rgba(151, 169, 149, .06);--hover-lift: translateY(-1px);--hero-from: rgba(217, 225, 216, .12);--hero-to: rgba(229, 221, 212, .08);--code-bg: #0b1020;--code-text: #e6edf7;--code-muted: rgba(230, 237, 247, .68);--code-border: rgba(255, 255, 255, .12);--code-bar: rgba(255, 255, 255, .06);--code-inline-bg: rgba(9, 105, 218, .08);--code-inline-text: var(--text);--code-inline-border: rgba(31, 35, 40, .1);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--nav-height: 60px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 26px;--page-max: 1240px;--content-max: 760px;--reader-font-scale: 1;--reader-content-max: 980px;--card-radius: 14px;--card-border: color-mix(in srgb, var(--border-color) 92%, transparent);--card-shadow: 0 1px 0 color-mix(in srgb, var(--border-color) 92%, transparent), 0 16px 36px color-mix(in srgb, var(--shadow-soft) 88%, transparent);--card-shadow-hover: 0 1px 0 color-mix(in srgb, var(--border-color) 96%, transparent), 0 22px 48px color-mix(in srgb, var(--shadow-medium) 88%, transparent)}:root[data-reduce-motion="1"] *,:root[data-reduce-motion="1"] *:before,:root[data-reduce-motion="1"] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-theme=dark]{--primary: #7aa2f7;--primary-hover: #5f7fd6;--primary-shadow: rgba(122, 162, 247, .28);--primary-2: #7dcfff;--primary-2-hover: #4fb0d8;--bg-body: #1d2330;--bg-secondary: #252d3c;--bg-glass: rgba(33, 41, 56, .72);--card-bg: #232b39;--surface-1: #232b39;--surface-2: #2b3444;--text: #d9e1f2;--text-primary: #d9e1f2;--text-secondary: #bec8db;--text-muted: #9ea9bf;--text-faint: rgba(190, 200, 219, .76);--border-color: rgba(255, 255, 255, .09);--glass-border: rgba(255, 255, 255, .11);--shadow-soft: rgba(4, 8, 16, .34);--shadow-medium: rgba(4, 8, 16, .48);--shadow-lg: rgba(4, 8, 16, .62);--hover-bg: rgba(122, 162, 247, .18);--hover-bg-soft: rgba(255, 255, 255, .06);--accent-color: var(--primary);--ring: rgba(122, 162, 247, .34);--ring-strong: rgba(122, 162, 247, .48);--danger: #ef4444;--danger-hover: #dc2626;--danger-shadow: rgba(239, 68, 68, .28);--success: #22c55e;--success-hover: #16a34a;--success-shadow: rgba(34, 197, 94, .25);--hero-from: rgba(122, 162, 247, .11);--hero-to: rgba(125, 207, 255, .09);--code-bg: #16161e;--code-text: #c0caf5;--code-muted: rgba(192, 202, 245, .72);--code-border: rgba(255, 255, 255, .1);--code-bar: rgba(255, 255, 255, .05);--code-inline-bg: rgba(122, 162, 247, .16);--code-inline-text: var(--text);--code-inline-border: rgba(255, 255, 255, .12);--card-border: color-mix(in srgb, var(--border-color) 92%, transparent);--card-shadow: 0 1px 0 color-mix(in srgb, rgba(255, 255, 255, .1) 60%, transparent), 0 20px 52px rgba(0, 0, 0, .44);--card-shadow-hover: 0 1px 0 color-mix(in srgb, rgba(255, 255, 255, .12) 60%, transparent), 0 26px 76px rgba(0, 0, 0, .56)}:root[data-theme=light][data-accent=blue]{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-shadow: rgba(37, 99, 235, .18);--primary-2: #06b6d4;--primary-2-hover: #0891b2;--accent-color: var(--primary);--ring: rgba(37, 99, 235, .18);--ring-strong: rgba(37, 99, 235, .28);--hover-bg: rgba(37, 99, 235, .1);--hero-from: rgba(191, 219, 254, .18);--hero-to: rgba(165, 243, 252, .12)}:root[data-theme=light][data-accent=teal]{--primary: #0f766e;--primary-hover: #115e59;--primary-shadow: rgba(15, 118, 110, .18);--primary-2: #22c55e;--primary-2-hover: #16a34a;--accent-color: var(--primary);--ring: rgba(15, 118, 110, .18);--ring-strong: rgba(15, 118, 110, .28);--hover-bg: rgba(15, 118, 110, .1);--hero-from: rgba(153, 246, 228, .18);--hero-to: rgba(187, 247, 208, .12)}:root[data-theme=light][data-accent=violet]{--primary: #7c3aed;--primary-hover: #6d28d9;--primary-shadow: rgba(124, 58, 237, .18);--primary-2: #0ea5e9;--primary-2-hover: #0284c7;--accent-color: var(--primary);--ring: rgba(124, 58, 237, .18);--ring-strong: rgba(124, 58, 237, .28);--hover-bg: rgba(124, 58, 237, .1);--hero-from: rgba(221, 214, 254, .18);--hero-to: rgba(186, 230, 253, .12)}:root[data-theme=light][data-accent=orange]{--primary: #ea580c;--primary-hover: #c2410c;--primary-shadow: rgba(234, 88, 12, .18);--primary-2: #f43f5e;--primary-2-hover: #e11d48;--accent-color: var(--primary);--ring: rgba(234, 88, 12, .18);--ring-strong: rgba(234, 88, 12, .28);--hover-bg: rgba(234, 88, 12, .1);--hero-from: rgba(254, 215, 170, .18);--hero-to: rgba(254, 205, 211, .12)}:root[data-theme=light][data-accent=rose]{--primary: #e11d48;--primary-hover: #be123c;--primary-shadow: rgba(225, 29, 72, .18);--primary-2: #f59e0b;--primary-2-hover: #d97706;--accent-color: var(--primary);--ring: rgba(225, 29, 72, .18);--ring-strong: rgba(225, 29, 72, .28);--hover-bg: rgba(225, 29, 72, .1);--hero-from: rgba(254, 205, 211, .18);--hero-to: rgba(254, 240, 138, .12)}:root[data-theme=light][data-accent=green]{--primary: #16a34a;--primary-hover: #15803d;--primary-shadow: rgba(22, 163, 74, .18);--primary-2: #0d9488;--primary-2-hover: #0f766e;--accent-color: var(--primary);--ring: rgba(22, 163, 74, .18);--ring-strong: rgba(22, 163, 74, .28);--hover-bg: rgba(22, 163, 74, .1);--hero-from: rgba(187, 247, 208, .18);--hero-to: rgba(153, 246, 228, .12)}:root[data-theme=dark][data-accent=teal]{--primary: #5eead4;--primary-hover: #2dd4bf;--primary-shadow: color-mix(in srgb, var(--primary) 28%, transparent);--primary-2: #86efac;--primary-2-hover: #4ade80;--accent-color: var(--primary);--ring: color-mix(in srgb, var(--primary) 36%, transparent);--ring-strong: color-mix(in srgb, var(--primary) 50%, transparent);--hover-bg: color-mix(in srgb, var(--primary) 18%, transparent);--hero-from: color-mix(in srgb, var(--primary) 18%, transparent);--hero-to: color-mix(in srgb, var(--primary-2) 16%, transparent)}:root[data-theme=dark][data-accent=violet]{--primary: #c4b5fd;--primary-hover: #a78bfa;--primary-shadow: color-mix(in srgb, var(--primary) 28%, transparent);--primary-2: #7dcfff;--primary-2-hover: #4fb0d8;--accent-color: var(--primary);--ring: color-mix(in srgb, var(--primary) 36%, transparent);--ring-strong: color-mix(in srgb, var(--primary) 50%, transparent);--hover-bg: color-mix(in srgb, var(--primary) 18%, transparent);--hero-from: color-mix(in srgb, var(--primary) 18%, transparent);--hero-to: color-mix(in srgb, var(--primary-2) 16%, transparent)}:root[data-theme=dark][data-accent=orange]{--primary: #fdba74;--primary-hover: #fb923c;--primary-shadow: color-mix(in srgb, var(--primary) 28%, transparent);--primary-2: #fda4af;--primary-2-hover: #fb7185;--accent-color: var(--primary);--ring: color-mix(in srgb, var(--primary) 36%, transparent);--ring-strong: color-mix(in srgb, var(--primary) 50%, transparent);--hover-bg: color-mix(in srgb, var(--primary) 18%, transparent);--hero-from: color-mix(in srgb, var(--primary) 18%, transparent);--hero-to: color-mix(in srgb, var(--primary-2) 16%, transparent)}:root[data-theme=dark][data-accent=rose]{--primary: #fda4af;--primary-hover: #fb7185;--primary-shadow: color-mix(in srgb, var(--primary) 28%, transparent);--primary-2: #fde68a;--primary-2-hover: #fcd34d;--accent-color: var(--primary);--ring: color-mix(in srgb, var(--primary) 36%, transparent);--ring-strong: color-mix(in srgb, var(--primary) 50%, transparent);--hover-bg: color-mix(in srgb, var(--primary) 18%, transparent);--hero-from: color-mix(in srgb, var(--primary) 18%, transparent);--hero-to: color-mix(in srgb, var(--primary-2) 16%, transparent)}:root[data-theme=dark][data-accent=green]{--primary: #86efac;--primary-hover: #4ade80;--primary-shadow: color-mix(in srgb, var(--primary) 28%, transparent);--primary-2: #5eead4;--primary-2-hover: #2dd4bf;--accent-color: var(--primary);--ring: color-mix(in srgb, var(--primary) 36%, transparent);--ring-strong: color-mix(in srgb, var(--primary) 50%, transparent);--hover-bg: color-mix(in srgb, var(--primary) 18%, transparent);--hero-from: color-mix(in srgb, var(--primary) 18%, transparent);--hero-to: color-mix(in srgb, var(--primary-2) 16%, transparent)}*{margin:0;padding:0;box-sizing:border-box}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{font-family:Inter,PingFang SC,Noto Sans SC,Hiragino Sans GB,Microsoft YaHei,Source Han Sans SC,sans-serif;font-size:15px;line-height:1.65;color:var(--text);background:radial-gradient(circle at top left,color-mix(in srgb,var(--hero-from) 90%,transparent),transparent 34%),radial-gradient(circle at top right,color-mix(in srgb,var(--hero-to) 90%,transparent),transparent 28%),var(--bg-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html[lang^=en] body{letter-spacing:.01em}:where(.app-loading,.page-loading,.loading-state,.loading-text,.search-loading,.preview-loading,.ui-emoji-picker__empty,.loading-inline){position:relative;display:flex!important;align-items:center!important;justify-content:center!important;gap:0!important;color:transparent!important;font-size:0!important;line-height:0!important;text-shadow:none!important;user-select:none}:where(.app-loading,.page-loading,.loading-state,.loading-text,.search-loading,.loading-inline):before,.preview-loading:before,.ui-emoji-picker__empty:before{content:"";width:30px;height:30px;border-radius:999px;border:3px solid color-mix(in srgb,var(--primary) 22%,transparent);border-top-color:var(--primary);border-right-color:color-mix(in srgb,var(--primary-2, var(--primary)) 78%,transparent);animation:global-loading-spin .86s linear infinite}:where(.app-loading,.page-loading,.loading-state,.loading-text,.search-loading){min-height:clamp(90px,18vh,180px)}:where(.preview-loading,.ui-emoji-picker__empty){min-height:64px}.preview-loading:after{content:none!important}.loading-inline{min-height:24px!important}.loading-inline:before{width:18px!important;height:18px!important;border-width:2.5px!important}@keyframes global-loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}::selection{background:#97a9953d}a{color:inherit;text-decoration:none;transition:color .2s}a:hover{color:var(--primary)}button{font-family:inherit;border:none;background:none;cursor:pointer}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:none;box-shadow:0 0 0 4px var(--ring)}:where(input,textarea,select){font-family:inherit;color:var(--text)}img{max-width:100%;height:auto}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-main{display:flex;align-items:flex-start;gap:24px;max-width:none;width:100%;min-width:0}.layout-main-content{flex:1;min-width:0}.container{max-width:min(var(--page-max, 1200px),100vw);max-width:min(var(--page-max, 1200px),100dvw);margin:0 auto;padding:0 clamp(14px,3.2vw,22px);width:100%;min-width:0}.content-card{background:var(--surface-1);border:1px solid var(--card-border, var(--border-color));border-radius:var(--card-radius, var(--radius-md));padding:var(--spacing-lg);box-shadow:var(--card-shadow, 0 1px 0 color-mix(in srgb, var(--border-color) 55%, transparent), 0 16px 40px var(--shadow-soft))}.badge{display:inline-flex;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;border-radius:8px;background:var(--hover-bg);color:var(--primary);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;border-radius:var(--radius-sm);transition:all .2s;cursor:pointer;user-select:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:var(--hover-lift);box-shadow:0 10px 26px var(--primary-shadow);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover);transform:var(--hover-lift);box-shadow:0 10px 26px var(--danger-shadow);color:#fff}.btn-outline{border:1px solid var(--border-color);color:var(--text);background:var(--surface-2, transparent)}.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:var(--hover-bg)}[data-theme=dark] .btn-primary,[data-theme=dark] .btn-primary:hover{color:#0f172a}.text-muted{color:var(--text-muted)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:768px){.container{padding:0 clamp(12px,3.6vw,16px)}.content-card{padding:var(--spacing-md)}.pagination-controls{flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;justify-content:flex-start!important;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:4px 12px;scroll-padding-inline:12px;gap:4px!important;scrollbar-width:none}.pagination-controls::-webkit-scrollbar{display:none}.pagination-controls>*{flex:0 0 auto;white-space:nowrap}.pagination-btn{min-width:34px;padding:6px 10px}}@media(max-width:1024px){.layout-main{flex-direction:column;align-items:stretch}.layout-main-sidebar{width:100%;min-width:0;max-width:none;margin-top:24px}}@media(max-width:480px){.pagination-btn{min-width:32px;padding:6px 8px;font-size:12px;border-radius:8px}}.ui-icon-button{width:36px;height:36px;border-radius:12px;border:1px solid var(--glass-border);color:var(--text);display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease;transform-origin:center}.ui-icon-button:disabled{opacity:.6;cursor:not-allowed}.ui-icon-button--surface{background:var(--bg-secondary)}.ui-icon-button--surface:hover:not(:disabled){border-color:var(--primary);background:var(--hover-bg);transform:rotate(10deg)}.ui-icon-button--surface:active:not(:disabled){transform:rotate(45deg) scale(.98)}@keyframes ui-icon-spin{0%{transform:rotate(0) scale(1)}to{transform:rotate(160deg) scale(.98)}}.ui-icon-button--spin.is-animating{animation:ui-icon-spin .24s ease both}@media(prefers-reduced-motion:reduce){.ui-icon-button{transition:none}.ui-icon-button--spin.is-animating{animation:none}}.ui-dialog-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px 14px;background:#0f172a8f;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:ui-dialog-fade .18s ease both}.ui-dialog{width:100%;max-width:560px;max-height:min(88vh,calc(100dvh - 48px));border-radius:16px;border:1px solid var(--glass-border);background:var(--surface-1, var(--bg-glass));box-shadow:0 24px 90px #00000040;transform-origin:center;animation:ui-dialog-pop .18s ease both;display:flex;flex-direction:column;overflow:hidden}.ui-dialog--sm{max-width:480px}.ui-dialog--md{max-width:620px}.ui-dialog__header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;gap:12px;padding:18px 18px 10px;border-bottom:none;background:var(--surface-1, var(--bg-glass))}.ui-dialog[data-has-body=true] .ui-dialog__header{border-bottom:1px solid var(--glass-border)}.ui-dialog__headerText{flex:1;min-width:0}.ui-dialog__title{font-size:16px;font-weight:800;color:var(--text);line-height:1.3}.ui-dialog__desc{margin-top:6px;font-size:13px;color:var(--text-muted);line-height:1.5;white-space:pre-wrap}.ui-dialog__close{flex-shrink:0}.ui-dialog__body{min-height:0;flex:1 1 auto;padding:14px 18px 0;color:var(--text);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.ui-dialog__input{width:100%;height:40px;padding:0 12px;border-radius:12px;border:1px solid var(--glass-border);background:var(--surface-2, rgba(255, 255, 255, .6));color:var(--text);outline:none;transition:border-color .2s ease,box-shadow .2s ease}[data-theme=dark] .ui-dialog__input{background:#1e293b99}.ui-dialog__input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring)}.ui-dialog__footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 18px 18px;border-top:none;background:#f8fafcb3;border-bottom-left-radius:16px;border-bottom-right-radius:16px}.ui-dialog__footer .btn{min-width:96px}[data-theme=dark] .ui-dialog__footer{background:#0f172a40}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 10px 24px #ef444440}@keyframes ui-dialog-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-dialog-pop{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.ui-dialog-overlay,.ui-dialog{animation:none}}@media(max-width:860px){.ui-dialog-overlay{align-items:flex-start;padding:max(12px,calc(env(safe-area-inset-top) + 8px)) 10px max(12px,calc(env(safe-area-inset-bottom) + 8px))}.ui-dialog{max-height:calc(100dvh - max(24px,calc(env(safe-area-inset-top) + env(safe-area-inset-bottom) + 20px)));border-radius:18px}.ui-dialog__header{padding:16px 16px 10px}.ui-dialog__body{padding:12px 16px 0}.ui-dialog__footer{padding:14px 16px 16px}.ui-dialog__close{width:40px;height:40px;border-radius:14px}}.back-to-top{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));width:44px;height:44px;border-radius:14px;border:1px solid var(--glass-border);background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--text);box-shadow:0 10px 30px var(--shadow-soft);display:inline-flex;align-items:center;justify-content:center;opacity:0;transform:translateY(10px) scale(.96);pointer-events:none;transition:opacity .2s ease,transform .2s ease,border-color .2s ease,background .2s ease;z-index:12050}.back-to-top.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.back-to-top:hover{border-color:var(--primary);background:var(--hover-bg);color:var(--primary)}.back-to-top:active{transform:translateY(1px) scale(.98)}.back-to-top svg{width:20px;height:20px}@media(max-width:768px){.back-to-top{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:40px;height:40px;border-radius:12px}.back-to-top svg{width:18px;height:18px}}.ui-drawer{position:fixed;inset:0;z-index:19000;--ui-drawer-overlay-bg: rgba(2, 6, 23, .72)}.ui-drawer__overlay{position:absolute;inset:0;background:var(--ui-drawer-overlay-bg);z-index:0;opacity:0;transition:opacity .22s ease}.ui-drawer__panel{position:absolute;top:0;left:0;bottom:0;width:min(88vw,360px);background:linear-gradient(180deg,var(--surface-1, var(--bg-body)),var(--bg-body));color:var(--text);z-index:1;border-top-right-radius:18px;border-bottom-right-radius:18px;box-shadow:4px 0 28px var(--shadow-medium);border-right:1px solid var(--glass-border);transform:translate(-120%);transition:transform .24s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;overflow:hidden;will-change:transform}.ui-drawer.is-open .ui-drawer__overlay{opacity:1}.ui-drawer.is-open .ui-drawer__panel{transform:none;will-change:auto}.ui-drawer.is-push.is-open .ui-drawer__overlay{opacity:1}.ui-drawer__header{height:56px;padding:0 14px 0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--glass-border);background:var(--surface-1, var(--bg-body));flex:0 0 auto}.ui-drawer__title{font-size:16px;font-weight:850}.ui-drawer__header-right{display:inline-flex;align-items:center;gap:10px}.ui-drawer__header-actions{display:inline-flex;align-items:center;gap:8px}.ui-drawer__close svg{width:18px;height:18px}@media(prefers-reduced-motion:reduce){.ui-drawer__overlay,.ui-drawer__panel,.ui-icon-button{transition:none}}.ui-drawer__body{flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch;min-height:0;background:var(--surface-1, var(--bg-body))}.ui-drawer__top{flex:0 0 auto;background:var(--surface-1, var(--bg-body));border-bottom:1px solid var(--glass-border);padding:14px 16px}.ui-drawer__footer{flex:0 0 auto;border-top:1px solid var(--glass-border);background:var(--surface-1, var(--bg-body));padding:14px 16px calc(16px + env(safe-area-inset-bottom))}@media(max-width:768px){.ui-drawer.is-push{--ui-drawer-overlay-bg: transparent}.ui-drawer.is-push .ui-drawer__overlay{left:var(--ui-drawer-push-width, min(88vw, 360px));background:transparent}.ui-drawer.is-push .ui-drawer__panel{width:var(--ui-drawer-push-width, min(88vw, 360px));box-shadow:12px 0 32px color-mix(in srgb,var(--shadow-medium) 68%,transparent)}}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;border-bottom:none;box-shadow:none;padding:0;--nav-solid-bg: color-mix(in srgb, var(--surface-1) 78%, transparent);--nav-solid-border: color-mix(in srgb, var(--glass-border) 88%, transparent);--nav-solid-shadow: 0 18px 44px color-mix(in srgb, var(--shadow-soft) 92%, transparent)}html[data-theme=dark] .nav{--nav-solid-bg: color-mix(in srgb, var(--surface-1) 84%, transparent);--nav-solid-border: color-mix(in srgb, rgba(255, 255, 255, .14) 92%, transparent);--nav-solid-shadow: 0 24px 70px rgba(0, 0, 0, .42)}.nav-spacer{height:calc(var(--nav-height) + 1px)}.nav-inner{position:relative;display:flex;align-items:center;justify-content:space-between;width:calc(100% - 28px);max-width:none;margin:10px 14px 0;padding:0 24px;height:var(--nav-height);background:var(--nav-solid-bg);border:1px solid var(--nav-solid-border);border-radius:22px;box-shadow:var(--nav-solid-shadow);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease}.nav.is-scrolled .nav-inner{background:color-mix(in srgb,var(--surface-1) 88%,transparent);box-shadow:0 22px 54px color-mix(in srgb,var(--shadow-medium) 85%,transparent);transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){.nav-inner{transition:none}}.nav-left{display:flex;align-items:center;gap:22px;flex:1;min-width:0}.nav-brand{display:inline-flex;align-items:center;gap:0;min-width:0;color:var(--text)}.nav-brand:hover{color:inherit}.nav-brand-mark{display:none}.nav-brand-mark svg{width:21px;height:21px}.nav-brand-copy{display:flex;flex-direction:column;min-width:0}.nav-brand-title{font-size:18px;font-weight:800;letter-spacing:.08em;color:var(--text);line-height:1.1}.nav-brand-sub{display:none}.nav-links{display:inline-flex;align-items:center;gap:22px;min-width:0;padding:0;border-radius:0;background:transparent;border:none;overflow:visible}.nav-tools{position:relative;display:inline-flex;align-items:center;min-height:44px}.nav-tools:after{content:"";position:absolute;left:-12px;right:-12px;top:100%;height:18px}.nav-tools__trigger{min-height:44px;padding:0;display:inline-flex;align-items:center;gap:6px;color:var(--text-faint, var(--text-muted));font-size:14px;font-weight:700;border:none;background:transparent;transition:color .2s ease;position:relative}.nav-tools__trigger:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;border-radius:999px;background:color-mix(in srgb,var(--primary) 58%,var(--text));transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.nav-tools__trigger svg{width:14px;height:14px;transition:transform .2s ease}.nav-tools:hover .nav-tools__trigger,.nav-tools.is-open .nav-tools__trigger,.nav-tools.is-route-active .nav-tools__trigger{color:var(--text)}.nav-tools:hover .nav-tools__trigger:after,.nav-tools.is-open .nav-tools__trigger:after,.nav-tools.is-route-active .nav-tools__trigger:after{transform:scaleX(1)}.nav-tools:hover .nav-tools__trigger svg,.nav-tools.is-open .nav-tools__trigger svg{transform:rotate(180deg)}.nav-tools__panel{position:absolute;top:calc(100% + 8px);left:50%;min-width:320px;padding:10px;border-radius:20px;border:1px solid color-mix(in srgb,var(--glass-border) 96%,transparent);background:var(--surface-1);box-shadow:0 18px 42px color-mix(in srgb,var(--shadow-medium) 88%,transparent);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:26;isolation:isolate}.nav-tools:hover .nav-tools__panel,.nav-tools.is-open .nav-tools__panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)}.nav-tools__item{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:14px;border-radius:16px;color:var(--text);transition:background .18s ease,color .18s ease,transform .18s ease}.nav-tools__item:hover,.nav-tools__item.is-active{background:color-mix(in srgb,var(--hover-bg) 72%,transparent);color:var(--primary);transform:translateY(-1px)}.nav-tools__item-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.nav-tools__item-copy strong{font-size:14px;font-weight:800}.nav-tools__item-copy span{color:var(--text-muted);font-size:12px;line-height:1.55}.nav-tools__item-arrow{width:16px;height:16px;flex:0 0 auto}.nav-left-switch{position:relative;min-width:0;height:44px;display:block;overflow:visible;flex:1;isolation:isolate;contain:layout}.nav-left-switch>.nav-links,.nav-compact-title{position:absolute;inset:0;display:flex;align-items:center;min-width:0;width:100%;max-width:100%}.nav-left-switch .nav-links{transition:transform .22s ease,opacity .22s ease;will-change:transform,opacity;z-index:1}.nav-compact-title{opacity:0;transform:translateY(10px);pointer-events:none;transition:transform .22s ease,opacity .22s ease;will-change:transform,opacity;overflow:hidden;z-index:2}.nav-left-switch:not(.is-compact) .nav-compact-title{visibility:hidden}.nav-left-switch.is-compact .nav-links{visibility:hidden}.nav-left-switch.is-compact .nav-links{opacity:0;transform:translateY(-10px);pointer-events:none}.nav-left-switch.is-compact .nav-compact-title{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.nav-links a{min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--text-faint, var(--text-muted));border-radius:0;transition:color .2s ease;position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;border-radius:999px;background:color-mix(in srgb,var(--primary) 58%,var(--text));transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.nav-links a:hover,.nav-links a.active{color:var(--text);background:transparent}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.nav-right{display:flex;align-items:center;gap:16px;flex-shrink:1;min-width:0;position:relative;z-index:2}.nav-search-desktop{--search-collapsed-width: 222px;--search-expanded-width: 340px;display:flex;align-items:center;flex:0 0 var(--search-collapsed-width);width:var(--search-collapsed-width);height:42px;min-width:0;position:relative;overflow:visible;z-index:8}.nav-search-field{position:absolute;right:0;top:0;display:flex;align-items:center;gap:10px;width:var(--search-collapsed-width);max-width:min(var(--search-expanded-width),calc(100vw - 280px));min-height:40px;padding:0 14px;background:color-mix(in srgb,var(--surface-1) 72%,transparent);border:1px solid color-mix(in srgb,var(--glass-border) 92%,var(--border-color));border-radius:999px;box-shadow:inset 0 1px color-mix(in srgb,#fff 70%,transparent),0 10px 24px color-mix(in srgb,var(--shadow-soft) 78%,transparent);backdrop-filter:blur(10px) saturate(145%);-webkit-backdrop-filter:blur(10px) saturate(145%);transform-origin:right center;transition:width .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1),border-color .2s ease,box-shadow .2s ease,background .2s ease}.nav-search-desktop.is-expanded{z-index:18}.nav-search-desktop.is-expanded .nav-search-field{width:var(--search-expanded-width);transform:translate(2px) scale(1.01)}.nav-search-field:focus-within{background:color-mix(in srgb,var(--surface-1) 88%,transparent);border-color:color-mix(in srgb,var(--primary) 65%,var(--border-color));box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 78%,transparent),0 14px 30px color-mix(in srgb,var(--primary-shadow) 36%,transparent)}.nav-search-ico{width:16px;height:16px;color:var(--text-muted);flex-shrink:0;transition:color .2s ease,transform .3s cubic-bezier(.22,1,.36,1)}.nav-search-desktop.is-expanded .nav-search-ico{color:var(--primary);transform:translate(1px) scale(1.05)}.nav-search-input{border:none;background:none;outline:none;width:100%;min-width:0;font-size:13px;color:var(--text)}.nav-search-input::placeholder{color:var(--text-muted)}.nav-search-field .nav-search-input:focus-visible{box-shadow:none}.nav-control-btn,.nav-notification-btn,.nav-toggle{width:auto;height:40px;padding:0;border-radius:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);border:none;background:transparent;transition:color .2s ease,opacity .2s ease}.nav-control-btn svg,.nav-notification-btn svg{width:18px;height:18px}.nav-control-btn:hover,.nav-notification-btn:hover,.nav-toggle:hover{color:var(--text);box-shadow:none;transform:none}.nav-control-btn--lang{width:auto;min-width:0;padding:0}.nav-control-btn--lang span{font-size:12px;font-weight:800;letter-spacing:.08em}.nav-notification-btn{position:relative;text-decoration:none}.notification-badge{position:absolute;top:0;right:0;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:800;color:#fff;background:#ef4444;border-radius:999px;display:flex;align-items:center;justify-content:center;transform:translate(25%,-25%);box-shadow:0 8px 20px #ef444459}.nav-user-dropdown{position:relative}.nav-avatar{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;overflow:hidden;border:1px solid var(--border-color);transition:all .2s;background:transparent}.nav-avatar:hover{border-color:color-mix(in srgb,var(--primary) 48%,var(--border-color));box-shadow:none}.nav-avatar img{width:100%;height:100%;object-fit:cover}.user-hover-card{position:absolute;top:calc(100% + 12px);right:0;width:292px;background:var(--surface-1);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--border-color);border-radius:18px;padding:16px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s;box-shadow:0 18px 42px var(--shadow-soft)}.nav-user-dropdown:not(.is-hover-disabled):hover .user-hover-card{opacity:1;visibility:visible;transform:translateY(0)}.nav-user-dropdown.is-hover-disabled .user-hover-card{display:none}.hover-card-user{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color);margin-bottom:12px}.hover-card-avatar{width:48px;height:48px;border-radius:16px;object-fit:cover}.hover-card-info{display:flex;flex-direction:column;gap:4px}.hover-card-info .name{font-size:15px;font-weight:700;color:var(--text)}.hover-card-info .email{font-size:12px;color:var(--text-muted)}.hover-card-actions{display:flex;flex-direction:column;gap:4px}.hover-card-btn{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;color:var(--text);border-radius:12px;transition:all .2s}.hover-card-btn:hover{background:var(--hover-bg-soft);color:var(--primary)}.hover-card-btn.btn-logout{color:#dc3545}.hover-card-btn.btn-logout:hover{background:#dc354514;color:#dc3545}.nav-auth-group{display:flex;align-items:center;gap:18px}.nav-btn-login,.nav-btn-register{min-height:40px;padding:0;font-size:14px;font-weight:600;border-radius:0;transition:color .2s ease;display:inline-flex;align-items:center;justify-content:center}.nav-btn-login{color:var(--text);border:none;background:transparent}.nav-btn-login:hover{color:var(--primary)}.nav-btn-register{color:var(--text);background:transparent}.nav-btn-register:hover{color:var(--primary);transform:none}.nav-btn-register:focus-visible,.nav-btn-register:active{color:var(--primary)}.nav-mobile-actions{display:none;align-items:center;gap:8px}.drawer-top{width:100%}.drawer-top-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:22px;border:1px solid var(--border-color);background:var(--surface-1)}.drawer-top-card--auth{flex-direction:column;align-items:stretch;gap:10px}.drawer-account{display:inline-flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.drawer-account-avatar{width:42px;height:42px;border-radius:16px;overflow:hidden;border:1px solid var(--border-color);background:var(--bg-secondary);flex:0 0 auto}.drawer-account-avatar img{width:100%;height:100%;object-fit:cover}.drawer-account-info{display:flex;flex-direction:column;gap:2px;min-width:0}.drawer-account-name{font-size:14px;font-weight:800;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-account-sub{font-size:12px;font-weight:700;color:var(--text-muted)}.drawer-top-bell{position:relative;width:40px;height:40px;border-radius:16px;border:1px solid var(--border-color);background:transparent;color:var(--text);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;transition:background .2s ease,border-color .2s ease,transform .2s ease}.drawer-top-bell:hover{background:var(--hover-bg);border-color:color-mix(in srgb,var(--primary) 24%,var(--border-color))}.drawer-top-bell:active{transform:scale(.98)}.drawer-top-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:850;color:#fff;background:#ef4444;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 14px #ef444447}.drawer-auth-head{display:flex;flex-direction:column;gap:4px}.drawer-auth-title{font-size:15px;font-weight:900;color:var(--text)}.drawer-auth-sub{font-size:12px;color:var(--text-muted);line-height:1.6}.drawer-search-wrapper{padding:0 16px 12px}.drawer-search-field{display:flex;align-items:center;gap:8px;min-height:46px;padding:0 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;transition:border-color .2s ease,box-shadow .2s ease}.drawer-search-field:focus-within{border-color:color-mix(in srgb,var(--primary) 45%,var(--border-color));box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 72%,transparent)}.ui-drawer__panel .nav-search-input{width:100%}.ui-drawer__panel .nav-search-input:focus-visible{box-shadow:none}.drawer-section-title{padding:10px 16px 8px;font-size:11px;font-weight:900;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.drawer-menu{display:flex;flex-direction:column;gap:2px;margin:0 16px 12px;padding:6px;border-radius:18px;border:1px solid var(--border-color);background:var(--surface-1)}.drawer-menu__item{width:100%;padding:12px;font-size:14px;font-weight:780;color:var(--text);border-radius:14px;border:1px solid transparent;background:transparent;transition:background .2s ease,border-color .2s ease,color .2s ease;display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none}.drawer-menu__item:hover{color:var(--primary);background:var(--hover-bg-soft);border-color:color-mix(in srgb,var(--primary) 20%,transparent)}.drawer-menu__item.is-active{color:var(--primary);background:var(--hover-bg);border-color:color-mix(in srgb,var(--primary) 26%,transparent)}.drawer-menu__left{display:inline-flex;align-items:center;gap:10px;min-width:0}.drawer-menu__right{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.drawer-menu__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-menu__icon,.drawer-menu__themeIcon svg{width:18px;height:18px;color:var(--text-muted);flex:0 0 auto}.drawer-menu__themeIcon,.drawer-menu__langBadge{width:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.drawer-menu__langBadge{font-size:11px;font-weight:900;letter-spacing:.08em}.drawer-menu__value{font-size:12px;font-weight:800;color:var(--text-muted)}.drawer-menu__chev{width:18px;height:18px;opacity:.65}.btn-logout-drawer{height:44px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:16px;background:#dc354514;border:1px solid rgba(220,53,69,.12);color:#dc3545}.btn-logout-text{font-size:13px;font-weight:800}.drawer-auth{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.drawer-auth .nav-btn-login,.drawer-auth .nav-btn-register{width:100%;justify-content:center;min-height:42px;padding:0 14px;border-radius:999px;border:1px solid var(--border-color);background:var(--surface-2)}.drawer-auth .nav-btn-login{background:var(--bg-secondary)}.drawer-auth .nav-btn-register{background:color-mix(in srgb,var(--primary) 12%,var(--surface-1))}@media(max-width:1280px){.nav-inner{width:calc(100% - 24px);margin:0 12px;padding:0 18px}.nav-left{gap:16px}.nav-links a{padding:0 12px}.nav-search-input{width:100%}}@media(max-width:1180px){.nav-search-desktop{display:none}.nav-left{gap:12px}.nav-links a{padding:0 10px;font-size:12px}}@media(max-width:768px){.nav-spacer{height:57px}.nav-inner{width:100%;margin:0;height:56px;padding:0 12px;border-radius:0}.nav-left{gap:10px}.nav-brand-mark{display:none}.nav-brand-title{font-size:15px}.nav-brand-sub{font-size:10px}.nav-control-btn,.nav-toggle,.nav-notification-btn{width:auto;height:36px;border-radius:0}.nav-right{gap:8px}.nav-links,.nav-tools,.nav-search-desktop,.nav-notification-btn,.nav-user-dropdown,.nav-mobile-actions #themeToggleMobile,.pc-only{display:none!important}.mobile-only{display:flex!important}.nav-mobile-actions{display:flex}}@media(max-width:420px){.nav-brand-sub{display:none}}@media(max-width:380px){.nav-brand-copy{display:none}}.footer{margin-top:72px;padding:0 0 34px;background:transparent}.footer-container{max-width:1200px;margin:0 auto;padding:22px 18px 0;border-top:1px solid color-mix(in srgb,var(--primary) 10%,var(--border-color))}.footer-links{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}.footer-links a{min-height:34px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:700;color:var(--text-muted);border:1px solid transparent;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.footer-links a:hover{color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);border-color:color-mix(in srgb,var(--primary) 12%,transparent)}.footer-copyright{text-align:center;font-size:12px;color:var(--text-muted);letter-spacing:.01em}.site-campaign-banner{position:fixed;top:calc(var(--nav-height, 60px) + 12px);left:50%;transform:translate(-50%);width:min(1100px,calc(100vw - 24px));z-index:12020;border-radius:18px;border:1px solid rgba(255,255,255,.56);box-shadow:0 22px 44px #0f172a29;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.site-campaign-banner__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px}.site-campaign-banner__main{display:flex;align-items:flex-start;gap:14px;min-width:0;flex:1}.site-campaign-banner__badge,.ann-badge{display:inline-flex;align-items:center;flex-shrink:0;min-height:30px;padding:0 12px;border-radius:999px;background:#ffffffad;color:#334155;font-size:12px;font-weight:800;letter-spacing:.04em;white-space:nowrap}.site-campaign-banner__text{min-width:0}.site-campaign-banner__text strong{display:block;font-size:15px;font-weight:800;color:var(--text, #0f172a)}.site-campaign-banner__text p{margin:4px 0 0;font-size:13px;line-height:1.55;color:#0f172acc}.site-campaign-banner__actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.site-campaign-banner__btn,.site-campaign-banner__close,.ann-btn{border-radius:12px;border:1px solid rgba(255,255,255,.58);text-decoration:none;font-weight:800}.site-campaign-banner__btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;background:#ffffffc7;color:#0f172a}.site-campaign-banner__close{width:40px;height:40px;background:#ffffff80;color:#334155;cursor:pointer}.ann-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a73;z-index:12030}.ann-dialog{width:min(560px,100%);max-height:min(80vh,760px);overflow:auto;border-radius:24px;border:1px solid rgba(255,255,255,.56);background:#ffffffeb;box-shadow:0 26px 60px #0f172a3d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.ann-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 22px 0}.ann-title{margin:12px 0 0;font-size:28px;line-height:1.15;font-weight:900;letter-spacing:-.04em;color:#0f172a}.ann-close-x{width:40px;height:40px;border:1px solid rgba(255,255,255,.58);border-radius:12px;background:#ffffff80;color:#334155;cursor:pointer;flex:0 0 auto}.ann-body{padding:18px 22px 0;color:#334155;font-size:15px;line-height:1.8}.ann-body :first-child{margin-top:0}.ann-body :last-child{margin-bottom:0}.ann-footer{display:flex;justify-content:flex-end;gap:12px;padding:22px}.ann-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;font-size:14px}.ann-btn-outline{background:#ffffffc7;color:#0f172a}.ann-btn-primary{background:linear-gradient(135deg,#0f172aeb,#1e293be0);border-color:#0f172a38;color:#fff;cursor:pointer}.is-theme-default{background:linear-gradient(135deg,#fafafceb,#f0f4f8eb),linear-gradient(180deg,rgba(255,255,255,.12),transparent)}.is-theme-festival-red{background:radial-gradient(circle at 16% 18%,rgba(255,221,187,.55),transparent 34%),linear-gradient(135deg,#a71c2bf0,#dd4124e6)}.is-theme-gold{background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.42),transparent 34%),linear-gradient(135deg,#c69126f5,#f8cd64e0)}.is-theme-warm{background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.3),transparent 32%),linear-gradient(135deg,#ff9966f0,#ffd699e0)}.is-theme-neutral{background:radial-gradient(circle at 18% 20%,rgba(255,255,255,.26),transparent 34%),linear-gradient(135deg,#475569f0,#94a3b8d6)}.is-theme-festival-red .site-campaign-banner__text strong,.is-theme-festival-red .site-campaign-banner__text p,.is-theme-festival-red .ann-title,.is-theme-festival-red .ann-body,.is-theme-gold .site-campaign-banner__text strong,.is-theme-gold .site-campaign-banner__text p,.is-theme-gold .ann-title,.is-theme-gold .ann-body,.is-theme-warm .site-campaign-banner__text strong,.is-theme-warm .site-campaign-banner__text p,.is-theme-warm .ann-title,.is-theme-warm .ann-body,.is-theme-neutral .site-campaign-banner__text strong,.is-theme-neutral .site-campaign-banner__text p,.is-theme-neutral .ann-title,.is-theme-neutral .ann-body{color:#fff}.is-theme-festival-red .site-campaign-banner__btn,.is-theme-gold .site-campaign-banner__btn,.is-theme-warm .site-campaign-banner__btn,.is-theme-neutral .site-campaign-banner__btn,.is-theme-festival-red .site-campaign-banner__close,.is-theme-gold .site-campaign-banner__close,.is-theme-warm .site-campaign-banner__close,.is-theme-neutral .site-campaign-banner__close,.is-theme-festival-red .ann-btn-outline,.is-theme-gold .ann-btn-outline,.is-theme-warm .ann-btn-outline,.is-theme-neutral .ann-btn-outline,.is-theme-festival-red .ann-close-x,.is-theme-gold .ann-close-x,.is-theme-warm .ann-close-x,.is-theme-neutral .ann-close-x,.is-theme-festival-red .site-campaign-banner__badge,.is-theme-gold .site-campaign-banner__badge,.is-theme-warm .site-campaign-banner__badge,.is-theme-neutral .site-campaign-banner__badge,.is-theme-festival-red .ann-badge,.is-theme-gold .ann-badge,.is-theme-warm .ann-badge,.is-theme-neutral .ann-badge{color:#0f172a}@media(max-width:768px){.site-campaign-banner{top:calc(var(--nav-height, 60px) + 8px);width:calc(100vw - 16px)}.site-campaign-banner__inner{flex-direction:column;align-items:stretch;gap:12px;padding:14px}.site-campaign-banner__main{gap:10px;align-items:flex-start}.site-campaign-banner__badge{min-height:28px;padding:0 10px}.site-campaign-banner__actions{justify-content:flex-end}.ann-modal{padding:14px}.ann-dialog{border-radius:20px}.ann-title{font-size:24px}.ann-footer{flex-direction:column-reverse}.ann-btn{width:100%}}.ui-loading-indicator{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.ui-loading-indicator.is-fullscreen{min-height:100vh}.ui-loading-indicator.is-inline{width:auto;min-height:0}.ui-loading-indicator__dot{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--primary-2, var(--primary)));box-shadow:0 6px 14px color-mix(in srgb,var(--primary) 36%,transparent);animation:ui-loading-bounce .9s ease-in-out infinite}.ui-loading-indicator__dot:nth-child(2){animation-delay:.12s}.ui-loading-indicator__dot:nth-child(3){animation-delay:.24s}.ui-loading-indicator.is-sm .ui-loading-indicator__dot{width:8px;height:8px}.ui-loading-indicator.is-lg .ui-loading-indicator__dot{width:12px;height:12px}@keyframes ui-loading-bounce{0%,80%,to{transform:translateY(0) scale(.88);opacity:.45}40%{transform:translateY(-6px) scale(1);opacity:1}}#root{width:100%;min-height:100vh;max-width:none;margin:0;padding:0;text-align:initial}@media(max-width:768px){#root{transition:transform .24s cubic-bezier(.22,1,.36,1)}body.ui-drawer-push-open #root{will-change:transform;transform:translate(var(--ui-drawer-push-width, min(88vw, 360px)))}}.app-route-loading{min-height:240px;display:grid;place-items:center}.app-route-shell{width:min(1160px,calc(100vw - 24px));margin:24px auto 40px;display:grid;gap:18px}.app-route-shell__hero,.app-route-shell__card{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(180deg,#fffffffa,#f5f8fcfa);border:1px solid rgba(24,51,77,.08);box-shadow:0 18px 40px #11273c14}.app-route-shell__hero{min-height:180px}.app-route-shell__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.app-route-shell__card{min-height:220px}.app-route-shell__card.is-wide{grid-column:1 / -1;min-height:320px}.app-route-shell__hero:after,.app-route-shell__card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);transform:translate(-100%);animation:app-route-shell-shimmer 1.5s infinite}@keyframes app-route-shell-shimmer{to{transform:translate(100%)}}@media(max-width:640px){.app-route-shell{width:min(calc(100vw - 10px),100%);margin-top:12px}.app-route-shell__hero{min-height:140px;border-radius:20px}.app-route-shell__grid{grid-template-columns:1fr;gap:12px}.app-route-shell__card,.app-route-shell__card.is-wide{min-height:160px;border-radius:20px}}
