@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:#2563eb}.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:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f64d}.confirm-modal-button-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 6px 16px #3b82f666}@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:24px;right:24px;z-index:999;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--lssd-primary-500, #3b82f6);color:#fff;cursor:pointer;box-shadow:0 4px 12px #3b82f666;transition:transform .2s,box-shadow .2s,opacity .3s;animation:scroll-to-top-fade-in .3s ease-out}.scroll-to-top-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f680}.scroll-to-top-btn:active{transform:translateY(0)}.dark .scroll-to-top-btn{background:var(--lssd-primary-500);box-shadow:0 4px 12px #6366f159}.dark .scroll-to-top-btn:hover{box-shadow:0 6px 16px #6366f173}@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{width:260px;flex-shrink:0;min-height:0;display:flex;flex-direction:column;background:var(--bg-secondary, #ffffff);border-right:1px solid var(--border-color, #e5e7eb);transition:background-color .3s ease,border-color .3s ease}.dark .sidebar-wrapper{background:var(--bg-secondary);border-color:var(--border-color)}.sidebar{width:100%;flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg-secondary, #ffffff);transition:background-color .3s ease}.dark .sidebar{background:var(--bg-secondary)}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:16px 20px 12px;border-bottom:1px solid var(--border-color, #e5e7eb);margin-bottom:8px}.dark .sidebar-logo{border-bottom-color:var(--border-color)}.sidebar-favicon{width:28px;height:28px;object-fit:contain;flex-shrink:0}.sidebar-logo-text{font-size:14px;font-weight:700;color:var(--text-primary, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .sidebar-logo-text{color:var(--text-primary)}.sidebar-nav{display:flex;flex-direction:column;padding:12px 0 20px;flex:1;min-height:0}.sidebar-section{margin-bottom:24px}.sidebar-section:last-child{margin-bottom:0}.sidebar-section-title{font-size:11px;font-weight:700;color:var(--text-tertiary, #6b7280);text-transform:uppercase;letter-spacing:.5px;padding:0 20px 8px;-webkit-user-select:none;user-select:none;transition:color .3s ease}.sidebar-section-icon{flex-shrink:0}.dark .sidebar-section-title{color:var(--text-tertiary)}.sidebar-section-items{display:flex;flex-direction:column;gap:2px}.sidebar-item{display:flex;align-items:center;gap:12px;padding:10px 20px;color:var(--text-primary, #374151);text-decoration:none;transition:all .15s ease;font-weight:500;font-size:14px;position:relative;border-left:3px solid transparent;margin:0 8px;border-radius:6px}.sidebar-item:hover{background:var(--bg-tertiary, #f3f4f6);color:var(--text-primary, #111827)}.sidebar-item.active{background:var(--bg-tertiary, #eff6ff);color:var(--text-primary, #2563eb);border-left-color:#2563eb;font-weight:600}.sidebar-item.active .sidebar-icon{color:#2563eb}.sidebar-icon{flex-shrink:0;color:var(--text-tertiary, #6b7280);transition:color .15s ease}.sidebar-item:hover .sidebar-icon{color:var(--text-primary, #374151)}.dark .sidebar-item{color:var(--text-primary)}.dark .sidebar-item:hover,.dark .sidebar-item.active{background:var(--bg-tertiary);color:var(--text-primary)}.dark .sidebar-icon{color:var(--text-tertiary)}.dark .sidebar-item:hover .sidebar-icon{color:var(--text-primary)}.sidebar-label{flex:1;font-size:14px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sidebar-online{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:12px;color:var(--text-tertiary, #6b7280);background:var(--bg-tertiary, #f9fafb);border-radius:8px;border:1px solid var(--border-color, #e5e7eb)}.sidebar-online-top{margin:0 20px 14px}.dark .sidebar-online{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-tertiary)}.sidebar-online-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:sidebar-online-pulse 2s ease-in-out infinite;flex-shrink:0}.sidebar-online-dot--offline{background:var(--text-tertiary, #9ca3af);animation:none}@keyframes sidebar-online-pulse{0%,to{opacity:1}50%{opacity:.5}}.sidebar-online-text{font-weight:500}@media(max-width:768px){.sidebar-wrapper{display:none}}.rank-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;border:1px solid;font-weight:600;font-size:12px;letter-spacing:.2px;white-space:nowrap;transition:border-color .15s ease,background-color .15s ease}.rank-badge-small{font-size:11px;padding:4px 10px;gap:5px;border-radius:7px}.rank-badge-medium{font-size:12px;padding:5px 14px;gap:6px;border-radius:8px}.rank-badge-large{font-size:14px;padding:6px 16px;gap:8px;border-radius:10px}.rank-badge-icon{font-weight:700;font-size:10px}.rank-badge-image{width:18px;height:18px;object-fit:contain;margin-right:3px;filter:drop-shadow(0 0 1px #fff)}.rank-badge-small .rank-badge-image{width:14px;height:14px}.rank-badge-large .rank-badge-image{width:28px;height:28px;margin-right:8px}.rank-badge-text{font-weight:600;line-height:1.2}.rank-main-text{font-weight:700}.rank-bonus-text{font-weight:500}.rank-badge-unknown{background-color:#f3f4f6cc;border-color:#d1d5db;color:#6b7280}.rank-badge-minimal{background-color:var(--rank-badge-bg, #f8fafc)!important;border:1px solid var(--border-color, #e2e8f0)!important;color:var(--text-primary, #334155)!important;font-weight:500;box-shadow:none}.dark .rank-badge-minimal{background-color:#ffffff14!important;border-color:#ffffff26!important;color:var(--text-primary)!important}.app-header{--header-bg: #2d3a2f;--header-border: rgba(255, 255, 255, .08);--header-text: #ffffff;--header-text-muted: rgba(255, 255, 255, .75);--header-card-bg: rgba(255, 255, 255, .06);--header-card-border: rgba(255, 255, 255, .12);--header-card-hover-bg: rgba(255, 255, 255, .1);--header-card-hover-border: rgba(255, 255, 255, .2);--header-avatar-bg: rgba(59, 130, 246, .25);--header-avatar-border: rgba(255, 255, 255, .25);--header-btn-radius: 10px;--header-transition: .2s ease;background:var(--header-bg);color:var(--header-text);padding:14px 28px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--header-border);box-shadow:0 2px 8px #0000001f;position:relative;overflow:visible;z-index:100;min-height:76px;width:100%;box-sizing:border-box;transition:background-color var(--header-transition),border-color var(--header-transition)}.dark .app-header{--header-bg: #16161a;--header-border: rgba(255, 255, 255, .05);--header-card-bg: rgba(255, 255, 255, .05);--header-card-border: rgba(255, 255, 255, .1);--header-card-hover-bg: rgba(255, 255, 255, .08);--header-card-hover-border: rgba(255, 255, 255, .15)}.app-header:before{content:"";position:absolute;top:0;right:0;bottom:0;width:180px;background:url(/sheriff.png) no-repeat right center;background-size:contain;opacity:.035;pointer-events:none;filter:brightness(0) invert(1)}.app-header .header-left{display:flex;align-items:center;flex-shrink:0}.app-header .header-title-link{text-decoration:none!important;color:inherit}.app-header .header-title h1{font-size:22px;font-weight:700;margin:0;letter-spacing:.02em;display:flex;align-items:center;gap:10px;line-height:1.2}.app-header .header-title-favicon{width:44px;height:44px;object-fit:contain;flex-shrink:0}.app-header .header-subtitle{font-size:11px;opacity:.85;font-weight:400;margin:2px 0 0;letter-spacing:.02em}.app-header .header-right{display:flex;align-items:center;gap:0;position:relative;z-index:1001;flex-shrink:1;min-width:0}.app-header .header-user-area{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 16px;background:var(--header-card-bg);border:1px solid var(--header-card-border);border-radius:16px;transition:background var(--header-transition),border-color var(--header-transition),box-shadow var(--header-transition)}.app-header .header-user-area:hover{background:#ffffff14;border-color:#ffffff2e;box-shadow:0 2px 12px #00000026}.dark .app-header .header-user-area{background:#ffffff0d;border-color:#ffffff1a}.dark .app-header .header-user-area:hover{background:#ffffff14;border-color:#ffffff26}.app-header .header-action-buttons,.app-header .header-actions{display:flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0}.app-header .header-btn,.app-header .header-action-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;min-height:42px;padding:0;background:var(--header-card-bg);border:1px solid var(--header-card-border);border-radius:var(--header-btn-radius);color:var(--header-text);cursor:pointer;transition:background var(--header-transition),border-color var(--header-transition),transform .15s ease;box-sizing:border-box}.app-header .header-btn:hover:not(:disabled),.app-header .header-action-btn:hover:not(:disabled){background:var(--header-card-hover-bg);border-color:var(--header-card-hover-border);transform:translateY(-1px)}.app-header .header-btn:active:not(:disabled),.app-header .header-action-btn:active:not(:disabled){transform:translateY(0)}.app-header .header-btn svg,.app-header .header-action-btn svg{flex-shrink:0;width:20px;height:20px}.app-header .dark-mode-btn,.app-header .header-action-theme{background:#6366f126!important;border-color:#6366f159!important}.app-header .dark-mode-btn:hover:not(:disabled),.app-header .header-action-theme:hover:not(:disabled){background:#6366f140!important;border-color:#6366f180!important}.app-header .logout-btn{background:#ef44441f!important;border-color:#ef44444d!important}.app-header .logout-btn:hover:not(:disabled){background:#ef444438!important;border-color:#ef444473!important}.app-header .character-change-btn{background:#22c55e1f!important;border-color:#22c55e59!important}.app-header .character-change-btn:hover:not(:disabled){background:#22c55e38!important;border-color:#22c55e80!important}.app-header .header-btn-lspd,.app-header .header-action-lspd{width:auto!important;min-width:36px!important;padding:8px 12px!important;font-size:13px;font-weight:600}.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:12px;padding:8px 16px 8px 10px;background:var(--header-card-bg);border:1px solid var(--header-card-border);border-radius:14px;transition:background var(--header-transition),border-color var(--header-transition),box-shadow var(--header-transition);cursor:pointer;min-width:220px;max-width:300px;overflow:hidden;position:relative}.app-header .header-profile:hover{background:var(--header-card-hover-bg);border-color:var(--header-card-hover-border);box-shadow:0 4px 12px #00000026}.app-header .header-profile-avatar{position:relative;width:46px;height:46px;border-radius:12px;overflow:hidden;background:var(--header-avatar-bg);flex-shrink:0;border:1px solid var(--header-avatar-border);transition:border-color var(--header-transition)}.app-header .header-profile:hover .header-profile-avatar{border-color:#ffffff59}.app-header .header-profile-image{width:100%;height:100%;object-fit:cover}.app-header .header-profile-image-fallback{object-fit:contain;padding:8px}.app-header .header-profile-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;overflow:hidden}.app-header .header-profile-name{font-size:14px;font-weight:600;color:var(--header-text);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header .header-profile-ucp{font-size:11px;color:var(--header-text-muted);line-height:1.3;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header .header-profile-meta{display:flex;align-items:center;gap:6px;margin-top:4px;min-width:0}.app-header .header-rank-badge .rank-badge{padding:4px 10px!important;border-radius:8px!important;font-size:11px!important;font-weight:500!important;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background-color:#ffffff1f!important;border:1px solid rgba(255,255,255,.2)!important;color:var(--header-text)!important}.character-selector-overlay{position:fixed;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);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;transition:background-color .2s,border-color .2s}.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 var(--border-color, #e5e7eb);background:linear-gradient(135deg,#3d4a3f,#2d3a2f);color:#fff}.dark .character-modal-header{background:linear-gradient(135deg,#25252a,#1a1a1e);border-bottom-color:#ffffff14}.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:#ffffff14;border:none;border-radius:10px;color:#fff;cursor:pointer;transition:background .2s ease}.modal-close-btn:hover:not(:disabled){background:#ffffff2e}.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:#6366f11a;border-color:#6366f166}.dark .character-modal-item.selected{background:#6366f12e;border-color:#6366f180}.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,#3b82f6,#1e40af)}.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:#059669;background:#d1fae5;border-radius:8px;text-transform:uppercase;letter-spacing:.04em}.dark .character-modal-active-badge{color:#6ee7b7;background:#10b98133}.character-modal-check{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#10b981;color:#fff;flex-shrink:0}@media(max-width:900px){.header-profile{min-width:180px;padding:8px 12px 8px 8px}.header-profile-name{font-size:13px}}@media(max-width:768px){.app-header{padding:12px 16px;flex-wrap:wrap;gap:12px}.header-title h1{font-size:18px}.header-title-favicon{width:36px;height:36px}.header-right{width:100%;justify-content:flex-end;gap:8px}.header-btn,.header-action-btn{width:38px;height:38px;min-width:38px;min-height:38px}.header-profile{min-width:160px;max-width:220px;padding:6px 12px 6px 8px;gap:10px}.header-profile-avatar{width:40px;height:40px}.character-selector-modal{min-width:92%;max-width:96%}}.app-layout{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-primary, #f5f5f5);transition:background-color .3s ease}.dark .app-layout{background:var(--bg-primary, #1a1a1a)}.app-layout>header{width:100%;flex-shrink:0}.app-content-wrapper{display:flex;flex:1;width:100%;min-height:0;background:var(--bg-tertiary, #f9fafb);transition:background-color .3s ease}.dark .app-content-wrapper{background:var(--bg-tertiary)}.app-page-content{flex:1;padding:24px;background-color:var(--bg-secondary, #ffffff);min-height:0;overflow-y:auto;transition:background-color .3s ease}.dark .app-page-content{background-color:var(--bg-secondary, #2d2d2d);color:var(--text-primary, #ffffff)}.app-footer{background:#333;color:#fff;padding:18px 40px;box-shadow:0 -4px 12px #00000026;border-top:3px solid rgba(255,255,255,.1);position:relative;z-index:99;min-height:80px;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:100%}.app-footer .footer-content{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1920px;margin:0 auto;gap:24px}.app-footer .footer-left{display:flex;align-items:center;gap:16px}.app-footer .footer-logo-text{display:flex;align-items:center;gap:12px}.app-footer .footer-logo{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.app-footer .footer-text{margin:0;font-size:13px;font-weight:500;opacity:.9}.app-footer .footer-subtext{margin:0;font-size:11px;opacity:.7}.app-footer .footer-right{display:flex;align-items:center;gap:16px}.app-footer .footer-right-content{text-align:right}.app-footer .footer-version{margin:0;font-size:13px;font-weight:500;opacity:.9;display:flex;align-items:center;gap:8px;justify-content:flex-end}.app-footer .footer-deploy{margin:0;font-size:11px;opacity:.85;font-family:ui-monospace,monospace}.app-footer .footer-coded-by{margin:0;font-size:11px;opacity:.7}.app-page-content>*{animation:none}@media(max-width:1024px){.app-footer .footer-content{flex-direction:column;align-items:center;text-align:center;gap:16px}.app-footer .footer-right-content{text-align:center}.app-footer .footer-version{justify-content:center}}@media(max-width:768px){.app-page-content{padding:16px}}.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:#3b82f6;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:#3b82f6;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:slideInActive .15s cubic-bezier(.4,0,.2,1)}@keyframes slideInActive{0%{background:transparent;border-left-color:transparent}to{background:linear-gradient(90deg,#3b82f61f,#3b82f60a);border-left-color:#3b82f6}}: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(--accent, #3b82f6);color:#fff}.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(135deg,#1e3a8a,#1e40af,#3b82f6);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{pointer-events:none;opacity:.8}@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 12px rgba(49,46,129,.3));flex-shrink:0}.sd-logo,.county-logo{height:180px!important;width:auto!important}.logo-badge{display:inline-block;width:80px;height:80px;background:linear-gradient(135deg,#312e81,#4f46e5);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:24px;letter-spacing:1px;box-shadow:0 4px 12px #312e814d;border:3px solid white}.login-header h1{color:#312e81;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:#312e81!important;color:#fff!important;border-color:#312e81!important}.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:linear-gradient(135deg,#312e81,#4f46e5);color:#fff;border:none;padding:16px 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 4px 12px #312e814d;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 6px 20px #312e8166;background:linear-gradient(135deg,#1e40af,#2563eb)}.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}*{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: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #f9fafb;--text-primary: #1a1a1a;--text-secondary: #4b5563;--text-tertiary: #6b7280;--border-color: #e5e7eb;--header-bg: #f8fafc;--card-bg: #ffffff;--input-bg: #ffffff;--shadow: rgba(0, 0, 0, .1);--hover-bg: #f3f4f6}.dark,.dark body,html.dark body{--bg-primary: #0f0f0f;--bg-secondary: #1a1a1a;--bg-tertiary: #2d2d2d;--text-primary: #ffffff;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--border-color: #404040;--header-bg: #1a1a1a;--card-bg: #2d2d2d;--input-bg: #1a1a1a;--shadow: rgba(0, 0, 0, .5);--hover-bg: #2d2d2d}.dark body,html.dark body{background-color:var(--bg-primary);color:var(--text-primary)}#root{width:100%;min-height:100vh;margin:0;padding:0}*{transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,opacity .2s ease}.leaflet-container,.leaflet-container *{transition:background-color .2s ease,color .2s ease,border-color .2s ease,opacity .2s ease!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:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.beta-badge{display:inline-block;padding:2px 6px;background:#d97706;color:#fff!important;font-size:10px;font-weight:600;border-radius:4px;margin-left:6px;letter-spacing:.3px;text-transform:uppercase}: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-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: #3b82f6;--lssd-info-light: #dbeafe;--lssd-info-dark: #2563eb;--lssd-bg-primary: #ffffff;--lssd-bg-secondary: #f9fafb;--lssd-bg-tertiary: #f3f4f6;--lssd-bg-elevated: #ffffff;--lssd-bg-overlay: rgba(17, 24, 39, .5);--lssd-text-primary: #111827;--lssd-text-secondary: #374151;--lssd-text-tertiary: #6b7280;--lssd-text-muted: #9ca3af;--lssd-text-inverse: #ffffff;--lssd-border-light: #e5e7eb;--lssd-border-medium: #d1d5db;--lssd-border-dark: #9ca3af;--lssd-border-focus: #6366f1;--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-primary: #312e81;--lssd-btn-primary-hover: #3730a3;--lssd-btn-primary-active: #1e1b4b;--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}
