#root{width:100%;height:100vh;margin:0;padding:0}.logo{will-change:filter;height:6em;padding:1.5em;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:20s linear infinite logo-spin}}.card{padding:2em}.api-status{background-color:#ffffff0d;border:1px solid #333;border-radius:8px;margin:1rem 0;padding:1rem}.status{margin-left:.5rem;font-weight:700}.status.checking{color:orange}.status.connected{color:#0f0}.status.disconnected{color:red}.read-the-docs{color:#888}.login-container{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:400px;padding:40px;box-shadow:0 10px 25px #0000001a}.login-header h1{color:#333;margin-bottom:8px;font-size:28px;font-weight:600}.login-header p{color:#666;margin-bottom:32px;font-size:14px}.error-message{color:#c53030;background:#fee;border:1px solid #feb2b2;border-radius:6px;margin-bottom:20px;padding:12px;font-size:14px}.google-login-container{margin-bottom:24px}.login-footer{color:#666;font-size:12px;line-height:1.5}.loading-spinner{flex-direction:column;align-items:center;gap:16px;display:flex}.spinner{border:4px solid #f3f3f3;border-top-color:#4a5568;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner p{color:#666;margin:0}.header{background:var(--env-bg-gradient,#1f2937);border-bottom:2px solid var(--env-accent-color,#374151);z-index:1000;align-items:center;height:48px;transition:background .3s ease-in-out,border-color .3s ease-in-out;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 4px #0000001a}.header-content{justify-content:space-between;align-items:center;width:100%;padding:0 20px 0 64px;display:flex}.header-left{align-items:center;display:flex}.header-logo{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.header-icon{object-fit:contain;border-radius:6px;width:32px;height:32px}.header-logo h1{color:var(--env-text-color,#fff);text-shadow:1px 1px 2px #0000004d;margin:0;font-size:1.25rem;font-weight:600;transition:color .2s ease-in-out}.header-logo:hover h1{color:var(--env-accent-color,#60a5fa)}.header-right{align-items:center;gap:16px;display:flex}.header-info,.user-info{align-items:center;gap:12px;display:flex}.user-profile{align-items:center;gap:8px;display:flex}.user-avatar{border:2px solid #ffffff4d;border-radius:50%;width:32px;height:32px}.user-details{flex-direction:column;gap:2px;display:flex}.user-name{color:var(--env-text-color,#fff);font-size:.875rem;font-weight:500;line-height:1.2}.user-email{color:#ffffffb3;font-size:.75rem;line-height:1.2}.user-roles{flex-wrap:wrap;gap:4px;display:flex}.role-badge{color:#06c;white-space:nowrap;background-color:#e7f3ff;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.logout-button{color:#fff;cursor:pointer;background-color:#dc2626cc;border:none;border-radius:4px;padding:6px 12px;font-size:.75rem;font-weight:500;transition:background-color .2s}.logout-button:hover{background-color:#dc2626}.environment-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;background-color:#374151;border-radius:4px;padding:3px 8px;font-size:.75rem;font-weight:500}.environment-badge[data-env=development]{background-color:#059669}.environment-badge[data-env=staging]{background-color:#d97706}.environment-badge[data-env=production]{background-color:#dc2626}.version-badge{color:var(--env-text-color,#fff);border:1px solid var(--env-accent-color,#6b7280);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fff3;border-radius:4px;padding:3px 8px;font-size:.75rem;font-weight:500}.version-badge.server-version{background-color:#3b82f64d;border-color:#3b82f6;font-size:.7rem}@media (width<=768px){.header-content{padding:0 12px 0 60px}.header-logo h1{font-size:1.125rem}.header-info{gap:6px}.environment-badge,.version-badge{padding:2px 6px;font-size:.6875rem}.user-info{gap:8px}.user-profile{gap:6px}.user-avatar{width:28px;height:28px}.user-name{font-size:.8125rem}.user-email{font-size:.6875rem}.role-badge{padding:2px 6px;font-size:10px}.logout-button{padding:4px 8px;font-size:.6875rem}}.layout{background:var(--env-bg-gradient,#fff);flex-direction:column;width:100%;min-height:100vh;transition:background .3s ease-in-out;display:flex}.layout-body{flex:1;padding-top:48px;display:flex}.layout-main{flex-direction:column;flex:1;min-width:0;transition:margin-left .3s ease-in-out;display:flex;overflow-x:hidden}.layout-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box;background-color:#fffc;border-radius:6px;flex:1;width:100%;min-width:0;max-width:100%;margin:0;padding:8px;overflow:hidden auto;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}@media (width>=1024px){.layout-main{margin-left:300px;transition:margin-left .3s ease-in-out}.layout-main:not(.sidebar-open){margin-left:0}}@media (width<=1023px){.layout-content{padding:10px}.layout-main.sidebar-open{margin-left:0}}.layout-content::-webkit-scrollbar{width:8px}.layout-content::-webkit-scrollbar-track{background:#f1f5f9}.layout-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.layout-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sidebar-toggle{z-index:1001;color:#fff;cursor:pointer;background-color:#374151;border:none;border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;padding:8px;transition:background-color .2s ease-in-out;display:flex;position:fixed;top:2px;left:16px}.sidebar-toggle:hover{background-color:#4b5563}.sidebar{z-index:999;background-color:#f9fafb;border-right:1px solid #e5e7eb;width:300px;height:calc(100vh - 48px);transition:transform .3s ease-in-out;position:fixed;top:48px;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-nav{padding:16px 0}.nav-item{margin:0}.nav-item-content{cursor:pointer;justify-content:space-between;align-items:center;min-height:48px;padding:16px 20px;transition:background-color .2s ease-in-out;display:flex;position:relative}.nav-item-content:hover{background-color:#f3f4f6}.nav-item-content.active{background-color:#dbeafe;border-right:3px solid #3b82f6}.nav-link{color:inherit;flex:1;align-items:center;text-decoration:none;display:flex}.nav-label{color:#374151;font-size:.875rem;font-weight:500}.nav-item-content.active .nav-label{color:#1d4ed8;font-weight:600}.nav-toggle{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:8px;transition:all .2s ease-in-out;display:flex}.nav-toggle:hover{color:#374151;background-color:#e5e7eb}.nav-toggle.open{transform:rotate(90deg)}.nav-children{background-color:#fff;border-left:2px solid #e5e7eb;margin-left:16px}.level-1 .nav-item-content{padding:16px 20px 16px 36px;font-size:.8125rem}.level-2 .nav-item-content{padding:16px 20px 16px 52px;font-size:.8125rem}.level-3 .nav-item-content{padding:16px 20px 16px 68px;font-size:.75rem}.sidebar-overlay{z-index:998;background-color:#00000080;position:fixed;inset:48px 0 0}@media (width>=1024px){.sidebar-toggle{display:block}.sidebar{height:calc(100vh - 48px);position:fixed;top:48px;transform:translate(0)}.sidebar:not(.open){transform:translate(-100%)}.sidebar-overlay{display:none}}@media (width<=768px){.sidebar{width:280px}.sidebar-toggle{width:44px;height:44px;padding:6px;top:2px;left:12px}}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.refresh-button{cursor:pointer;color:#000;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:4px 8px;font-family:inherit;font-size:13px;font-weight:500;transition:background-color .2s}.refresh-button:hover{background:#e9ecef}.loading-spinner{text-align:center;color:#6c757d;padding:20px}.error-message{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;align-items:center;gap:8px;padding:12px;display:flex}.no-data{text-align:center;color:#6c757d;padding:20px}.status-section{margin-bottom:16px}.status-section h4{color:#495057;border-bottom:1px solid #dee2e6;margin:0 0 8px;padding-bottom:4px;font-size:14px;font-weight:600}.status-item{align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.status-indicator{min-width:16px;font-size:12px}.status-indicator.healthy{color:#28a745}.status-indicator.unhealthy,.status-indicator.error{color:#dc3545}.status-label{color:#495057;min-width:80px;font-weight:500}.status-value{color:#6c757d}.status-item.detail{opacity:.8;margin-left:16px;padding:2px 0;font-size:12px}.status-item.detail .status-label{min-width:60px;font-size:12px}.retry-info{color:#856404;background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;display:flex}.retry-indicator{font-size:14px;animation:2s linear infinite spin}.retry-text{font-size:13px;font-weight:500}.retry-count{color:#e67e22;font-weight:600}.url-value{word-break:break-all;text-overflow:ellipsis;white-space:nowrap;max-width:350px;overflow:hidden;color:#495057!important;background:#e9ecef!important;border:1px solid #dee2e6!important;border-radius:3px!important;padding:2px 6px!important;font-family:Courier New,monospace!important;font-size:11px!important}.server-info{flex-direction:column;gap:4px;display:flex}.info-item{flex-wrap:nowrap;justify-content:space-between;align-items:center;min-width:0;padding:2px 0;font-size:13px;display:flex}.info-label{color:#495057;flex-shrink:0;margin-right:8px;font-weight:500}.info-value{color:#6c757d;flex:1;min-width:0;font-family:Courier New,monospace}.last-updated{color:#6c757d;text-align:right;border-top:1px solid #dee2e6;margin-top:12px;padding-top:8px;font-size:11px}@media (width<=768px){.status-item{flex-direction:column;align-items:flex-start;gap:4px}.status-label{min-width:auto}.info-item{flex-direction:column;align-items:flex-start;gap:2px}.url-value{word-break:break-all!important;margin-top:2px!important;display:block!important}}.dashboard{box-sizing:border-box;width:100%;max-width:100%;margin:0 auto;padding:0 8px}.dashboard-header{text-align:center;margin-bottom:12px}.dashboard-header h1{color:#1f2937;margin:0 0 4px;font-size:2rem;font-weight:700}.dashboard-header p{color:#6b7280;margin:0;font-size:1.125rem}.dashboard-content{box-sizing:border-box;width:100%}.dashboard-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:12px;width:100%;margin-bottom:20px;display:grid;overflow:hidden}.dashboard-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;min-width:400px;transition:all .2s ease-in-out;overflow:hidden}.dashboard-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #0000001a}.card-header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;padding:16px 20px}.card-header h3{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600}.card-content{padding:16px 20px}.card-content p{color:#4b5563;margin:0 0 14px;line-height:1.6}.card-content ul{color:#6b7280;margin:0;padding-left:20px}.card-content li{margin-bottom:4px;line-height:1.5}.status-indicator{align-items:center;gap:8px;margin-top:12px;display:flex}.status-dot{background-color:#ef4444;border-radius:50%;width:12px;height:12px}.status-dot.online{background-color:#10b981}.dashboard-features{box-sizing:border-box;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;padding:20px 24px;overflow:hidden}.dashboard-features h2{color:#1f2937;text-align:center;margin:0 0 20px;font-size:1.75rem;font-weight:700}.features-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;width:100%;display:grid;overflow:hidden}.feature-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px 20px}.feature-item h4{color:#1f2937;margin:0 0 12px;font-size:1.125rem;font-weight:600}.feature-item p{color:#4b5563;margin:0 0 10px;line-height:1.6}.feature-item code{color:#1f2937;background-color:#f3f4f6;border-radius:4px;padding:2px 6px;font-family:Courier New,monospace;font-size:.875rem}.feature-item ul{color:#6b7280;margin:8px 0 0;padding-left:20px}.feature-item li{margin-bottom:4px;line-height:1.5}@media (width>=768px) and (width<=1023px){.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:14px}}@media (width>=1024px){.dashboard-grid{grid-template-columns:repeat(4,1fr);gap:16px}.features-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media (width>=1400px){.dashboard-grid{grid-template-columns:repeat(4,1fr);gap:20px}.features-grid{gap:20px}}@media (width<=768px){.dashboard-header h1{font-size:2rem}.dashboard-header p{font-size:1rem}.dashboard-grid{grid-template-columns:1fr;gap:16px}.dashboard-card{min-width:auto}.card-header{padding:16px 20px}.card-content{padding:20px}.dashboard-features{padding:24px 20px}.features-grid{grid-template-columns:1fr;gap:20px}.feature-item{padding:20px}}.api-detail-page{max-width:1200px;margin:0 auto;padding:24px}.api-detail-header{margin-bottom:32px}.api-title-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.api-badges{gap:8px;margin-bottom:16px;display:flex}.api-title{color:#1f2937;margin:0 0 16px;font-size:2rem;font-weight:700}.api-endpoint-info{align-items:center;gap:12px;margin-bottom:16px;display:flex}.endpoint-method{color:#fff;background:#059669;border-radius:4px;padding:4px 8px;font-size:.875rem;font-weight:600}.endpoint-path{color:#059669;background:#f0fdf4;border-radius:6px;padding:8px 12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:1.1rem}.api-description{color:#6b7280;white-space:pre-line;margin:0;font-size:1.1rem;line-height:1.6}.api-detail-content{flex-direction:column;gap:32px;display:flex}.api-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.section-title{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--env-text-color,#1f2937);border-bottom:1px solid var(--env-accent-color,#e5e7eb);background:#f8fafccc;margin:0;padding:16px 24px;font-size:1.5rem}.execute-method-info{padding:24px}.method-signature{background:#f3f4f6;border-left:4px solid #3b82f6;border-radius:8px;padding:16px}.method-signature code{color:#1f2937;word-break:break-all;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:1rem}.field-type a:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a;color:var(--env-accent-color,#2563eb)!important;background:#3b82f61a!important}.type-comment{color:#6b7280;white-space:pre-line;margin:0 0 16px;font-size:.95rem;line-height:1.5}.fields-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.fields-header{color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb;grid-template-columns:1fr 1fr 1fr auto 2fr;gap:16px;padding:12px 16px;font-weight:600;display:grid}.field-row{border-bottom:1px solid #f3f4f6;grid-template-columns:1fr 1fr 1fr auto 2fr;align-items:center;gap:16px;padding:12px 16px;display:grid}.field-row:last-child{border-bottom:none}.field-row:hover{background:#f9fafb}.field-name{color:var(--env-text-color,#1f2937);font-weight:500}.field-json-name code{color:var(--env-text-color,#374151);background:#f3f4f6cc;border-radius:3px;padding:2px 6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem}.field-type code{color:var(--env-text-color,#374151);background:#f3f4f6cc;border-radius:3px;padding:2px 6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem}.array-indicator{color:#1e40af;background:#dbeafe;border-radius:3px;padding:2px 4px;font-size:.75rem;font-weight:600}.optional-indicator{color:#92400e;background:#fef3c7;border-radius:3px;padding:2px 4px;font-size:.75rem;font-weight:600}.field-comment{color:var(--env-text-color,#6b7280);opacity:.8;white-space:pre-line;font-size:.875rem}.constants-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;padding:24px;display:grid}.constant-definition{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fafafacc;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.constant-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.constant-name{color:#1f2937;margin:0;font-size:1rem;font-weight:600}.constant-type code{color:var(--env-text-color,#374151);background:#f3f4f6cc;border-radius:3px;padding:2px 6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem}.constant-value{align-items:center;gap:8px;margin-bottom:8px;display:flex}.constant-value-label{color:#374151;font-weight:500}.constant-value-code{color:#059669;background:#f0fdf4;border-radius:4px;padding:4px 8px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem}.constant-comment{color:#6b7280;white-space:pre-line;margin:0;font-size:.875rem;line-height:1.4}@media (width<=768px){.api-detail-page{padding:16px}.api-title{font-size:1.5rem}.fields-header,.field-row{grid-template-columns:1fr;gap:8px}.fields-header{display:none}.field-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;align-items:flex-start;margin-bottom:12px;padding:16px;display:flex}.field-row>span{border-bottom:1px solid #f3f4f6;width:100%;padding:8px 0;display:block}.field-row>span:last-child{border-bottom:none}.field-row>span:before{content:attr(data-label) ": ";color:#6b7280;margin-bottom:4px;font-size:.8rem;font-weight:600;display:block}.values-table{grid-template-columns:1fr;gap:1px}.values-header{display:none}.value-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;display:block}.value-row>span{border-bottom:1px solid #f3f4f6;padding:8px 12px;display:block}.value-row>span:last-child{border-bottom:none}.value-row>span:before{content:attr(data-label) ": ";color:#6b7280;margin-bottom:4px;font-size:.8rem;font-weight:600;display:block}.constants-grid{grid-template-columns:1fr;padding:16px}.api-endpoint-info{flex-direction:column;align-items:flex-start;gap:8px}}.type-header-actions{align-items:center;gap:8px;display:flex}.unity-struct-header h4{color:#374151;margin:0;font-size:1.1rem}.type-definition .fields-table,.type-definition .unity-struct-section{transition:all .3s ease-in-out}.struct-detail-button{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;text-decoration:none;transition:all .2s;display:flex}.struct-detail-button:hover{color:#fff;background:#059669;transform:translateY(-1px)}.struct-detail-link{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:4px;align-items:center;gap:4px;margin-left:6px;padding:2px 6px;font-size:.75rem;text-decoration:none;transition:all .2s;display:inline-flex}.struct-detail-link:hover{color:#fff;background:#059669;transform:translateY(-1px)}.field-type{align-items:center;gap:4px;display:flex}.values-table{background:#e5e7eb;border-radius:8px;grid-template-columns:1fr 1fr 2fr;gap:1px;margin-top:16px;display:grid;overflow:hidden}.value-row>span{background:#fff;border-bottom:1px solid #f3f4f6;align-items:center;padding:12px 16px;display:flex}@media (width<=768px){.type-header{flex-direction:column;align-items:flex-start;gap:12px}.type-header-actions{flex-direction:column;gap:8px;width:100%}.unity-struct-header{flex-direction:column;align-items:flex-start;gap:8px}.copy-button{padding:6px 12px;font-size:.8rem}.struct-detail-button,.struct-detail-link{font-size:.8rem}}.api-docs-page{max-width:1200px;margin:0 auto;padding:24px}.api-docs-header{text-align:center;margin-bottom:32px}.api-docs-header h1{color:#1f2937;margin-bottom:8px;font-size:2.5rem}.api-docs-header p{color:#6b7280;font-size:1.1rem}.api-docs-controls{flex-direction:column;gap:16px;margin-bottom:32px;display:flex}.search-input{border:2px solid var(--env-accent-color,#e5e7eb);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:500px;color:var(--env-text-color,#374151);background:#fffc;border-radius:8px;padding:12px 16px;font-size:1rem;transition:border-color .2s}.filter-tab{border:2px solid var(--env-accent-color,#e5e7eb);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;color:var(--env-text-color,#374151);background:#fffc;border-radius:6px;padding:8px 16px;font-weight:500;transition:all .2s}.filter-tab:hover{border-color:var(--env-accent-color,#d1d5db);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffffe6}.filter-tab.active{border-color:var(--env-accent-color,#3b82f6);background:var(--env-accent-color,#3b82f6);color:#fff;box-shadow:0 2px 4px #0000001a}.api-docs-content{flex-direction:column;gap:32px;display:flex}.api-service-group{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.service-title{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--env-text-color,#1f2937);border-bottom:1px solid var(--env-accent-color,#e5e7eb);background:#f8fafccc;margin:0;padding:16px 24px;font-size:1.5rem}.api-methods-grid{flex-direction:column;gap:8px;padding:12px;display:flex}.api-method-card{color:inherit;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#fffc;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:100px 220px 1fr;align-items:center;gap:0;padding:8px 14px;text-decoration:none;transition:all .2s;display:grid}.api-method-card:hover{border-color:var(--env-accent-color,#3b82f6);background:#fffffff2;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f626}.api-col-badge{flex-shrink:0;gap:4px;padding-right:12px;display:flex}.api-col-name{border-left:1px solid #e5e7eb;min-width:0;padding:2px 12px}.api-col-comment{border-left:1px solid #e5e7eb;min-width:0;padding:2px 12px;overflow:hidden}.api-method-header{flex-shrink:0;gap:6px;display:flex}.api-type-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:600}.api-type-badge.admin{color:#92400e;background:#fef3c7}.api-type-badge.api{color:#1e40af;background:#dbeafe}.api-type-badge.streaming{color:#86198f;background:#fae8ff}.crud-badge{color:#065f46;text-transform:uppercase;letter-spacing:.05em;background:#d1fae5;border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:600}.api-method-name{color:#1f2937;overflow-wrap:break-word;word-break:break-all;margin:0;font-size:1rem;font-weight:600;line-height:1.3}.api-endpoint{color:#059669;overflow-wrap:break-word;word-break:break-all;background:#f0fdf4;border-radius:3px;margin:2px 0 0;padding:1px 5px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;line-height:1.3}.api-comment{color:#6b7280;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}@media (width<=768px){.api-docs-page{padding:16px}.api-docs-header h1{font-size:2rem}.api-methods-grid{padding:8px}.api-method-card{grid-template-columns:1fr;gap:4px;padding:8px 14px}.api-col-badge,.api-col-name,.api-col-comment{border-left:none;padding:2px 0}.filter-tabs{flex-direction:column}.filter-tab{text-align:center}}.confirm-dialog-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog{background:#fff;border-radius:.75rem;width:90%;min-width:320px;max-width:500px;padding:2rem;animation:.2s ease-out slideIn;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-dialog-title{color:#1f2937;margin:0 0 1rem;font-size:1.25rem;font-weight:600;line-height:1.4}.confirm-dialog-message{color:#4b5563;white-space:pre-wrap;margin:0 0 2rem;font-size:1rem;line-height:1.6}.confirm-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.confirm-dialog-cancel,.confirm-dialog-confirm{cursor:pointer;border:1px solid;border-radius:.5rem;outline:none;justify-content:center;align-items:center;min-width:80px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.confirm-dialog-cancel:focus,.confirm-dialog-confirm:focus{outline-offset:2px;outline:2px solid}.btn-primary{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.btn-primary:hover{background-color:#2563eb;border-color:#2563eb}.btn-primary:focus{outline-color:#3b82f6}.btn-secondary{color:#374151;background-color:#f9fafb;border-color:#d1d5db}.btn-secondary:hover{background-color:#f3f4f6;border-color:#9ca3af}.btn-secondary:focus{outline-color:#6b7280}.btn-danger{color:#fff;background-color:#dc2626;border-color:#dc2626}.btn-danger:hover{background-color:#b91c1c;border-color:#b91c1c}.btn-danger:focus{outline-color:#dc2626}.btn-warning{color:#fff;background-color:#f59e0b;border-color:#f59e0b}.btn-warning:hover{background-color:#d97706;border-color:#d97706}.btn-warning:focus{outline-color:#f59e0b}.btn-success{color:#fff;background-color:#10b981;border-color:#10b981}.btn-success:hover{background-color:#059669;border-color:#059669}.btn-success:focus{outline-color:#10b981}@media (width<=480px){.confirm-dialog{width:95%;min-width:280px;padding:1.5rem}.confirm-dialog-title{font-size:1.125rem}.confirm-dialog-message{margin-bottom:1.5rem;font-size:.875rem}.confirm-dialog-actions{flex-direction:column-reverse;gap:.5rem}.confirm-dialog-cancel,.confirm-dialog-confirm{justify-content:center;width:100%}}@media (prefers-color-scheme:dark){.confirm-dialog{color:#f9fafb;background:#1f2937}.confirm-dialog-title{color:#f9fafb}.confirm-dialog-message{color:#d1d5db}}.gacha-box-tree-editor{background:#f5f7fa;border-radius:8px;flex-direction:column;height:100%;display:flex;overflow:hidden}.tree-editor-toolbar{background:#fff;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.toolbar-left{align-items:center;gap:12px;display:flex}.toolbar-title{color:#333;font-size:15px;font-weight:700}.toolbar-right{gap:8px;display:flex}.btn-open-drawer{color:#4a90d9;cursor:pointer;background:0 0;border:1px solid #4a90d9;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;transition:all .2s;display:flex}.btn-open-drawer:hover{color:#fff;background:#4a90d9}.history-buttons{gap:4px;margin-right:8px;display:flex}.btn-history{color:#374151;cursor:pointer;background:#fff;border:1px solid #6b7280;border-radius:6px;align-items:center;gap:4px;padding:8px 12px;font-size:13px;transition:all .2s;display:flex}.btn-history:hover:not(:disabled){background:#f3f4f6;border-color:#4b5563}.btn-history:disabled{opacity:.4;cursor:not-allowed;color:#9ca3af;background:#f9fafb;border-color:#d1d5db}.btn-history:active:not(:disabled){transform:scale(.98)}.tree-editor-content{flex:1;min-height:200px;padding:20px;overflow:auto}.tree-container{flex-direction:row;min-width:100%;display:inline-flex}.drag-indicator{color:#fff;z-index:1001;pointer-events:none;background:#4a90d9f2;border-radius:20px;padding:10px 20px;font-size:13px;animation:.2s slideUp;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tree-container .tree-node{flex-shrink:0}.tree-container .tree-children{flex-direction:column;margin-left:20px;padding-left:0;display:flex;position:relative}.tree-container .tree-children:before{content:"";background:#ccc;width:2px;position:absolute;top:0;bottom:0;left:-20px}.tree-container .tree-row-container{flex-direction:row;align-items:flex-start;margin-left:0;display:flex}.tree-container .tree-node:not(.tree-node-root) .tree-children:empty:after{content:"子要素なし";color:#999;padding:8px;font-size:12px;font-style:italic}@media (width<=768px){.tree-editor-toolbar{flex-direction:column;align-items:flex-start;gap:10px}.toolbar-right{width:100%}.btn-open-drawer{justify-content:center;width:100%}.tree-editor-content{padding:12px}}.drawer-overlay{z-index:999;background:#0000004d;position:fixed;inset:0}.template-drawer{z-index:1000;background:#fff;flex-direction:column;width:350px;transition:right .3s;display:flex;position:fixed;top:0;bottom:0;right:-350px;box-shadow:-4px 0 20px #00000026}.template-drawer.open{right:0}.drawer-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.drawer-header h3{color:#333;margin:0;font-size:16px}.btn-close{color:#666;cursor:pointer;background:#e0e0e0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:all .2s;display:flex}.btn-close:hover{color:#fff;background:#dc3545}.drawer-search{border-bottom:1px solid #e0e0e0;padding:12px 16px}.drawer-search input{border:1px solid #ced4da;border-radius:6px;width:100%;padding:10px 14px;font-size:14px}.drawer-search input:focus{border-color:#4a90d9;outline:none;box-shadow:0 0 0 2px #4a90d933}.drawer-content{flex:1;padding:12px;overflow-y:auto}.empty-state{text-align:center;color:#999;padding:40px 20px;font-size:14px}.template-list{flex-direction:column;gap:10px;display:flex}.template-card{cursor:grab;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:12px;transition:all .2s}.template-card:hover{background:#fff;border-color:#4a90d9;box-shadow:0 2px 8px #4a90d933}.template-card:active{cursor:grabbing;transform:scale(.98)}.template-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.template-name{color:#333;font-size:14px;font-weight:700}.template-row-count{color:#666;background:#e9ecef;border-radius:10px;padding:2px 8px;font-size:11px}.template-summary{color:#666;margin-bottom:6px;font-size:12px}.template-drag-hint{color:#999;font-size:11px;font-style:italic}.drawer-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;padding:12px 16px}.hint-text{color:#666;margin:0;font-size:12px;line-height:1.5}.master-selector-dropdown{box-sizing:border-box;width:100%;position:relative}.master-selector-dropdown__input{color:#374151;box-sizing:border-box;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;width:100%;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.master-selector-dropdown__input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.master-selector-dropdown__input:disabled{color:#9ca3af;cursor:not-allowed;background-color:#f9fafb}.master-selector-dropdown__input::placeholder{color:#6b7280}.master-selector-dropdown__selected-info{background-color:#f0fdf4;border:1px solid #86efac;border-radius:4px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;padding:8px 12px;display:flex}.master-selector-dropdown__selected-id{color:#16a34a;font-size:13px;font-weight:600}.master-selector-dropdown__selected-label{color:#111827;flex:1;min-width:0;font-size:13px;font-weight:500}.master-selector-dropdown__selected-meta{color:#6b7280;background-color:#e5e7eb;border-radius:10px;padding:2px 8px;font-size:12px}.master-selector-dropdown__list{z-index:1000;background-color:#fff;border:1px solid #d1d5db;border-radius:4px;max-height:300px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.master-selector-dropdown__item{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:10px 12px;transition:background-color .15s}.master-selector-dropdown__item:last-child{border-bottom:none}.master-selector-dropdown__item:hover{background-color:#f0fdf4}.master-selector-dropdown__item-main{align-items:center;gap:10px;display:flex}.master-selector-dropdown__item-id{color:#16a34a;min-width:50px;font-size:13px;font-weight:600}.master-selector-dropdown__item-label{color:#111827;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:500;overflow:hidden}.master-selector-dropdown__item-meta{align-items:center;gap:12px;margin-top:4px;display:flex}.master-selector-dropdown__item-tag{color:#6b7280;background-color:#f3f4f6;border-radius:10px;padding:2px 8px;font-size:12px}.master-selector-dropdown__empty{text-align:center;color:#9ca3af;cursor:default;padding:16px}@media (prefers-color-scheme:dark){.master-selector-dropdown__input{color:#f9fafb;background-color:#1f2937;border-color:#4b5563}.master-selector-dropdown__input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.master-selector-dropdown__input:disabled{color:#6b7280;background-color:#111827}.master-selector-dropdown__input::placeholder{color:#9ca3af}.master-selector-dropdown__selected-info{background-color:#064e3b;border-color:#059669}.master-selector-dropdown__selected-id{color:#34d399}.master-selector-dropdown__selected-label{color:#f9fafb}.master-selector-dropdown__selected-meta{color:#d1d5db;background-color:#374151}.master-selector-dropdown__list{background-color:#1f2937;border-color:#4b5563}.master-selector-dropdown__item{border-bottom-color:#374151}.master-selector-dropdown__item:hover{background-color:#064e3b}.master-selector-dropdown__item-id{color:#34d399}.master-selector-dropdown__item-label{color:#f9fafb}.master-selector-dropdown__item-tag{color:#d1d5db;background-color:#374151}.master-selector-dropdown__empty{color:#6b7280}}.tree-node{background:#fff;border:2px solid #e0e0e0;border-radius:8px;flex-direction:column;min-width:280px;margin:4px 0;padding:12px;transition:all .2s;display:flex}.tree-node-root{background:#f8fafc;border-color:#4a90d9}.tree-node-hovered{border-color:#4a90d9;box-shadow:0 0 0 3px #4a90d933}.tree-node-drag-over{background:#fff;border-color:#28a745;animation:1.5s ease-in-out infinite glow-pulse;position:relative;box-shadow:0 0 0 3px #28a74580,0 0 20px #28a74566,0 0 40px #28a74533}.tree-node-drag-over:before{content:"";z-index:-1;background:linear-gradient(45deg,#28a7451a,#28a7454d,#28a7451a);border-radius:8px;animation:2s linear infinite border-glow;position:absolute;inset:-2px}@keyframes border-glow{0%{background-position:0%}to{background-position:200%}}@keyframes glow-pulse{0%,to{box-shadow:0 0 0 3px #28a74580,0 0 20px #28a74566,0 0 40px #28a74533}50%{box-shadow:0 0 0 3px #28a745b3,0 0 30px #28a74599,0 0 60px #28a7454d}}.tree-node-header{align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.tree-node-add-action{flex-shrink:0;align-items:center;height:32px;display:flex}.tree-node-info{flex-direction:column;flex:1;gap:6px;display:flex}.tree-node-delete-action{flex-shrink:0;align-items:center;min-width:28px;height:32px;display:flex}.tree-node-name-input{box-sizing:border-box;background:#fff;border:1px solid #ced4da;border-radius:4px;width:100%;height:32px;padding:6px 10px;font-size:14px;font-weight:700}.tree-node-name-input:focus{border-color:#4a90d9;outline:none;box-shadow:0 0 0 2px #4a90d933}.tree-node-rate{color:#666;align-items:center;gap:6px;font-size:12px;display:flex}.rate-label{color:#495057}.rate-input{border:1px solid #ced4da;border-radius:4px;width:60px;padding:4px 6px;font-size:12px}.rate-raw{color:#999;font-size:11px}.tree-node-actions{flex-shrink:0;align-items:center;gap:8px;height:32px;display:flex}.add-menu-container{position:relative}.btn-add{color:#fff;cursor:pointer;background:#4a90d9;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;font-weight:400;line-height:1;transition:all .2s;display:flex}.btn-add:hover{background:#357abd}.btn-remove-box{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;transition:all .2s;display:flex}.btn-remove-box:hover{background:#c82333}.add-menu{z-index:100;white-space:nowrap;background:#fff;border:1px solid #e0e0e0;border-radius:6px;min-width:180px;margin-top:4px;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000026}.add-menu.add-menu-left{left:0;right:auto}.add-menu button{text-align:left;cursor:pointer;color:#333;background:0 0;border:none;width:100%;padding:10px 14px;font-size:13px;transition:background .15s;display:block}.add-menu button:hover{background:#f0f4f8}.add-menu button:first-child{border-radius:6px 6px 0 0}.add-menu button:last-child{border-radius:0 0 6px 6px}.tree-children{border-radius:4px;flex-direction:column;min-height:40px;margin-top:0;margin-left:14px;padding-top:8px;padding-left:30px;transition:all .2s;display:flex;position:relative}.tree-children.tree-children-drag-over{background:#28a7450d;border:2px dashed #28a74580;animation:1.5s ease-in-out infinite children-glow-pulse}@keyframes children-glow-pulse{0%,to{background:#28a7450d;border-color:#28a74580;box-shadow:0 0 #28a7454d}50%{background:#28a7451a;border-color:#28a745b3;box-shadow:0 0 0 4px #28a74533}}.tree-children:before{content:"";background:#ccc;width:2px;height:calc(100% - 8px);position:absolute;top:-24px;left:14px}.tree-row-container{flex-direction:row;align-items:flex-start;min-height:50px;display:flex;position:relative}.tree-row-container.tree-row-drag-over{animation:1.5s ease-in-out infinite row-glow-pulse}.tree-row-container.tree-row-drag-over .tree-reward-node,.tree-row-container.tree-row-drag-over .tree-node{background:#fff;border-color:#28a745;position:relative;box-shadow:0 0 0 2px #28a74580,0 0 15px #28a74566,0 0 30px #28a74533}.tree-row-container.tree-row-drag-over:before{content:"";pointer-events:none;border-left:3px solid #28a74599;border-radius:4px;animation:1.5s ease-in-out infinite row-border-glow;position:absolute;inset:0 0 0 -30px}@keyframes row-border-glow{0%,to{border-color:#28a74599;box-shadow:0 0 #28a7454d}50%{border-color:#28a745e6;box-shadow:0 0 10px 2px #28a74566}}@keyframes row-glow-pulse{0%,to{opacity:1}50%{opacity:1}}.tree-connector{pointer-events:none;width:16px;position:absolute;top:0;left:-16px}.connector-line-h{background:#ccc;width:16px;height:2px;position:absolute;top:26px;left:0}.connector-line-v{display:none}.tree-reward-node{cursor:grab;background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;flex:1;margin:4px 0;padding:10px;transition:all .2s}.tree-reward-node:hover{background:#fff;border-color:#4a90d9}.tree-reward-node:active{cursor:grabbing}.reward-node-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.drag-handle{color:#999;cursor:grab;-webkit-user-select:none;user-select:none;padding:0 4px;font-size:14px}.drag-handle:hover{color:#666}.reward-weight{color:#666;align-items:center;gap:4px;font-size:12px;display:flex}.reward-weight input{border:1px solid #ced4da;border-radius:4px;width:60px;padding:4px 6px;font-size:12px}.btn-edit{color:#4a90d9;cursor:pointer;background:0 0;border:1px solid #4a90d9;border-radius:4px;margin-left:auto;padding:4px 10px;font-size:11px}.btn-edit:hover{color:#fff;background:#4a90d9}.btn-remove{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;display:flex}.btn-remove:hover{background:#c82333}.reward-description{color:#495057;padding:4px 0;font-size:13px}.reward-editor{border-top:1px solid #e0e0e0;margin-top:10px;padding-top:10px}.reward-tabs{gap:4px;margin-bottom:10px;display:flex}.reward-tabs button{cursor:pointer;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;padding:6px 12px;font-size:12px;transition:all .15s}.reward-tabs button:hover{background:#e9ecef}.reward-tabs button.active{color:#fff;background:#4a90d9;border-color:#4a90d9}.reward-content{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:10px}.reward-list{flex-direction:column;gap:8px;display:flex}.reward-item{background:#f8f9fa;border-radius:4px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.reward-field{align-items:center;gap:4px;font-size:12px;display:flex}.reward-field label{color:#666;white-space:nowrap}.reward-field input[type=number],.reward-field input[type=text]{border:1px solid #ced4da;border-radius:4px;width:80px;padding:4px 6px;font-size:12px}.reward-field.checkbox label{color:#495057;align-items:center;gap:4px;display:flex}.reward-field.checkbox input[type=checkbox]{width:16px;height:16px}.btn-remove-small{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;margin-left:auto;font-size:12px;display:flex}.btn-remove-small:hover{background:#c82333}.btn-add-reward{color:#4a90d9;cursor:pointer;background:0 0;border:1px dashed #4a90d9;border-radius:4px;padding:8px 12px;font-size:12px;transition:all .15s}.btn-add-reward:hover{background:#f0f7ff}.reward-editor-footer{border-top:1px solid #e0e0e0;justify-content:flex-end;margin-top:12px;padding-top:12px;display:flex}.btn-save-reward{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:4px;padding:8px 20px;font-size:13px;font-weight:500;transition:all .15s}.btn-save-reward:hover{background:#218838}.btn-save-reward:disabled{cursor:not-allowed;background:#6c757d}.edit-actions{gap:4px;margin-left:auto;display:flex}.btn-cancel{color:#6c757d;cursor:pointer;background:0 0;border:1px solid #6c757d;border-radius:4px;padding:4px 10px;font-size:11px}.btn-cancel:hover{color:#fff;background:#6c757d}.btn-save{color:#fff;cursor:pointer;background:#28a745;border:1px solid #28a745;border-radius:4px;padding:4px 10px;font-size:11px}.btn-save:hover{background:#218838;border-color:#218838}.reward-field-wide{flex:1;min-width:200px}.reward-field-wide select,.reward-field-wide .master-selector{flex:1}.reward-field-wide .master-selector__input{width:100%}.reward-field-info{align-items:center;gap:4px;display:flex}.item-type-badge{color:#6c757d;background:#e9ecef;border-radius:3px;padding:2px 6px;font-size:11px}.supply-type-select{cursor:pointer;background:#fff;border:1px solid #ced4da;border-radius:4px;padding:4px 8px;font-size:12px}.supply-type-select:focus{border-color:#4a90d9;outline:none}.text-muted{color:#6c757d;font-size:12px;font-style:italic}.tree-node-meta{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.tree-node-weight{color:#666;align-items:center;gap:6px;font-size:12px;display:flex}.weight-label{color:#495057;font-weight:500}.weight-input{border:1px solid #ced4da;border-radius:4px;width:60px;padding:4px 6px;font-size:12px}.weight-input:focus{border-color:#4a90d9;outline:none;box-shadow:0 0 0 2px #4a90d933}.reward-probability{align-items:center;gap:8px;margin-left:8px;font-size:11px;display:flex}.prob-box{color:#6c757d;background:#e9ecef;border-radius:3px;padding:2px 6px}.prob-global{color:#fff;background:#4a90d9;border-radius:3px;padding:2px 6px}.tree-node-probability{align-items:center;gap:6px;font-size:12px;display:flex}.tree-node-probability .prob-global{font-weight:500}.gacha-management{padding:20px}.gacha-management h1{color:#1a1a2e;margin-bottom:20px}.gacha-tabs{border-bottom:2px solid #e0e0e0;gap:10px;margin-bottom:20px;padding-bottom:10px;display:flex}.gacha-tab{cursor:pointer;background:#f5f5f5;border:none;border-radius:8px 8px 0 0;padding:10px 20px;font-size:14px;transition:all .2s}.gacha-tab:hover{background:#e8e8e8}.gacha-tab.active{color:#fff;background:#4a90d9}.gacha-content{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a}.gacha-list{flex-direction:column;gap:12px;display:flex}.gacha-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;justify-content:space-between;align-items:center;padding:16px;transition:all .2s;display:flex}.gacha-card:hover{border-color:#4a90d9;box-shadow:0 2px 8px #4a90d933}.gacha-card-checkbox{margin-right:12px}.gacha-card-checkbox input{cursor:pointer;width:18px;height:18px}.gacha-card-info{flex:1}.gacha-card-name{color:#333;margin-bottom:4px;font-size:16px;font-weight:700}.gacha-card-meta{color:#666;font-size:12px}.gacha-card-status{border-radius:4px;margin-left:8px;padding:2px 8px;font-size:11px;display:inline-block}.gacha-card-status.active{color:#155724;background:#d4edda}.gacha-card-status.inactive{color:#721c24;background:#f8d7da}.gacha-card-actions{gap:8px;display:flex}.box-structure{padding:10px}.box-tree{border-left:2px solid #e0e0e0;margin-left:20px;padding-left:15px}.box-node{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin:8px 0;padding:12px}.box-node-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.box-node-name{color:#495057;font-weight:700}.box-node-rate{align-items:center;gap:8px;display:flex}.rate-input{border:1px solid #ced4da;border-radius:4px;width:80px;padding:4px 8px}.box-node-rows{margin-top:8px}.box-row{background:#fff;border:1px solid #e9ecef;border-radius:4px;justify-content:space-between;align-items:center;margin:4px 0;padding:8px;display:flex}.box-row-reward{flex:1}.box-row-weight{color:#6c757d;font-weight:700}.probability-preview{background:#f8f9fa;border-radius:8px;margin-top:20px;padding:15px}.probability-preview h3{color:#495057;margin-bottom:15px}.probability-table{border-collapse:collapse;width:100%}.probability-table th,.probability-table td{text-align:left;border-bottom:1px solid #dee2e6;padding:10px}.probability-table th{background:#e9ecef;font-weight:600}.probability-table tr:hover{background:#f1f3f5}.probability-value{color:#4a90d9;font-weight:700}.create-from-template{padding:20px}.template-selector{margin-bottom:20px}.template-selector select{border:1px solid #ced4da;border-radius:6px;width:100%;padding:10px;font-size:14px}.form-group label{color:#495057;margin-bottom:6px;font-weight:500;display:block}.form-group input,.form-group select{border:1px solid #ced4da;border-radius:6px;width:100%;padding:10px;font-size:14px}.master-data-info input:disabled{color:#333;cursor:not-allowed;background-color:#f5f5f5;border-color:#dee2e6}.form-help-text{color:#6c757d;margin-top:6px;font-size:12px;font-style:italic}.custom-rows-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin:20px 0;padding:15px}.section-header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.section-header h4{color:#495057;margin:0}.empty-rows-hint{text-align:center;color:#6c757d;padding:20px;font-style:italic}.custom-rows-list{flex-direction:column;gap:12px;display:flex}.gacha-row-editor{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:12px}.row-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.row-number{color:#495057;font-weight:700}.row-weight-input{align-items:center;gap:8px;display:flex}.row-weight-input input{border:1px solid #ced4da;border-radius:4px;width:80px;padding:4px 8px}.row-rewards{flex-direction:column;gap:10px;display:flex}.reward-section{background:#f8f9fa;border-radius:4px;padding:8px}.reward-section-header{color:#495057;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:500;display:flex}.reward-chip{background:#e9ecef;border-radius:4px;align-items:center;gap:6px;margin:2px;padding:4px 8px;font-size:12px;display:inline-flex}.chip-remove{color:#dc3545;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px}.chip-remove:hover{color:#a71d2a}.reward-form{background:#fff;border:1px solid #ced4da;border-radius:4px;margin-top:8px;padding:10px}.row-reward-type{align-items:center;gap:10px;margin-bottom:10px;display:flex}.row-reward-type label{color:#495057;font-size:13px;font-weight:500}.row-reward-type select{border:1px solid #ced4da;border-radius:4px;padding:6px 10px;font-size:13px}.current-reward{background:#e9ecef;border-radius:4px;margin-bottom:10px;padding:8px 12px;font-size:13px}.current-reward.empty{color:#6c757d;font-style:italic}.reward-label{color:#495057;margin-right:8px;font-weight:500}.reward-value{color:#28a745}.row-reward-form{margin-top:10px}.reward-form-inline{background:#f8f9fa;border-radius:6px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:10px;display:flex}.reward-form-fields{flex-wrap:wrap;flex:1;gap:12px;display:flex}.reward-form-field{flex-direction:column;gap:4px;display:flex}.reward-form-field label{color:#6c757d;font-size:11px}.reward-form-field input[type=number],.reward-form-field input[type=text]{border:1px solid #ced4da;border-radius:4px;width:100px;padding:6px 8px;font-size:13px}.reward-form-field.checkbox-field{flex-direction:row;align-items:center}.reward-form-field.checkbox-field label{color:#495057;align-items:center;gap:4px;font-size:13px;display:flex}.reward-form-field input[type=checkbox]{width:16px;height:16px}.template-select,.template-field{flex:1}.template-field select{border:1px solid #ced4da;border-radius:4px;width:100%;min-width:200px;padding:6px 10px;font-size:13px}.impact-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin:15px 0;padding:15px}.impact-warning h4{color:#856404;margin-bottom:10px}.impact-list{padding:0;list-style:none}.impact-list li{background:#ffffff80;border-radius:4px;align-items:center;gap:8px;margin:4px 0;padding:8px;display:flex}.impact-checkbox{width:16px;height:16px}.btn{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px;transition:all .2s}.btn-primary{color:#fff;background:#4a90d9}.btn-primary:hover{background:#357abd}.btn-secondary{color:#fff;background:#6c757d}.btn-secondary:hover{background:#5a6268}.btn-success{color:#fff;background:#28a745}.btn-success:hover{background:#218838}.btn-danger{color:#fff;background:#dc3545}.btn-danger:hover{background:#c82333}.btn-outline{color:#4a90d9;background:0 0;border:1px solid #4a90d9}.btn-outline:hover{color:#fff;background:#4a90d9}.loading{color:#6c757d;justify-content:center;align-items:center;padding:40px;display:flex}.empty-state p{margin-bottom:15px}.actions-bar{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;display:flex}.actions-bar-left{gap:10px;display:flex}.actions-bar-right{align-items:center;gap:10px;display:flex}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;padding:24px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h2{margin:0}.modal-close{cursor:pointer;color:#6c757d;background:0 0;border:none;font-size:24px}.modal-footer{border-top:1px solid #e0e0e0;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:15px;display:flex}.form-section{margin-bottom:24px}.form-section h3{color:#333;border-bottom:1px solid #e0e0e0;margin-bottom:12px;padding-bottom:8px;font-size:16px}@media (width<=768px){.form-row{grid-template-columns:1fr}}.form-row .form-group input[type=datetime-local]{box-sizing:border-box;width:100%}.tree-editor-wrapper{border:1px solid #e0e0e0;border-radius:8px;min-height:400px;overflow:hidden}.build-status-indicator{margin-bottom:16px}.build-status{border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}.build-status-ready{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.build-status-editing{color:#856404;background-color:#fff3cd;border:1px solid #ffeeba}.build-status-new{color:#0c5460;background-color:#d1ecf1;border:1px solid #bee5eb}.indefinite-checkbox-label{cursor:pointer;align-items:center;gap:8px;margin-bottom:4px;display:flex}.indefinite-checkbox{cursor:pointer;width:18px;height:18px}.check-mark{align-items:center;gap:.5rem;display:inline-flex}.check-mark__icon{border-radius:50%;justify-content:center;align-items:center;font-weight:700;transition:all .2s;display:inline-flex}.check-mark--small .check-mark__icon{width:1rem;height:1rem;font-size:.75rem}.check-mark--medium .check-mark__icon{width:1.25rem;height:1.25rem;font-size:.875rem}.check-mark--large .check-mark__icon{width:1.5rem;height:1.5rem;font-size:1rem}.check-mark--default.check-mark--checked .check-mark__icon{color:#fff;background-color:#10b981}.check-mark--success.check-mark--checked .check-mark__icon{color:#fff;background-color:#059669}.check-mark--warning.check-mark--checked .check-mark__icon{color:#fff;background-color:#f59e0b}.check-mark--danger.check-mark--checked .check-mark__icon{color:#fff;background-color:#ef4444}.check-mark--default.check-mark--unchecked .check-mark__icon,.check-mark--success.check-mark--unchecked .check-mark__icon,.check-mark--warning.check-mark--unchecked .check-mark__icon,.check-mark--danger.check-mark--unchecked .check-mark__icon{color:#6b7280;background-color:#f3f4f6;border:1px solid #d1d5db}.check-mark__label{color:#374151;font-size:.875rem}.check-mark:hover .check-mark__icon{transform:scale(1.05)}.copy-button{cursor:pointer;opacity:.6;vertical-align:middle;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;margin-left:.5rem;transition:all .2s;display:inline-flex}.copy-button:hover{opacity:1;background-color:#f3f4f6;transform:scale(1.1)}.copy-button:active{transform:scale(.95)}.copy-button--small{width:1rem;height:1rem;font-size:.75rem}.copy-button--medium{width:1.25rem;height:1.25rem;font-size:.875rem}.copy-button--large{width:1.5rem;height:1.5rem;font-size:1rem}.copy-button--copied{opacity:1;color:#fff;background-color:#10b981}.copy-button--copied:hover{background-color:#059669}.copy-button:focus{outline-offset:1px;outline:2px solid #3b82f6}@keyframes copy-success{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.copy-button--copied{animation:.3s copy-success}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1rem;right:1rem}.toast{opacity:0;pointer-events:auto;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;min-width:300px;max-width:600px;padding:.875rem 1.25rem;transition:all .3s;transform:translate(100%);box-shadow:0 4px 12px #00000026}.toast--visible{opacity:1;transform:translate(0)}.toast__content{align-items:center;gap:.5rem;display:flex}.toast__icon{flex-shrink:0;font-size:1rem}.toast__message{color:#374151;word-break:break-all;font-size:.875rem;font-weight:500;line-height:1.4}.toast--success{background:#f0fdf4;border-left:4px solid #10b981}.toast--success .toast__message{color:#065f46}.toast--error{background:#fef2f2;border-left:4px solid #ef4444}.toast--error .toast__message{color:#991b1b}.toast--warning{background:#fffbeb;border-left:4px solid #f59e0b}.toast--warning .toast__message{color:#92400e}.toast--info{background:#eff6ff;border-left:4px solid #3b82f6}.toast--info .toast__message{color:#1e40af}@media (width<=768px){.toast-container{top:.5rem;left:.5rem;right:.5rem}.toast{min-width:auto;max-width:none}}@media (width<=640px){.toast{padding:.5rem .75rem;font-size:.8rem}.toast__message{font-size:.8rem}}.reward-editor{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:24px;padding:16px;display:flex}.reward-editor-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;flex-direction:column;gap:12px;padding:16px;display:flex}.reward-editor-section-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.reward-editor-section-header h3{color:#111827;margin:0;font-size:16px;font-weight:600}.reward-editor-items{flex-direction:column;gap:12px;display:flex}.reward-editor-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;flex-direction:column;gap:12px;padding:12px;display:flex}.reward-editor-item-header{justify-content:space-between;align-items:center;display:flex}.reward-editor-item-index{color:#6b7280;font-size:14px;font-weight:600}.reward-editor-item-content{flex-direction:column;gap:12px;display:flex}.reward-editor-field{flex-direction:column;gap:4px;display:flex}.reward-editor-label{color:#374151;align-items:center;gap:4px;font-size:14px;font-weight:500;display:flex}.reward-editor-label .required{color:#ef4444;font-weight:600}.reward-editor-input{width:100%}.reward-editor-field-help{color:#6b7280;margin:4px 0 0;font-size:12px}.reward-editor-field-info{color:#6b7280;background-color:#fef3c7;border:1px solid #fcd34d;border-radius:4px;margin:0;padding:8px 12px;font-size:13px}.reward-editor-empty{text-align:center;color:#9ca3af;background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:4px;padding:16px;font-size:14px}.reward-editor-input-placeholder{color:#9ca3af;text-align:center;background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:4px;padding:8px 12px;font-size:14px}.reward-editor .btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:4px;padding:6px 12px;font-size:14px;transition:all .2s}.reward-editor .btn:hover{background-color:#f3f4f6;border-color:#9ca3af}.reward-editor .btn:disabled{opacity:.5;cursor:not-allowed}.reward-editor .btn-sm{padding:4px 8px;font-size:12px}.reward-editor .btn-secondary{color:#fff;background-color:#6b7280;border-color:#6b7280}.reward-editor .btn-secondary:hover{background-color:#4b5563;border-color:#4b5563}.reward-editor .btn-danger{color:#fff;background-color:#ef4444;border-color:#ef4444}.reward-editor .btn-danger:hover{background-color:#dc2626;border-color:#dc2626}.reward-editor .form-input{border:1px solid #d1d5db;border-radius:4px;padding:8px 12px;font-size:14px;transition:border-color .2s}.reward-editor .form-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.reward-editor .form-input:disabled{color:#6b7280;cursor:not-allowed;background-color:#f3f4f6}.reward-editor .master-selector--compact,.reward-editor .master-selector--compact .master-selector-dropdown__input,.reward-editor .master-selector-dropdown{box-sizing:border-box;width:100%;max-width:100%}.currency-search-container{width:100%;position:relative}.currency-selected-info{background-color:#f0fdf4;border:1px solid #86efac;border-radius:4px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;padding:8px 12px;display:flex}.currency-selected-id{color:#16a34a;font-size:13px;font-weight:600}.currency-selected-name{color:#111827;flex:1;min-width:0;font-size:13px;font-weight:500}.currency-selected-type{color:#6b7280;background-color:#e5e7eb;border-radius:10px;padding:2px 8px;font-size:12px}.currency-search-dropdown{z-index:1000;background-color:#fff;border:1px solid #d1d5db;border-radius:4px;max-height:300px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.currency-search-dropdown-item{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:10px 12px;transition:background-color .15s}.currency-search-dropdown-item:last-child{border-bottom:none}.currency-search-dropdown-item:hover{background-color:#f0fdf4}.currency-dropdown-item-main{align-items:center;gap:10px;margin-bottom:4px;display:flex}.currency-dropdown-item-id{color:#16a34a;min-width:50px;font-size:13px;font-weight:600}.currency-dropdown-item-name{color:#111827;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:500;overflow:hidden}.currency-dropdown-item-meta{align-items:center;gap:12px;display:flex}.currency-dropdown-item-type{color:#6b7280;background-color:#f3f4f6;border-radius:10px;padding:2px 8px;font-size:12px}.currency-search-dropdown-empty{text-align:center;color:#9ca3af;cursor:default;padding:16px}@media (width<=768px){.reward-editor-item-content{gap:8px}.reward-editor-section{padding:12px}.reward-editor-section-header{flex-direction:column;align-items:flex-start;gap:8px}.reward-editor-section-header .btn{width:100%}}.reward-display{font-size:14px}.reward-display--empty{text-align:center;color:#9ca3af;padding:12px}.reward-display--summary{color:#374151;background-color:#f3f4f6;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:13px;display:inline-flex}.reward-display--grouped{flex-direction:column;gap:16px;display:flex}.reward-display--flat .reward-display-items,.reward-display-category{flex-direction:column;gap:8px;display:flex}.reward-display-category-header{border-bottom:1px solid #e5e7eb;align-items:center;gap:6px;padding-bottom:6px;display:flex}.reward-display-category-icon{font-size:16px}.reward-display-category-title{color:#374151;font-size:14px;font-weight:600}.reward-display-category-count{color:#6b7280;font-size:12px}.reward-display-items{flex-direction:column;gap:8px;display:flex}.reward-display-items.compact{flex-flow:wrap;gap:8px}.reward-display-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;display:flex}.reward-display-item-compact{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:16px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;display:inline-flex}.reward-display-icon{flex-shrink:0;font-size:18px}.reward-display-item-compact .reward-display-icon{font-size:14px}.reward-display-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.reward-display-label{color:#111827;font-weight:500}.reward-display-item-compact .reward-display-label{color:#374151;font-weight:500}.reward-display-option{color:#6b7280;font-size:12px}.reward-display-item-compact .reward-display-option{color:#9ca3af;font-size:11px}.reward-display-amount{color:#3b82f6;white-space:nowrap;font-size:14px;font-weight:600}.reward-display-item-compact .reward-display-amount{color:#2563eb;font-size:13px}.reward-display .text-muted{color:#9ca3af}.reward-display--clickable{cursor:pointer;transition:all .2s}.reward-display--clickable:hover{background-color:#e5e7eb;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.reward-display--clickable:focus{outline-offset:2px;outline:2px solid #3b82f6}.reward-display--clickable:active{transform:translateY(0)}.reward-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.reward-modal-content{background-color:#fff;border-radius:12px;flex-direction:column;width:90%;max-width:560px;max-height:80vh;animation:.3s slideUp;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.reward-modal-header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.reward-modal-title{color:#111827;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;display:flex}.reward-modal-title:before{content:"🎁"}.reward-modal-close{color:#6b7280;cursor:pointer;background-color:#0000;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;line-height:1;transition:all .2s;display:flex}.reward-modal-close:hover{color:#111827;background-color:#e5e7eb}.reward-modal-close:focus{outline-offset:2px;outline:2px solid #3b82f6}.reward-modal-body{flex:1;padding:20px;overflow-y:auto}@media (width<=768px){.reward-display-items.compact{flex-direction:column}.reward-display-item-compact{justify-content:space-between;width:100%}.reward-modal-content{width:95%;max-height:90vh}.reward-modal-header{padding:14px 16px}.reward-modal-body{padding:16px}}.mirroring-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mirroring-modal{background:#fff;border-radius:8px;flex-direction:column;width:90%;max-width:500px;max-height:80vh;display:flex;box-shadow:0 4px 20px #00000026}.mirroring-modal-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.mirroring-modal-header h3{color:#333;margin:0;font-size:18px;font-weight:600}.mirroring-modal-header .close-button{color:#666;cursor:pointer;background:0 0;border:none;padding:0;font-size:24px;line-height:1}.mirroring-modal-header .close-button:hover{color:#333}.mirroring-modal-body{flex:1;padding:20px;overflow-y:auto}.mirroring-info{background-color:#f5f5f5;border-radius:6px;margin-bottom:20px;padding:12px 16px}.mirroring-info p{color:#333;margin:4px 0;font-size:14px}.mirroring-info strong{color:#555}.env-selection{margin-bottom:20px}.env-selection-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.env-selection-header label{color:#333;font-size:14px;font-weight:500}.env-list{flex-direction:column;gap:8px;display:flex}.env-checkbox{cursor:pointer;border:1px solid #e0e0e0;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;transition:background-color .2s,border-color .2s;display:flex}.env-checkbox:hover{background-color:#f5f5f5}.env-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px}.env-checkbox input[type=checkbox]:disabled{cursor:not-allowed}.env-label{border-radius:4px;padding:2px 8px;font-size:14px;font-weight:500}.env-label.env-production{color:#c62828;background-color:#ffebee}.env-label.env-staging{color:#e65100;background-color:#fff3e0}.env-label.env-qa{color:#7b1fa2;background-color:#f3e5f5}.env-label.env-experiment{color:#00838f;background-color:#e0f7fa}.env-label.env-development{color:#1565c0;background-color:#e3f2fd}.env-label.env-local{color:#616161;background-color:#f5f5f5}.loading-state,.empty-state{text-align:center;color:#666;padding:20px;font-size:14px}.error-message{color:#c62828;background-color:#ffebee;border:1px solid #ef9a9a;border-radius:6px;align-items:center;gap:8px;margin-top:16px;padding:12px 16px;font-size:14px;display:flex}.mirroring-result{background-color:#fafafa;border-radius:6px;margin-top:20px;padding:16px}.mirroring-result h4{color:#333;margin:0 0 12px;font-size:16px;font-weight:600}.result-success{color:#2e7d32;background-color:#e8f5e9;border-radius:4px;align-items:flex-start;gap:8px;margin-bottom:8px;padding:12px;font-size:14px;display:flex}.result-failure{color:#c62828;background-color:#ffebee;border-radius:4px;flex-direction:column;gap:8px;padding:12px;font-size:14px;display:flex}.result-icon{font-size:16px;font-weight:700}.error-detail{color:#b71c1c;padding-left:24px;font-size:12px}.mirroring-modal-footer{border-top:1px solid #e0e0e0;justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.mirroring-modal-footer .btn{cursor:pointer;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500;transition:background-color .2s,opacity .2s}.mirroring-modal-footer .btn:disabled{opacity:.6;cursor:not-allowed}.mirroring-modal-footer .btn-primary{color:#fff;background-color:#1976d2;border:none}.mirroring-modal-footer .btn-primary:hover:not(:disabled){background-color:#1565c0}.mirroring-modal-footer .btn-secondary{color:#333;background-color:#fff;border:1px solid #ccc}.mirroring-modal-footer .btn-secondary:hover:not(:disabled){background-color:#f5f5f5}.mirroring-badge{white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.mirroring-badge .badge-icon{font-size:10px}.mirroring-badge .badge-label{font-size:11px}.mirroring-badge.mirrored-from{color:#1565c0;background-color:#e3f2fd;border:1px solid #90caf9}.mirroring-badge.mirrored-to{color:#2e7d32;background-color:#e8f5e9;border:1px solid #a5d6a7}.mirroring-badge.env-production{color:#c62828;background-color:#ffebee;border:1px solid #ef9a9a}.mirroring-badge.env-staging{color:#e65100;background-color:#fff3e0;border:1px solid #ffcc80}.mirroring-badge.env-qa{color:#7b1fa2;background-color:#f3e5f5;border:1px solid #ce93d8}.mirroring-badge.env-experiment{color:#00838f;background-color:#e0f7fa;border:1px solid #80deea}.mirroring-badge.env-development{color:#1565c0;background-color:#e3f2fd;border:1px solid #90caf9}.mirroring-badge.env-default{color:#616161;background-color:#f5f5f5;border:1px solid #bdbdbd}.force-execute-toggle{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;flex-direction:column;gap:8px;padding:12px;display:flex;box-shadow:0 2px 4px #0000001a}.force-execute-toggle-content{flex-direction:column;gap:4px;display:flex}.force-execute-toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.force-execute-toggle-input{display:none}.force-execute-toggle-slider{background-color:#ccc;border-radius:24px;flex-shrink:0;width:44px;height:24px;transition:background-color .3s;position:relative}.force-execute-toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:transform .3s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.force-execute-toggle-input:checked+.force-execute-toggle-slider{background-color:#e74c3c}.force-execute-toggle-input:checked+.force-execute-toggle-slider:before{transform:translate(20px)}.force-execute-toggle-input:disabled+.force-execute-toggle-slider,.force-execute-toggle-input:disabled+.force-execute-toggle-slider+.force-execute-toggle-text{opacity:.5;cursor:not-allowed}.force-execute-toggle-text{color:#d68910;font-size:14px;font-weight:600}.force-execute-toggle-description{color:#856404;margin:0 0 0 52px;font-size:12px;line-height:1.4}.force-execute-toggle-warning{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.force-execute-toggle-label:hover .force-execute-toggle-slider{box-shadow:0 0 0 2px #e74c3c33}.force-execute-toggle-input:checked+.force-execute-toggle-slider:hover{background-color:#c0392b}.force-execute-toggle-input:focus+.force-execute-toggle-slider{outline-offset:2px;outline:2px solid #3498db}@media (width<=768px){.force-execute-toggle{padding:10px}.force-execute-toggle-description{margin-top:4px;margin-left:0}.force-execute-toggle-label{flex-direction:column;align-items:flex-start;gap:6px}}.user-create-form{background:#fff;border-radius:8px;max-width:600px;margin:0 auto;padding:24px;box-shadow:0 2px 8px #0000001a}.form-label{color:#374151;margin-bottom:6px;font-size:14px;font-weight:500;display:block}.form-input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-input:disabled{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.user-create-form .toggle-switch{width:44px;height:24px;display:inline-block;position:relative}.user-create-form .toggle-switch input{opacity:0;width:0;height:0}.user-create-form .toggle-slider{cursor:pointer;background-color:#ccc;border-radius:24px;transition:all .3s;position:absolute;inset:0}.user-create-form .toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.user-create-form input:checked+.toggle-slider{background-color:#10b981}.user-create-form input:checked+.toggle-slider:before{transform:translate(20px)}.user-create-form .toggle-label{color:#374151;align-items:center;gap:8px;font-size:.875rem;display:flex}.user-create-form .toggle-text{min-width:24px;font-weight:500}.form-help{color:#6b7280;margin-top:4px;font-size:12px;line-height:1.4;display:block}.error-message p{margin:0;font-size:14px}.user-create-form .form-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:12px;margin-top:32px;padding-top:20px;display:flex}.user-create-form .btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;min-width:100px;padding:10px 20px;font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;transition:all .2s;display:inline-flex}.user-create-form .btn:disabled{cursor:not-allowed;opacity:.6}.user-create-form .btn-primary{color:#fff;background-color:#3b82f6}.user-create-form .btn-primary:hover:not(:disabled){background-color:#2563eb}.user-create-form .btn-primary:active:not(:disabled){background-color:#1d4ed8}.user-create-form .btn-secondary{color:#374151;background-color:#f3f4f6;border:1px solid #d1d5db}.user-create-form .btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.user-create-form .btn-secondary:active:not(:disabled){background-color:#d1d5db}@media (width<=768px){.user-create-form{margin:0 16px;padding:20px}.form-actions{flex-direction:column-reverse}.user-create-form .btn{width:100%}}.crud-page{box-sizing:border-box;width:100%;max-width:100%;margin:0;padding:0;overflow-x:visible}.crud-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.crud-header h1{color:#1f2937;margin:0;font-size:1.25rem;font-weight:700}.crud-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.crud-content{box-sizing:border-box;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;width:100%;max-width:100%;padding:8px;overflow:visible}.btn-sm{min-width:auto;padding:5px 10px;font-size:.75rem}.crud-table-container{-webkit-overflow-scrolling:touch;box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow-x:auto}.crud-table{border-collapse:collapse;table-layout:auto;box-sizing:border-box;width:max-content;min-width:100%;max-width:100%}.crud-table th,.crud-table td{border-bottom:1px solid #e5e7eb;padding:6px 8px}.crud-table th{text-align:left}.crud-table td{text-align:center;white-space:nowrap;color:#1f2937;font-size:.75rem}.crud-table td:first-child,.crud-table td:first-child .link{white-space:nowrap;text-overflow:clip;min-width:max-content;overflow:visible}.crud-table th{color:#374151;z-index:1;background-color:#f9fafb;font-size:.75rem;font-weight:600;position:sticky;top:0}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.sortable-header:hover{background-color:#e5e7eb}.header-content{align-items:center;gap:8px;display:flex}.header-names{flex-direction:column;gap:2px;display:flex}.header-jp-name{color:#374151;white-space:nowrap;font-size:.75rem;font-weight:600}.header-comment{color:#9ca3af;white-space:normal;word-break:break-word;max-width:120px;font-size:.65rem;font-weight:400;line-height:1.2}.sort-icon{color:#9ca3af;text-align:center;min-width:16px;font-size:.75rem}.crud-table tr:hover{background-color:#f9fafb}.column-selector-panel{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:10px;padding:10px;box-shadow:0 2px 8px #0000001a}.column-selector-header{color:#374151;border-bottom:none;justify-content:space-between;align-items:center;margin-bottom:0;padding-bottom:0;font-size:.8rem;font-weight:600;display:flex}.column-selector-panel.expanded .column-selector-header{border-bottom:1px solid #e5e7eb;padding-bottom:8px}.column-selector-toggle{cursor:pointer;color:#374151;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:.8rem;font-weight:600;transition:color .2s;display:flex}.column-selector-toggle:hover{color:#1f2937}.column-selector-arrow{color:#6b7280;font-size:.7rem;transition:transform .2s;display:inline-block;transform:rotate(0)}.column-selector-arrow.expanded{transform:rotate(90deg)}.column-selector-actions{gap:6px;display:flex}.column-selector-list{flex-wrap:wrap;gap:8px;max-height:150px;margin-top:8px;display:flex;overflow-y:auto}.column-checkbox{cursor:pointer;background-color:#f9fafb;border-radius:4px;align-items:center;gap:6px;min-width:120px;padding:4px 8px;transition:background-color .2s;display:flex}.column-checkbox:hover{background-color:#e5e7eb}.column-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px}.column-checkbox-label{flex-direction:column;gap:1px;display:flex}.column-jp-name{color:#374151;font-size:.75rem}.column-comment{color:#9ca3af;font-size:.65rem}.pagination-info{color:#6b7280;background-color:#f9fafb;border-radius:4px;margin-bottom:8px;padding:6px 12px;font-size:.75rem}.search-field-container{margin-bottom:10px;position:relative}.search-input{color:#374151;background-color:#fff;border:1px solid #d1d5db;border-radius:4px;width:100%;padding:6px 32px 6px 12px;font-size:.75rem;transition:border-color .2s,box-shadow .2s}.search-clear-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:4px;font-size:1rem;line-height:1;transition:color .2s;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.search-clear-btn:hover{color:#374151}.pagination-controls{border-top:1px solid #e5e7eb;justify-content:center;align-items:center;gap:8px;margin-top:10px;padding:10px;display:flex}.pagination-current{color:#374151;padding:0 12px;font-size:.75rem;font-weight:500}.action-buttons .btn-sm{white-space:nowrap;padding:5px 10px;font-size:.75rem}.link{color:#3b82f6;font-weight:500;text-decoration:none}.link:hover{color:#2563eb;text-decoration:underline}.detail-view{padding:24px}.detail-item{border-bottom:1px solid #f3f4f6;padding:12px 0;display:flex}.detail-item:last-child{border-bottom:none}.edit-form{padding:24px}.form-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;display:flex}.toggle-switch{width:44px;height:24px;display:inline-block;position:relative}input:checked+.toggle-slider{background-color:#10b981}input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-label{color:#374151;align-items:center;gap:8px;font-size:.875rem;display:flex}.toggle-text{min-width:24px;font-weight:500}.checkbox-display{border:2px solid;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.checkbox-display.checked{color:#fff;background-color:#10b981;border-color:#10b981}.checkbox-display.unchecked{color:#6b7280;background-color:#f3f4f6;border-color:#d1d5db}.detail-value{color:#1f2937;word-break:break-all;flex:1}@media (width<=768px){.crud-header{flex-direction:column;align-items:flex-start;gap:16px}.crud-header h1{font-size:1.5rem}.crud-actions{justify-content:flex-end;width:100%}.crud-table{font-size:.75rem}.crud-table th,.crud-table td{padding:8px}.action-buttons,.detail-item{flex-direction:column;gap:4px}.detail-item label{flex:none}.form-actions{flex-direction:column-reverse}}.reward-summary{color:#1e293b;align-items:center;gap:4px;font-size:13px;display:inline-flex}.json-display{white-space:pre-wrap;word-break:break-word;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin:0;padding:12px;font-family:SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;line-height:1.5;overflow-x:auto}.dynamic-form{width:100%;margin:0 auto}.form{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a}.form-fields{flex-direction:column;gap:20px;margin-bottom:24px;display:flex}.field-comment{color:#6b7280;font-size:12px;font-style:italic}.form-input,.form-textarea{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-input.error,.form-textarea.error{border-color:#ef4444}.form-input[type=checkbox]{width:auto;margin:0}.form-input.readonly{color:#6b7280;cursor:not-allowed;background-color:#f9fafb;border-color:#d1d5db}.readonly-indicator{color:#6b7280;margin-left:8px;font-size:12px;font-weight:400}.master-id-indicator{color:#059669;margin-left:8px;font-size:12px;font-weight:400}.master-selector--error{border-color:#ef4444!important}.form-textarea{resize:vertical;min-height:80px}.form-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;padding-top:20px;display:flex}.btn:hover{transform:translateY(-1px)}.confirm-dialog-overlay{z-index:99999!important;box-sizing:border-box!important;background-color:#00000080!important;justify-content:center!important;align-items:center!important;width:100vw!important;height:100vh!important;margin:0!important;padding:16px!important;display:flex!important;position:fixed!important;inset:0!important;overflow:hidden!important}.confirm-dialog{background:#fff!important;border-radius:12px!important;width:auto!important;min-width:320px!important;max-width:480px!important;max-height:80vh!important;padding:24px 32px!important;position:relative!important;overflow-y:auto!important;box-shadow:0 8px 32px #00000040!important}.confirm-dialog h3{color:#333;margin:0 0 16px;font-size:1.2em}.confirm-dialog-actions{justify-content:flex-end;gap:12px;display:flex}.confirm-dialog-actions .btn{min-width:80px}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn:disabled:hover{transform:none}.array-field{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.array-container{margin-top:12px}.array-item{background:#fff;border:1px solid #d1d5db;border-radius:6px;margin-bottom:12px;overflow:hidden}.array-item-header{background-color:#f3f4f6;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.array-item-index{color:#4b5563;font-size:12px;font-weight:600}.btn-small{min-width:auto;padding:4px 8px;font-size:12px}.array-item-content{padding:12px}.btn-add-array-item{color:#6b7280;background-color:#0000;border:2px dashed #d1d5db;width:100%;margin-top:8px}.btn-add-array-item:hover{color:#4b5563;background-color:#f9fafb;border-color:#9ca3af}.struct-array-item{background:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:12px;overflow:hidden}.struct-array-item-header{background-color:#f8fafc;border-bottom:1px solid #e5e7eb;padding:12px 16px}.struct-array-item-title{color:#374151;font-size:14px;font-weight:600}.struct-array-item .struct-field{background:0 0;border:none;margin:0;padding:0}.struct-array-item-content{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;padding:16px;display:grid}.struct-field{flex-direction:column;gap:6px;display:flex}.struct-field-label{color:#4b5563;font-size:12px;font-weight:500}.struct-input{padding:6px 8px;font-size:13px}.struct-array-item-placeholder{text-align:center;color:#6b7280;background-color:#f3f4f6;border-radius:4px;padding:12px;font-style:italic}@media (width<=768px){.dynamic-form{margin:0 16px}.form{padding:16px}.form-actions{flex-direction:column-reverse}.btn{width:100%}.confirm-dialog{min-width:auto;margin:16px}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-actions .btn{width:100%;min-width:auto}.struct-array-item-content{grid-template-columns:1fr}.array-item-header{padding:6px 8px}.array-item-content{padding:8px}}.enum-indicator{color:#8b5cf6;margin-left:8px;font-size:12px;font-weight:500}.array-indicator{color:#059669;margin-left:8px;font-size:12px;font-weight:500}.form-field .enum-select{margin-top:0}.form-field .enum-select .enum-select__input{border-color:#d1d5db;font-size:14px}.form-field .enum-select .enum-select__input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.array-item .enum-select{margin-top:0}.array-item .enum-select .enum-select__input{padding:6px 10px;font-size:13px}.struct-field{background-color:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.struct-container{margin-top:12px}.struct-item{background:#fff;border:1px solid #d1d5db;border-radius:6px;overflow:hidden}.struct-item-content{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;padding:16px;display:grid}.struct-field .struct-field{background:0 0;border:none;margin:0;padding:0}.struct-placeholder{text-align:center;color:#6b7280;background-color:#f3f4f6;border-radius:4px;padding:16px;font-style:italic}.sub-array-container{margin-top:8px}.sub-array-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;margin-bottom:8px;overflow:hidden}.sub-array-item-header{background-color:#f3f4f6;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.sub-array-item-index{color:#4b5563;font-size:11px;font-weight:600}.sub-array-item-content{padding:8px}.sub-array-input{padding:4px 6px;font-size:12px}.btn-add-sub-array-item{color:#6b7280;background-color:#0000;border:1px dashed #d1d5db;width:100%;margin-top:6px;padding:6px 8px;font-size:12px}.btn-add-sub-array-item:hover{color:#4b5563;background-color:#f9fafb;border-color:#9ca3af}.struct-sub-array-field{grid-column:1/-1}.struct-sub-array-container{margin-top:8px}.struct-sub-array-item{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;margin-bottom:6px;overflow:hidden}.struct-sub-array-item-header{background-color:#e2e8f0;border-bottom:1px solid #cbd5e1;justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.struct-sub-array-item-index{color:#475569;font-size:10px;font-weight:600}.struct-sub-array-item-content{padding:6px}.struct-sub-array-input{padding:3px 5px;font-size:11px}.btn-add-struct-sub-array-item{color:#64748b;background-color:#0000;border:1px dashed #cbd5e1;width:100%;margin-top:4px;padding:4px 6px;font-size:11px}.btn-add-struct-sub-array-item:hover{color:#475569;background-color:#f1f5f9;border-color:#94a3b8}.struct-nested-field{grid-column:1/-1}.nested-struct-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:8px;padding:12px}.nested-struct-fields{flex-direction:column;gap:12px;display:flex}.nested-struct-field{flex-direction:column;gap:4px;display:flex}.nested-struct-field-label{color:#475569;font-size:12px;font-weight:500}.nested-struct-input{border:1px solid #cbd5e1;border-radius:4px;padding:4px 6px;font-size:12px}.nested-struct-placeholder{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;padding:8px;font-size:12px}.nested-array-placeholder{color:#ca8a04;background:#fefce8;border:1px solid #fde047;border-radius:4px;padding:8px;font-size:12px}.nested-array-container{margin-top:8px}.nested-array-item{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;margin-bottom:6px;overflow:hidden}.nested-array-item-header{background-color:#e2e8f0;border-bottom:1px solid #cbd5e1;justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.nested-array-item-index{color:#475569;font-size:10px;font-weight:600}.nested-array-item-content{padding:6px}.nested-array-input{border:1px solid #cbd5e1;border-radius:3px;width:100%;padding:3px 5px;font-size:11px}.nested-array-checkbox{margin:0}.btn-add-nested-array-item{color:#64748b;background-color:#0000;border:1px dashed #cbd5e1;width:100%;margin-top:4px;padding:4px 6px;font-size:11px}.btn-add-nested-array-item:hover{color:#475569;background-color:#f1f5f9;border-color:#94a3b8}.struct-indicator{color:#7c3aed;margin-left:4px;font-size:10px;font-weight:500}@media (width<=768px){.struct-item-content{grid-template-columns:1fr;gap:12px}.struct-field{padding:12px}.struct-array-item-content,.nested-struct-fields{grid-template-columns:1fr}}.form-toggle-switch{width:50px;height:28px;display:inline-block;position:relative}.form-toggle-switch input{opacity:0;width:0;height:0}.form-toggle-slider{cursor:pointer;background-color:#ccc;border:1px solid #d1d5db;border-radius:28px;transition:all .3s;position:absolute;inset:0}.form-toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #0000004d}input:checked+.form-toggle-slider{background-color:#10b981;border-color:#10b981}input:checked+.form-toggle-slider:before{transform:translate(22px)}input:focus+.form-toggle-slider{box-shadow:0 0 0 2px #10b98133}.form-toggle-label{cursor:pointer;align-items:center;gap:12px;display:flex}.form-toggle-text{color:#374151;-webkit-user-select:none;user-select:none;font-size:14px;font-weight:500}.enum-select{flex-direction:column;gap:.25rem;display:flex}.enum-select__input{color:#374151;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;min-width:200px;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.enum-select__input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.enum-select__input:disabled{color:#9ca3af;cursor:not-allowed;background-color:#f9fafb}.enum-select__input option{color:#374151;padding:.5rem}.enum-select__input option:disabled{color:#9ca3af;font-style:italic}.enum-select__selected-info{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.25rem;margin-top:.25rem;padding:.25rem .5rem}.enum-select__selected-info small{color:#6b7280;font-size:.75rem;line-height:1rem}.enum-select--compact .enum-select__input{min-width:150px;padding:.25rem .5rem;font-size:.75rem}.enum-select--large .enum-select__input{min-width:250px;padding:.75rem 1rem;font-size:1rem}.enum-select--error .enum-select__input{border-color:#ef4444}.enum-select--error .enum-select__input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.enum-select--success .enum-select__input{border-color:#10b981}.enum-select--success .enum-select__input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}@media (prefers-color-scheme:dark){.enum-select__input{color:#f9fafb;background-color:#1f2937;border-color:#4b5563}.enum-select__input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.enum-select__input:disabled{color:#6b7280;background-color:#111827}.enum-select__input option{color:#f9fafb;background-color:#1f2937}.enum-select__selected-info{background-color:#374151;border-color:#4b5563}.enum-select__selected-info small{color:#d1d5db}}.markdown-editor{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.markdown-editor-toolbar{background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.toolbar-image-buttons{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.toolbar-image-btn{white-space:nowrap;padding:4px 8px;font-size:12px}.toolbar-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:6px 12px;font-size:14px;font-weight:500;transition:all .2s}.toolbar-btn:hover{color:#111827;background:#f3f4f6;border-color:#9ca3af}.toolbar-btn.active{color:#fff;background:#3b82f6;border-color:#3b82f6;font-weight:600}.toolbar-btn:disabled{opacity:.6;cursor:not-allowed;color:#6b7280;background:#f9fafb}.markdown-editor-content{height:500px;display:flex;position:relative}.markdown-editor-input{flex-direction:column;display:flex;position:relative}.markdown-editor-input.full{width:100%}.markdown-editor-input.split{border-right:1px solid #e5e7eb;width:50%}.markdown-textarea{resize:none;box-sizing:border-box;color:#111827;background-color:#fff;border:none;outline:none;flex:1;padding:16px;font-family:Courier New,monospace;font-size:14px;line-height:1.6}.markdown-textarea::placeholder{color:#9ca3af}.markdown-textarea:disabled{color:#6b7280;cursor:not-allowed;background-color:#f3f4f6}.markdown-editor-line-indicator{pointer-events:none;box-sizing:border-box;padding:16px;position:absolute;inset:0}.line-indicator{border-bottom:1px solid #e5e7eb80;height:1.6em}.markdown-editor-preview{background:#fff;border-left:1px solid #e5e7eb;overflow:auto}.markdown-editor-preview.full{width:100%}.markdown-editor-preview.split{width:50%}.markdown-preview-content{box-sizing:border-box;color:#111827;background:#fff;min-height:100%;padding:16px}.markdown-preview-content h1{color:#111827;border-bottom:2px solid #e5e7eb;margin:.67em 0;padding-bottom:.3em;font-size:2em;font-weight:700}.markdown-preview-content h2{color:#111827;border-bottom:1px solid #e5e7eb;margin:.83em 0;padding-bottom:.3em;font-size:1.5em;font-weight:700}.markdown-preview-content h3{color:#111827;margin:1em 0;font-size:1.17em;font-weight:700}.markdown-preview-content p{color:#374151;margin:1em 0}.markdown-preview-content ul,.markdown-preview-content ol{color:#374151;margin:1em 0;padding-left:2em}.markdown-preview-content li{color:#374151;margin:.5em 0}.markdown-preview-content code{color:#111827;background:#f3f4f6;border-radius:3px;padding:2px 6px;font-family:Courier New,monospace;font-size:.9em}.markdown-preview-content pre{color:#f9fafb;background:#1f2937;border-radius:6px;margin:1em 0;padding:16px;overflow-x:auto}.markdown-preview-content pre code{color:inherit;background:0 0;padding:0}.markdown-preview-content a{color:#3b82f6;text-decoration:underline}.markdown-preview-content a:hover{color:#2563eb}.markdown-preview-content img{border-radius:4px;max-width:100%;height:auto;margin:1em 0}.markdown-preview-content strong{font-weight:700}.markdown-preview-content em{font-style:italic}.markdown-preview-platform-selector{background:#f3f4f6;border-bottom:2px solid #e5e7eb;align-items:center;gap:12px;padding:10px 16px;display:flex}.platform-selector-label{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.platform-selector-buttons{background:#fff;border:1px solid #d1d5db;border-radius:6px;gap:0;padding:2px;display:inline-flex;box-shadow:0 1px 2px #0000000d}.platform-selector-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex;position:relative}.platform-selector-btn:not(:last-child):after{content:"";background:#e5e7eb;width:1px;height:60%;position:absolute;top:50%;right:0;transform:translateY(-50%)}.platform-selector-btn:hover{color:#374151;background:#f9fafb}.platform-selector-btn.active{color:#fff;background:#3b82f6;font-weight:600;box-shadow:0 1px 3px #3b82f64d}.platform-selector-btn.active:after,.platform-selector-btn.active+.platform-selector-btn:after{display:none}.platform-icon{font-size:14px;line-height:1}.platform-label{white-space:nowrap;font-size:13px}.entity-image-thumbnail{cursor:pointer;background-color:#f3f4f6;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex;overflow:hidden}.entity-image-thumbnail:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.entity-image-thumbnail img{object-fit:cover;width:100%;height:100%}.entity-image-thumbnail.placeholder{cursor:default;background-color:#e5e7eb}.entity-image-thumbnail.placeholder:hover{box-shadow:none;transform:none}.entity-image-thumbnail .placeholder-icon{opacity:.5;font-size:1.2em}.entity-image-thumbnail.loading{background-color:#f3f4f6}.entity-image-thumbnail .loading-spinner{border:2px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.entity-image-thumbnail.error{cursor:default;background-color:#fef2f2}.entity-image-thumbnail.error:hover{box-shadow:none;transform:none}.entity-image-thumbnail .error-icon{opacity:.7;font-size:1em}.crud-table .entity-image-thumbnail{margin:0 auto}.detail-view .entity-image-thumbnail{width:120px!important;min-width:120px!important;height:120px!important;min-height:120px!important}.entity-image-thumbnail.large{aspect-ratio:16/9;max-height:400px;width:100%!important;height:auto!important}.entity-image-thumbnail.large img{object-fit:contain;background-color:#f9fafb}.page-container{max-width:800px;margin:0 auto;padding:24px}.page-header{border-bottom:1px solid #e5e7eb;margin-bottom:32px;padding-bottom:16px}.page-content{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.user-detail-page{max-width:1200px;margin:0 auto;padding:20px}.page-header{border-bottom:2px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;display:flex}.back-button{align-items:center;gap:5px;padding:8px 16px;font-size:14px;display:flex}.header-right{align-items:center;display:flex}.user-id{color:#666;background-color:#f5f5f5;border-radius:4px;padding:8px 12px;font-family:monospace;font-size:14px}.error-container{text-align:center;padding:40px}.error-message{color:#d32f2f;margin-bottom:20px;font-size:16px}.tab-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.tab-nav{background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex}.tab-button{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:15px 20px;font-size:16px;font-weight:500;transition:all .2s}.tab-button:hover{color:#333;background-color:#e9ecef}.tab-button.active{color:#007bff;background-color:#fff;border-bottom-color:#007bff}.tab-content-container{min-height:400px;padding:30px}.tab-content h3{color:#333;margin-top:0;margin-bottom:20px;font-size:24px}.user-overview{flex-direction:column;gap:30px;display:flex}.overview-section{background-color:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;padding:20px}.overview-section h4{color:#333;margin-top:0;margin-bottom:15px;font-size:18px}.info-item label{color:#555;flex-shrink:0;min-width:120px;font-weight:600}.info-item span{color:#333;word-break:break-all}.entity-section{max-width:1000px}.entity-description{color:#6b7280;background:#f8fafc;border-left:4px solid #3b82f6;border-radius:.5rem;margin-bottom:2rem;padding:1rem;font-size:1rem}.entity-search-section{margin-bottom:2rem}.search-bar{max-width:500px;margin:0 auto}.search-input-wrapper{background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;align-items:center;padding:.75rem 1rem;transition:all .2s;display:flex;position:relative;box-shadow:0 1px 3px #0000001a}.search-input-wrapper:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-icon{color:#6b7280;flex-shrink:0;margin-right:.75rem;font-size:1.1rem}.search-input{color:#1f2937;background:0 0;border:none;outline:none;flex:1;font-size:1rem}.search-input::placeholder{color:#9ca3af}.search-clear{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:.25rem;flex-shrink:0;margin-left:.5rem;padding:.25rem;font-size:1rem;transition:all .2s}.search-clear:hover{color:#374151;background:#f3f4f6}.search-results-info{text-align:center;color:#6b7280;margin-top:.75rem;font-size:.875rem;font-style:italic}.no-results-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}.no-results h4{color:#374151;margin:0 0 .5rem;font-size:1.25rem}.no-results p{margin:0 0 1.5rem;font-size:1rem}.entity-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;margin-bottom:2rem;display:grid}.entity-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem;transition:all .2s;box-shadow:0 1px 2px #0000000f}.entity-card:hover{border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 3px 8px #0000001f}.entity-card-header{align-items:flex-start;gap:.625rem;margin-bottom:0;display:flex}.entity-icon{background:#3b82f61a;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.25rem;display:flex}.entity-info{flex:1;min-width:0}.entity-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.entity-title{color:#1f2937;flex-shrink:1;min-width:0;margin:0;font-size:.9rem;font-weight:600}.entity-name-badge{color:#374151;white-space:nowrap;background:#f3f4f6;border:1px solid #d1d5db;border-radius:.25rem;flex-shrink:0;padding:.125rem .375rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.65rem;font-weight:500;display:inline-block}.entity-desc{color:#6b7280;margin:0;font-size:.75rem;line-height:1.4}.entity-card-actions{justify-content:flex-end;display:flex}.entity-btn{border-radius:.375rem;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.entity-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0003}.entity-info-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;padding:2rem}.entity-info-section h4{color:#1f2937;margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.info-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.info-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem}.info-card h5{color:#374151;margin:0 0 .75rem;font-size:1rem;font-weight:600}.info-card p{color:#6b7280;margin:0;font-size:.875rem;line-height:1.6}.entity-note{background:#fffbeb;border:1px solid #fbbf24;border-radius:.5rem;margin-top:1.5rem;padding:1.5rem}.entity-note h5{color:#92400e;margin:0 0 .75rem;font-size:1rem;font-weight:600}.entity-note p{color:#92400e;margin:0;font-size:.875rem;line-height:1.6}.tools-section{flex-direction:column;gap:30px;display:flex}.tool-group{background-color:#f8f9fa;border-left:4px solid #ffc107;border-radius:8px;padding:20px}.tool-group h4{color:#333;margin-top:0;margin-bottom:10px;font-size:18px}.tool-group p{color:#666;margin-bottom:15px;line-height:1.5}.tool-actions{flex-wrap:wrap;gap:10px;display:flex}.tool-group-debug{background-color:#fef2f2!important;border-left-color:#ef4444!important}.tool-group-inner{background-color:#fff;border:1px solid #fecaca;border-radius:6px;margin-top:10px;padding:15px}.tool-group-inner h5{color:#dc2626;margin-top:0;margin-bottom:8px;font-size:16px}.tool-group-inner>p{color:#666;margin-bottom:15px;font-size:13px}.spoofing-flags{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;gap:20px;margin-bottom:16px;padding:10px 14px;display:flex}.spoofing-flag-label{color:#374151;cursor:pointer;align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.spoofing-flag-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.spoofing-category{margin-bottom:14px}.spoofing-label{color:#4b5563;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.spoofing-controls{flex-direction:column;gap:8px;display:flex}.spoofing-select{color:#374151;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;max-width:400px;padding:8px 12px;font-size:13px}.spoofing-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.spoofing-tags{flex-wrap:wrap;gap:6px;display:flex}.spoofing-tag{color:#991b1b;background-color:#fee2e2;border:1px solid #fecaca;border-radius:9999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.spoofing-tag-remove{color:#991b1b;cursor:pointer;opacity:.6;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.spoofing-tag-remove:hover{opacity:1}.spoofing-actions{border-top:1px solid #e5e7eb;gap:10px;margin-top:16px;padding-top:14px;display:flex}.btn{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;padding:10px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-warning{color:#212529;background-color:#ffc107}.btn-warning:hover:not(:disabled){background-color:#e0a800}.btn-info{color:#fff;background-color:#17a2b8}.btn-info:hover:not(:disabled){background-color:#117a8b}@media (width<=768px){.user-detail-page{padding:15px}.page-header{flex-direction:column;align-items:flex-start;gap:15px}.header-left{flex-direction:column;align-items:flex-start;gap:10px}.tab-nav{flex-direction:column}.tab-button{text-align:left;border-bottom:1px solid #e0e0e0;border-right:3px solid #0000}.tab-button.active{border-bottom-color:#e0e0e0;border-right-color:#007bff}.tab-content-container{padding:20px}.info-grid,.basic-info-grid{grid-template-columns:1fr}.tool-actions{flex-direction:column}.tool-actions .btn{width:100%}.entity-grid{grid-template-columns:1fr}.entity-card-header{flex-direction:row;align-items:flex-start;gap:.5rem}.entity-title{font-size:.85rem}.entity-name-badge{padding:.125rem .3rem;font-size:.6rem}.entity-card-actions{justify-content:center}.entity-btn{justify-content:center;width:100%}.info-cards{grid-template-columns:1fr}.entity-info-section{padding:1.5rem}.search-bar{max-width:100%}.search-input-wrapper{padding:.625rem .875rem}.search-input{font-size:.9rem}.search-input::placeholder{font-size:.85rem}.no-results{padding:2rem 1rem}.no-results-icon{font-size:2.5rem}}.user-overview-new{flex-direction:column;gap:2rem;display:flex}.user-main-info{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1rem;display:grid}.user-main-info .user-id,.user-main-info .user-name{flex-direction:column;gap:.5rem;display:flex}.user-main-info .user-id label,.user-main-info .user-name label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.user-id-value,.user-name-value{color:#1f2937;word-break:break-all;font-size:1.5rem;font-weight:700}.time-spoofing-section{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:.75rem;padding:1.5rem}.time-spoofing-section h3{color:#334155;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.time-spoofing-status{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem}.time-status{align-items:center;gap:1rem;display:flex}.time-status-content{flex-direction:column;gap:.25rem;display:flex}.time-status-label{color:#1f2937;font-size:1rem;font-weight:600}.time-status-desc{color:#6b7280;font-size:.875rem}.time-status--realtime{border-left:4px solid #6b7280;padding-left:1rem}.time-status--fixed{border-left:4px solid #f59e0b;padding-left:1rem}.time-status--offset{border-left:4px solid #10b981;padding-left:1rem}.basic-info-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem}.basic-info-section h3{color:#374151;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.basic-info-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.basic-info-grid .info-item{background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;min-width:0;padding:.75rem;display:flex}.basic-info-grid .info-item label{color:#374151;flex-shrink:0;font-size:.875rem;font-weight:600}.basic-info-grid .info-item span{color:#6b7280;min-width:0;font-size:.875rem}.basic-info-grid .info-item .value-with-copy{flex:1;justify-content:center;align-items:center;gap:.25rem;min-width:0;display:flex}.basic-info-grid .info-item .value-with-copy.debug-toggle{justify-content:center;width:100%;gap:.5rem!important}.debug-toggle .debug-controls-group{align-items:center;gap:.5rem;display:flex}.info-item .debug-toggle .debug-switch{vertical-align:middle;flex-shrink:0;display:inline-flex;position:relative;overflow:hidden;width:34px!important;height:20px!important}.basic-info-section .basic-info-grid .info-item .value-with-copy.debug-toggle .debug-switch{width:34px!important;min-width:34px!important;max-width:34px!important;height:20px!important}.basic-info-grid .info-item .value-with-copy span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.value-with-copy{align-items:center;gap:.25rem;display:flex}.value-with-copy .copy-button{opacity:0;transition:opacity .2s}.value-with-copy:hover .copy-button{opacity:.6}.value-with-copy .copy-button:hover{opacity:1}.user-main-info-compact{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:.75rem;margin-bottom:1rem;padding:1.5rem}.datetime-item-compact .value-with-copy span.datetime-compact{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;font-weight:500;overflow:hidden}.user-info-row{flex-wrap:nowrap;align-items:center;gap:2rem;display:flex}.user-id-compact,.user-name-compact{flex:none;align-items:center;gap:.75rem;display:flex}.user-id-label,.user-name-label{color:#6b7280;white-space:nowrap;font-size:1.3rem;font-weight:600}.user-id-value-small{color:#3b82f6;white-space:nowrap;background-color:#f3f4f6;border-radius:6px;padding:6px 12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:1.2rem;font-weight:500}.user-name-value-small{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;max-width:500px;font-size:1.3rem;font-weight:600;overflow:hidden}@media (width<=1024px) and (width>=769px){.user-id-label,.user-name-label{font-size:1.2rem}.user-id-value-small{padding:5px 10px;font-size:1.1rem}.user-name-value-small{max-width:450px;font-size:1.2rem}.basic-info-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.entity-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.entity-title{font-size:.875rem}.entity-name-badge{font-size:.625rem}}@media (width<=900px) and (width>=769px){.entity-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.entity-title{font-size:.85rem}.entity-name-badge{padding:.125rem .3rem;font-size:.6rem}}@media (width<=768px){.user-info-row{flex-direction:column;align-items:flex-start;gap:1rem}.user-id-compact,.user-name-compact{justify-content:flex-start;width:100%}.user-id-label,.user-name-label{font-size:1.1rem}.user-id-value-small{padding:4px 8px;font-size:1rem}.user-name-value-small{width:100%;max-width:none;font-size:1.1rem}}@media (width<=480px){.user-main-info-compact{padding:.75rem}.user-info-row{gap:.75rem}.user-id-label,.user-name-label{font-size:1rem}.user-id-value-small{padding:3px 6px;font-size:.9rem}.user-name-value-small{font-size:1rem}}.time-spoof-master-control{border-radius:.5rem;margin-bottom:1rem;padding:1rem;transition:all .3s}.time-spoof-master-control.spoofing-inactive{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0}.time-spoof-master-control.spoofing-active{background:linear-gradient(135deg,#fef7f7 0%,#fef2f2 100%);border:2px solid #f87171;box-shadow:0 2px 8px #dc26261a}.master-control-header{justify-content:space-between;align-items:center;gap:1rem;min-height:3rem;display:flex}.master-control-info{flex-direction:column;flex:1;gap:.5rem;display:flex}.master-control-status{margin-top:.25rem}.master-control-label{font-size:1rem;font-weight:600;transition:color .3s}.spoofing-inactive .master-control-label{color:#374151}.spoofing-active .master-control-label{color:#b91c1c}.master-control-toggle{align-items:center;gap:.75rem;display:flex}.toggle-switch{vertical-align:middle;width:60px;height:34px;display:inline-block;position:relative}.debug-toggle .debug-switch{vertical-align:middle;flex-shrink:0;display:inline-flex;position:relative;overflow:hidden;width:34px!important;height:20px!important}.debug-toggle .debug-switch input{opacity:0;width:0;height:0}.debug-toggle .debug-slider{cursor:pointer;background-color:#ccc;border-radius:20px;transition:all .2s;position:absolute;inset:0}.debug-toggle .debug-slider:before{content:"";background-color:#fff;border-radius:50%;transition:all .2s;position:absolute;bottom:2px;left:2px;width:16px!important;height:16px!important}.debug-toggle .debug-switch input:checked+.debug-slider{background-color:#dc2626}.debug-toggle .debug-switch input:checked+.debug-slider:before{transform:translate(16px)!important}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:#ccc;border-radius:34px;transition:all .4s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:26px;height:26px;transition:all .4s;position:absolute;bottom:4px;left:4px}.toggle-switch input:checked+.toggle-slider{background-color:#dc2626}.toggle-switch input:checked+.toggle-slider:before{transform:translate(26px)}.toggle-status{font-size:1.1rem;font-weight:700}.toggle-status--small{font-size:.9rem}.toggle-status.enabled{color:#dc2626}.toggle-status.disabled{color:#6b7280}.master-control-desc{font-weight:500;transition:color .3s}.spoofing-inactive .master-control-desc{color:#6b7280}.spoofing-active .master-control-desc{color:#7f1d1d;font-weight:600}.time-display{border:1px solid;border-radius:.25rem;padding:.25rem .5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;font-weight:500;transition:all .3s;display:inline-block}.time-display--realtime{color:#0c4a6e;background-color:#f0f9ff;border-color:#7dd3fc}.time-display--fixed{color:#7f1d1d;background-color:#fef2f2;border-color:#fca5a5}.time-display--offset{color:#7f1d1d;background-color:#fef2f2;border-color:#fca5a5;animation:1s infinite pulse-time}@keyframes pulse-time{0%{opacity:1}50%{opacity:.8}to{opacity:1}}.time-display--error{color:#dc2626;background-color:#fef2f2;border-color:#f87171;font-weight:600}.time-spoof-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;margin-top:1rem;padding:1.5rem;animation:.3s ease-out slideDown}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:500px;transform:translateY(0)}}.spoof-setting-group{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.setting-item{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;flex-direction:column;gap:.25rem;padding:.75rem;transition:border-color .2s;display:flex}.setting-item:hover{border-color:#d1d5db}.unified-setting-item{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;transition:border-color .2s,box-shadow .2s}.unified-setting-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.unified-setting-header{border-bottom:1px solid #f3f4f6;margin-bottom:1rem;padding-bottom:.5rem}.unified-setting-content{flex-direction:column;gap:1rem;display:flex}.datetime-input-section{flex-direction:column;gap:.5rem;display:flex}.datetime-label{color:#374151;font-size:.875rem;font-weight:500}.mode-selection-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem}.mode-toggle-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.mode-label-group{flex-direction:column;flex:1;gap:.25rem;display:flex}.mode-label{color:#374151;font-size:.875rem;font-weight:500}.mode-description{color:#6b7280;font-size:.75rem;font-style:italic}.mode-indicator{color:#6b7280;font-size:.75rem;font-weight:500}.setting-label{color:#374151;align-items:center;gap:.5rem;font-weight:600;display:flex}.datetime-input{border:1px solid #d1d5db;border-radius:.375rem;width:100%;max-width:300px;padding:.5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem}.settings-toggle-section{margin-top:.75rem}.settings-toggle-btn{cursor:pointer;color:#374151;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;justify-content:space-between;align-items:center;width:100%;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;transition:all .2s;display:flex}.settings-toggle-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.settings-toggle-btn.active{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6}.settings-toggle-text{font-weight:500}.settings-toggle-icon{font-size:.75rem;transition:transform .2s}.settings-toggle-icon.rotated{transform:rotate(180deg)}.setting-control-row{justify-content:space-between;align-items:center;min-height:2.5rem;padding:.5rem 0;display:flex}.setting-label-group{flex-direction:column;flex:1;gap:.125rem;display:flex}.setting-label-main{color:#374151;font-size:.875rem;font-weight:500;line-height:1.2}.setting-label-sub{color:#6b7280;font-size:.75rem;line-height:1.2}.toggle-switch-container{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.setting-help{color:#6b7280;margin-top:.25rem;font-size:.75rem;font-style:italic;line-height:1.4}.spoof-actions{gap:1rem;display:flex}.current-status{margin-top:1.5rem}.current-status h4{color:#374151;margin:0 0 1rem;font-size:1rem}.time-status-time{color:#1f2937;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:.25rem;padding:.25rem .5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:1.1rem;font-weight:600}.time-status--spoofing{background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border-left:4px solid #dc2626;border-radius:.5rem;padding-left:1rem;box-shadow:0 2px 8px #dc26261a}.time-status--spoofing .time-status-label{color:#dc2626;font-weight:700}.time-status--spoofing .time-status-time{color:#7f1d1d;background-color:#fef2f2;border-color:#fca5a5}.confirm-dialog-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{background:#fff;border-radius:.5rem;width:90%;max-width:400px;padding:2rem;box-shadow:0 10px 25px #0003}.confirm-dialog h4{color:#374151;margin:0 0 1rem;font-size:1.25rem}.confirm-dialog p{color:#6b7280;margin:0 0 1.5rem;line-height:1.5}.dialog-actions{justify-content:flex-end;gap:1rem;display:flex}@media (width<=768px){.master-control-header{flex-direction:column;align-items:flex-start;gap:1rem}.master-control-info{width:100%}.time-display{padding:.25rem .5rem;font-size:.85rem}.setting-control-row{flex-direction:column;align-items:flex-start;gap:.75rem;min-height:auto}.setting-label-group{width:100%}.toggle-switch-container{align-self:flex-end}.setting-item{padding:.625rem}.unified-setting-item{padding:1rem}.unified-setting-content{gap:1rem}.mode-toggle-row{flex-direction:column;align-items:flex-start;gap:.75rem}.toggle-switch-container{align-self:center;gap:.75rem}.mode-selection-section{padding:.75rem}.settings-toggle-btn{padding:.625rem .875rem;font-size:.8125rem}.spoof-setting-group{gap:1.5rem}.dialog-actions{flex-direction:column-reverse}.dialog-actions .btn{width:100%}}.json-text-editor{flex-direction:column;gap:6px;display:flex}.json-text-editor-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.json-text-editor-label{color:#374151;font-size:13px;font-weight:600}.json-text-editor-format-btn{padding:4px 10px;font-size:12px}.json-text-editor-textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;min-height:140px;padding:8px;font-family:Menlo,Monaco,Ubuntu Mono,monospace;font-size:13px;transition:border-color .2s}.json-text-editor-textarea:focus{border-color:#3b82f6;outline:none}.json-text-editor-textarea.error{background:#fef2f2;border-color:#dc2626}.json-text-editor-error{color:#b91c1c;font-size:12px}.json-text-editor-hint{color:#6b7280;font-size:12px}.user-shogi-stats-tools-page{max-width:1280px;margin:0 auto;padding:20px}.user-shogi-stats-tools-page .page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.user-shogi-stats-tools-page .header-actions{align-items:center;gap:10px;display:flex}.user-shogi-stats-tools-page .force-execute{color:#374151;align-items:center;gap:6px;font-size:14px;display:flex}.user-shogi-stats-tools-page .title{margin:0 0 8px}.user-shogi-stats-tools-page .description{color:#6b7280;margin:0 0 16px}.user-shogi-stats-tools-page .summary-box{background:#f8fafc;border:1px solid #dbeafe;border-left:4px solid #2563eb;border-radius:8px;margin-bottom:14px;padding:10px 12px;font-weight:600}.user-shogi-stats-tools-page .condition-search-box{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:14px;padding:12px}.user-shogi-stats-tools-page .condition-search-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;gap:10px;display:grid}.user-shogi-stats-tools-page .condition-search-grid label{color:#374151;flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.user-shogi-stats-tools-page .condition-search-grid select{border:1px solid #d1d5db;border-radius:6px;padding:8px;font-size:14px}.user-shogi-stats-tools-page .condition-search-action{display:flex}.user-shogi-stats-tools-page .error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:12px;padding:10px 12px}.user-shogi-stats-tools-page .empty,.user-shogi-stats-tools-page .loading{color:#6b7280;padding:20px}.user-shogi-stats-tools-page .stats-list{flex-direction:column;gap:18px;display:flex}.user-shogi-stats-tools-page .stats-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.user-shogi-stats-tools-page .stats-card-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.user-shogi-stats-tools-page .stats-card-header h3{margin:0;font-size:18px}.user-shogi-stats-tools-page .meta-grid{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-bottom:12px;padding:10px;font-size:13px;display:grid}.user-shogi-stats-tools-page .meta-grid .label{color:#374151;font-weight:700}.user-shogi-stats-tools-page .editor-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.user-shogi-stats-tools-page .editor-grid label,.user-shogi-stats-tools-page .json-editors label{color:#374151;flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.user-shogi-stats-tools-page .editor-grid input,.user-shogi-stats-tools-page .json-editors textarea{border:1px solid #d1d5db;border-radius:6px;padding:8px;font-size:14px;font-weight:400}.user-shogi-stats-tools-page .json-editors{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin-top:12px;display:grid}.user-shogi-stats-tools-page .json-editors textarea{resize:vertical;min-height:140px;font-family:Menlo,Monaco,Ubuntu Mono,monospace}@media (width<=768px){.user-shogi-stats-tools-page .page-header{flex-direction:column;align-items:stretch}.user-shogi-stats-tools-page .header-actions{justify-content:space-between}.user-shogi-stats-tools-page .stats-card-header{flex-direction:column;align-items:stretch}.user-shogi-stats-tools-page .condition-search-action .btn{width:100%}}.enum-detail-page{max-width:1200px;margin:0 auto;padding:24px}.enum-detail-header{margin-bottom:32px}.enum-title-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.enum-badges{gap:8px;margin-bottom:16px;display:flex}.enum-badge{text-transform:uppercase;letter-spacing:.05em;color:#7c3aed;background:#f3e8ff;border-radius:6px;padding:6px 12px;font-size:.875rem;font-weight:600}.enum-title{color:#1f2937;word-break:break-all;margin:0 0 16px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:2.5rem;font-weight:700;line-height:1.2}.enum-description{color:#6b7280;margin-bottom:20px;font-size:1.1rem;line-height:1.6}.enum-stats{flex-wrap:wrap;gap:24px;display:flex}.enum-detail-content{flex-direction:column;gap:32px;display:flex}.enum-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.value-value code{color:#7c3aed;background:#f3e8ff;border-radius:4px;padding:4px 8px;font-size:.85rem;font-weight:500}.unity-enum-section{border-top:1px solid #e5e7eb;margin-top:0;padding-top:24px}.unity-enum-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.unity-enum-header-left{align-items:center;gap:12px;display:flex}.unity-enum-header h3{color:#374151;margin:0;font-size:1.2rem}.unity-enum-code{color:#f9fafb;background:#1f2937;border-radius:8px;margin:0;padding:20px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.6;overflow-x:auto}.unity-enum-code code{color:inherit;font-size:inherit;background:0 0;padding:0}.related-apis-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.related-api-card{color:inherit;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;text-decoration:none;transition:all .2s}.related-api-card:hover{background:#f3e8ff;border-color:#8b5cf6;transform:translateY(-2px)}.api-card-content{justify-content:space-between;align-items:center;display:flex}.api-name{color:#1f2937;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500}.api-link-icon{color:#8b5cf6;font-weight:700}.type-badge.enum{color:#7c3aed;background:#f3e8ff}@media (width<=768px){.enum-detail-page{padding:16px}.enum-title{font-size:2rem}.enum-stats{flex-direction:column;gap:12px}.values-table{grid-template-columns:1fr;gap:1px}.values-header{display:none}.value-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;display:block}.value-row>span{border-bottom:1px solid #f3f4f6;padding:8px 12px;display:block}.value-row>span:last-child{border-bottom:none}.value-row>span:before{content:attr(data-label) ": ";color:#6b7280;margin-bottom:4px;font-size:.8rem;font-weight:600;display:block}.unity-enum-header{flex-direction:column;align-items:flex-start;gap:12px}.related-apis-grid{grid-template-columns:1fr;gap:16px;padding:12px 16px 16px}.related-api-card{max-width:none;min-height:30px;padding:12px 16px}}.enum-docs-page{max-width:1200px;margin:0 auto;padding:24px}.enum-docs-header{text-align:center;margin-bottom:32px}.enum-docs-header h1{color:#1f2937;margin-bottom:8px;font-size:2.5rem}.enum-docs-header p{color:#6b7280;font-size:1.1rem}.enum-docs-controls{flex-direction:column;gap:20px;margin-bottom:32px;display:flex}.enum-stats{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.stat-item{color:#6b7280;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #e5e7eb;border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-size:.95rem;display:flex}.enum-docs-content{flex-direction:column;gap:24px;display:flex}.enum-grid{flex-direction:column;gap:8px;display:flex}.enum-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:inherit;background:#ffffffe6;border:1px solid #e5e7eb;border-radius:10px;grid-template-columns:380px 1fr auto 420px;align-items:center;gap:0;padding:10px 0 10px 16px;text-decoration:none;transition:all .2s;display:grid;box-shadow:0 1px 4px #00000014}.enum-card:hover{border-color:#8b5cf6;transform:translateY(-1px);box-shadow:0 4px 12px #0000001f}.enum-col-name{align-items:center;gap:8px;min-width:0;padding-right:12px;display:flex}.enum-col-comment{border-left:1px solid #e5e7eb;min-width:0;padding:2px 12px;overflow:hidden}.enum-col-stats{white-space:nowrap;border-left:1px solid #e5e7eb;padding:2px 12px}.enum-col-preview{border-left:1px solid #e5e7eb;min-width:0;padding:2px 16px 2px 12px;overflow:hidden}.enum-name{color:#1f2937;overflow-wrap:break-word;word-break:break-all;margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:1.05rem;font-weight:600;line-height:1.2}.enum-badge{white-space:nowrap;color:#7c3aed;background:#f3e8ff;border-radius:12px;flex-shrink:0;padding:4px 12px;font-size:.8rem;font-weight:600}.enum-comment{color:#6b7280;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:0;font-size:.85rem;line-height:1.3;display:-webkit-box;overflow:hidden}.enum-card-stats{color:#6b7280;gap:12px;margin-bottom:0;font-size:.8rem;display:flex}.value-count,.api-count{align-items:center;gap:4px;display:flex}.enum-preview{padding:0}.value-preview{justify-content:space-between;align-items:center;padding:2px 0;font-size:.8rem;display:flex}.value-value{color:#8b5cf6;text-overflow:ellipsis;background:#f9fafb;border-radius:4px;padding:2px 6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500;overflow:hidden}.more-values{color:#9ca3af;text-align:center;padding:2px 0 0;font-size:.75rem;font-style:italic}@media (width<=768px){.enum-docs-page{padding:16px}.enum-docs-header h1{font-size:2rem}.enum-card{grid-template-columns:1fr;gap:4px;padding:10px 16px}.enum-col-name,.enum-col-comment,.enum-col-stats,.enum-col-preview{border-left:none;padding:2px 0}.enum-stats{justify-content:flex-start;padding-bottom:8px;overflow-x:auto}.enum-card-header{flex-direction:column;align-items:flex-start;gap:8px}.enum-stats{flex-direction:column;gap:8px}}.shogi-board-container{flex-direction:column;align-items:center;gap:16px;padding:16px;display:flex}.shogi-board-wrapper{flex-direction:column;align-items:center;display:flex}.shogi-board-files{justify-content:center;margin-bottom:4px;display:flex}.shogi-board-file-label{text-align:center;color:#6b7280;font-size:12px;font-weight:500}.shogi-board-main{align-items:stretch;display:flex}.shogi-board{background-color:#deb887;border:2px solid #8b4513;display:grid;box-shadow:0 4px 12px #00000026}.shogi-board-cell{background-color:#deb887;border:1px solid #b8860b;justify-content:center;align-items:center;display:flex;position:relative}.shogi-board-cell:nth-child(19):after,.shogi-board-cell:nth-child(25):after,.shogi-board-cell:nth-child(55):after,.shogi-board-cell:nth-child(61):after{content:"";background-color:#5c4033;border-radius:50%;width:6px;height:6px;position:absolute}.shogi-board-ranks{flex-direction:column;justify-content:center;margin-left:4px;display:flex}.shogi-board-rank-label{color:#6b7280;align-items:center;font-size:12px;font-weight:500;display:flex}.shogi-piece{cursor:default;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#f5e6c8 0%,#e8d5a9 100%);border-radius:4px 4px 0 0;justify-content:center;align-items:center;font-weight:700;display:flex;position:relative;box-shadow:1px 1px 2px #0003}.shogi-piece.black,.shogi-piece.white{color:#1a1a1a}.shogi-piece.promoted{color:#dc2626}.shogi-hand-container{min-width:120px}.shogi-hand{background-color:#f5e6c8;border:1px solid #b8860b;border-radius:4px;min-height:60px;padding:8px}.shogi-hand-label{color:#6b7280;text-align:center;margin-bottom:8px;font-size:12px;font-weight:600}.shogi-hand-pieces{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.shogi-hand-empty{color:#9ca3af;font-size:14px}.shogi-hand-piece{background-color:#e8d5a9;border-radius:4px;align-items:center;gap:2px;padding:4px 6px;font-size:14px;font-weight:700;display:flex}.shogi-hand-piece-name{display:inline-block}.shogi-hand-piece-count{color:#6b7280;font-size:10px}.shogi-turn-indicator{gap:24px;margin-top:8px;display:flex}.turn-label{color:#9ca3af;border-radius:4px;padding:4px 12px;font-size:14px;font-weight:500;transition:all .2s}.turn-label.active{color:#1f2937;background-color:#fef3c7;font-weight:600}@media (width<=640px){.shogi-board-container{gap:8px;padding:8px}.shogi-hand-container{min-width:100px}.shogi-hand{min-height:50px;padding:6px}.shogi-hand-piece{padding:2px 4px;font-size:12px}}.game-monitor-detail-page{max-width:1200px;margin:0 auto;padding:24px}.header-left{align-items:center;gap:16px;display:flex}.back-button{color:#374151;cursor:pointer;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:8px 16px;font-size:14px;transition:background-color .2s}.back-button:hover{background-color:#e5e7eb}.info-bar{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;flex-wrap:wrap;gap:24px;margin-bottom:24px;padding:16px;display:flex}.info-item{align-items:center;gap:8px;display:flex}.info-label{color:#6b7280;font-size:13px}.info-value{color:#1f2937;font-size:14px;font-weight:500}.info-value.room-id{background-color:#e5e7eb;border-radius:4px;padding:4px 8px;font-family:monospace;font-size:12px}.main-content{flex-wrap:wrap;gap:24px;display:flex}.control-panel{flex-direction:column;flex:0 0 300px;gap:16px;display:flex}.mode-buttons{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex}.mode-button{cursor:pointer;color:#374151;background-color:#f9fafb;border:1px solid #d1d5db;border-radius:8px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s}.mode-button:hover{background-color:#f3f4f6}.mode-button.active{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.mode-button.playback.active{background-color:#22c55e;border-color:#22c55e}.speed-control{align-items:center;gap:8px;padding-top:8px;display:flex}.speed-control label{color:#6b7280;font-size:13px}.speed-control select{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:14px}.move-controls{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.move-indicator{text-align:center;color:#1f2937;margin-bottom:12px;font-size:14px;font-weight:500}.move-buttons{justify-content:center;gap:8px;display:flex}.move-button{cursor:pointer;color:#374151;background-color:#f9fafb;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;width:48px;height:40px;font-size:16px;font-weight:700;transition:all .2s;display:flex}.move-button:hover:not(:disabled){color:#fff;background-color:#3b82f6;border-color:#3b82f6}.move-button:disabled{opacity:.5;cursor:not-allowed}.players-panel{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.players-panel h3{color:#6b7280;margin:0 0 12px;font-size:14px;font-weight:600}.player-info{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;padding:12px}.player-info:last-child{margin-bottom:0}.player-info.active-turn{background-color:#fef3c7;border-color:#fcd34d}.player-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.turn-icon{color:#6b7280;font-size:12px;font-weight:600}.turn-badge{color:#92400e;background-color:#fcd34d;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}.player-name{color:#1f2937;margin-bottom:8px;font-size:14px;font-weight:600}.player-stats{flex-direction:column;gap:4px;display:flex}.stat{align-items:center;gap:8px;font-size:13px;display:flex}.stat-label{color:#6b7280;min-width:70px}.stat-value.time{font-family:monospace;font-size:14px}.stat-value.connected{color:#16a34a}.stat-value.disconnected{color:#dc2626}.stat-value.result-1{color:#16a34a;font-weight:600}.stat-value.result-2{color:#dc2626}.stat-value.result-3{color:#6b7280}.rate-change{font-size:12px;font-weight:500}.rate-change.up{color:#16a34a}.rate-change.down{color:#dc2626}.board-panel{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;flex:1;justify-content:center;align-items:flex-start;min-width:500px;padding:24px;display:flex}.score-graph-panel{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.score-graph-panel h3{color:#6b7280;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;display:flex}.score-graph-panel h3 .graph-icon{font-size:16px}.score-graph-container{flex-direction:column;align-items:center;gap:12px;display:flex}.score-graph-svg{background-color:#fafafa;border:1px solid #e5e7eb;border-radius:8px}.score-graph-legend{color:#6b7280;flex-wrap:wrap;justify-content:center;gap:16px;font-size:12px;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.legend-item.current{color:#ef4444;font-weight:600}.legend-line{border-radius:2px;width:16px;height:3px}.legend-line.black{background-color:#1f2937}.legend-line.white{background-color:#9ca3af;background-image:repeating-linear-gradient(90deg,#9ca3af 0 4px,#0000 4px 6px)}.legend-line.current-pos{background-color:#ef4444;width:3px;height:12px}.current-score-display{background-color:#f9fafb;border-radius:6px;align-items:center;gap:12px;padding:8px 16px;font-family:monospace;font-size:14px;font-weight:600;display:flex}.score-black{color:#1f2937}.score-white{color:#6b7280}.score-separator{color:#d1d5db}.ai-analysis-panel{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.ai-analysis-panel h3{color:#6b7280;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;display:flex}.ai-analysis-panel h3 .ai-icon{font-size:16px}.ai-score-display{flex-direction:column;gap:12px;display:flex}.ai-score-item{background-color:#f9fafb;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.ai-score-label{color:#6b7280;font-size:13px}.ai-score-value{font-family:monospace;font-size:16px;font-weight:600}.ai-score-value.positive{color:#16a34a}.ai-score-value.negative{color:#dc2626}.ai-score-value.neutral{color:#6b7280}.ai-best-move{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;margin-top:8px;padding:8px 12px}.ai-best-move-label{color:#0369a1;margin-bottom:4px;font-size:12px}.ai-best-move-value{color:#0c4a6e;font-family:monospace;font-size:14px;font-weight:600}.ai-no-analysis{text-align:center;color:#9ca3af;background-color:#f9fafb;border-radius:6px;padding:12px;font-size:13px}.ai-eval-bar{margin-top:12px}.ai-eval-bar-label{color:#6b7280;margin-bottom:4px;font-size:12px}.ai-eval-bar-container{background:linear-gradient(90deg,#374151 50%,#f3f4f6 50%);border-radius:4px;height:24px;position:relative;overflow:hidden}.ai-eval-bar-fill{height:100%;transition:width .3s;position:absolute;top:0}.ai-eval-bar-fill.black{background-color:#1f2937;left:0}.ai-eval-bar-fill.white{background-color:#e5e7eb;right:0}.ai-eval-bar-indicator{background-color:#ef4444;width:2px;height:100%;transition:left .3s;position:absolute;top:0}.error-state{text-align:center;color:#6b7280;padding:48px;font-size:16px}@media (width<=900px){.game-monitor-detail-page{padding:16px}.main-content{flex-direction:column-reverse}.control-panel{flex:100%}.board-panel{flex:100%;min-width:auto}.info-bar{gap:12px}.mode-buttons{flex-flow:wrap}.mode-button{flex:1;min-width:120px}}@media (width<=480px){.page-header{flex-direction:column;align-items:flex-start}.header-left,.header-controls{width:100%}}.game-monitor-page{max-width:1400px;margin:0 auto;padding:24px}.filter-item input:focus,.filter-item select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.search-button{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:6px;padding:8px 16px;font-size:14px;transition:background-color .2s}.search-button:hover{background-color:#2563eb}.clear-button{color:#374151;cursor:pointer;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:8px 16px;font-size:14px;transition:background-color .2s}.clear-button:hover{background-color:#e5e7eb}.summary-card.ongoing{border-left:4px solid #22c55e}.summary-card.completed{border-left:4px solid #6b7280}.games-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.game-card{cursor:pointer;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;transition:all .2s}.game-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.game-card.ongoing{border-left:4px solid #22c55e}.game-card.completed{border-left:4px solid #6b7280}.game-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.status-badge{border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600}.status-badge.ongoing{color:#166534;background-color:#dcfce7}.status-badge.completed{color:#374151;background-color:#f3f4f6}.rule-badge{color:#1d4ed8;background-color:#eff6ff;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500}.game-card-body{margin-bottom:12px}.players-info{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.player-row{background-color:#f9fafb;border-radius:6px;align-items:center;gap:8px;padding:8px;font-size:14px;display:flex}.player-row.active-turn{background-color:#fef3c7;border:1px solid #fcd34d}.turn-icon{color:#6b7280;font-size:12px}.player-name{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.player-rate{color:#6b7280;font-size:12px}.player-time{color:#374151;font-family:monospace;font-size:12px;font-weight:500}.disconnected-icon{font-size:12px}.game-stats{flex-wrap:wrap;gap:12px;display:flex}.stat-item{gap:4px;font-size:13px;display:flex}.stat-label{color:#6b7280}.stat-value{color:#1f2937;font-weight:500}.game-card-footer{border-top:1px solid #e5e7eb;padding-top:12px}.room-id{color:#9ca3af;font-family:monospace;font-size:11px}@media (width<=768px){.game-monitor-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start}.header-controls{justify-content:flex-start;width:100%}.filter-row{flex-direction:column;align-items:stretch}.filter-item{width:100%}.filter-item input,.filter-item select{width:100%;min-width:auto}.summary-section{grid-template-columns:repeat(2,1fr)}.summary-value{font-size:28px}.games-grid{grid-template-columns:1fr}}.shogi-board-editor{flex-direction:column;gap:12px;display:flex}.shogi-board-editor-main{align-items:flex-start;gap:12px;display:flex}.shogi-board-cell-editable{cursor:pointer;transition:background-color .1s}.shogi-board-cell-editable:hover{background-color:#c9a96e!important}.shogi-board-cell-editable.erase-cursor{cursor:crosshair}.shogi-board-cell-editable.erase-cursor:hover{background-color:#f5a0a0!important}.shogi-board-cell-editable.place-cursor{cursor:cell}.shogi-board-cell-editable.place-cursor:hover{background-color:#a0d8f5!important}.shogi-board-editor-toolbar{align-items:center;gap:8px;display:flex}.shogi-editor-btn{cursor:pointer;color:#374151;background-color:#fff;border:1px solid #d1d5db;border-radius:4px;padding:4px 12px;font-size:13px;transition:all .15s}.shogi-editor-btn:hover{background-color:#f3f4f6;border-color:#9ca3af}.shogi-editor-btn.active{color:#fff;background-color:#8b5cf6;border-color:#8b5cf6}.shogi-editor-hints{color:#9ca3af;font-size:11px;line-height:1.4}.shogi-piece-palette{gap:16px;display:flex}.palette-section{flex-direction:column;gap:4px;display:flex}.palette-section-label{color:#6b7280;text-align:center;font-size:12px;font-weight:600}.palette-items{flex-wrap:wrap;gap:3px;max-width:260px;display:flex}.palette-item{cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:3px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:all .15s;display:flex}.palette-item:hover{background-color:#f5f3ff;border-color:#8b5cf6}.palette-item.selected{background-color:#ede9fe;border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf64d}.shogi-board-cell-editable.drag-cursor{cursor:grab}.shogi-board-cell-editable.drag-cursor:active{cursor:grabbing}.shogi-board-cell-editable.drag-source{opacity:.4;background-color:#e5e7eb!important}.shogi-board-cell-editable.drag-target{box-shadow:inset 0 0 0 2px #3b82f6;background-color:#93c5fd!important}.shogi-editor-btn.reset-btn{color:#92400e;border-color:#f59e0b;margin-left:auto}.shogi-editor-btn.reset-btn:hover{background-color:#fef3c7;border-color:#d97706}.shogi-hand-drop-area{background-color:#f5e6c8;border:2px dashed #b8860b;border-radius:6px;align-items:center;gap:8px;min-height:42px;padding:6px 12px;transition:all .15s;display:flex}.shogi-hand-drop-area.drag-over{background-color:#d4edda;border-color:#28a745;box-shadow:inset 0 0 0 2px #28a7454d}.shogi-hand-drop-label{color:#6b7280;white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:600}.shogi-hand-drop-pieces{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.shogi-hand-drop-empty{color:#9ca3af;font-size:12px}.shogi-hand-drop-piece{cursor:grab;background-color:#e8d5a9;border:1px solid #b8860b;border-radius:4px;align-items:center;gap:1px;padding:2px 4px;transition:all .15s;display:flex;position:relative}.shogi-hand-drop-piece:hover{background-color:#dcc78e;border-color:#8b5cf6}.shogi-hand-drop-piece:active{cursor:grabbing}.shogi-hand-drop-piece.dragging{opacity:.4}.shogi-hand-drop-count{color:#1f2937;text-align:center;min-width:14px;font-size:11px;font-weight:700;line-height:1}.shogi-board-cell-editable.cell-highlight-from-best{background-color:#3b82f640!important}.shogi-board-cell-editable.cell-highlight-to-best{box-shadow:inset 0 0 0 2px #3b82f6b3;background-color:#3b82f666!important}.shogi-board-cell-editable.cell-highlight-from-second{background-color:#22c55e40!important}.shogi-board-cell-editable.cell-highlight-to-second{box-shadow:inset 0 0 0 2px #22c55eb3;background-color:#22c55e66!important}.shogi-ai-verify-page{max-width:1400px;margin:0 auto;padding:24px}.shogi-ai-verify-page h1{color:#1f2937;margin:0 0 24px;font-size:24px;font-weight:600}.ai-settings-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:20px;padding:20px}.ai-settings-section h2{color:#1f2937;margin:0 0 16px;font-size:16px;font-weight:600}.ai-settings-form{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.ai-settings-field{flex-direction:column;gap:4px;display:flex}.ai-settings-field label{color:#6b7280;font-size:12px;font-weight:500}.ai-settings-field select,.ai-settings-field input{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:120px;padding:6px 12px;font-size:14px}.ai-settings-field select:focus,.ai-settings-field input:focus{border-color:#8b5cf6;outline:none;box-shadow:0 0 0 2px #8b5cf633}.multipv-toggle{border:1px solid #d1d5db;border-radius:6px;gap:0;display:flex;overflow:hidden}.multipv-toggle button{cursor:pointer;color:#374151;background-color:#fff;border:none;padding:6px 14px;font-size:14px;transition:all .15s}.multipv-toggle button:not(:last-child){border-right:1px solid #d1d5db}.multipv-toggle button.active{color:#fff;background-color:#8b5cf6}.save-settings-btn{color:#fff;cursor:pointer;background-color:#8b5cf6;border:none;border-radius:6px;padding:6px 16px;font-size:14px;transition:background-color .2s}.save-settings-btn:hover:not(:disabled){background-color:#7c3aed}.save-settings-btn:disabled{cursor:not-allowed;background-color:#9ca3af}.settings-status{align-self:center;padding:4px 0;font-size:13px}.settings-status.success{color:#16a34a}.settings-status.error{color:#dc2626}.sfen-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:16px 20px;display:flex}.sfen-section label{color:#374151;white-space:nowrap;font-size:13px;font-weight:600}.sfen-input{border:1px solid #d1d5db;border-radius:6px;flex:1;min-width:200px;padding:6px 12px;font-family:monospace;font-size:13px}.sfen-input:focus{border-color:#8b5cf6;outline:none;box-shadow:0 0 0 2px #8b5cf633}.sfen-btn{cursor:pointer;color:#374151;white-space:nowrap;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:13px;transition:all .15s}.sfen-btn:hover{background-color:#f3f4f6;border-color:#9ca3af}.verify-main-content{align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.verify-board-panel{flex-shrink:0}.verify-result-panel{flex:1;min-width:300px}.analyze-controls{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.analysis-turn-select{align-items:center;gap:10px;display:flex}.analysis-turn-label{color:#374151;white-space:nowrap;font-size:13px;font-weight:600}.analysis-turn-toggle{border:1px solid #d1d5db;border-radius:6px;gap:0;display:flex;overflow:hidden}.analysis-turn-btn{cursor:pointer;color:#374151;background-color:#fff;border:none;padding:5px 14px;font-size:14px;font-weight:500;transition:all .15s}.analysis-turn-btn:not(:last-child){border-right:1px solid #d1d5db}.analysis-turn-btn.active{color:#fff;background-color:#8b5cf6;font-weight:600}.analyze-btn{color:#fff;cursor:pointer;background-color:#8b5cf6;border:none;border-radius:8px;width:100%;padding:10px 20px;font-size:15px;font-weight:600;transition:background-color .2s}.analyze-btn:hover:not(:disabled){background-color:#7c3aed}.analyze-btn:disabled{cursor:not-allowed;background-color:#9ca3af}.analyze-btn.analyzing{background-color:#6366f1;animation:1.5s infinite pulse-bg}@keyframes pulse-bg{0%,to{opacity:1}50%{opacity:.7}}.analysis-result{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.analysis-result h3{color:#1f2937;margin:0 0 12px;font-size:15px;font-weight:600}.result-grid{grid-template-columns:auto 1fr;gap:6px 12px;font-size:14px;display:grid}.result-label{color:#6b7280;white-space:nowrap;font-weight:500}.result-value{color:#1f2937;word-break:break-all;font-family:monospace}.result-value.score-positive{color:#16a34a;font-weight:600}.result-value.score-negative{color:#dc2626;font-weight:600}.result-divider{border-top:1px solid #e5e7eb;grid-column:1/-1;margin:6px 0}.pv-line{color:#374151;word-break:break-all;font-family:monospace;font-size:13px;line-height:1.5}.raw-output-section{margin-top:12px}.raw-output-toggle{cursor:pointer;color:#6b7280;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:13px;display:flex}.raw-output-toggle:hover{color:#374151}.raw-output-content{color:#d1d5db;white-space:pre-wrap;word-break:break-all;background-color:#1f2937;border-radius:8px;max-height:300px;margin-top:8px;padding:12px;font-family:monospace;font-size:12px;line-height:1.6;overflow-y:auto}.analysis-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:12px;padding:12px 16px;font-size:14px}.worker-status-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.worker-status-section h2{color:#1f2937;margin:0 0 12px;font-size:16px;font-weight:600}.worker-status-grid{flex-wrap:wrap;gap:12px;display:flex}.worker-status-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;min-width:180px;padding:12px 16px}.worker-status-card.running{border-left:3px solid #22c55e}.worker-status-card.stopped{border-left:3px solid #ef4444}.worker-mode-label{color:#1f2937;margin-bottom:4px;font-size:14px;font-weight:600}.worker-detail{color:#6b7280;font-size:12px}.no-workers{color:#9ca3af;font-size:14px}@media (width<=900px){.verify-main-content{flex-direction:column}.verify-result-panel{width:100%;min-width:auto}}@media (width<=768px){.shogi-ai-verify-page{padding:16px}.ai-settings-form,.sfen-section{flex-direction:column;align-items:stretch}}.ai-simulation-page{flex-direction:column;gap:16px;padding:16px;display:flex}.ai-sim-message{color:#0c4a6e;background:#e0f2fe;border:1px solid #7dd3fc;border-radius:6px;padding:8px 12px}.ai-sim-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.ai-sim-card h2{margin:0 0 10px;font-size:16px}.row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.row label{color:#374151;font-size:13px}.row input,.row select,.row button{height:32px}.row input,.row select{border:1px solid #d1d5db;border-radius:6px;padding:0 8px}.row button{color:#fff;cursor:pointer;background:#2563eb;border:1px solid #2563eb;border-radius:6px;padding:0 10px}.row button:disabled{opacity:.6;cursor:not-allowed}.ai-sim-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.match-list{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow:auto}.match-item{text-align:left;cursor:pointer;background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;padding:8px}.match-item.selected{background:#eff6ff;border-color:#2563eb}.detail{flex-direction:column;gap:6px;display:flex}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e5e7eb;padding:6px 8px}.mig-model-table input{border:1px solid #d1d5db;border-radius:6px;width:84px;height:30px;padding:0 8px}.mig-model-table button{color:#fff;cursor:pointer;background:#2563eb;border:1px solid #2563eb;border-radius:6px;height:30px;padding:0 10px}.mig-model-table button:disabled{opacity:.6;cursor:not-allowed}@media (width<=1200px){.ai-sim-grid{grid-template-columns:1fr}}.user-id-list-editor{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.user-id-list-actions{flex-wrap:wrap;gap:8px;display:flex}.user-id-list-actions .btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:4px;padding:8px 16px;font-size:14px;transition:all .2s;display:inline-flex}.user-id-list-actions .btn-primary{color:#fff;background:#4f46e5}.user-id-list-actions .btn-primary:hover:not(:disabled){background:#4338ca}.user-id-list-actions .btn-secondary{color:#fff;background:#6b7280}.user-id-list-actions .btn-secondary:hover:not(:disabled){background:#4b5563}.user-id-list-actions .btn-danger{color:#fff;background:#ef4444}.user-id-list-actions .btn-danger:hover:not(:disabled){background:#dc2626}.user-id-list-actions .btn:disabled{opacity:.5;cursor:not-allowed}.user-id-list-message{border-radius:6px;padding:10px 14px;font-size:14px}.user-id-list-message.success{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.user-id-list-message.error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.user-id-list-status{color:#374151;gap:8px;font-size:14px;font-weight:500;display:flex}.user-id-list-status .filtered-count{color:#6b7280}.user-id-add-row{gap:8px;display:flex}.user-id-add-row .user-id-input{border:1px solid #d1d5db;border-radius:6px;flex:1;padding:8px 12px;font-size:14px}.user-id-add-row .user-id-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.user-id-search-row{gap:8px;display:flex}.user-id-search-row .user-id-search-input{border:1px solid #d1d5db;border-radius:6px;flex:1;padding:8px 12px;font-size:14px}.user-id-search-row .user-id-search-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.btn-sm{cursor:pointer;color:#374151;background:#e5e7eb;border:none;border-radius:4px;padding:6px 12px;font-size:13px;transition:all .2s}.btn-sm:hover:not(:disabled){background:#d1d5db}.btn-sm.btn-primary{color:#fff;background:#4f46e5}.btn-sm.btn-primary:hover:not(:disabled){background:#4338ca}.btn-sm.btn-danger{color:#fff;background:#ef4444}.btn-sm.btn-danger:hover:not(:disabled){background:#dc2626}.btn-sm.btn-outline{color:#374151;background:0 0;border:1px solid #d1d5db}.btn-sm.btn-outline:hover:not(:disabled){background:#f3f4f6}.btn-xs{cursor:pointer;border:none;border-radius:4px;padding:4px 8px;font-size:12px}.btn-xs.btn-danger{color:#991b1b;background:#fee2e2}.btn-xs.btn-danger:hover:not(:disabled){background:#fecaca}.user-id-list-container{background:#fff;border:1px solid #e5e7eb;border-radius:6px;max-height:400px;overflow:hidden auto}.user-id-list-empty{text-align:center;color:#9ca3af;padding:24px;font-size:14px}.user-id-list-table{border-collapse:collapse;width:100%;font-size:14px}.user-id-list-table thead{background:#f9fafb;position:sticky;top:0}.user-id-list-table th{text-align:left;color:#374151;border-bottom:1px solid #e5e7eb;padding:10px 12px;font-weight:600}.user-id-list-table td{border-bottom:1px solid #f3f4f6;padding:8px 12px}.user-id-list-table tr:hover{background:#f9fafb}.user-id-list-table .col-index{color:#9ca3af;width:60px}.user-id-list-table .col-userid{color:#111827;font-family:monospace}.user-id-list-table .col-actions{text-align:center;width:80px}.user-id-list-pagination{justify-content:center;align-items:center;gap:8px;padding-top:8px;display:flex}.user-id-list-pagination .page-info{text-align:center;color:#374151;min-width:80px;font-size:14px}.user-id-list-help{color:#1e40af;background:#eff6ff;border-radius:6px;margin-top:8px;padding:12px;font-size:13px}.user-id-list-help p{margin:0 0 8px;font-weight:600}.user-id-list-help ul{margin:0;padding-left:20px}.user-id-list-help li{margin:4px 0}.direct-message-page{width:100%}.dm-detail-actions{justify-content:flex-end;gap:8px;margin-bottom:16px;display:flex}.dm-published-badge{white-space:nowrap;border-radius:9999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.dm-published-badge.published{color:#166534;background-color:#dcfce7}.dm-published-badge.draft{color:#64748b;background-color:#f1f5f9}.dm-user-count{color:#1e40af;font-size:13px;font-weight:600}.dm-user-id-list-detail{flex-direction:column;gap:8px;display:flex}.dm-user-count-label{color:#475569;font-size:14px;font-weight:600}.dm-user-id-expandable{cursor:pointer}.dm-user-id-expandable summary{color:#3b82f6;-webkit-user-select:none;user-select:none;padding:4px 0;font-size:13px;font-weight:500}.dm-user-id-expandable summary:hover{color:#1d4ed8}.dm-user-id-chips{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;gap:6px;max-height:200px;margin-top:8px;padding:8px;display:flex;overflow-y:auto}.dm-target-users-section{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:24px}.dm-target-users-section h3{color:#1e293b;margin:0 0 8px;font-size:18px;font-weight:600}.dm-section-help{color:#64748b;margin:0 0 16px;font-size:13px;line-height:1.5}.dm-content-editor{width:100%}.dm-content-textarea{color:#1e293b;resize:vertical;box-sizing:border-box;background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:12px;font-family:inherit;font-size:14px;line-height:1.6;transition:border-color .2s,box-shadow .2s}.dm-content-textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.dm-content-textarea::placeholder{color:#94a3b8}.dm-content-help{color:#64748b;margin:8px 0 0;font-size:13px;line-height:1.5}.dm-content-preview{flex-direction:column;gap:8px;display:flex}.dm-content-raw{color:#1e293b;white-space:pre-wrap;word-break:break-word;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;max-height:400px;margin:0;padding:16px;font-family:inherit;font-size:14px;line-height:1.6;overflow-y:auto}.dm-content-note{color:#94a3b8;margin:0;font-size:12px;font-style:italic}.dm-id-with-action{align-items:center;gap:8px;display:flex}@media (width<=768px){.dm-target-users-section{padding:16px}.dm-user-id-chips{max-height:150px}.dm-detail-actions{flex-direction:column}}.condition-editor{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.condition-editor-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.operator-selector{align-items:center;gap:8px;display:flex}.operator-selector label{color:#374151;font-weight:500}.operator-selector select{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:14px}.condition-editor-actions{gap:8px;display:flex}.condition-list{flex-direction:column;gap:12px;display:flex}.condition-row{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.entity-select,.field-select,.operator-select,.nested-field-select,.slice-filter-select{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:120px;padding:8px 12px;font-size:14px}.slice-filter-select{background-color:#eff6ff;border-color:#93c5fd}.value-input,.filter-value-input{border:1px solid #d1d5db;border-radius:6px;min-width:100px;padding:8px 12px;font-size:14px}.filter-value-input{max-width:80px}.remove-btn{flex-shrink:0}.nested-condition-group{background-color:#f3f4f6;border:2px dashed #d1d5db;border-radius:8px;margin-left:24px;padding:16px}.nested-group-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.nested-group-label{color:#4b5563;font-size:14px;font-weight:600}.empty-conditions{text-align:center;color:#6b7280;padding:24px;font-style:italic}.empty-conditions p{margin:0}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-xs{padding:4px 8px;font-size:12px}@media (width<=768px){.condition-editor-header{flex-direction:column;align-items:flex-start}.condition-row{flex-direction:column;align-items:stretch}.condition-row select,.condition-row input{width:100%;min-width:unset}.nested-condition-group{margin-left:12px}}.gift-distribution-page{width:100%}.distribution-filter-section{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:16px 20px}.filter-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.filter-label{color:#475569;font-size:14px;font-weight:600}.select-all-checkbox{color:#475569;cursor:pointer;align-items:center;gap:6px;font-size:14px;display:flex}.select-all-checkbox input{cursor:pointer;width:16px;height:16px}.filter-buttons{flex-wrap:wrap;gap:12px;display:flex}.filter-btn{color:#475569;cursor:pointer;background-color:#fff;border:2px solid #e2e8f0;border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.filter-btn:hover{background-color:#f8fafc;border-color:#94a3b8}.filter-btn.active{color:#1d4ed8;background-color:#eff6ff;border-color:#3b82f6}.filter-icon{font-size:16px}.filter-count{color:#94a3b8;font-size:12px;font-weight:400}.filter-btn.active .filter-count{color:#3b82f6}.filter-btn.distribution-type-btn-0.active{color:#166534;background-color:#dcfce7;border-color:#22c55e}.filter-btn.distribution-type-btn-1.active{color:#1e40af;background-color:#dbeafe;border-color:#3b82f6}.filter-btn.distribution-type-btn-2.active{color:#92400e;background-color:#fef3c7;border-color:#f59e0b}.distribution-type-section{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:24px}.distribution-type-section h3{color:#1e293b;margin:0 0 20px;font-size:18px;font-weight:600}.distribution-type-selector{flex-flow:wrap;gap:16px;display:flex}.distribution-type-option{cursor:pointer;background-color:#fff;border:2px solid #e2e8f0;border-radius:12px;flex:1;align-items:flex-start;min-width:200px;max-width:350px;padding:16px 20px;transition:all .2s;display:flex}.distribution-type-option:hover{border-color:#94a3b8;box-shadow:0 2px 8px #0000000d}.distribution-type-option.selected{background-color:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.distribution-type-option:has(input:checked){background-color:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.distribution-type-option input{flex-shrink:0;margin:4px 0 0}.type-option-content{align-items:flex-start;gap:12px;margin-left:12px;display:flex}.type-icon{flex-shrink:0;font-size:24px}.type-info{flex-direction:column;gap:4px;display:flex}.type-label{color:#1e293b;font-size:16px;font-weight:600}.type-description{color:#64748b;font-size:13px;line-height:1.4}.user-list-section{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:24px}.user-list-section>label{color:#1e293b;margin-bottom:12px;font-size:15px;font-weight:600;display:block}.condition-section{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:24px}.condition-section>label{color:#1e293b;margin-bottom:12px;font-size:15px;font-weight:600;display:block}.form-field>.date-section{all:unset!important;width:100%!important;display:block!important}.form-field:has(.date-section){all:unset!important;width:100%!important;display:block!important}.date-section{all:unset!important;box-sizing:border-box!important;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%)!important;border:1px solid #bae6fd!important;border-radius:12px!important;flex-direction:column!important;width:100%!important;margin-bottom:24px!important;padding:24px!important;display:flex!important}.date-section>h3{all:unset!important;color:#0369a1!important;width:100%!important;margin:0 0 20px!important;font-size:18px!important;font-weight:600!important;display:block!important}.date-section>.indefinite-checkbox{all:unset!important;box-sizing:border-box!important;background-color:#fff!important;border:1px solid #e0e7ff!important;border-radius:8px!important;flex-direction:column!important;width:100%!important;margin-bottom:20px!important;padding:16px!important;display:flex!important}.date-section>.indefinite-checkbox>.checkbox-label{all:unset!important;cursor:pointer!important;color:#1e293b!important;flex-direction:row!important;align-items:center!important;gap:10px!important;width:auto!important;margin-bottom:8px!important;font-weight:500!important;display:flex!important}.date-section>.indefinite-checkbox>.checkbox-label input[type=checkbox]{all:unset!important;appearance:auto!important;-webkit-appearance:checkbox!important;cursor:pointer!important;flex-shrink:0!important;width:18px!important;min-width:18px!important;height:18px!important;margin:0!important}.date-section>.indefinite-checkbox>.checkbox-label>span{white-space:nowrap!important}.date-section>.indefinite-checkbox>.field-help{all:unset!important;color:#64748b!important;width:auto!important;margin:0!important;padding:0 0 0 28px!important;font-size:13px!important;line-height:1.5!important;display:block!important}.date-section>.date-inputs{all:unset!important;flex-flow:wrap!important;gap:20px!important;width:100%!important;margin-top:0!important;display:flex!important}.date-section .date-field{flex-direction:column!important;flex:1!important;min-width:250px!important;display:flex!important}.date-section .date-label{color:#1e293b!important;margin-bottom:8px!important;font-size:14px!important;font-weight:600!important;display:block!important}.date-section .date-input{color:#1e293b!important;box-sizing:border-box!important;background-color:#fff!important;border:1px solid #cbd5e1!important;border-radius:8px!important;width:100%!important;padding:10px 12px!important;font-size:14px!important;transition:border-color .2s,box-shadow .2s!important}.date-section .date-input:focus{border-color:#3b82f6!important;outline:none!important;box-shadow:0 0 0 3px #3b82f61a!important}.date-section .date-input:disabled{color:#94a3b8!important;cursor:not-allowed!important;background-color:#f1f5f9!important}.date-section .date-field p.field-help{color:#64748b!important;margin-top:6px!important;font-size:12px!important;display:block!important}.distribution-info{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.distribution-badge{border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.badge-icon{font-size:14px}.distribution-type-0{color:#166534;background-color:#dcfce7}.distribution-type-1{color:#1e40af;background-color:#dbeafe}.distribution-type-2{color:#92400e;background-color:#fef3c7}.user-count-badge{color:#3730a3;background-color:#e0e7ff;border-radius:9999px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.condition-badge{color:#92400e;background-color:#fef3c7;border-radius:9999px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.detail-distribution-info{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:24px;padding:24px}.detail-distribution-info h3{color:#1e293b;margin:0 0 16px;font-size:16px;font-weight:600}.detail-distribution-info h4{color:#475569;margin:20px 0 12px;font-size:14px;font-weight:600}.detail-user-list{margin-top:16px}.user-id-list{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;gap:8px;max-height:200px;padding:12px;display:flex;overflow-y:auto}.user-id-chip{color:#3730a3;background-color:#e0e7ff;border-radius:6px;align-items:center;padding:4px 10px;font-family:monospace;font-size:12px;display:inline-flex}.detail-condition{margin-top:16px}.condition-json{color:#e2e8f0;white-space:pre-wrap;word-break:break-word;background-color:#1e293b;border-radius:8px;max-height:300px;padding:16px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;overflow:auto}.distribution-badge-sm{white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:500;display:inline-flex}.distribution-badge-sm.distribution-type-0{color:#166534;background-color:#dcfce7}.distribution-badge-sm.distribution-type-1{color:#1e40af;background-color:#dbeafe}.distribution-badge-sm.distribution-type-2{color:#92400e;background-color:#fef3c7}.reward-summary{color:#374151;font-size:13px}.text-muted{color:#9ca3af;font-style:italic}@media (width<=900px){.distribution-type-selector{flex-direction:column;gap:10px}.distribution-type-option{min-width:auto;max-width:none}}@media (width<=768px){.filter-buttons{flex-direction:column;gap:8px}.filter-btn{justify-content:flex-start;width:100%}.distribution-type-option{padding:14px 16px}.type-option-content{flex-direction:column;gap:8px}.type-icon{font-size:20px}.user-id-list{max-height:150px}.date-section{padding:16px}.date-section .date-inputs{flex-direction:column;gap:16px}.date-section .date-field{min-width:100%}}.period-badge{border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:600;display:inline-flex}.period-badge.indefinite{color:#166534;background-color:#dcfce7}.period-range{color:#1e293b;font-size:14px}.reward-detail-container{flex-direction:column;gap:16px;display:flex}.reward-detail-section{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px}.reward-detail-title{color:#475569;border-bottom:1px solid #e2e8f0;margin-bottom:8px;padding-bottom:6px;font-size:13px;font-weight:600}.reward-detail-list{flex-direction:column;gap:6px;display:flex}.reward-detail-item{color:#334155;background-color:#fff;border-radius:4px;justify-content:space-between;align-items:center;padding:4px 8px;font-size:13px;display:flex}.reward-amount{color:#3b82f6;font-weight:600}.condition-detail-container{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px}.condition-group-detail{flex-direction:column;gap:8px;display:flex}.logic-badge{text-transform:uppercase;border-radius:4px;margin-bottom:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.logic-badge.logic-and{color:#1e40af;background-color:#dbeafe}.logic-badge.logic-or{color:#92400e;background-color:#fef3c7}.condition-item-detail{background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.condition-type{color:#334155;font-weight:600}.condition-operator{color:#64748b;font-weight:500}.condition-value{color:#3b82f6;font-weight:600}.user-id-list-detail{flex-direction:column;gap:8px;display:flex}.user-id-list-detail .user-count{color:#475569;font-size:13px;font-weight:600}.user-id-list-detail .user-id-chips{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;gap:6px;max-height:150px;padding:8px;display:flex;overflow-y:auto}.condition-text-display{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;font-size:14px;line-height:2.2}.condition-expression{color:#1e293b;white-space:nowrap;background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:8px;margin:4px 0;padding:8px 14px;font-size:13px;display:inline-flex;box-shadow:0 1px 2px #0000000d}.condition-expression .cond-field{color:#7c3aed;font-family:SF Mono,Consolas,monospace;font-weight:500}.condition-expression .cond-op{color:#64748b;font-weight:600}.condition-expression .cond-value{color:#059669;font-weight:600}.condition-logic{color:#6366f1;padding:0 4px;font-size:11px;font-weight:700;display:inline}.condition-group-wrap{color:#64748b;font-size:18px;font-weight:700;display:inline}.id-with-mirroring{align-items:center;gap:8px;display:flex}.id-with-mirroring .selection-checkbox{align-items:center;display:flex}.id-with-mirroring .selection-checkbox input{cursor:pointer;width:16px;height:16px}.item-type-mst-id-docs-page{max-width:1400px;margin:0 auto;padding:24px}.item-type-mst-id-docs-header{text-align:center;margin-bottom:20px}.item-type-mst-id-docs-header h1{color:#1f2937;margin-bottom:6px;font-size:2rem}.item-type-mst-id-docs-header p{color:#6b7280;margin-bottom:16px;font-size:.95rem}.copy-all-button{color:#8b5cf6;cursor:pointer;background:#8b5cf61a;border:2px solid #8b5cf6;border-radius:8px;margin-top:12px;padding:10px 20px;font-size:.95rem;font-weight:600;transition:all .2s}.copy-all-button:hover{color:#fff;background:#8b5cf6;transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.copy-all-button:active{transform:translateY(0)}.item-type-mst-id-docs-controls{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.item-type-mst-id-docs-content{flex-direction:column;gap:20px;display:flex}.loading,.error,.no-results{text-align:center;color:#6b7280;padding:60px 20px}.error{color:#dc2626}.item-type-sections{flex-direction:column;gap:20px;display:flex}.category-section{margin-bottom:16px}.item-type-grid{flex-direction:column;gap:8px;display:flex}.item-type-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:170px 1fr 2fr;align-items:center;gap:0;padding:8px 0 8px 14px;transition:all .2s;display:grid;box-shadow:0 1px 3px #00000014}.item-type-card:hover{border-color:#8b5cf6;transform:translateY(-1px);box-shadow:0 3px 8px #0000001f}.item-type-col-name{min-width:0;padding-right:12px}.item-type-col-mst-id{border-left:1px solid #e5e7eb;min-width:0;padding:2px 12px}.item-type-col-meaning{border-left:1px solid #e5e7eb;min-width:0;padding:2px 14px 2px 12px}.item-type-card-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:0;display:flex}.item-type-name{color:#1f2937;word-break:break-all;margin:0 0 4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;font-weight:600;line-height:1.2}.item-type-display-name{color:#6b7280;margin:0;font-size:.8rem;font-weight:500}.category-badge{white-space:nowrap;background:#f3e8ff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:28px;height:28px;padding:4px 8px;font-size:.9rem;display:flex}.item-type-mst-id-section{background:#f9fafb;border-left:3px solid #8b5cf6;border-radius:6px;margin-bottom:0;padding:6px 8px}.mst-id-label{color:#6b7280;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-size:.7rem;font-weight:600}.mst-id-description{color:#1f2937;margin-bottom:6px;font-size:.8rem;font-weight:500;line-height:1.3}.mst-id-example{border-top:1px solid #e5e7eb;align-items:center;gap:6px;margin-top:6px;padding-top:6px;display:flex}.example-label{color:#6b7280;font-size:.75rem;font-weight:500}.example-value{color:#8b5cf6;background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:3px 8px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;font-weight:500}.item-type-meaning{border-top:none;border-left:2px solid #e5e7eb;padding-top:0;padding-left:10px}.meaning-label{color:#6b7280;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-size:.7rem;font-weight:600}.meaning-text{color:#374151;margin:0;font-size:.8rem;line-height:1.4}.master-type-name{color:#8b5cf6;margin-left:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500}@media (width<=768px){.item-type-mst-id-docs-page{padding:16px}.item-type-mst-id-docs-header h1{font-size:2rem}.item-type-card{grid-template-columns:1fr;gap:4px;padding:8px 14px}.item-type-col-name,.item-type-col-mst-id,.item-type-col-meaning{border-left:none;padding:2px 0}.item-type-meaning{border-top:1px solid #f3f4f6;border-left:none;padding-top:8px;padding-left:0}.filter-tabs{justify-content:flex-start;padding-bottom:8px;overflow-x:auto}.item-type-card-header{flex-direction:column;align-items:flex-start;gap:8px}.category-badge{align-self:flex-start}}.lobby-monitor-detail-page{max-width:1200px;margin:0 auto;padding:24px}.lobby-monitor-detail-page .page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.lobby-monitor-detail-page .header-left{align-items:center;gap:16px;display:flex}.lobby-monitor-detail-page .header-left h1{color:#1f2937;margin:0;font-size:24px;font-weight:600}.lobby-monitor-detail-page .back-button{color:#374151;cursor:pointer;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:8px 16px;font-size:14px}.lobby-monitor-detail-page .back-button:hover{background-color:#e5e7eb}.lobby-monitor-detail-page .header-controls{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.lobby-monitor-detail-page .polling-control{align-items:center;gap:8px;display:flex}.lobby-monitor-detail-page .polling-control label{color:#6b7280;font-size:14px}.lobby-monitor-detail-page .polling-control select{cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:14px}.lobby-monitor-detail-page .refresh-button{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:6px;padding:8px 16px;font-size:14px}.lobby-monitor-detail-page .refresh-button:hover:not(:disabled){background-color:#2563eb}.lobby-monitor-detail-page .refresh-button:disabled{cursor:not-allowed;background-color:#9ca3af}.lobby-monitor-detail-page .last-updated{color:#9ca3af;font-size:12px}.lobby-monitor-detail-page .close-lobby-button{color:#fff;cursor:pointer;background-color:#ef4444;border:none;border-radius:6px;padding:8px 16px;font-size:14px}.lobby-monitor-detail-page .close-lobby-button:hover:not(:disabled){background-color:#dc2626}.lobby-monitor-detail-page .close-lobby-button:disabled{cursor:not-allowed;background-color:#9ca3af}.lobby-monitor-detail-page .error-banner{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;margin-bottom:24px;padding:12px 16px;display:flex}.lobby-monitor-detail-page .error-message{color:#dc2626;font-size:14px}.lobby-monitor-detail-page .loading-state{color:#6b7280;flex-direction:column;align-items:center;gap:16px;padding:48px;display:flex}.lobby-monitor-detail-page .loading-spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;animation:1s linear infinite lobby-detail-spin}@keyframes lobby-detail-spin{to{transform:rotate(360deg)}}.detail-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:24px;overflow:hidden}.detail-section h2{color:#1f2937;margin:0 0 16px;font-size:18px;font-weight:600}.info-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.info-item{flex-direction:column;gap:4px;display:flex}.info-label{color:#6b7280;font-size:12px;font-weight:500}.info-value{color:#1f2937;word-break:break-all;font-size:14px}.monospace{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.invite-code{letter-spacing:2px;font-size:18px;font-weight:600}.badge-public{color:#1d4ed8;background-color:#dbeafe}.badge-private{color:#374151;background-color:#f3f4f6}.badge-open{color:#166534;background-color:#dcfce7}.badge-closed{color:#991b1b;background-color:#fee2e2}.lobby-monitor-detail-page .table-wrapper{overflow-x:auto}.detail-table{border-collapse:collapse;width:100%;font-size:14px}.detail-table th,.detail-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:10px 12px}.detail-table th{color:#374151;background-color:#f9fafb;font-weight:600}.detail-table tbody tr:hover{background-color:#f9fafb}.host-badge{color:#92400e;background-color:#fef3c7;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.status-connected{color:#16a34a;font-weight:500}.status-disconnected{color:#dc2626;font-weight:500}.slot-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.slot-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-left:4px solid #3b82f6;border-radius:8px;padding:16px}.slot-card.playing{border-left-color:#22c55e}.slot-card.waiting{border-left-color:#3b82f6}.slot-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.slot-title{color:#1f2937;font-size:16px;font-weight:600}.slot-state-badge{border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600}.slot-state-badge.waiting{color:#1d4ed8;background-color:#dbeafe}.slot-state-badge.playing{color:#166534;background-color:#dcfce7}.slot-players-table{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:13px}.slot-players-table th,.slot-players-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:6px 8px}.slot-players-table th{color:#6b7280;font-size:12px;font-weight:600}.status-ready{color:#16a34a;font-weight:600}.status-not-ready{color:#9ca3af}.slot-match-room{align-items:center;gap:8px;margin-top:8px;font-size:13px;display:flex}.match-room-link{color:#3b82f6;cursor:pointer;background:0 0;border:none;padding:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:13px;text-decoration:underline}.match-room-link:hover{color:#1d4ed8}.slot-info-row{align-items:center;gap:8px;margin-top:4px;font-size:13px;display:flex}.slot-info-label{color:#6b7280;font-size:13px;font-weight:500}.slot-config{margin-top:8px}.config-compact{color:#374151;margin-top:4px;font-size:12px}.slot-config-default{color:#9ca3af;margin-top:8px;font-size:12px;font-style:italic}.config-grid{grid-template-columns:auto 1fr;gap:8px 16px;font-size:14px;display:grid}.config-label{color:#6b7280;font-weight:500}.config-value{color:#1f2937;overflow-wrap:break-word;min-width:0}.sfen-code{word-break:break-all;background-color:#f3f4f6;border-radius:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:13px}.empty-state-small{text-align:center;color:#9ca3af;padding:16px;font-size:14px}.seat-empty td{color:#9ca3af}.seat-label{color:#6b7280;white-space:nowrap;font-weight:500}.empty-seat{color:#9ca3af;font-style:italic}@media (width<=768px){.slot-grid,.info-grid{grid-template-columns:1fr}.lobby-monitor-detail-page .page-header{flex-direction:column;align-items:flex-start}}.lobby-monitor-page{max-width:1600px;margin:0 auto;padding:24px}.refresh-button{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:6px;padding:8px 16px;font-size:14px}.filter-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:16px}.filter-row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.filter-item label{color:#6b7280;font-size:12px;font-weight:500}.filter-item input,.filter-item select{border:1px solid #d1d5db;border-radius:6px;min-width:120px;padding:8px 12px;font-size:14px}.filter-actions{gap:8px;display:flex}.search-button{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:6px;padding:8px 16px;font-size:14px}.clear-button{color:#374151;cursor:pointer;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:8px 16px;font-size:14px}.loading-state{color:#6b7280;flex-direction:column;align-items:center;gap:16px;padding:48px;display:flex}.summary-card{text-align:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.table-wrapper{overflow-x:auto}.lobby-table{border-collapse:collapse;width:100%;font-size:14px}.lobby-table th,.lobby-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:10px 12px}.lobby-table th{color:#374151;background-color:#f9fafb;font-weight:600}.lobby-table tbody tr:hover{background-color:#f9fafb}.lobby-table .row-closed{color:#6b7280;background-color:#f3f4f6}.cell-id,.cell-host{word-break:break-all}.close-lobby-button{color:#fff;cursor:pointer;background-color:#ef4444;border:none;border-radius:6px;padding:6px 12px;font-size:12px}.close-lobby-button:hover:not(:disabled){background-color:#dc2626}.close-lobby-button:disabled{cursor:not-allowed;background-color:#9ca3af}.detail-lobby-button{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:6px;margin-right:8px;padding:6px 12px;font-size:12px}.detail-lobby-button:hover{background-color:#2563eb}.lobby-monitor-page .status-badge{border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.lobby-monitor-page .badge-open{color:#166534;background-color:#dcfce7}.lobby-monitor-page .badge-closed{color:#991b1b;background-color:#fee2e2}.matching-monitor-page{max-width:1400px;margin:0 auto;padding:24px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.header-controls{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.polling-control label{color:#6b7280;font-size:14px}.polling-control select{cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:14px}.polling-control select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.refresh-button{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:6px;padding:8px 16px;font-size:14px;transition:background-color .2s}.refresh-button:hover:not(:disabled){background-color:#2563eb}.refresh-button:disabled{cursor:not-allowed;background-color:#9ca3af}.error-banner{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;margin-bottom:24px;padding:12px 16px;display:flex}.error-icon{font-size:16px}.error-message{color:#dc2626;font-size:14px}.loading-state{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px;display:flex}.summary-section{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:32px;display:grid}.summary-card{text-align:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:box-shadow .2s}.summary-card:hover{box-shadow:0 4px 12px #0000000d}.summary-card.total{background-color:#3b82f6;border-color:#3b82f6}.summary-card.total .summary-value,.summary-card.total .summary-label{color:#fff}.summary-value{color:#1f2937;margin-bottom:8px;font-size:36px;font-weight:700;line-height:1}.summary-label{color:#6b7280;font-size:13px;font-weight:500}.section{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:24px}.section h2{color:#1f2937;margin:0 0 16px;font-size:18px;font-weight:600}.table-container{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th{color:#374151;white-space:nowrap;background-color:#f9fafb;font-weight:600}.data-table tbody tr:hover{background-color:#f9fafb}.data-table .user-id{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-family:monospace;font-size:12px;overflow:hidden}.data-table .open-id{color:#1f2937;font-weight:500}.data-table .rate{color:#3b82f6;font-weight:600}.data-table .elapsed{color:#6b7280}.data-table .rate-range{color:#059669;font-weight:500}.empty-state{color:#9ca3af;flex-direction:column;align-items:center;gap:12px;padding:48px;display:flex}.empty-icon{font-size:32px}.events-container{flex-direction:column;gap:12px;max-height:600px;display:flex;overflow-y:auto}.event-item{border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:box-shadow .2s}.event-item:hover{box-shadow:0 2px 8px #0000000d}.event-item.event-enqueue{border-left:4px solid #22c55e}.event-item.event-dequeue{border-left:4px solid #f59e0b}.event-item.event-range-expanded{border-left:4px solid #8b5cf6}.event-item.event-matched{background-color:#eff6ff;border-left:4px solid #3b82f6}.event-item.event-error{background-color:#fef2f2;border-left:4px solid #ef4444}.event-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.event-icon{font-size:16px}.event-type{color:#1f2937;font-weight:600}.event-time{color:#9ca3af;margin-left:auto;font-size:12px}.event-body{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 24px;display:grid}.event-detail{gap:8px;font-size:13px;display:flex}.event-detail.error{grid-column:1/-1}.detail-label{color:#6b7280;flex-shrink:0}.detail-value{color:#1f2937;font-weight:500}.user-id-small{color:#9ca3af;margin-left:4px;font-family:monospace;font-size:11px}.matched-users{flex-direction:column;gap:8px;margin-top:8px;display:flex}.matched-user{text-align:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px}.matched-user-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px}.matched-user-name{color:#1f2937;margin-bottom:4px;font-size:15px;font-weight:600}.matched-user-id{color:#9ca3af;margin-bottom:4px;font-family:monospace;font-size:11px}.matched-user-rate{color:#3b82f6;font-size:13px;font-weight:600}.matched-vs{color:#6b7280;justify-content:center;align-items:center;padding:4px 0;font-size:14px;font-weight:700;display:flex}.destroy-section{background-color:#fef2f2;border:2px solid #fecaca;border-radius:12px;margin-bottom:24px;padding:20px}.destroy-buttons{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.destroy-button{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #0000001a}.destroy-button:disabled{opacity:.6;cursor:not-allowed}.destroy-button.destroy-matching{color:#fff;background-color:#ef4444}.destroy-button.destroy-matching:hover:not(:disabled){background-color:#dc2626;box-shadow:0 4px 8px #ef44444d}.destroy-button.destroy-ingame{color:#fff;background-color:#f59e0b}.destroy-button.destroy-ingame:hover:not(:disabled){background-color:#d97706;box-shadow:0 4px 8px #f59e0b4d}.destroy-button.destroy-workers{color:#fff;background-color:#8b5cf6}.destroy-button.destroy-workers:hover:not(:disabled){background-color:#7c3aed;box-shadow:0 4px 8px #8b5cf64d}.destroy-message{border-radius:8px;padding:12px 16px;font-size:14px;font-weight:500}.destroy-message.success{color:#065f46;background-color:#d1fae5;border:1px solid #6ee7b7}.destroy-message.error{color:#991b1b;background-color:#fee2e2;border:1px solid #fecaca}@media (width<=768px){.matching-monitor-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start}.header-controls{justify-content:flex-start;width:100%}.summary-section{grid-template-columns:repeat(2,1fr)}.summary-value{font-size:28px}.event-body{grid-template-columns:1fr}.destroy-buttons{flex-direction:column}.destroy-button{width:100%}}.premium-ai-queue-monitor-page{padding:24px}.header-controls{align-items:center;gap:12px;display:flex}.polling-control{align-items:center;gap:8px;display:flex}.polling-control select{border:1px solid #d1d5db;border-radius:6px;padding:6px 8px}.refresh-button{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.last-updated{color:#6b7280;font-size:12px}.summary-section{grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin:16px 0;display:grid}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px}.summary-card.total{background:#eff6ff;border-color:#93c5fd}.summary-value{color:#111827;font-size:24px;font-weight:700}.summary-value.small{font-size:14px;line-height:1.4}.summary-label{color:#6b7280;margin-top:6px;font-size:12px}.meta-section{gap:8px;margin-bottom:16px;display:grid}.meta-item{align-items:center;gap:8px;display:flex}.meta-label{color:#6b7280;min-width:140px}.section{margin-top:16px}.table-container{border:1px solid #e5e7eb;border-radius:10px;overflow-x:auto}.data-table{border-collapse:collapse;background:#fff;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #f3f4f6;padding:10px 12px}.data-table th{color:#374151;background:#f9fafb;font-weight:600}.empty-state{color:#6b7280;align-items:center;gap:8px;padding:16px 4px;display:flex}.error-banner{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 12px;display:flex}.loading-state{color:#6b7280;align-items:center;gap:8px;margin-top:16px;display:flex}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.psql-console-container{background-color:#1e1e1e;border-radius:8px;flex-direction:column;height:100%;display:flex;overflow:hidden;box-shadow:0 4px 6px #0000004d}.psql-console-header{background-color:#2d2d2d;border-bottom:1px solid #404040;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.psql-console-title{color:#d4d4d4;font-size:14px;font-weight:600}.psql-console-status{align-items:center;gap:8px;display:flex}.status-indicator{border-radius:50%;width:10px;height:10px;transition:background-color .3s}.status-indicator.connected{background-color:#4ec9b0;box-shadow:0 0 6px #4ec9b080}.status-indicator.disconnected{background-color:#f44747;box-shadow:0 0 6px #f4474780}.status-text{color:gray;font-size:12px}.reconnect-button{color:#d4d4d4;cursor:pointer;background-color:#3c3c3c;border:1px solid #505050;border-radius:4px;padding:4px 12px;font-size:12px;transition:background-color .2s,border-color .2s}.reconnect-button:hover{background-color:#4c4c4c;border-color:#606060}.reconnect-button:active{background-color:#5c5c5c}.psql-console-error{color:#f44747;background-color:#f447471a;border-bottom:1px solid #f447474d;padding:8px 16px;font-size:12px}.psql-console-terminal{flex:1;padding:8px;overflow:hidden}.psql-console-terminal .xterm{height:100%}.psql-console-terminal .xterm-viewport{overflow-y:auto!important}.psql-console-terminal .xterm-viewport::-webkit-scrollbar{width:10px}.psql-console-terminal .xterm-viewport::-webkit-scrollbar-track{background:#1e1e1e}.psql-console-terminal .xterm-viewport::-webkit-scrollbar-thumb{background-color:#424242;border:2px solid #1e1e1e;border-radius:5px}.psql-console-terminal .xterm-viewport::-webkit-scrollbar-thumb:hover{background-color:#525252}.psql-console-page{box-sizing:border-box;flex-direction:column;height:100%;padding:24px;display:flex}.psql-console-page-header{margin-bottom:20px}.psql-console-page-header h1{color:#1f2937;margin:0 0 8px;font-size:24px;font-weight:600}.psql-console-page-description{color:#6b7280;margin:0;font-size:14px}.psql-console-page-content{flex-direction:column;flex:1;min-height:0;display:flex}.redis-console-container{background-color:#1a1a2e;border-radius:8px;flex-direction:column;height:100%;display:flex;overflow:hidden;box-shadow:0 4px 6px #0000004d}.redis-console-header{background-color:#16213e;border-bottom:1px solid #0f3460;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.redis-console-title{color:#ff6b6b;font-size:14px;font-weight:600}.redis-console-status{align-items:center;gap:8px;display:flex}.redis-console-status .status-indicator{border-radius:50%;width:10px;height:10px;transition:background-color .3s}.redis-console-status .status-indicator.connected{background-color:#4ecca3;box-shadow:0 0 6px #4ecca380}.redis-console-status .status-indicator.disconnected{background-color:#ff6b6b;box-shadow:0 0 6px #ff6b6b80}.redis-console-status .status-text{color:#8a8ab0;font-size:12px}.redis-console-status .reconnect-button{color:#eaeaea;cursor:pointer;background-color:#0f3460;border:1px solid #1a5276;border-radius:4px;padding:4px 12px;font-size:12px;transition:background-color .2s,border-color .2s}.redis-console-status .reconnect-button:hover{background-color:#1a5276;border-color:#2471a3}.redis-console-status .reconnect-button:active{background-color:#2471a3}.redis-console-error{color:#ff6b6b;background-color:#ff6b6b1a;border-bottom:1px solid #ff6b6b4d;padding:8px 16px;font-size:12px}.redis-console-terminal{flex:1;padding:8px;overflow:hidden}.redis-console-terminal .xterm{height:100%}.redis-console-terminal .xterm-viewport{overflow-y:auto!important}.redis-console-terminal .xterm-viewport::-webkit-scrollbar{width:10px}.redis-console-terminal .xterm-viewport::-webkit-scrollbar-track{background:#1a1a2e}.redis-console-terminal .xterm-viewport::-webkit-scrollbar-thumb{background-color:#3a3a5a;border:2px solid #1a1a2e;border-radius:5px}.redis-console-terminal .xterm-viewport::-webkit-scrollbar-thumb:hover{background-color:#4a4a6a}.redis-console-page{box-sizing:border-box;flex-direction:column;height:100%;padding:24px;display:flex}.redis-console-page-header{margin-bottom:20px}.redis-console-page-header h1{color:#1f2937;margin:0 0 8px;font-size:24px;font-weight:600}.redis-console-page-description{color:#6b7280;margin:0;font-size:14px}.redis-console-page-content{flex-direction:column;flex:1;min-height:0;display:flex}.batch-list-page{max-width:960px;padding:24px}.batch-list-header h1{color:#1f2937;margin:0 0 4px;font-size:24px;font-weight:600}.batch-list-description{color:#6b7280;margin:0 0 24px;font-size:14px}.batch-list-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.batch-list-table{border-collapse:collapse;width:100%}.batch-list-table thead th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:12px 16px;font-size:12px;font-weight:600}.batch-list-table tbody td{color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:14px}.batch-list-table tbody tr:last-child td{border-bottom:none}.batch-list-table tbody tr:hover{background:#f9fafb}.batch-name-cell code{color:#7c3aed;background:#f3f4f6;border-radius:4px;padding:2px 8px;font-size:13px}.batch-comment-cell{color:#6b7280}.batch-action-cell{text-align:center;width:80px}.batch-detail-link{color:#fff;background:#3b82f6;border-radius:4px;padding:4px 12px;font-size:13px;text-decoration:none;transition:background .15s;display:inline-block}.batch-detail-link:hover{background:#2563eb}.batch-list-empty{text-align:center;color:#9ca3af;padding:32px 16px!important}.batch-detail-page{max-width:1100px;padding:24px}.batch-back-link{color:#3b82f6;margin-bottom:8px;font-size:14px;text-decoration:none;display:inline-block}.batch-back-link:hover{text-decoration:underline}.batch-detail-header h1{color:#1f2937;margin:0 0 4px;font-size:24px;font-weight:600}.batch-detail-description{color:#6b7280;margin:0 0 24px;font-size:14px}.batch-detail-loading{text-align:center;color:#6b7280;padding:48px}.batch-execution-form{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:20px}.batch-execution-form h2{color:#1f2937;margin:0 0 16px;font-size:16px;font-weight:600}.batch-form-row{align-items:center;gap:12px;margin-bottom:16px;display:flex}.batch-form-row label{color:#374151;white-space:nowrap;font-size:14px;font-weight:500}.batch-key-input{color:#1f2937;border:1px solid #d1d5db;border-radius:6px;outline:none;flex:1;max-width:300px;padding:8px 12px;font-size:14px;transition:border-color .15s}.batch-key-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.batch-form-actions{gap:12px;display:flex}.batch-btn{cursor:pointer;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500;transition:background .15s,opacity .15s}.batch-btn:disabled{opacity:.5;cursor:not-allowed}.batch-btn-dryrun{color:#374151;background:#f3f4f6;border:1px solid #d1d5db}.batch-btn-dryrun:hover:not(:disabled){background:#e5e7eb}.batch-btn-production{color:#fff;background:#ef4444}.batch-btn-production:hover:not(:disabled){background:#dc2626}.batch-message{border-radius:6px;margin-bottom:16px;padding:12px 16px;font-size:14px}.batch-message-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.batch-message-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.batch-history-section{margin-top:8px}.batch-history-section h2{color:#1f2937;align-items:center;gap:8px;margin:0 0 12px;font-size:16px;font-weight:600;display:flex}.batch-polling-indicator{color:#3b82f6;background:#eff6ff;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:400;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.batch-history-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.batch-history-table{border-collapse:collapse;width:100%}.batch-history-table thead th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 12px;font-size:12px;font-weight:600}.batch-history-table tbody td{color:#374151;white-space:nowrap;border-bottom:1px solid #f3f4f6;padding:10px 12px;font-size:13px}.batch-history-table tbody tr:last-child td{border-bottom:none}.batch-history-table tbody tr:hover{background:#f9fafb}.batch-history-table tbody tr.row-running{background:#eff6ff}.batch-history-table tbody td code{background:#f3f4f6;border-radius:3px;padding:1px 6px;font-size:12px}.batch-history-empty{text-align:center;color:#9ca3af;padding:32px 12px!important}.status-running{color:#1e40af;background:#dbeafe}.status-completed{color:#166534;background:#dcfce7}.status-failed{color:#991b1b;background:#fee2e2}.status-unknown{color:#6b7280;background:#f3f4f6}.mode-badge{border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.mode-dryrun{color:#92400e;background:#fef3c7}.mode-production{color:#9d174d;background:#fce7f3}.num-cell{text-align:right;font-variant-numeric:tabular-nums}.num-success{color:#166534}.num-skip{color:#92400e}.num-fail{color:#991b1b}.shogi-ranking-partitions-page{flex-direction:column;gap:16px;padding:24px;display:flex}.page-header h1{margin:0 0 8px}.page-header p{color:#64748b;margin:0}.filter-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:12px;display:grid}.filter-item{flex-direction:column;gap:6px;display:flex}.filter-item label{color:#475569;font-size:12px}.filter-item input,.filter-item select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;height:34px;padding:0 10px}.filter-actions{align-items:end;gap:8px;display:flex}.filter-actions button{cursor:pointer;white-space:nowrap;color:#fff;border:none;border-radius:6px;height:34px;padding:0 14px;font-size:13px;font-weight:500;transition:opacity .15s}.filter-actions button:hover:not(:disabled){opacity:.85}.filter-actions button:disabled{opacity:.5;cursor:not-allowed}.filter-actions .btn-search{background:#3b82f6}.filter-actions .btn-clear{background:#6b7280}.filter-actions .btn-rebuild{background:#f59e0b}.ranking-tabs{flex-direction:column;display:flex}.ranking-tab-bar{border-bottom:2px solid #e2e8f0;flex-wrap:wrap;gap:4px;padding-bottom:0;display:flex}.ranking-tab{cursor:pointer;color:#64748b;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 16px;font-size:13px;transition:color .15s,border-color .15s}.ranking-tab:hover{color:#334155}.ranking-tab.active{color:#3b82f6;border-bottom-color:#3b82f6;font-weight:600}.ranking-tab-content{margin-top:12px}.ranking-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-height:240px}.ranking-card-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.ranking-card-header h3{margin:0;font-size:14px}.ranking-source{color:#64748b;background:#f1f5f9;border-radius:999px;padding:2px 6px;font-size:11px}.ranking-loading,.ranking-empty,.ranking-error{color:#475569;justify-content:center;align-items:center;gap:8px;min-height:180px;display:flex}.ranking-error{color:#b91c1c}.loading-spinner{border:2px solid #cbd5e1;border-top-color:#3b82f6;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.ranking-table-wrapper{padding:8px 12px 12px}.ranking-table{border-collapse:collapse;width:100%;font-size:12px}.ranking-table th,.ranking-table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:6px 4px}.message{border-radius:6px;padding:8px 10px}.message.success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.message.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.db-schema-page{max-width:1400px;margin:0 auto;padding:24px}.db-schema-page-header{margin-bottom:24px}.db-schema-page-header h1{color:#1f2937;margin:0 0 8px;font-size:24px;font-weight:600}.db-schema-page-description{color:#6b7280;margin:0;font-size:14px}.db-schema-controls{align-items:center;gap:12px;margin-bottom:24px;display:flex}.db-schema-filter{flex:1;max-width:400px}.db-schema-filter-input{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:14px}.db-schema-filter-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.db-schema-fetch-button{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background-color .2s}.db-schema-fetch-button:hover:not(:disabled){background-color:#2563eb}.db-schema-fetch-button:disabled{cursor:not-allowed;background-color:#9ca3af}.db-schema-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:24px;padding:12px 16px}.db-schema-result{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.db-schema-summary{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;gap:24px;padding:16px 20px;display:flex}.db-schema-summary-item{align-items:center;gap:8px;display:flex}.db-schema-summary-label{color:#6b7280;font-size:14px}.db-schema-summary-value{color:#1f2937;font-size:16px;font-weight:600}.db-schema-summary-warning{color:#dc2626}.db-schema-no-diff{text-align:center;color:#10b981;padding:40px;font-size:16px}.db-schema-tables{flex-direction:column;gap:24px;padding:20px;display:flex}.db-schema-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.db-schema-table-header{background-color:#f3f4f6;border-bottom:1px solid #e5e7eb;align-items:center;gap:12px;padding:12px 16px;display:flex}.db-schema-table-header h3{color:#1f2937;margin:0;font-size:16px;font-weight:600}.db-schema-table-name{color:#6b7280;font-family:monospace;font-size:13px}.db-schema-table-missing{color:#dc2626;background-color:#fef2f2;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500}.db-schema-section{padding:16px}.db-schema-section h4{color:#374151;margin:0 0 12px;font-size:14px;font-weight:600}.db-schema-diff-table{border-collapse:collapse;width:100%;font-size:13px}.db-schema-diff-table th,.db-schema-diff-table td{text-align:left;border:1px solid #e5e7eb;padding:8px 12px}.db-schema-diff-table th{color:#374151;background-color:#f9fafb;font-weight:600}.db-schema-diff-table td{font-family:monospace;font-size:12px}.diff-missing{background-color:#fef3c7}.diff-extra{background-color:#dbeafe}.diff-type{background-color:#fce7f3}.diff-nullable{background-color:#f3e8ff}.struct-detail-page{max-width:1200px;margin:0 auto;padding:24px}.struct-detail-header{margin-bottom:32px}.back-link{color:#3b82f6;align-items:center;margin-bottom:24px;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.back-link:hover{color:#1d4ed8}.struct-title-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.struct-badges{gap:8px;margin-bottom:16px;display:flex}.category-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:6px;padding:6px 12px;font-size:.875rem;font-weight:600}.struct-title{color:#1f2937;word-break:break-all;margin:0 0 16px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:2.5rem;font-weight:700;line-height:1.2}.struct-description{color:#6b7280;margin-bottom:20px;font-size:1.1rem;line-height:1.6}.struct-stats{flex-wrap:wrap;gap:24px;display:flex}.stat-item{color:#6b7280;align-items:center;gap:6px;font-size:.95rem;display:flex}.struct-detail-content{flex-direction:column;gap:32px;display:flex}.struct-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.section-description{color:#6b7280;margin-bottom:24px;font-size:.95rem}.fields-table{border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:1fr 1fr 1fr auto 2fr;gap:0;display:grid;overflow:hidden}.fields-header{display:contents}.fields-header>span{color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:12px 16px;font-size:.875rem;font-weight:600}.field-row{display:contents}.field-row>span{border-bottom:1px solid #f3f4f6;align-items:center;padding:12px 16px;display:flex}.field-row:last-child>span{border-bottom:none}.field-json-name code{color:#6b7280;background:#f3f4f6;border-radius:4px;padding:2px 6px;font-size:.8rem}.field-type-cell code{color:#1e40af;background:#eff6ff;border-radius:4px;padding:4px 8px;font-size:.85rem;font-weight:500}.required-badge{color:#92400e;background:#fef3c7;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.optional-badge{color:#6b7280;background:#f3f4f6;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.field-comment{color:#6b7280;white-space:pre-line;font-size:.9rem}.unity-struct-section{border-top:1px solid #e5e7eb;margin-top:0;padding-top:24px}.unity-struct-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.unity-struct-header-left{align-items:center;gap:12px;display:flex}.unity-struct-header h3{color:#374151;margin:0;font-size:1.2rem}.collapse-button{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;padding:4px;font-size:1.2rem;transition:all .2s}.collapse-button:hover{color:#374151;background:#f3f4f6}.copy-button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;transition:all .2s;display:flex}.copy-button:hover{background:#2563eb;transform:translateY(-1px)}.unity-struct-code{color:#f9fafb;background:#1f2937;border-radius:8px;margin:0;padding:20px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.6;overflow-x:auto}.unity-struct-code code{color:inherit;font-size:inherit;background:0 0;padding:0}.related-apis-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));justify-items:center;gap:20px;padding:0 24px 24px;display:grid}.related-api-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:inherit;background:#ffffffe6;border:1px solid #e5e7eb;border-radius:12px;align-items:center;width:100%;max-width:320px;min-height:30px;padding:16px 20px;text-decoration:none;transition:all .3s;display:flex;box-shadow:0 2px 4px #0000000d}.related-api-card:hover{background:#eff6ffe6;border-color:#3b82f6;transform:translateY(-3px);box-shadow:0 4px 12px #3b82f626}.api-card-content{justify-content:space-between;align-items:center;width:100%;display:flex}.api-name{color:#1f2937;flex:1;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.95rem;font-weight:600}.api-link-icon{color:#3b82f6;margin-left:12px;font-size:1.2rem;font-weight:700;transition:transform .2s}.related-api-card:hover .api-link-icon{transform:translate(4px)}.api-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.section-title{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#1f2937;background:#f8fafccc;border-bottom:1px solid #e5e7ebcc;margin:0;padding:16px 24px;font-size:1.5rem;font-weight:600}.section-description{color:#6b7280;margin:16px 24px 24px;font-size:.95rem}.type-definition{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:24px;scroll-margin-top:80px;box-shadow:0 1px 3px #0000001a}.type-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.type-header-left{align-items:center;gap:12px;display:flex}.type-name{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600}.type-badges{gap:8px;display:flex}.type-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:600}.type-badge.entity{color:#1e40af;background:#dbeafe}.type-badge.args{color:#92400e;background:#fef3c7}.type-badge.reply{color:#065f46;background:#d1fae5}.type-badge.custom{color:#3730a3;background:#e0e7ff}.type-comment{color:#6b7280;white-space:pre-line;margin-bottom:16px;font-style:italic}.values-table{border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:2fr 1fr 2fr;gap:0;display:grid;overflow:hidden}.values-header{display:contents}.values-header>span{color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:12px 16px;font-size:.875rem;font-weight:600}.value-row{display:contents}.value-row>span{border-bottom:1px solid #f3f4f6;align-items:center;padding:12px 16px;display:flex}.value-row:last-child>span{border-bottom:none}.value-name{color:#1f2937;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500}.value-value code{background:#f3f4f6;border-radius:3px;padding:2px 6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem}.value-comment{color:#6b7280;white-space:pre-line;font-size:.875rem}@media (width<=768px){.struct-detail-page{padding:16px}.struct-title{font-size:2rem}.struct-stats{flex-direction:column;gap:12px}.fields-table{grid-template-columns:1fr;gap:1px}.fields-header{display:none}.field-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;display:block}.field-row>span{border-bottom:1px solid #f3f4f6;padding:8px 12px;display:block}.field-row>span:last-child{border-bottom:none}.field-row>span:before{content:attr(data-label) ": ";color:#6b7280;margin-bottom:4px;font-size:.8rem;font-weight:600;display:block}.unity-struct-header{flex-direction:column;align-items:flex-start;gap:12px}.related-apis-grid{grid-template-columns:1fr;gap:16px;padding:12px 16px 16px}.related-api-card{max-width:none;min-height:30px;padding:12px 16px}.values-table{grid-template-columns:1fr;gap:1px}.values-header{display:none}.value-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;display:block}.value-row>span{border-bottom:1px solid #f3f4f6;padding:8px 12px;display:block}.value-row>span:last-child{border-bottom:none}.value-row>span:before{content:attr(data-label) ": ";color:#6b7280;margin-bottom:4px;font-size:.8rem;font-weight:600;display:block}}.StructDocs-page{max-width:1200px;margin:0 auto;padding:24px}.StructDocs-header{text-align:center;margin-bottom:32px}.StructDocs-header h1{color:#1f2937;margin-bottom:8px;font-size:2.5rem}.StructDocs-header p{color:#6b7280;font-size:1.1rem}.StructDocs-controls{flex-direction:column;gap:20px;margin-bottom:32px;display:flex}.search-box{justify-content:center;display:flex}.search-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:2px solid #e5e7eb;border-radius:25px;width:100%;max-width:500px;padding:12px 20px;font-size:1rem;transition:all .2s}.search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.filter-tabs{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.filter-tab{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#6b7280;cursor:pointer;white-space:nowrap;background:#ffffffe6;border:2px solid #e5e7eb;border-radius:20px;padding:10px 20px;font-weight:500;transition:all .2s}.filter-tab:hover{color:#3b82f6;border-color:#3b82f6;transform:translateY(-1px)}.filter-tab.active{color:#fff;background:#3b82f6;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d}.StructDocs-content{flex-direction:column;gap:40px;display:flex}.no-results{text-align:center;color:#6b7280;padding:60px 20px}.struct-category-group{margin-bottom:24px}.category-title{color:#1f2937;border-bottom:2px solid #e5e7eb;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:8px;font-size:1.4rem;display:flex}.struct-grid{flex-direction:column;gap:8px;display:flex}.struct-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:inherit;background:#ffffffe6;border:1px solid #e5e7eb;border-radius:10px;grid-template-columns:420px 1fr auto 250px;align-items:center;gap:0;padding:10px 0 10px 16px;text-decoration:none;transition:all .2s;display:grid;box-shadow:0 1px 4px #00000014}.struct-card:hover{border-color:#3b82f6;transform:translateY(-1px);box-shadow:0 4px 12px #0000001f}.struct-col-name{align-items:center;gap:8px;min-width:0;padding-right:12px;display:flex;overflow:hidden}.struct-col-comment{border-left:1px solid #e5e7eb;min-width:0;padding:2px 12px;overflow:hidden}.struct-col-stats{white-space:nowrap;border-left:1px solid #e5e7eb;padding:2px 12px}.struct-col-preview{border-left:1px solid #e5e7eb;min-width:0;padding:2px 16px 2px 12px;overflow:hidden}.struct-name{color:#1f2937;overflow-wrap:break-word;word-break:break-all;margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:1.05rem;font-weight:600;line-height:1.2}.category-badge{white-space:nowrap;border-radius:12px;flex-shrink:0;padding:4px 12px;font-size:.8rem;font-weight:600}.category-badge.entity{color:#1e40af;background:#dbeafe}.category-badge.args{color:#166534;background:#dcfce7}.category-badge.reply{color:#92400e;background:#fef3c7}.category-badge.custom{color:#7c3aed;background:#f3e8ff}.category-badge.dto{color:#b45309;background:#fef3c7}.category-badge.streaming_args{color:#86198f;background:#fae8ff}.category-badge.streaming_reply{color:#9d174d;background:#fce7f3}.category-badge.streaming_session{color:#6b21a8;background:#ede9fe}.category-badge.streaming_hub_event{color:#4338ca;background:#e0e7ff}.struct-comment{color:#6b7280;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:0;font-size:.85rem;line-height:1.3;display:-webkit-box;overflow:hidden}.struct-stats{color:#6b7280;gap:12px;margin-bottom:0;font-size:.8rem;display:flex}.field-count,.api-count{align-items:center;gap:4px;display:flex}.struct-preview{padding:0}.field-preview{justify-content:space-between;align-items:center;padding:2px 0;font-size:.8rem;display:flex}.field-name{color:#374151;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500}.field-type{color:#6b7280;text-overflow:ellipsis;background:#f9fafb;border-radius:4px;padding:2px 6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;overflow:hidden}.more-fields{color:#9ca3af;text-align:center;padding:2px 0 0;font-size:.75rem;font-style:italic}@media (width<=768px){.StructDocs-page{padding:16px}.StructDocs-header h1{font-size:2rem}.struct-card{grid-template-columns:1fr;gap:4px;padding:10px 16px}.struct-col-name,.struct-col-comment,.struct-col-stats,.struct-col-preview{border-left:none;padding:2px 0}.filter-tabs{justify-content:flex-start;padding-bottom:8px;overflow-x:auto}.struct-card-header{flex-direction:column;align-items:flex-start;gap:8px}.struct-stats{flex-direction:column;gap:8px}}.announce-detail-page{max-width:100%;margin:0;padding:0}.announce-detail-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.announce-detail-header h1{color:#1f2937;margin:0;font-size:1.25rem;font-weight:700}.announce-detail-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.announce-detail-content{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.detail-section{border-bottom:1px solid #f3f4f6;margin-bottom:24px;padding-bottom:24px}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-title{color:#374151;align-items:center;gap:8px;margin:0 0 16px;font-size:1rem;font-weight:600;display:flex}.section-title:before{content:"";background-color:#3b82f6;border-radius:2px;width:4px;height:16px;display:inline-block}.detail-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.detail-item{background-color:#f9fafb;border-radius:4px;padding:8px 12px;display:flex}.detail-item label{color:#374151;flex:0 0 120px;margin-right:12px;font-weight:600}.detail-item span{color:#1f2937;word-break:break-all;flex:1}.platform-badges{flex-wrap:wrap;gap:12px;display:flex}.platform-badge{border-radius:8px;align-items:center;gap:4px;padding:8px 16px;font-size:.875rem;font-weight:500;display:inline-flex}.platform-badge.enabled{color:#1e40af;background-color:#dbeafe;border:1px solid #93c5fd}.platform-badge.disabled{color:#6b7280;background-color:#f3f4f6;border:1px solid #d1d5db}.image-subsection{margin-bottom:16px}.image-subsection:last-child{margin-bottom:0}.image-subsection h3{color:#4b5563;margin:0 0 12px;font-size:.875rem;font-weight:600}.no-data{color:#9ca3af;margin:0;font-style:italic}.image-field-container{flex-direction:column;gap:12px;display:flex}.image-field-json{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;padding:8px 12px;overflow-x:auto}.image-field-json pre{color:#374151;white-space:pre-wrap;word-break:break-all;margin:0;font-family:SF Mono,Monaco,Cascadia Mono,Segoe UI Mono,Roboto Mono,monospace;font-size:.75rem}.image-field-preview{justify-content:flex-start;display:flex}.image-field-gallery{flex-wrap:wrap;gap:12px;display:flex}.image-field-item{flex-direction:column;align-items:center;gap:4px;display:flex}.image-field-name{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:80px;font-size:.7rem;overflow:hidden}.content-images-list{flex-direction:column;gap:16px;display:flex}.content-image-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.content-image-header{background-color:#f3f4f6;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.content-image-index{color:#3b82f6;font-size:.875rem;font-weight:700}.content-image-keyname{color:#374151;font-size:.8rem}.content-image-keyname code{color:#1e40af;background-color:#dbeafe;border-radius:4px;padding:2px 6px;font-family:SF Mono,Monaco,monospace;font-weight:600}.content-image-usage{color:#6b7280;font-size:.75rem}.content-image-usage code{color:#374151;background-color:#e5e7eb;border-radius:4px;padding:2px 6px;font-family:SF Mono,Monaco,monospace}.content-image-body{align-items:flex-start;gap:16px;padding:14px;display:flex}.content-image-preview{flex-shrink:0}.content-image-json{background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;flex:1;padding:10px 12px;overflow-x:auto}.content-image-json pre{color:#374151;white-space:pre-wrap;word-break:break-all;margin:0;font-family:SF Mono,Monaco,Cascadia Mono,Segoe UI Mono,Roboto Mono,monospace;font-size:.75rem}@media (width<=600px){.content-image-body{flex-direction:column}.content-image-header{flex-direction:column;align-items:flex-start;gap:8px}}.preview-tabs{border-bottom:2px solid #e5e7eb;gap:4px;margin-bottom:16px;padding-bottom:0;display:flex}.preview-tab{color:#6b7280;cursor:pointer;background-color:#0000;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-size:.875rem;font-weight:500;transition:all .2s}.preview-tab:hover:not(:disabled){color:#3b82f6;background-color:#f3f4f6}.preview-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.preview-tab.disabled,.preview-tab:disabled{color:#d1d5db;cursor:not-allowed;opacity:.5}.preview-container{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.preview-label{color:#6b7280;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;padding:8px 16px;font-size:.75rem}.preview-content{color:#1f2937;min-height:200px;padding:20px;line-height:1.8}.preview-content h1{color:#111827;margin:0 0 16px;font-size:1.5rem}.preview-content h2{color:#1f2937;margin:16px 0 12px;font-size:1.25rem}.preview-content h3{color:#374151;margin:12px 0 8px;font-size:1rem}.preview-content strong{font-weight:600}.preview-content em{font-style:italic}.preview-content code{background-color:#f3f4f6;border-radius:4px;padding:2px 6px;font-family:SF Mono,Monaco,monospace;font-size:.875em}.preview-content pre{color:#f3f4f6;background-color:#1f2937;border-radius:8px;padding:16px;overflow-x:auto}.preview-content pre code{color:inherit;background-color:#0000;padding:0}.preview-content a{color:#3b82f6;text-decoration:none}.preview-content a:hover{text-decoration:underline}.preview-content img{border-radius:8px;max-width:100%;height:auto}.preview-content li{margin-bottom:4px;margin-left:20px}.raw-content-section{margin-top:20px}.raw-content-section h3{color:#4b5563;margin:0 0 12px;font-size:.875rem;font-weight:600}.raw-content{color:#374151;white-space:pre-wrap;word-break:break-all;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;max-height:300px;margin:0;padding:16px;font-family:SF Mono,Monaco,Cascadia Mono,Segoe UI Mono,Roboto Mono,monospace;font-size:.8rem;overflow-y:auto}.empty-state{text-align:center;color:#6b7280;padding:48px 24px}.empty-state p{margin-bottom:16px;font-size:1rem}.btn{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px 12px;font-size:.75rem;font-weight:500;line-height:1.4;text-decoration:none;transition:all .2s ease-in-out;display:inline-flex}.btn-danger:hover:not(:disabled){background-color:#b91c1c}.btn-outline:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}@media (width<=768px){.announce-detail-header{flex-direction:column;align-items:flex-start;gap:12px}.announce-detail-actions{justify-content:flex-start;width:100%}.detail-grid{grid-template-columns:1fr}.detail-item{flex-direction:column;gap:4px}.detail-item label{flex:none}.platform-badges{flex-direction:column}.preview-tabs{flex-wrap:wrap}.preview-tab{padding:8px 12px;font-size:.8rem}}.image-manager{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.image-manager-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;display:flex}.image-manager-title{color:#111827;margin:0;font-size:18px;font-weight:600}.image-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.image-empty{text-align:center;color:#6b7280;grid-column:1/-1;padding:48px;font-size:14px}.image-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:12px;padding:12px;display:flex}.image-preview{aspect-ratio:16/9;background:#fff;border:1px solid #e5e7eb;border-radius:4px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.image-preview img{object-fit:contain;width:100%;height:100%}.image-loading,.image-placeholder{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;font-size:14px;display:flex}.image-loading .spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;margin-bottom:12px;animation:.8s linear infinite spin}.btn-load-preview{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:4px;padding:8px 16px;font-size:12px}.btn-load-preview:hover{background-color:#2563eb}.image-info{flex-direction:column;gap:8px;display:flex}.image-info-row{gap:8px;font-size:14px;display:flex}.image-info-row strong{color:#374151;min-width:60px}.image-info-row span{color:#111827}.image-info-row .text-muted{color:#9ca3af;font-style:italic}.image-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.platform-tag-buttons{flex-wrap:wrap;gap:4px;display:flex}.btn-outline{color:#374151;background-color:#0000;border:1px solid #d1d5db}.btn-outline:hover{color:#111827;background-color:#f9fafb;border-color:#9ca3af}.image-warning{color:#f59e0b;background:#fef3c7;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500}.image-edit-form{flex-direction:column;gap:12px;display:flex}.image-edit-form .form-field{flex-direction:column;gap:4px;display:flex}.image-edit-form label{color:#374151;font-size:12px;font-weight:500}.image-edit-form .field-hint{color:#6b7280;margin-top:2px;font-size:11px}.image-edit-form .field-hint code{-webkit-user-select:all;user-select:all;background:#e5e7eb;border-radius:3px;padding:1px 4px;font-size:11px}.image-edit-form input,.image-edit-form select{border:1px solid #d1d5db;border-radius:4px;padding:6px 8px;font-size:14px}.image-edit-form .size-input-group{gap:8px;display:flex}.image-edit-form .size-input-group input{flex:1}.image-edit-form .size-input-group select{width:80px}.image-edit-form .form-actions{gap:8px;margin-top:4px;display:flex}.btn-delete-overlay{color:#fff;cursor:pointer;z-index:10;background-color:#dc2626f2;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:16px;transition:all .2s;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 6px #0000004d}.btn-delete-overlay svg{stroke:#fff;width:16px;height:16px}.btn-delete-overlay:hover{background-color:#b91c1c;transform:scale(1.1);box-shadow:0 4px 8px #0006}.image-uploader{display:inline-block}.upload-button{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:background-color .2s;display:flex}.upload-button:hover:not(:disabled){background-color:#2563eb}.upload-button:disabled{opacity:.6;cursor:not-allowed}.upload-icon{font-size:18px}.upload-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}.announce-form-page{background:0 0;max-width:1200px;margin:0 auto;padding:24px}.announce-form-container{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:32px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.announce-form-header{background:linear-gradient(90deg,#f9fafb,#fff);border-bottom:2px solid #d1d5db;border-radius:8px 8px 0 0;margin:-32px -32px 32px;padding:24px}.announce-form-header h1{color:#111827;margin:0 0 8px;font-size:28px;font-weight:600}.form-description{color:#6b7280;margin:0;font-size:14px}.announce-form{flex-direction:column;gap:20px;display:flex}.form-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:16px;padding:20px;display:flex}.section-title{color:#111827;border-bottom:2px solid #d1d5db;margin:0 0 12px;padding-bottom:8px;font-size:20px;font-weight:600}.form-field{flex-direction:column;gap:8px;display:flex}.form-label{color:#374151;font-size:14px;font-weight:500}.form-label .required{color:#ef4444;margin-left:4px}.form-input,.form-select{color:#111827;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;padding:10px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-input::placeholder,.form-select::placeholder{color:#9ca3af}.form-input:focus,.form-select:focus{color:#111827;border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-input.error,.form-select.error{border-color:#ef4444}.form-input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(.5);cursor:pointer}.form-input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{filter:invert(.3)}.form-input[type=datetime-local]::-moz-calendar-picker-indicator{filter:invert(.5);cursor:pointer}.form-input[type=datetime-local]::-moz-calendar-picker-indicator:hover{filter:invert(.3)}.error-message{color:#ef4444;margin-top:-4px;font-size:12px}.field-help{color:#6b7280;margin:0;font-size:12px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=768px){.form-row{grid-template-columns:1fr}}.checkbox-group{flex-wrap:wrap;gap:24px;display:flex}.checkbox-label{cursor:pointer;color:#374151;align-items:center;gap:8px;font-size:14px;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#3b82f6;width:18px;height:18px}.form-actions{background:#f9fafb;border-top:2px solid #d1d5db;border-radius:0 0 8px 8px;justify-content:flex-end;gap:12px;margin:32px -32px -32px;padding:24px;display:flex}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.image-preview-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;padding:12px;display:flex}.image-preview-info{flex-direction:column;gap:4px;display:flex}.image-preview-info strong{color:#111827;font-size:14px}.image-preview-info span{color:#6b7280;font-size:12px}.image-preview-info .key-name{color:#3b82f6;font-weight:500}.usage-steps{flex-direction:column;gap:16px;display:flex}.usage-step{align-items:flex-start;gap:12px;display:flex}.step-number{color:#fff;background:#3b82f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:600;display:flex}.step-content{flex:1}.step-content strong{color:#111827;margin-bottom:4px;font-size:14px;font-weight:600;display:block}.step-content p{color:#374151;margin:4px 0;font-size:13px;line-height:1.6}.insert-methods{color:#374151;margin:8px 0 8px 20px;padding:0;font-size:13px}.insert-methods li{margin:4px 0}.step-content code{color:#111827;background:#e5e7eb;border-radius:4px;padding:2px 6px;font-family:Courier New,monospace;font-size:12px}.step-content .example{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:4px;margin-top:8px;padding:8px;font-size:12px}.step-content .note{color:#92400e;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:4px;margin-top:8px;padding:8px;font-size:12px}.content-tabs{border-bottom:2px solid #e5e7eb;gap:8px;margin-bottom:16px;display:flex}.content-tab{cursor:pointer;color:#6b7280;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:12px 20px;font-size:14px;font-weight:500;transition:all .2s}.content-tab:hover{color:#111827;background:#f9fafb}.content-tab.active{color:#3b82f6;border-bottom-color:#3b82f6;font-weight:600}.tab-description{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;margin-bottom:16px;padding:12px}.tab-description p{color:#0369a1;margin:0;font-size:13px;line-height:1.6}.tab-description strong{color:#111827}.platform-explanation-collapsible{margin-bottom:20px}.platform-explanation-collapsible details{background:#fff;border:1px solid #d1d5db;border-radius:6px}.platform-explanation-summary{cursor:pointer;color:#374151;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:12px 16px;font-weight:500;list-style:none;display:flex}.platform-explanation-summary::-webkit-details-marker{display:none}.platform-explanation-summary::marker{display:none}.platform-explanation-summary:hover{background:#f9fafb}.platform-explanation-summary .summary-icon{font-size:18px}.platform-explanation-summary .summary-text{font-size:14px}.platform-explanation-content{background:#f9fafb;border-top:1px solid #e5e7eb;padding:16px}.platform-explanation-content h4{color:#111827;margin:0 0 8px;font-size:14px;font-weight:600}.platform-explanation-content h4:not(:first-child){margin-top:16px}.platform-explanation-content p{color:#374151;margin:0 0 12px;font-size:13px;line-height:1.6}.platform-explanation-content ul{color:#374151;margin:8px 0 12px 20px;padding:0;font-size:13px;line-height:1.6}.platform-explanation-content ul ul{margin-top:4px;margin-bottom:4px}.platform-explanation-content li{margin:4px 0}.platform-explanation-content strong{color:#111827;font-weight:600}.example-box{background:#fff;border:1px solid #d1d5db;border-radius:4px;margin-top:8px;padding:12px}.example-box p{color:#111827;margin:0 0 4px;font-size:12px;font-weight:600}.example-box pre{color:#111827;white-space:pre-wrap;word-wrap:break-word;background:#f3f4f6;border-radius:4px;margin:0 0 12px;padding:8px;font-family:Courier New,monospace;font-size:12px}.example-box pre:last-child{margin-bottom:0}.announce-list-page{padding:24px}.announce-list-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.announce-list-header h1{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.announce-list-actions{align-items:center;gap:12px;display:flex}.announce-filter-bar{background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;padding:12px 16px;display:flex;box-shadow:0 1px 3px #0000001a}.filter-group{align-items:center;gap:6px;display:flex}.filter-group label{color:#6b7280;white-space:nowrap;font-size:.8rem;font-weight:500}.filter-group select{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:.8rem}.filter-group-search{position:relative}.filter-search-input{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:4px;width:180px;padding:4px 24px 4px 8px;font-size:.8rem}.filter-search-input::placeholder{color:#9ca3af}.filter-search-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e526}.filter-search-clear{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:0 4px;font-size:1rem;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.filter-search-clear:hover{color:#374151}.filter-reset{margin-left:auto}.filter-count{color:#6b7280;white-space:nowrap;font-size:.8rem}.announce-list-content{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.announce-empty-state{text-align:center;color:#6b7280;padding:48px}.announce-empty-state p{margin-bottom:16px}.announce-list-table-container{overflow-x:auto}.announce-list-table{border-collapse:collapse;width:100%}.announce-list-table th,.announce-list-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:12px 16px}.announce-list-table th{color:#374151;background-color:#f9fafb;font-size:.875rem;font-weight:600}.announce-list-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.announce-list-table th.sortable:hover{background-color:#f3f4f6}.sort-indicator{margin-left:2px;font-size:.75rem}.sort-indicator.inactive{color:#d1d5db}.sort-indicator.active{color:#4f46e5}.announce-list-table tbody tr.time-status-ended{color:#9ca3af;background-color:#f3f4f6}.announce-list-table tbody tr.time-status-ended:hover{background-color:#e5e7eb}.announce-list-table tbody tr.time-status-ended .announce-title-link{color:#9ca3af}.announce-list-table tbody tr.time-status-active{background-color:#ecfdf5}.announce-list-table tbody tr.time-status-active:hover{background-color:#d1fae5}.announce-list-table tbody tr.time-status-upcoming{background-color:#eff6ff}.announce-list-table tbody tr.time-status-upcoming:hover{background-color:#dbeafe}.announce-list-table tbody tr:hover{background-color:#f9fafb}.col-checkbox{text-align:center;width:40px}.col-checkbox input{cursor:pointer;width:16px;height:16px}.col-image{text-align:center;width:64px}.col-title{min-width:200px}.col-mirroring,.col-category{width:120px}.category-badge{border-radius:4px;padding:2px 8px;font-size:.85em;font-weight:500;display:inline-block}.category-bug-info{color:#374151;background-color:#e5e7eb}.category-updates{color:#92400e;background-color:#fef3c7}.category-news{color:#1e40af;background-color:#dbeafe}.category-other{color:#6b21a8;background-color:#f3e8ff}.category-none{color:#6b7280;background-color:#f9fafb}.col-priority{text-align:center;width:70px}.col-period{width:180px}.col-platforms{text-align:center;width:100px}.col-status{text-align:center;width:80px}.col-actions{width:180px}.announce-title-link{color:#4f46e5;font-weight:500;text-decoration:none}.announce-title-link:hover{text-decoration:underline}.platform-icons{justify-content:center;gap:4px;display:flex}.platform-icons span{font-size:1.1rem}.status-badge{border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:500;display:inline-block}.status-badge.enabled{color:#065f46;background-color:#d1fae5}.status-badge.disabled{color:#991b1b;background-color:#fee2e2}.btn{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-weight:500;transition:all .2s}@media (width<=768px){.announce-list-header{flex-direction:column;align-items:flex-start;gap:16px}.announce-list-table th,.announce-list-table td{padding:8px 12px}.col-category,.col-priority,.col-period,.col-platforms{display:none}.announce-filter-bar{flex-direction:column;align-items:flex-start}.action-buttons{flex-direction:column;gap:4px}}.developer-page{max-width:1400px;margin:0 auto;padding:24px}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1{color:#1a1a1a;margin:0;font-size:28px;font-weight:600}.header-actions{gap:12px;display:flex}.loading{text-align:center;color:#666;padding:48px;font-size:16px}.error-message{color:#c33;background-color:#fee;border:1px solid #fcc;border-radius:4px;margin-bottom:16px;padding:12px 16px}.developers-table-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.developers-table{border-collapse:collapse;width:100%}.developers-table thead{background-color:#f8f9fa;border-bottom:2px solid #e9ecef}.developers-table th{text-align:left;color:#495057;padding:12px 16px;font-size:14px;font-weight:600}.developers-table td{color:#212529;border-bottom:1px solid #e9ecef;padding:12px 16px;font-size:14px}.developers-table th:nth-child(2),.developers-table td:nth-child(2){min-width:150px}.developers-table tbody tr:hover{background-color:#f8f9fa}.empty-message{text-align:center;color:#6c757d;padding:48px!important}.roles-badges{flex-wrap:wrap;gap:4px;display:flex}.role-badge{color:#06c;background-color:#e7f3ff;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.no-roles{color:#999;font-size:12px;font-style:italic}.action-buttons{gap:8px;display:flex}.btn{cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary{color:#fff;background-color:#06c}.btn-primary:hover{background-color:#0052a3}.btn-secondary{color:#fff;background-color:#6c757d}.btn-secondary:hover{background-color:#5a6268}.btn-danger{color:#fff;background-color:#dc3545}.btn-danger:hover{background-color:#c82333}.btn-sm{padding:4px 12px;font-size:13px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:disabled:hover{background-color:inherit}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 12px #00000026}.modal-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{margin:0;font-size:20px;font-weight:600}.modal-close{color:#6c757d;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:28px;display:flex}.modal-close:hover{background-color:#f8f9fa}.modal-body{padding:24px}.modal-footer{border-top:1px solid #e9ecef;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.form-group{margin-bottom:20px}.form-group label{color:#212529;margin-bottom:8px;font-size:14px;font-weight:500;display:block}.required{color:#dc3545;margin-left:4px}.form-input{border:1px solid #ced4da;border-radius:4px;width:100%;padding:8px 12px;font-size:14px;transition:border-color .2s}.form-input:focus{border-color:#06c;outline:none;box-shadow:0 0 0 3px #0066cc1a}.form-input:disabled{cursor:not-allowed;background-color:#e9ecef}.form-help{color:#6c757d;margin-top:4px;font-size:12px;display:block}.roles-checkboxes{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.checkbox-label{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:8px;transition:background-color .2s;display:flex}.checkbox-label:hover{background-color:#f8f9fa}.checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.checkbox-label span{color:#212529;font-size:14px}.checkbox-column{text-align:center;width:40px}.selected-developers-list{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;max-height:150px;padding:8px;overflow-y:auto}.selected-developer-item{color:#495057;border-bottom:1px solid #dee2e6;padding:6px 8px;font-size:13px}.selected-developer-item:last-child{border-bottom:none}.selected-developer-item.truncated{color:#6c757d;text-align:center;font-style:italic;font-weight:500}.environments-checkboxes{flex-direction:column;gap:8px;display:flex}.copy-description{color:#856404;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-top:16px;padding:12px;font-size:13px;line-height:1.5}.maintenance-page{max-width:1400px;margin:0 auto;padding:24px}.maintenance-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.maintenance-header h1{color:#1f2937;align-items:center;gap:12px;margin:0;font-size:24px;font-weight:700;display:flex}.maintenance-header-actions{align-items:center;gap:12px;display:flex}.maintenance-status-banner{border-radius:12px;align-items:center;gap:12px;margin-bottom:24px;padding:16px 20px;font-weight:600;display:flex}.maintenance-status-banner.active{color:#92400e;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:2px solid #f59e0b}.maintenance-status-banner.inactive{color:#065f46;background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border:2px solid #10b981}.maintenance-status-banner .status-icon{font-size:24px}.maintenance-status-banner .status-text{font-size:16px}.maintenance-cards{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px;display:grid}.maintenance-card{background:#fff;border-radius:16px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.maintenance-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.maintenance-card.is-active{border:3px solid #f59e0b}.maintenance-card.is-placeholder{opacity:.7;border:2px dashed #d1d5db}.maintenance-card-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.maintenance-card-header.active{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%)}.maintenance-card-header.inactive{background:#f9fafb}.maintenance-card-header.placeholder{background:#f3f4f6}.maintenance-card-title{align-items:center;gap:10px;display:flex}.maintenance-card-title h3{color:#1f2937;margin:0;font-size:18px;font-weight:700}.maintenance-card-title .type-icon{font-size:24px}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:700}.status-badge.active{color:#fff;background:#f59e0b;animation:2s infinite pulse}.status-badge.scheduled{color:#fff;background:#3b82f6}.status-badge.inactive{color:#fff;background:#6b7280}.status-badge.not-set{color:#6b7280;background:#e5e7eb}.maintenance-card-body{padding:20px}.maintenance-period{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.period-row{align-items:center;gap:10px;display:flex}.period-label{color:#6b7280;min-width:60px;font-size:12px;font-weight:600}.period-value{color:#1f2937;background:#f3f4f6;border-radius:6px;flex:1;padding:6px 12px;font-size:14px;font-weight:500}.period-value.forever{color:#6b7280;font-style:italic}.maintenance-platforms{background:#f9fafb;border-radius:8px;gap:12px;margin-bottom:16px;padding:12px;display:flex}.platform-item{align-items:center;gap:6px;font-size:14px;display:flex}.platform-item .platform-icon{font-size:18px}.platform-item.enabled{color:#059669;font-weight:600}.platform-item.disabled{color:#9ca3af}.maintenance-toggle{background:#f9fafb;border-radius:8px;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.maintenance-toggle.clickable{cursor:pointer;transition:background .2s}.maintenance-toggle.clickable:hover{background:#f3f4f6}.toggle-label{color:#374151;font-size:14px;font-weight:600}.maintenance-toggle-switch{cursor:pointer;background:#d1d5db;border-radius:13px;width:48px;height:26px;transition:background .2s;position:relative}.maintenance-toggle-switch.enabled{background:#10b981}.maintenance-toggle-switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0003}.maintenance-toggle-switch.enabled:after{transform:translate(22px)}.maintenance-card-actions{border-top:1px solid #e5e7eb;gap:8px;padding-top:16px;display:flex}.maintenance-card-actions .btn{cursor:pointer;border:none;border-radius:8px;flex:1;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s}.maintenance-card-actions .btn-edit{color:#fff;background:#3b82f6}.maintenance-card-actions .btn-edit:hover{background:#2563eb}.maintenance-card-actions .btn-create{color:#fff;background:#10b981}.maintenance-card-actions .btn-create:hover{background:#059669}.maintenance-card-actions .btn-delete{color:#fff;background:#ef4444;flex:none;padding:10px 14px}.maintenance-card-actions .btn-delete:hover{background:#dc2626}.maintenance-card.is-placeholder .maintenance-card-body{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:150px;display:flex}.placeholder-text{color:#9ca3af;margin-bottom:16px;font-size:14px}.time-remaining{color:#92400e;background:#fef3c7;border-radius:6px;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;font-size:13px;display:flex}.time-remaining .clock-icon{font-size:16px}.progress-bar-container{margin-top:12px}.progress-bar{background:#e5e7eb;border-radius:3px;height:6px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#f59e0b 0%,#ef4444 100%);border-radius:3px;height:100%;transition:width .5s}.indefinite-checkbox-container{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:2px solid #0ea5e9;border-radius:8px;margin-bottom:8px;padding:12px 16px}.indefinite-checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.indefinite-checkbox{accent-color:#0ea5e9;cursor:pointer;width:18px;height:18px}.indefinite-checkbox-text{color:#0369a1;font-size:14px;font-weight:600}@media (width<=768px){.maintenance-cards{grid-template-columns:1fr}.maintenance-header{flex-direction:column;align-items:flex-start;gap:16px}}.server-settings-page{max-width:800px;margin:0 auto;padding:24px}.server-settings-header{margin-bottom:32px}.server-settings-header h1{color:var(--env-text-color,#1f2937);align-items:center;gap:12px;margin:0 0 8px;font-size:1.8rem;display:flex}.server-settings-header p{color:#6b7280;margin:0;font-size:.95rem}.server-settings-section{margin-bottom:24px}.section-title{color:var(--env-text-color,#1f2937);margin:0 0 6px;font-size:1.1rem;font-weight:700}.section-description{color:#6b7280;margin-bottom:12px;font-size:.85rem;line-height:1.5}.server-settings-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--env-accent-color,#e5e7eb);background:#ffffffe6;border-radius:12px;padding:24px}.server-settings-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--env-text-color,#374151);font-size:.9rem;font-weight:600}.form-group .form-description{color:#9ca3af;margin-bottom:2px;font-size:.8rem}.form-group input[type=text],.form-group input[type=datetime-local]{box-sizing:border-box;border:2px solid var(--env-accent-color,#e5e7eb);width:100%;color:var(--env-text-color,#374151);background:#fffc;border-radius:8px;padding:10px 14px;font-size:.95rem;transition:border-color .2s}.form-group input[type=text]:focus,.form-group input[type=datetime-local]:focus{border-color:var(--env-accent-color,#6366f1);outline:none;box-shadow:0 0 0 3px #6366f11a}.form-group input[type=text]::placeholder{color:#9ca3af}.form-group input[type=text].input-error{border-color:#ef4444}.form-group input[type=text].input-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.validation-error{color:#ef4444;font-size:.8rem}.server-settings-actions{align-items:center;gap:12px;margin-top:8px;display:flex}.btn-save{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;padding:10px 24px;font-size:.95rem;font-weight:600;transition:background .2s}.btn-save:hover:not(:disabled){background:#4f46e5}.btn-save:disabled{opacity:.5;cursor:not-allowed}.server-settings-meta{border:1px solid var(--env-accent-color,#f3f4f6);background:#00000005;border-radius:8px;margin-top:24px;padding:16px}.server-settings-meta h3{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-size:.85rem}.meta-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.meta-item{flex-direction:column;gap:2px;display:flex}.meta-item .meta-label{color:#9ca3af;font-size:.8rem}.meta-item .meta-value{color:var(--env-text-color,#374151);font-family:monospace;font-size:.9rem}.server-settings-loading,.server-settings-error{text-align:center;color:#6b7280;padding:48px 24px;font-size:1rem}.server-settings-error{color:#ef4444}.save-success{color:#10b981;font-size:.9rem;font-weight:500;animation:.3s ease-in fadeIn}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;color:#213547;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;background-color:#fff;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{background-color:#fff;width:100%;min-width:320px;height:100vh;margin:0;padding:0;overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}button{color:inherit;cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
