@charset "UTF-8";.confirm-modal-overlay{position:fixed;inset:0;background:var(--std-modal-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:99999!important;animation:std-modal-fadeIn var(--std-modal-overlay-duration) ease-out}.confirm-modal-content{background:var(--card-bg, #fff);border-radius:var(--std-modal-radius);box-shadow:var(--std-modal-shadow);max-width:440px;width:calc(100% - 40px);animation:std-modal-slideUp var(--std-modal-content-duration) ease-out;transition:background-color .2s ease,box-shadow .2s ease}.dark .confirm-modal-content{background:var(--card-bg);box-shadow:var(--std-modal-shadow)}.confirm-modal-header{padding:24px 20px 16px;text-align:center}.confirm-modal-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.confirm-modal-icon-danger{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.confirm-modal-icon-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.confirm-modal-icon-primary{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:var(--accent-hover)}.confirm-modal-title{font-size:var(--std-modal-title-size);font-weight:var(--std-modal-title-weight);color:var(--text-primary, #111827);margin:0}.dark .confirm-modal-title{color:var(--text-primary)}.confirm-modal-body{padding:0 var(--std-modal-body-padding) 16px;text-align:center}.confirm-modal-message{font-size:15px;color:var(--text-secondary, #6b7280);line-height:1.6;margin:0;transition:color .3s ease}.dark .confirm-modal-message{color:var(--text-secondary)}.confirm-modal-footer{display:flex;gap:var(--std-modal-footer-gap);padding:var(--std-modal-footer-padding);border-top:var(--std-modal-header-border)}.dark .confirm-modal-footer{border-color:var(--border-color)}.confirm-modal-button{flex:1;padding:var(--std-modal-btn-padding);border-radius:var(--std-modal-btn-radius);font-size:var(--std-modal-btn-font-size);font-weight:var(--std-modal-btn-font-weight);cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease;border:none;outline:none}.confirm-modal-button-cancel{background:var(--bg-tertiary, #f3f4f6);color:var(--text-primary, #4b5563);transition:background-color .2s ease,color .2s ease}.confirm-modal-button-cancel:hover{background:var(--bg-tertiary, #e5e7eb);color:var(--text-primary)}.dark .confirm-modal-button-cancel,.dark .confirm-modal-button-cancel:hover{background:var(--bg-tertiary);color:var(--text-primary)}.confirm-modal-button-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #ef44444d}.confirm-modal-button-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 6px 16px #ef444466}.confirm-modal-button-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 12px #f59e0b4d}.confirm-modal-button-warning:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 6px 16px #f59e0b66}.confirm-modal-button-primary{background:var(--lssd-btn-primary);color:var(--lssd-text-inverse);box-shadow:var(--lssd-shadow-sm)}.confirm-modal-button-primary:hover{background:var(--lssd-btn-primary-hover);transform:translateY(-1px);box-shadow:var(--lssd-shadow-md)}@media(max-width:768px){.confirm-modal-content{width:calc(100% - 32px)}.confirm-modal-header{padding:24px 24px 16px}.confirm-modal-body{padding:0 24px 16px}.confirm-modal-footer{padding:16px 24px 24px;flex-direction:column-reverse}.confirm-modal-button{width:100%}}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{pointer-events:all;display:flex;align-items:center;gap:12px;padding:16px 20px;background-color:var(--card-bg, white);border-radius:8px;border-left:4px solid;box-shadow:0 4px 12px var(--shadow, rgba(0, 0, 0, .15));min-width:300px;max-width:500px;animation:slideIn .3s ease-out;transition:background-color .3s ease,box-shadow .3s ease}.dark .toast{background-color:var(--card-bg);box-shadow:0 4px 12px var(--shadow)}.toast-message{flex:1;font-size:14px;color:var(--text-primary, #1f2937);font-weight:500;transition:color .3s ease}.dark .toast-message{color:var(--text-primary)}.toast-close{background:none;border:none;font-size:24px;cursor:pointer;padding:0;line-height:1;opacity:.7;transition:opacity .2s;font-weight:300}.toast-close:hover{opacity:1}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.scroll-to-top-btn{position:fixed;bottom:calc(88px + env(safe-area-inset-bottom,0px));right:calc(20px + env(safe-area-inset-right,0px));z-index:1200;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid var(--lssd-border-light, rgba(15, 23, 42, .12));border-radius:12px;background:var(--lssd-brand-charcoal, #12151a);color:#f8fafc;cursor:pointer;box-shadow:0 4px 16px #00000038;transition:transform .2s,box-shadow .2s,opacity .3s,background .2s;animation:scroll-to-top-fade-in .3s ease-out}.scroll-to-top-btn:hover{transform:translateY(-2px);background:var(--lssd-text-primary, #1e293b);box-shadow:0 6px 20px #0000004d;border-color:#e8b93159}.scroll-to-top-btn:active{transform:translateY(0)}.dark .scroll-to-top-btn{background:#1c1f26;color:#f1f5f9;border-color:#ffffff1f;box-shadow:0 4px 16px #00000080}.dark .scroll-to-top-btn:hover{background:#2a2f3a;border-color:#e8b9314d;box-shadow:0 6px 22px #0000008c}.scroll-to-top-btn--flush{bottom:calc(24px + env(safe-area-inset-bottom,0px))}@keyframes scroll-to-top-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.error-boundary-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.error-boundary-content{max-width:600px;width:100%;background:var(--card-bg, white);border-radius:16px;padding:48px;text-align:center;box-shadow:0 20px 60px var(--shadow, rgba(0, 0, 0, .3));transition:background-color .3s ease,box-shadow .3s ease}.dark .error-boundary-content{background:var(--card-bg);box-shadow:0 20px 60px var(--shadow)}.error-boundary-icon{color:#ef4444;margin-bottom:24px;animation:shake .5s}.error-boundary-title{font-size:32px;font-weight:700;color:var(--text-primary, #1f2937);margin-bottom:16px;transition:color .3s ease}.error-boundary-message{font-size:16px;color:var(--text-secondary, #6b7280);margin-bottom:32px;line-height:1.6;transition:color .3s ease}.dark .error-boundary-title{color:var(--text-primary)}.dark .error-boundary-message{color:var(--text-secondary)}.error-boundary-details{text-align:left;background:var(--bg-tertiary, #f9fafb);border:1px solid var(--border-color, #e5e7eb);border-radius:8px;padding:16px;margin-bottom:32px;transition:background-color .3s ease,border-color .3s ease}.error-boundary-details summary{cursor:pointer;font-weight:600;color:var(--text-primary, #374151);margin-bottom:12px;transition:color .3s ease}.error-boundary-stack{font-size:12px;color:var(--text-secondary, #4b5563);transition:color .3s ease}.dark .error-boundary-details{background:var(--bg-tertiary);border-color:var(--border-color)}.dark .error-boundary-details summary{color:var(--text-primary)}.dark .error-boundary-stack{color:var(--text-secondary)}.error-boundary-stack pre{background:#1f2937;color:#f3f4f6;padding:12px;border-radius:6px;overflow-x:auto;margin-top:8px;font-family:Courier New,monospace;font-size:11px;line-height:1.4}.error-boundary-actions{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.error-boundary-button{display:inline-flex!important;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #667eea66}.error-boundary-button svg{flex-shrink:0;display:block;width:18px;height:18px}.error-boundary-button span{display:inline-block}.error-boundary-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea80}.error-boundary-button-secondary{background:#6b7280;box-shadow:0 4px 12px #6b72804d}.error-boundary-button-secondary:hover{background:#4b5563;box-shadow:0 6px 16px #6b728066}.error-boundary-footer{padding-top:24px;border-top:1px solid var(--border-color, #e5e7eb);transition:border-color .3s ease}.error-boundary-footer p{font-size:14px;color:var(--text-tertiary, #9ca3af);margin:0;transition:color .3s ease}.dark .error-boundary-footer{border-color:var(--border-color)}.dark .error-boundary-footer p{color:var(--text-tertiary)}@media(max-width:768px){.error-boundary-content{padding:32px 24px}.error-boundary-title{font-size:24px}.error-boundary-actions{flex-direction:column}.error-boundary-button{width:100%;justify-content:center}}.sidebar-wrapper{--sidebar-w: 276px;--sidebar-pad-x: 12px;--sidebar-section-gap: 12px;--sidebar-item-radius: 9px;--sidebar-title-size: 10px;--sidebar-label-size: 13.5px;--sidebar-gold: var(--lssd-brand-gold, #e8b931);--sidebar-gold-deep: var(--lssd-brand-gold-deep, #9a7312);--sidebar-charcoal: var(--lssd-brand-charcoal, #12151a);--sidebar-surface: #f4f6fa;--sidebar-surface-2: #e8ecf3;--sidebar-border: #c5cbd6;--sidebar-text: #0f1419;--sidebar-text-muted: #4b5563;--sidebar-text-subtle: #6b7280;--sidebar-hover: rgba(18, 21, 26, .07);--sidebar-active-bg: rgba(232, 185, 49, .16);--sidebar-accent: var(--sidebar-gold-deep);--sidebar-icon-chip: rgba(18, 21, 26, .06);--sidebar-shadow: 4px 0 24px rgba(18, 21, 26, .06);position:relative;z-index:50;width:var(--sidebar-w);flex-shrink:0;align-self:stretch;min-height:100%;overflow:hidden;box-sizing:border-box;background:linear-gradient(180deg,#f7f8fc 0%,var(--sidebar-surface) 42%,var(--sidebar-surface-2) 100%);border-right:1px solid var(--sidebar-border);color:var(--sidebar-text);box-shadow:var(--sidebar-shadow)}.dark .sidebar-wrapper{--sidebar-surface: #12151c;--sidebar-surface-2: #0c0e13;--sidebar-border: rgba(255, 255, 255, .1);--sidebar-text: #f3f4f6;--sidebar-text-muted: #c4cad4;--sidebar-text-subtle: #8b93a1;--sidebar-hover: rgba(255, 255, 255, .07);--sidebar-active-bg: rgba(232, 185, 49, .18);--sidebar-accent: var(--sidebar-gold);--sidebar-icon-chip: rgba(255, 255, 255, .06);--sidebar-shadow: 6px 0 28px rgba(0, 0, 0, .35);background:linear-gradient(180deg,#171b24 0%,var(--sidebar-surface) 48%,var(--sidebar-surface-2) 100%)}.dark .sidebar-wrapper:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(90% 50% at 50% 100%,rgba(232,185,49,.07) 0%,transparent 55%),linear-gradient(180deg,transparent 40%,rgba(0,0,0,.35) 100%);opacity:1}.sidebar-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:0;width:2px;pointer-events:none;z-index:2;background:linear-gradient(180deg,transparent 0%,rgba(232,185,49,.55) 18%,rgba(232,185,49,.28) 50%,rgba(232,185,49,.55) 82%,transparent 100%);opacity:.85}.dark .sidebar-wrapper:after{opacity:1}.sidebar{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;min-height:100%;background:transparent}.sidebar-brand{position:relative;padding:16px 14px 14px;border-bottom:1px solid var(--sidebar-border);background:linear-gradient(135deg,rgba(18,21,26,.04) 0%,transparent 55%),#ffffffb8}.dark .sidebar-brand{background:linear-gradient(135deg,rgba(232,185,49,.08) 0%,transparent 60%),#00000061;border-bottom-color:#e8b9312e}.sidebar-brand:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--sidebar-gold) 0%,transparent 88%);opacity:.9}.sidebar-brand-row{display:flex;align-items:center;gap:12px}.sidebar-brand-seal{width:40px;height:40px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.18))}.dark .sidebar-brand-seal{filter:drop-shadow(0 2px 8px rgba(232,185,49,.22))}.sidebar-brand-copy{min-width:0;flex:1}.sidebar-brand-kicker{margin:0 0 2px;font-size:9.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sidebar-accent)}.sidebar-brand-title{margin:0;font-size:15px;font-weight:800;letter-spacing:.02em;color:var(--sidebar-text);line-height:1.2}.sidebar-brand-sub{margin:4px 0 0;font-size:11px;font-style:italic;color:var(--sidebar-text-muted)}.sidebar-nav,.sidebar-nav.sidebar-nav-scroll{display:block;padding:14px 0 24px;overflow:visible;flex:1}.sidebar-section{margin:0 var(--sidebar-pad-x) var(--sidebar-section-gap);padding:0;border:none;background:transparent;box-shadow:none}.sidebar-section+.sidebar-section{border-top:1px solid var(--sidebar-border);margin-top:4px;padding-top:12px}.sidebar-section-title{margin:0 0 6px;padding:0;-webkit-user-select:none;user-select:none}.sidebar-section-title-inner{display:flex;align-items:center;gap:8px;padding:2px 8px 4px}.sidebar-section-title-text{font-size:var(--sidebar-title-size);font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--sidebar-text-muted);line-height:1.3;flex:1;min-width:0}.dark .sidebar-section-title-text{color:#aeb6c3}.sidebar-section-icon{flex-shrink:0;color:var(--sidebar-accent);opacity:1}.sidebar-section-items{display:flex;flex-direction:column;gap:3px;padding:0}.sidebar-item{display:flex;align-items:center;gap:10px;padding:9px 10px;color:var(--sidebar-text);text-decoration:none;transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease;font-weight:600;font-size:var(--sidebar-label-size);line-height:1.35;margin:0;border-radius:var(--sidebar-item-radius);border:1px solid transparent;background:transparent}.sidebar-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text);border-color:#12151a0f;transform:translate(2px)}.dark .sidebar-item:hover{border-color:#ffffff14}.sidebar-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-text);font-weight:700;border-color:#e8b93159;box-shadow:inset 3px 0 0 0 var(--sidebar-gold),0 1px #ffffff59}.dark .sidebar-item.active{box-shadow:inset 3px 0 0 0 var(--sidebar-gold),0 0 0 1px #e8b9311f}.sidebar-item.active .sidebar-label{color:var(--sidebar-text)}.sidebar-item.active .sidebar-icon-wrap{background:#e8b93138;color:var(--sidebar-accent)}.sidebar-item.active .sidebar-icon{color:var(--sidebar-accent)}.sidebar-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;flex-shrink:0;background:var(--sidebar-icon-chip);color:var(--sidebar-text-subtle);transition:background .15s ease,color .15s ease}.sidebar-item:hover .sidebar-icon-wrap{background:#e8b9312e;color:var(--sidebar-accent)}.sidebar-icon{flex-shrink:0;color:inherit;transition:color .12s ease}.sidebar-item:focus-visible{outline:2px solid var(--sidebar-gold);outline-offset:1px}.sidebar-label{flex:1;font-size:inherit;line-height:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item-disabled{opacity:.42;cursor:not-allowed;pointer-events:none}.sidebar-online{display:flex;align-items:center;gap:9px;padding:8px 10px;font-size:12px;color:var(--sidebar-text-muted);background:transparent;border-radius:var(--sidebar-item-radius)}.sidebar-online-top{margin:0 var(--sidebar-pad-x) 10px}.sidebar-tip{margin:10px var(--sidebar-pad-x) 14px;padding:12px;border-radius:10px;border:1px solid rgba(232,185,49,.28);background:linear-gradient(145deg,#e8b9311f,#ffffffbf 55%);box-shadow:0 1px 2px #12151a0a}.dark .sidebar-tip{background:linear-gradient(145deg,#e8b9311f,#ffffff0a 60%);border-color:#e8b93147}.sidebar-tip-title{margin:0 0 6px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-accent)}.sidebar-tip-text{margin:0;font-size:12px;line-height:1.5;color:var(--sidebar-text-muted)}.sidebar-tip-link{color:var(--sidebar-text);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(154,115,18,.45)}.sidebar-tip-link:hover{color:var(--sidebar-accent);border-bottom-color:currentColor}.sidebar-online-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;animation:sidebar-online-pulse 2s ease-in-out infinite;flex-shrink:0}.sidebar-online-dot--offline{background:#94a3b8;animation:none}@keyframes sidebar-online-pulse{0%,to{opacity:1}50%{opacity:.5}}.sidebar-online-text{font-weight:600}@media(prefers-reduced-motion:reduce){.sidebar-item,.sidebar-icon-wrap{transition:none}.sidebar-item:hover{transform:none}.sidebar-online-dot{animation:none}}@media(max-width:768px){.sidebar-wrapper{display:none}}.header-global-search{position:relative;flex:1 1 280px;max-width:520px;min-width:0;z-index:1100}.header-global-search__trigger-wrap{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;box-shadow:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.header-global-search--open .header-global-search__trigger-wrap,.header-global-search__trigger-wrap:focus-within{border-color:#e8b9318c;background:#ffffff0f;box-shadow:0 0 0 1px #e8b93138,0 0 0 4px #e8b9311a}.header-global-search__icon{flex-shrink:0;color:var(--lssd-gold, #e8b931);opacity:.9;pointer-events:none}.header-global-search__input{flex:1 1 auto;min-width:0;width:100%;height:28px;margin:0;padding:0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;color:var(--header-text, #f8fafc);font-size:14px;font-weight:500;line-height:1.35;caret-color:var(--lssd-gold, #e8b931);-webkit-appearance:none;appearance:none}.header-global-search__input:focus,.header-global-search__input:focus-visible,.header-global-search__input:focus-within{outline:none!important;border:0!important;box-shadow:none!important;background:transparent!important}.header-global-search__input:focus-visible{outline:none!important;outline-offset:0!important}.header-global-search__input::placeholder{color:var(--header-text-muted, rgba(248, 250, 252, .5));font-weight:400;opacity:1}.header-global-search__input::-webkit-search-decoration,.header-global-search__input::-webkit-search-cancel-button,.header-global-search__input::-webkit-search-results-button,.header-global-search__input::-webkit-search-results-decoration{display:none;-webkit-appearance:none}.header-global-search__kbd{flex-shrink:0;display:none;align-items:center;padding:3px 7px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--header-text-muted);background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}@media(min-width:900px){.header-global-search__kbd{display:inline-flex}}.header-global-search__panel{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:min(70vh,420px);overflow:auto;border-radius:14px;border:1px solid rgba(232,185,49,.28);background:linear-gradient(165deg,#161a22fa,#080a0efa);box-shadow:0 16px 48px #0000008c,0 0 0 1px #0006 inset,0 1px #e8b9311f inset;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}.header-global-search__section{padding:6px 0}.header-global-search__section+.header-global-search__section{border-top:1px solid rgba(255,255,255,.06)}.header-global-search__section-title{padding:8px 14px 4px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lssd-gold-dim, #b8922a)}.header-global-search__option{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;border:none;background:transparent;color:var(--header-text);text-align:left;cursor:pointer;transition:background .12s ease}.header-global-search__option[data-active=true],.header-global-search__option:hover{background:#e8b9311a}.header-global-search__option-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:10px;background:#e8b93114;border:1px solid rgba(232,185,49,.18);color:var(--lssd-gold)}.header-global-search__option-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.header-global-search__option-title{font-size:14px;font-weight:600;line-height:1.3;color:#fff}.header-global-search__option-sub{font-size:12px;color:var(--header-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-global-search__option-meta,.header-global-search__option-badge{flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--header-text-muted);padding:3px 8px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.header-global-search__option-badge{color:var(--lssd-gold);border-color:#e8b93140}.header-global-search__empty{padding:24px 18px 18px;text-align:center;color:var(--header-text-muted);font-size:13px;line-height:1.5}.header-global-search__empty p{max-width:36ch;margin:0 auto 12px}.header-global-search__hint{display:block;font-size:12px;opacity:.85}.header-global-search__quick{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:8px 14px;border-radius:8px;border:1px solid rgba(232,185,49,.3);background:#e8b9311a;color:var(--lssd-gold);font-size:13px;font-weight:600;cursor:pointer}.header-global-search__quick:hover{background:#e8b9312e}.header-global-search__footer{display:flex;flex-wrap:wrap;gap:10px 16px;padding:10px 14px;border-top:1px solid rgba(255,255,255,.06);font-size:11px;color:var(--header-text-muted)}.header-global-search__footer kbd{display:inline-block;margin-right:4px;padding:2px 5px;border-radius:4px;font-size:10px;font-family:inherit;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--header-text)}@media(max-width:1100px){.header-global-search{max-width:360px}}@media(max-width:768px){.app-header .header-center{order:3;flex:1 1 100%;max-width:none;padding-top:4px}.header-global-search{max-width:none}.header-global-search__input::placeholder{font-size:13px}}.app-header{--lssd-black: #070807;--lssd-charcoal: #0a0a0a;--lssd-gold: #e8b931;--lssd-gold-dim: #b8922a;--lssd-gold-soft: rgba(232, 185, 49, .16);--header-text: #f4f4f5;--header-text-muted: rgba(244, 244, 245, .58);--header-border: rgba(255, 255, 255, .06);--header-surface: rgba(255, 255, 255, .03);--header-surface-hover: rgba(255, 255, 255, .06);--header-btn-radius: 10px;--header-transition: .18s ease;position:relative;z-index:100;width:100%;box-sizing:border-box;min-height:112px;height:auto;padding:14px 20px 12px;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;flex-wrap:nowrap;gap:12px;overflow:visible;color:var(--header-text);border-bottom:1px solid var(--header-border);background:#0a0a0af0;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 10px 32px #00000052}.dark .app-header{background:#080808f5;border-bottom-color:#ffffff0d}.app-header:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(100deg,#08080af7,#08080ae0 32%,#08080a73 58%,#08080a80),url(/brand/header-atmosphere.jpg) right center / cover no-repeat;opacity:.92}@supports (background-image: url(/brand/header-atmosphere.webp)){.app-header:before{background:linear-gradient(100deg,#08080af7,#08080ae0 32%,#08080a73 58%,#08080a80),url(/brand/header-atmosphere.webp) right center / cover no-repeat}}.app-header:after{content:"";position:absolute;left:10%;right:10%;bottom:0;height:1px;pointer-events:none;z-index:1;background:linear-gradient(90deg,transparent,rgba(232,185,49,.35),rgba(253,230,138,.55),rgba(232,185,49,.35),transparent);opacity:.75}.app-header>*{position:relative;z-index:1}.app-header .header-main{display:flex;align-items:center;justify-content:space-between;gap:14px 18px;flex-wrap:wrap;width:100%;min-width:0}.app-header .header-left{display:flex;align-items:center;flex-shrink:1;min-width:0}.app-header .header-title-link{text-decoration:none!important;color:inherit;display:block;min-width:0;border-radius:14px;padding:6px 8px;margin:-6px -8px;transition:background var(--header-transition),border-color var(--header-transition);border:1px solid transparent}.app-header .header-title-link:hover{background:var(--header-surface);border-color:#ffffff14}.app-header .header-title-link:focus-visible{outline:2px solid var(--lssd-gold);outline-offset:3px}.app-header .header-brand-row{display:flex;align-items:center;gap:14px;min-width:0}.app-header .header-brand-seals{display:flex;align-items:center;gap:8px;flex-shrink:0}.app-header .header-title-favicon,.app-header .header-title-seal{width:52px;height:52px;object-fit:contain;flex-shrink:0;border-radius:999px;padding:5px;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 1px #00000073,0 6px 18px #0006;background:#0006}.app-header .header-brand-text{display:flex;flex-direction:column;gap:4px;min-width:0}.app-header .header-brand-kicker{margin:0;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#f4f4f57a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(46vw,420px)}.app-header .header-brand-name{margin:0;display:flex;align-items:baseline;gap:9px;line-height:1.1;white-space:nowrap}.app-header .header-brand-name-main{font-size:22px;font-weight:800;letter-spacing:.05em;color:#fff}.app-header .header-brand-name-sub{font-size:18px;font-weight:700;letter-spacing:.01em;color:var(--lssd-gold)}.app-header .header-tagline{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--header-text-muted);line-height:1.3}.app-header .header-tagline-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fde68af2;background:#e8b9311f;border:1px solid rgba(232,185,49,.22)}.app-header .header-tagline-sep{opacity:.4;-webkit-user-select:none;user-select:none}.app-header .header-tagline-copy{color:var(--header-text-muted)}.app-header .header-motto{font-style:italic;color:#fde68ab8;font-weight:500}.app-header .header-center{flex:1 1 300px;display:flex;align-items:center;justify-content:center;min-width:0;max-width:560px;z-index:1100}.app-header .header-rail{display:flex;align-items:center;justify-content:flex-end;gap:12px 16px;flex-wrap:wrap;width:100%;min-width:0;padding-top:2px}.app-header .header-quick-nav{display:flex;align-items:center;gap:4px;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none;padding:4px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.app-header .header-quick-nav::-webkit-scrollbar{display:none}.app-header .header-quick-link{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;padding:8px 12px;border-radius:10px;border:1px solid transparent;color:#d4d4d8e0;text-decoration:none!important;font-size:12.5px;font-weight:650;letter-spacing:.01em;transition:background var(--header-transition),color var(--header-transition),border-color var(--header-transition);white-space:nowrap}.app-header .header-quick-link:hover{background:#ffffff0f;color:#fff;border-color:#ffffff1a}.app-header .header-quick-link--active{background:#e8b93124;color:#fde68a;border-color:#e8b93147}.app-header .header-quick-link svg{opacity:.9}.app-header .header-right{display:flex;align-items:center;gap:0;z-index:1001;flex-shrink:0;min-width:0}.app-header .header-user-area{display:flex;align-items:center;gap:0;padding:0;background:transparent;border:none;border-radius:0}.app-header .header-action-toolbar{display:flex;align-items:center;padding:3px;border-radius:12px;background:#00000047;border:1px solid rgba(255,255,255,.06)}.app-header .header-action-buttons,.app-header .header-actions{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}.app-header .header-btn,.app-header .header-action-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;min-height:38px;padding:0;color:#d4d4d8eb;background:transparent;border:1px solid transparent;border-radius:var(--header-btn-radius);cursor:pointer;transition:background var(--header-transition),border-color var(--header-transition),color var(--header-transition),transform .12s ease;box-sizing:border-box}.app-header .header-btn svg path,.app-header .header-action-btn svg path{fill:currentColor}.app-header .header-btn:hover:not(:disabled),.app-header .header-action-btn:hover:not(:disabled){background:var(--header-surface-hover);border-color:#ffffff1f;color:#fff}.app-header .header-btn:active:not(:disabled),.app-header .header-action-btn:active:not(:disabled){transform:scale(.96)}.app-header .header-btn svg,.app-header .header-action-btn svg{flex-shrink:0;width:17px;height:17px}.app-header .dark-mode-btn,.app-header .header-action-theme{color:#fde68a!important}.app-header .dark-mode-btn:hover:not(:disabled),.app-header .header-action-theme:hover:not(:disabled){background:#e8b9311f!important;border-color:#e8b93147!important}.app-header .header-btn-logout:hover:not(:disabled){background:#ef44441f!important;border-color:#f8717147!important;color:#fecaca!important}.app-header .header-cta-group{display:inline-flex;align-items:center;gap:8px;margin-right:4px}.app-header .header-cta{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:10px;font-size:13px;font-weight:700;letter-spacing:.01em;text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background var(--header-transition),border-color var(--header-transition),color var(--header-transition),transform var(--header-transition)}.app-header .header-cta--primary{background:var(--lssd-gold);color:#111;border-color:#e8b931d9}.app-header .header-cta--primary:hover{background:#f0c84a;color:#111}.app-header .header-cta--ghost{background:transparent;color:#fff;border-color:#ffffff59}.app-header .header-cta--ghost:hover{background:#ffffff14;border-color:#ffffff8c}.app-header .header-cta svg{flex-shrink:0;width:15px;height:15px}.app-header .header-cta--logout:hover{border-color:#f871718c;color:#fecaca;background:#7f1d1d47}.app-header .header-btn-character:hover:not(:disabled){background:#e8b9311a!important;border-color:#e8b9313d!important;color:#fef9e7!important}.app-header .header-btn-lspd,.app-header .header-action-lspd{width:auto!important;min-width:36px!important;padding:0 10px!important;font-size:11px;font-weight:800;letter-spacing:.08em;color:#111!important;background:linear-gradient(180deg,#fde68a 0%,var(--lssd-gold) 55%,var(--lssd-gold-dim) 100%)!important;border:1px solid rgba(0,0,0,.2)!important}.app-header .header-btn-lspd:hover:not(:disabled),.app-header .header-action-lspd:hover:not(:disabled){filter:brightness(1.05)}.app-header .header-btn-lspd--active{box-shadow:0 0 0 2px #e8b93173!important}.app-header .header-profile-link{text-decoration:none;color:inherit;flex-shrink:1;min-width:0}.app-header .header-profile{display:flex;align-items:center;gap:10px;padding:5px 12px 5px 6px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:background var(--header-transition),border-color var(--header-transition);cursor:pointer;min-width:196px;max-width:280px;overflow:hidden}.app-header .header-profile:hover{background:#ffffff0f;border-color:#e8b93147}.app-header .header-profile-avatar{position:relative;width:36px;height:36px;border-radius:999px;overflow:hidden;background:#e8b93114;flex-shrink:0;border:1px solid rgba(255,255,255,.14)}.app-header .header-profile:hover .header-profile-avatar{border-color:#e8b93173}.app-header .header-profile-image{width:100%;height:100%;object-fit:cover}.app-header .header-profile-image-fallback{object-fit:contain;padding:6px}.app-header .header-profile-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0;overflow:hidden}.app-header .header-profile-name{font-size:13.5px;font-weight:700;letter-spacing:.01em;color:var(--header-text);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header .header-profile-ucp{font-size:10.5px;color:var(--header-text-muted);line-height:1.3;font-weight:500;font-family:ui-monospace,Cascadia Mono,Segoe UI Mono,monospace;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header .header-profile-meta{display:flex;align-items:center;gap:6px;margin-top:2px;min-width:0}.app-header .header-rank-badge .rank-badge{padding:2px 8px!important;border-radius:6px!important;font-size:9.5px!important;font-weight:700!important;letter-spacing:.06em;text-transform:uppercase;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#e8b9311a!important;border:1px solid rgba(232,185,49,.28)!important;color:#fef3c7!important}.character-selector-overlay{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:99998;animation:headerOverlayFadeIn .25s ease}@keyframes headerOverlayFadeIn{0%{opacity:0}to{opacity:1}}.character-selector-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--card-bg, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:16px;box-shadow:0 16px 48px #0003,0 4px 16px #00000014;z-index:99999;min-width:400px;max-width:480px;max-height:85vh;overflow:hidden;animation:headerModalSlideIn .3s ease}.dark .character-selector-modal{box-shadow:0 16px 48px #00000080,0 4px 16px #0003}@keyframes headerModalSlideIn{0%{opacity:0;transform:translate(-50%,-48%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.character-modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,#141414,#0a0a0a);color:#fff}.character-modal-header h3{margin:0;font-size:17px;font-weight:600;letter-spacing:.02em}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;cursor:pointer;transition:background .2s ease}.modal-close-btn:hover:not(:disabled){background:#ffffff1f}.character-modal-desc{margin:0;padding:14px 22px 12px;font-size:13px;color:var(--text-secondary, #6b7280);line-height:1.5}.character-modal-list{padding:12px 18px 20px;max-height:55vh;overflow-y:auto}.character-modal-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;cursor:pointer;transition:background .2s,border-color .2s;border:2px solid transparent;margin-bottom:6px}.character-modal-item:last-child{margin-bottom:0}.character-modal-item:hover{background:var(--bg-tertiary, #f3f4f6)}.dark .character-modal-item:hover{background:#ffffff0f}.character-modal-item.selected{background:#e8b9311a;border-color:#e8b93166}.dark .character-modal-item.selected{background:#e8b93124;border-color:#fde68a6b}.character-modal-item.disabled{pointer-events:none;opacity:.7}.character-modal-avatar{position:relative;width:52px;height:52px;border-radius:12px;overflow:hidden;background:var(--border-color, #e5e7eb);flex-shrink:0}.character-modal-avatar img{width:100%;height:100%;object-fit:cover}.character-avatar-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;background:linear-gradient(135deg,#b8922a,#0f172a)}.character-modal-info{flex:1;min-width:0}.character-modal-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.character-modal-name{font-size:15px;font-weight:600;color:var(--text-primary, #1f2937)}.character-modal-id{font-size:12px;color:var(--text-tertiary, #6b7280);margin-top:2px}.character-modal-active-badge{display:inline-flex;padding:3px 10px;font-size:11px;font-weight:600;color:#92400e;background:#e8b9312e;border-radius:8px;text-transform:uppercase;letter-spacing:.04em;border:1px solid rgba(232,185,49,.35)}.dark .character-modal-active-badge{color:#fde68a;background:#e8b93129}.character-modal-check{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(180deg,#fde68a,var(--lssd-gold-dim));color:#111;flex-shrink:0}@media(max-width:1100px){.app-header .header-brand-kicker,.app-header .header-motto{display:none}}@media(max-width:900px){.app-header .header-profile{min-width:160px}.app-header .header-tagline-copy{display:none}.app-header .header-title-favicon,.app-header .header-title-seal{width:44px;height:44px}.app-header .header-cta span,.app-header .header-cta{font-size:12px}}@media(max-width:768px){.app-header{padding:10px 12px;gap:10px;min-height:0}.app-header .header-brand-name-main{font-size:18px}.app-header .header-brand-name-sub{font-size:15px}.app-header .header-title-favicon{width:40px;height:40px}.app-header .header-title-seal{display:none}.app-header .header-right{width:100%;justify-content:flex-end}.app-header .header-btn,.app-header .header-action-btn{width:36px;height:36px;min-width:36px;min-height:36px}.app-header .header-rail{flex-direction:column;align-items:stretch}.app-header .header-quick-nav{width:100%}.character-selector-modal{min-width:92%;max-width:96%}}.app-layout{--app-header-height: 128px;--sidebar-w: 268px;--sidebar-gap-below-header: 0px;--sidebar-top: calc(var(--app-header-height) + var(--sidebar-gap-below-header));display:flex;flex-direction:column;min-height:100vh;background:var(--lssd-surface-content, #e8ecf2);transition:background-color .3s ease}.dark .app-layout{background:var(--lssd-surface-content, #16181d)}.app-layout>header{width:100%;flex-shrink:0}.app-layout>.app-footer{width:100%;flex-shrink:0;box-sizing:border-box}.app-content-wrapper{display:flex;flex:1;width:100%;align-items:stretch;background:var(--lssd-surface-content, #e8ecf2);transition:background-color .3s ease}.sidebar-column{flex-shrink:0;width:var(--sidebar-w);align-self:stretch;display:flex;flex-direction:column}.app-content-wrapper:not(.app-content-wrapper--no-sidebar) .app-main-column{flex:1;min-width:0;box-sizing:border-box}.app-main-column{flex:1;min-width:0;display:flex;flex-direction:column}.dark .app-content-wrapper{background:var(--lssd-surface-content, #16181d)}.app-page-content{flex:1;padding:18px 22px 28px;background:transparent;transition:background-color .3s ease}.dark .app-page-content{background:transparent;color:var(--text-primary, #ffffff)}.app-footer{position:relative;z-index:99;width:100%;flex-shrink:0;min-height:128px;padding:32px 40px 28px;color:#f4f4f5e6;background:linear-gradient(180deg,#1c1e24fa,#0e1116);border-top:1px solid rgba(232,185,49,.4);box-shadow:0 -10px 32px #00000052}.app-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--lssd-brand-gold, #e8b931) 20%,var(--lssd-brand-gold, #e8b931) 80%,transparent 100%);opacity:.9;pointer-events:none}.app-footer .footer-content{display:grid;grid-template-columns:minmax(280px,1.3fr) minmax(0,1.5fr) minmax(200px,.9fr);align-items:center;gap:24px 36px;width:100%;max-width:1920px;margin:0 auto}.app-footer .footer-brand{display:flex;align-items:center;gap:16px;min-width:0}.app-footer .footer-brand-seals{display:flex;align-items:center;gap:8px;flex-shrink:0}.app-footer .footer-seal{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 3px 10px rgba(0,0,0,.4))}.app-footer .footer-brand-text{min-width:0}.app-footer .footer-brand-name{margin:0 0 4px;font-size:20px;font-weight:800;letter-spacing:.02em;color:#fff;line-height:1.15}.app-footer .footer-brand-name span{color:var(--lssd-brand-gold, #e8b931)}.app-footer .footer-brand-motto{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:none;color:#e8b931d9}.app-footer .footer-text{margin:0;font-size:13px;font-weight:500;color:#d4d4d8c7;line-height:1.4}.app-footer .footer-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.app-footer .footer-nav-link{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid transparent;color:#e4e4e7e0;text-decoration:none;font-size:13.5px;font-weight:700;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.app-footer .footer-nav-link svg{opacity:.9;flex-shrink:0}.app-footer .footer-nav-link:hover{color:#fff;background:#ffffff12;border-color:#e8b93159}.app-footer .footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right;min-width:0}.app-footer .footer-version{margin:0;font-size:14px;font-weight:700;color:#f4f4f5f0;display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.app-footer .beta-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 9px;border-radius:999px;background:var(--lssd-brand-gold, #e8b931);color:#12151a!important;font-size:11px;font-weight:800;letter-spacing:.04em;line-height:1.4}.app-footer .footer-coded-by{margin:0;font-size:12.5px;color:#a1a1aae6}@media(max-width:1024px){.app-footer{min-height:0;padding:28px 24px 24px}.app-footer .footer-content{grid-template-columns:1fr;justify-items:center;text-align:center;gap:22px}.app-footer .footer-brand{flex-direction:column;text-align:center}.app-footer .footer-nav{justify-content:center}.app-footer .footer-meta{align-items:center;text-align:center}.app-footer .footer-version{justify-content:center}}@media(max-width:768px){.app-page-content{padding:16px}.app-footer .footer-nav{gap:6px}.app-footer .footer-nav-link{padding:8px 11px;font-size:12.5px}.app-footer .footer-brand-name{font-size:18px}.app-footer .footer-seal{width:48px;height:48px}}.app-page-content>*{animation:none}.loading-container,.dashboard-loading,.profile-loading,.database-loading,.map-loading-overlay{display:flex;flex-direction:column;justify-content:center;align-items:center;position:fixed;inset:0;width:100%;height:100%;min-height:100vh;min-height:100dvh;background:var(--bg-primary, #f5f5f5);color:var(--text-primary, #1a1a1a);z-index:99999;transition:background-color .2s ease,color .2s ease;contain:layout style paint;overflow:hidden}.dark .loading-container,.dark .dashboard-loading,.dark .profile-loading,.dark .database-loading,.dark .map-loading-overlay{background:var(--bg-primary);color:var(--text-primary)}.loading-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;flex-shrink:0;padding:24px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color, #e5e7eb);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.dark .loading-spinner{border-color:var(--border-color)}.loading-text{color:var(--text-secondary, #374151);font-size:16px;font-weight:500;margin:0}.dark .loading-text{color:var(--text-secondary)}.loading-progress{width:200px;height:4px;background:var(--border-color, #e5e7eb);border-radius:2px;overflow:hidden;margin-top:8px}.dark .loading-progress{background:var(--border-color)}.loading-progress-bar{height:100%;min-width:0;background:var(--accent);border-radius:2px;animation:progress 1.5s ease-in-out infinite;transform:translateZ(0);will-change:width}@keyframes progress{0%{width:0%}50%{width:70%}to{width:100%}}.loading-dots{display:inline-block;position:relative;width:20px;height:16px;margin-left:4px}.loading-dots:after{content:"...";position:absolute;left:0;color:var(--text-secondary, #374151);animation:dots 1.4s steps(4,end) infinite}.dark .loading-dots:after{color:var(--text-secondary)}@keyframes dots{0%,20%{content:".";opacity:.4}40%{content:"..";opacity:.7}60%,to{content:"...";opacity:1}}.loading-fallback-suspense{background:var(--bg-primary, #f5f5f5)!important}.dark .loading-fallback-suspense{background:var(--bg-primary)!important}.loading-fallback-suspense .loading-text{color:var(--text-primary, #1a1a1a)}@media(max-width:768px){.loading-content{gap:16px}.loading-spinner{width:32px;height:32px;border-width:2px}.loading-text{font-size:14px}.loading-progress{width:150px}}.page-transition-wrapper{position:relative;width:100%;min-height:100vh;background:var(--bg-primary, #f9fafb)}.dark .page-transition-wrapper{background:var(--bg-primary)}.page-transition-content{animation:fadeInSoft .15s ease-out;will-change:opacity}@keyframes fadeInSoft{0%{opacity:.9}to{opacity:1}}.sidebar-item{position:relative}.sidebar-item.active{animation:sidebarActiveReveal .2s ease-out}@keyframes sidebarActiveReveal{0%{opacity:.88}to{opacity:1}}:root{--std-modal-overlay-bg: rgba(0, 0, 0, .6);--std-modal-overlay-z: 10000;--std-modal-overlay-duration: .2s;--std-modal-radius: 12px;--std-modal-shadow: 0 24px 48px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .1);--std-modal-max-height: 90vh;--std-modal-content-duration: .25s;--std-modal-header-padding: 16px 20px;--std-modal-header-border: 1px solid var(--border-color, #e5e7eb);--std-modal-title-size: 1.125rem;--std-modal-title-weight: 600;--std-modal-close-size: 36px;--std-modal-close-radius: 8px;--std-modal-body-padding: 20px;--std-modal-footer-padding: 16px 20px;--std-modal-footer-gap: 12px;--std-modal-btn-radius: 8px;--std-modal-btn-padding: 10px 18px;--std-modal-btn-font-size: 14px;--std-modal-btn-font-weight: 500;--std-modal-field-gap: 8px;--std-modal-field-margin: 16px;--std-modal-input-radius: 8px;--std-modal-input-padding: 10px 12px}.dark{--std-modal-shadow: 0 24px 48px rgba(0, 0, 0, .4), 0 8px 16px rgba(0, 0, 0, .2)}@keyframes std-modal-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes std-modal-slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.std-modal-overlay{position:fixed;inset:0;background:var(--std-modal-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:var(--std-modal-overlay-z);animation:std-modal-fadeIn var(--std-modal-overlay-duration) ease-out}.std-modal-content{background:var(--card-bg, #fff);border-radius:var(--std-modal-radius);box-shadow:var(--std-modal-shadow);max-height:var(--std-modal-max-height);width:90%;max-width:480px;overflow:hidden;display:flex;flex-direction:column;animation:std-modal-slideUp var(--std-modal-content-duration) ease-out;transition:background-color .2s ease,box-shadow .2s ease}.std-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--std-modal-header-padding);border-bottom:var(--std-modal-header-border);flex-shrink:0}.std-modal-title{margin:0;font-size:var(--std-modal-title-size);font-weight:var(--std-modal-title-weight);color:var(--text-primary, #111827)}.std-modal-close{width:var(--std-modal-close-size);height:var(--std-modal-close-size);border:none;background:transparent;color:var(--text-secondary, #6b7280);border-radius:var(--std-modal-close-radius);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.std-modal-close:hover{background:var(--bg-tertiary, #f3f4f6);color:var(--text-primary, #111827)}.std-modal-body{padding:var(--std-modal-body-padding);overflow-y:auto;flex:1;min-height:0}.std-modal-footer{padding:var(--std-modal-footer-padding);border-top:var(--std-modal-header-border);display:flex;gap:var(--std-modal-footer-gap);justify-content:flex-end;flex-wrap:wrap;flex-shrink:0}.std-modal-btn{padding:var(--std-modal-btn-padding);border-radius:var(--std-modal-btn-radius);font-size:var(--std-modal-btn-font-size);font-weight:var(--std-modal-btn-font-weight);cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease;border:none;display:inline-flex;align-items:center;gap:8px}.std-modal-btn-ghost{background:var(--bg-tertiary, #f3f4f6);color:var(--text-primary, #374151)}.std-modal-btn-ghost:hover{background:var(--border-color, #e5e7eb);color:var(--text-primary, #1f2937)}.std-modal-btn-primary{background:var(--gradient-cta);color:var(--lssd-brand-black)}.std-modal-btn-primary:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.std-modal-btn-primary:disabled{opacity:.6;cursor:not-allowed}.std-modal-btn-danger{background:#dc2626;color:#fff}.std-modal-btn-danger:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px)}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(145deg,var(--lssd-brand-black) 0%,var(--lssd-brand-charcoal) 45%,#1a1510 100%);padding:20px;position:relative;overflow:hidden;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-container:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.03) 10px,rgba(255,255,255,.03) 20px);pointer-events:none}.login-box{background:var(--card-bg, white);border-radius:16px;box-shadow:0 20px 60px var(--shadow, rgba(0, 0, 0, .3));padding:48px;max-width:480px;width:100%;position:relative;z-index:1;border:1px solid rgba(255,255,255,.2);animation:slideUp .6s ease-out;transition:transform .3s ease,background-color .3s ease}.dark .login-box{background:var(--card-bg);box-shadow:0 20px 60px var(--shadow)}.login-box.loading{opacity:.92;cursor:progress}.login-box.loading .login-button:disabled,.login-box.loading .login-character-btn:disabled{cursor:not-allowed}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:36px}.login-logo{margin-bottom:32px;display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:nowrap}.logo-image{height:180px;width:auto;object-fit:contain;filter:drop-shadow(0 4px 14px rgba(0,0,0,.45));flex-shrink:0}.sd-logo,.county-logo{height:180px!important;width:auto!important}.logo-badge{display:inline-block;width:80px;height:80px;background:var(--gradient-cta);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--lssd-text-inverse);font-weight:700;font-size:24px;letter-spacing:1px;box-shadow:0 4px 16px #00000059,0 0 0 1px #e8b93159;border:3px solid rgba(255,255,255,.95)}.login-header h1{color:var(--report-primary);font-size:24px;font-weight:700;margin:16px 0 8px;letter-spacing:.5px}.login-header p{color:#4b5563;font-size:14px;margin:4px 0;font-weight:500}.login-subtitle{color:#6b7280!important;font-size:12px!important;font-weight:400!important;text-transform:uppercase;letter-spacing:1px;margin-top:8px!important}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;display:flex;align-items:center;gap:10px;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-icon{flex-shrink:0;color:#dc2626}.login-character-list{padding:20px;margin:20px 0;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px}.login-character-list-title{margin:0 0 15px;color:#333;font-size:1rem;font-weight:600}.login-character-list-buttons{display:flex;flex-direction:column;gap:10px}.login-character-btn{padding:12px;background-color:#fff;color:#333;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;text-align:left;transition:background-color .2s,color .2s}.login-character-btn:hover:not(:disabled){background-color:#f8f9fa}.login-character-btn-selected{background-color:var(--lssd-btn-primary)!important;color:var(--lssd-text-inverse)!important;border-color:var(--accent)!important;box-shadow:0 0 0 1px var(--accent-muted)}.login-character-btn-name{font-weight:700}.login-character-btn-warn{font-size:12px;color:#dc3545;margin-top:4px}.login-content{text-align:center}.login-description{color:#4b5563;margin-bottom:28px;font-size:14px;line-height:1.6;text-align:left}.login-button{width:100%;background:var(--gradient-cta);color:var(--lssd-text-inverse);border:none;padding:16px 24px;font-size:15px;font-weight:600;border-radius:var(--page-radius, 8px);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 16px #00000040,0 0 0 1px #e8b93140;letter-spacing:.3px;position:relative;overflow:hidden}.login-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.login-button:hover:before{width:300px;height:300px}.login-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d,0 0 0 1px #e8b93166;background:var(--gradient-cta-hover)}.login-button:active{transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.button-icon{width:20px;height:20px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.button-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.warning-icon{width:16px;height:16px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:middle;margin-right:4px}.test-login-section{margin-top:16px;padding-top:0}.test-divider{text-align:center;margin:20px 0;position:relative}.test-divider:before,.test-divider:after{content:"";position:absolute;top:50%;width:45%;height:1px;background:#e5e7eb}.test-divider:before{left:0}.test-divider:after{right:0}.test-divider span{background:var(--card-bg, white);padding:0 12px;color:var(--text-tertiary, #9ca3af);font-size:12px;font-weight:500;position:relative;z-index:1;transition:background-color .3s ease,color .3s ease}.dark .test-divider span{background:var(--card-bg);color:var(--text-tertiary)}.test-login-button{width:100%;background:#6b7280;color:#fff;border:none;padding:14px 24px;font-size:15px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 2px 8px #6b728033;position:relative;overflow:hidden}.test-login-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff1a;transform:translate(-50%,-50%);transition:width .6s,height .6s}.test-login-button:hover:before{width:300px;height:300px}.test-login-button:hover{background:#4b5563;transform:translateY(-2px);box-shadow:0 4px 12px #6b72804d}.test-login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.test-warning{text-align:center;font-size:11px;color:#dc2626;margin:8px 0 0;font-weight:500;display:flex;align-items:center;justify-content:center;gap:4px}.login-footer{margin-top:32px;padding-top:24px;border-top:2px solid #e5e7eb;text-align:center}.footer-seal{display:flex;flex-direction:column;gap:8px}.footer-text{color:#4a4a4a;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin:0}.footer-warning{color:#dc2626;font-size:11px;font-weight:500;margin:0;display:flex;align-items:center;justify-content:center;gap:4px}:root{--lssd-primary-50: #f0f4ff;--lssd-primary-100: #e0e9ff;--lssd-primary-200: #c7d7fe;--lssd-primary-300: #a5b8fc;--lssd-primary-400: #818cf8;--lssd-primary-500: #6366f1;--lssd-primary-600: #4f46e5;--lssd-primary-700: #4338ca;--lssd-primary-800: #3730a3;--lssd-primary-900: #312e81;--lssd-primary-950: #1e1b4b;--lssd-accent-50: #fffbeb;--lssd-accent-100: #fef3c7;--lssd-accent-200: #fde68a;--lssd-accent-300: #fcd34d;--lssd-accent-400: #fbbf24;--lssd-accent-500: #f59e0b;--lssd-accent-600: #d97706;--lssd-accent-700: #b45309;--lssd-accent-800: #92400e;--lssd-accent-900: #78350f;--lssd-gray-50: #f9fafb;--lssd-gray-100: #f3f4f6;--lssd-gray-200: #e5e7eb;--lssd-gray-300: #d1d5db;--lssd-gray-400: #9ca3af;--lssd-gray-500: #6b7280;--lssd-gray-600: #4b5563;--lssd-gray-700: #374151;--lssd-gray-800: #1f2937;--lssd-gray-900: #111827;--lssd-gray-950: #030712;--lssd-surface-canvas: #d8dde6;--lssd-surface-rail: #f3f5f8;--lssd-surface-content: #ebeff4;--lssd-surface-card: #ffffff;--lssd-surface-input: #f7f8fb;--lssd-success: #10b981;--lssd-success-light: #d1fae5;--lssd-success-dark: #059669;--lssd-warning: #f59e0b;--lssd-warning-light: #fef3c7;--lssd-warning-dark: #d97706;--lssd-error: #ef4444;--lssd-error-light: #fee2e2;--lssd-error-dark: #dc2626;--lssd-info: var(--accent);--lssd-info-light: #dbeafe;--lssd-info-dark: var(--accent-hover);--lssd-bg-primary: var(--lssd-surface-content);--lssd-bg-secondary: var(--lssd-surface-card);--lssd-bg-tertiary: var(--lssd-surface-rail);--lssd-bg-elevated: var(--lssd-surface-card);--lssd-bg-overlay: rgba(17, 24, 39, .5);--lssd-border-light: #c9ced8;--lssd-border-medium: #d1d5db;--lssd-border-dark: #9ca3af;--lssd-text-primary: #111827;--lssd-text-secondary: #374151;--lssd-text-tertiary: #6b7280;--lssd-text-muted: #9ca3af;--lssd-text-inverse: #ffffff;--lssd-shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--lssd-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--lssd-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--lssd-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--lssd-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--lssd-shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--lssd-btn-secondary: #6b7280;--lssd-btn-secondary-hover: #4b5563;--lssd-btn-accent: #f59e0b;--lssd-btn-accent-hover: #d97706;--lssd-btn-danger: #ef4444;--lssd-btn-danger-hover: #dc2626;--lssd-btn-success: #10b981;--lssd-btn-success-hover: #059669;--lssd-brand-black: #070807;--lssd-brand-charcoal: #12151a;--lssd-brand-gold: #e8b931;--lssd-brand-gold-deep: #9a7312;--lssd-brand-green: #22c55e;--lssd-brand-green-deep: #15803d;--accent: #9a7312;--accent-hover: #7c5a0f;--accent-muted: rgba(15, 23, 42, .06);--accent-primary: var(--accent);--link-color: #4b5563;--link-color-hover: #1f2937;--focus-ring-color: #64748b;--lssd-surface-panel: var(--lssd-surface-card);--lssd-surface-input: #ffffff;--lssd-input-border: var(--lssd-border-light);--lssd-highlight: rgba(15, 23, 42, .06);--report-primary: #12151a;--gradient-cta: linear-gradient(135deg, #d4a417 0%, #9a7312 100%);--gradient-cta-hover: linear-gradient(135deg, #e8c547 0%, #7c5a0f 100%);--gradient-surface: linear-gradient(180deg, var(--lssd-gray-50) 0%, var(--lssd-gray-100) 100%);--lssd-border-focus: #64748b;--lssd-btn-primary: #0f0f0f;--lssd-btn-primary-hover: #1a1a1a;--lssd-btn-primary-active: #000000;--lssd-primary-50: var(--lssd-gray-50);--lssd-primary-100: var(--lssd-gray-100);--lssd-primary-200: var(--lssd-gray-200);--lssd-primary-300: var(--lssd-gray-300);--lssd-primary-400: var(--lssd-gray-500);--lssd-primary-500: var(--lssd-text-tertiary);--lssd-primary-600: var(--lssd-text-secondary);--lssd-primary-700: var(--lssd-text-primary);--lssd-primary-800: var(--lssd-brand-gold-deep);--lssd-primary-900: var(--report-primary);--lssd-ui-accent: var(--accent);--lssd-ui-accent-hover: var(--accent-hover);--lssd-ui-accent-muted: var(--accent-muted)}.dark{--lssd-surface-canvas: #12151a;--lssd-surface-rail: #1a1d24;--lssd-surface-content: #16181d;--lssd-surface-card: #1e222a;--lssd-surface-input: #252a33;--lssd-surface-panel: var(--lssd-surface-card);--lssd-input-border: #3f4654;--lssd-highlight: rgba(255, 255, 255, .06);--lssd-bg-primary: var(--lssd-surface-content);--lssd-bg-secondary: var(--lssd-surface-card);--lssd-bg-tertiary: var(--lssd-surface-rail);--lssd-bg-elevated: #242933;--lssd-text-primary: #eceef2;--lssd-text-secondary: #c4c9d4;--lssd-text-tertiary: #8b929e;--lssd-text-muted: #6b7280;--lssd-border-light: #3a404c;--lssd-border-medium: #4b5563;--lssd-border-focus: #94a3b8;--accent: #b8922a;--accent-hover: #d4a417;--accent-muted: rgba(255, 255, 255, .06);--link-color: #c4c9d4;--link-color-hover: #eceef2;--report-primary: #eceef2;--gradient-cta: linear-gradient(135deg, #2a2f3a 0%, #1a1d24 100%);--gradient-cta-hover: linear-gradient(135deg, #343a48 0%, #22262e 100%);--gradient-surface: linear-gradient(180deg, #16181d 0%, #12151a 100%);--focus-ring-color: #94a3b8;--lssd-btn-primary: #eceef2;--lssd-btn-primary-hover: #ffffff;--lssd-btn-primary-active: #d1d5db;--lssd-primary-50: #27272a;--lssd-primary-100: #3f3f46;--lssd-primary-200: #52525b;--lssd-primary-300: #71717a;--lssd-primary-400: #a1a1aa;--lssd-primary-500: var(--lssd-text-tertiary);--lssd-primary-600: var(--lssd-text-secondary);--lssd-primary-700: var(--lssd-text-primary)}:root{--page-shell-max: 1100px;--page-hero-bg: #323232;--page-hero-gold: var(--lssd-brand-gold-deep, #9a7312);--page-hero-kicker: rgba(232, 185, 49, .92);--page-radius: 10px;--page-notice-bg: rgba(201, 162, 39, .14);--page-notice-border: rgba(201, 162, 39, .4)}.page-shell{max-width:var(--page-shell-max);width:100%;margin-left:auto;margin-right:auto;padding:0 0 28px;box-sizing:border-box;background:transparent}.page-hero{position:relative;overflow:hidden;border-radius:var(--page-radius);padding:20px 22px 18px;margin-bottom:16px;color:#fff;background:var(--page-hero-bg);border:1px solid rgba(255,255,255,.08);border-bottom:3px solid var(--page-hero-gold);box-shadow:0 4px 12px #0000001f}.page-hero__inner{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px}.page-hero__kicker{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--page-hero-kicker)}.page-hero__title{margin:0 0 8px;display:flex;align-items:center;gap:10px;font-size:clamp(1.35rem,2.4vw,1.7rem);font-weight:750;letter-spacing:.02em;line-height:1.2;color:#fff}.page-hero__sub{margin:0;max-width:62ch;font-size:13.5px;line-height:1.5;color:#f1f5f9c7}.page-hero__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.page-panel{background:var(--card-bg, var(--lssd-surface-card, #fff));border:1px solid var(--border-color, var(--lssd-border-light, #c9ced8));border-radius:12px;padding:22px 22px 24px;box-shadow:var(--lssd-shadow-sm, 0 1px 3px rgba(0, 0, 0, .08))}.dark .page-panel{background:var(--card-bg);border-color:var(--border-color)}.page-notice{padding:12px 16px;margin:0 0 18px;font-size:13.5px;line-height:1.5;color:var(--text-primary, #111827);background:var(--page-notice-bg);border-left:3px solid var(--lssd-brand-gold, #e8b931);border-radius:0 10px 10px 0}.page-notice strong{color:var(--lssd-brand-gold-deep, #9a7312)}.dark .page-notice{color:var(--text-primary)}.dark .page-notice strong{color:var(--lssd-brand-gold, #e8b931)}.ui-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;min-height:38px;padding:8px 16px;border-radius:8px;border:1px solid var(--border-color, #e2e6ee);background:#fff;color:#1e293b;font-family:inherit;font-size:13px;font-weight:650;line-height:1.2;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.ui-btn:hover:not(:disabled){background:#f8fafc;border-color:#c9a2278c}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn--primary{background:linear-gradient(180deg,#e0b83a,#b8921f);border-color:transparent;color:#1a1d24;font-weight:700;box-shadow:0 1px 2px #9a731240}.ui-btn--primary:hover:not(:disabled){background:linear-gradient(180deg,#e8c24a,#c49a24);color:#1a1d24}.ui-btn--ghost{background:#ffffff1f;border-color:#ffffff59;color:#f8fafc}.ui-btn--ghost:hover:not(:disabled){background:#c9a22738;border-color:#e8b931a6;color:#fff}.ui-btn--on-dark.ui-btn--primary{background:linear-gradient(180deg,#e0b83a,#b8921f);border-color:transparent;color:#1a1d24}.dark .ui-btn:not(.ui-btn--primary):not(.ui-btn--ghost){background:#1e222ae6;border-color:#94a3b84d;color:#e2e8f0}@media(max-width:768px){.page-hero{padding:18px 16px 16px}.page-panel{padding:16px}}.report-collab-panel{background:var(--lssd-surface-card);border:1px solid var(--lssd-border-light);box-shadow:var(--lssd-shadow-xs)}.report-collab-panel-head{color:var(--lssd-text-primary)}.report-collab-help{color:var(--lssd-text-secondary)}.report-collab-title-input{background:var(--lssd-surface-input);border:1px solid var(--lssd-border-light);color:var(--lssd-text-primary)}.report-collab-title-input::placeholder{color:var(--lssd-text-muted)}.report-collab-btn{background:var(--lssd-surface-card);border:1px solid var(--lssd-border-light);color:var(--lssd-text-primary)}.report-collab-btn:hover:not(:disabled){background:var(--lssd-gray-100);border-color:var(--lssd-border-medium)}.report-collab-btn.primary{background:var(--lssd-btn-primary);border-color:var(--lssd-btn-primary);color:var(--lssd-text-inverse)}.report-collab-btn.primary:hover:not(:disabled){background:var(--lssd-btn-primary-hover);border-color:var(--lssd-btn-primary-hover)}.dark .report-collab-panel{background:var(--lssd-bg-elevated);border-color:var(--lssd-border-light)}.dark .report-collab-title-input{background:var(--lssd-surface-input);border-color:var(--lssd-border-light);color:var(--lssd-text-primary)}.dark .report-collab-btn{background:var(--lssd-bg-tertiary);border-color:var(--lssd-border-light)}.dark .report-collab-btn:hover:not(:disabled){background:var(--lssd-bg-elevated)}.report-type-card:hover{border-color:var(--lssd-border-medium);box-shadow:var(--lssd-shadow-md)}.report-type-icon-wrapper{background:var(--lssd-gray-100)}.report-type-icon{color:var(--lssd-text-secondary)}.dark .report-type-icon-wrapper{background:var(--lssd-bg-tertiary)}.dark .report-type-icon{color:var(--lssd-text-secondary)}.research-reports-hub-card:hover{border-color:var(--lssd-border-medium);box-shadow:var(--lssd-shadow-sm)}.research-reports-hub-card-icon-wrap{background:var(--lssd-gray-100);color:var(--lssd-text-secondary)}.dark .research-reports-hub-card{background:var(--lssd-bg-elevated)}.dark .research-reports-hub-card-icon-wrap{background:var(--lssd-bg-tertiary);color:var(--lssd-text-secondary)}.database-page-header{border-bottom-color:var(--lssd-border-light)}.report-form .add-row-trigger{color:var(--report-primary);border-color:var(--lssd-border-medium)}.report-form .add-row-trigger:hover{background:var(--lssd-gray-100);border-color:var(--lssd-text-tertiary)}.dark .report-form .add-row-trigger{border-color:var(--lssd-border-medium)}.dark .report-form .add-row-trigger:hover{background:#ffffff0f;border-color:var(--lssd-text-tertiary)}.report-form .form-info-card--info,.report-form .fto-narrative-info--general{background:linear-gradient(135deg,var(--lssd-gray-50) 0%,var(--lssd-gray-100) 100%);border-color:var(--lssd-border-medium)}.report-form .form-info-card--info .form-info-card-icon,.report-form .fto-narrative-info--general .fto-narrative-icon{background:var(--lssd-text-secondary)}.report-form .form-info-card--info .form-info-card-title{color:var(--lssd-text-primary)}.dark .report-form .form-info-card--info,.dark .report-form .fto-narrative-info--general{background:linear-gradient(135deg,#ffffff0d,#ffffff05);border-color:var(--lssd-border-light)}*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary, #f5f5f5);color:var(--text-primary, #1a1a1a);transition:background-color .2s ease,color .2s ease}:root{--bg-primary: var(--lssd-surface-canvas);--bg-secondary: var(--lssd-bg-primary);--bg-tertiary: var(--lssd-bg-tertiary);--text-primary: var(--lssd-text-primary);--text-secondary: var(--lssd-text-secondary);--text-tertiary: var(--lssd-text-tertiary);--border-color: var(--lssd-border-light);--header-bg: var(--lssd-surface-rail);--card-bg: var(--lssd-bg-secondary);--input-bg: var(--lssd-surface-input);--shadow: rgba(0, 0, 0, .1);--hover-bg: rgba(255, 255, 255, .42);--page-radius: 12px;--page-shadow-sm: var(--lssd-shadow-sm);--interactive-active: var(--lssd-brand-green);--interactive-active-hover: var(--lssd-brand-green-deep)}.dark,.dark body,html.dark body{--bg-primary: var(--lssd-bg-secondary);--bg-secondary: var(--lssd-bg-elevated);--bg-tertiary: var(--lssd-bg-tertiary);--text-primary: var(--lssd-text-primary);--text-secondary: var(--lssd-text-secondary);--text-tertiary: var(--lssd-text-tertiary);--border-color: var(--lssd-border-light);--header-bg: var(--lssd-bg-tertiary);--card-bg: var(--lssd-bg-elevated);--input-bg: var(--lssd-bg-tertiary);--shadow: rgba(0, 0, 0, .5);--hover-bg: rgba(255, 255, 255, .06)}.dark body,html.dark body{background-color:var(--bg-primary);color:var(--text-primary)}#root{width:100%;min-height:100vh;margin:0;padding:0}a{color:var(--link-color, var(--accent))}a:hover{color:var(--link-color-hover, var(--accent-hover))}:focus-visible{outline:2px solid var(--focus-ring-color, var(--accent));outline-offset:2px}button:focus-visible,.btn:focus-visible{outline-offset:2px}*,*:before,*:after{transition-property:background-color,color,border-color,opacity,box-shadow;transition-duration:.15s;transition-timing-function:ease}input,textarea,select,[contenteditable=true]{transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.leaflet-container,.leaflet-container *{transition:none!important}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{animation:skeleton-loading 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0,#f8f8f8,#f0f0f0 80px);background-size:200px 100%;border-radius:8px}.loading-skeleton{padding:24px}.skeleton-header{height:48px;width:60%;margin-bottom:24px;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:8px}.skeleton-tabs{height:40px;width:100%;margin-bottom:24px;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:8px}.skeleton-content{display:grid;gap:16px}.skeleton-card{height:120px;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:12px}.page-fade-enter{opacity:0;transform:translateY(10px)}.page-fade-enter-active{opacity:1;transform:translateY(0);transition:opacity .15s ease,transform .15s ease}.page-fade-exit{opacity:1;transform:translateY(0)}.page-fade-exit-active{opacity:0;transform:translateY(-10px);transition:opacity .15s ease,transform .15s ease}button:not(:disabled):hover,.btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}button:not(:disabled):active,.btn:not(:disabled):active{transform:translateY(0)}.cache-indicator{position:fixed;bottom:24px;right:24px;background:#10b981e6;color:#fff;padding:8px 16px;border-radius:8px;font-size:12px;font-weight:600;z-index:9999;animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app{will-change:contents}img{will-change:transform}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}.beta-badge{display:inline-block;padding:2px 6px;background:var(--lssd-accent-600);color:var(--lssd-text-inverse)!important;font-size:10px;font-weight:600;border-radius:4px;margin-left:6px;letter-spacing:.3px;text-transform:uppercase}
