#root{width:100%;height:100vh;margin:0;padding:0}.logo{height:6em;padding:1.5em;will-change:filter;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:logo-spin infinite 20s linear}}.card{padding:2em}.api-status{margin:1rem 0;padding:1rem;border:1px solid #333;border-radius:8px;background-color:#ffffff0d}.status{font-weight:700;margin-left:.5rem}.status.checking{color:orange}.status.connected{color:#0f0}.status.disconnected{color:red}.read-the-docs{color:#888}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000001a;padding:40px;width:100%;max-width:400px;text-align:center}.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{background:#fee;color:#c53030;padding:12px;border-radius:6px;margin-bottom:20px;font-size:14px;border:1px solid #feb2b2}.google-login-container{margin-bottom:24px}.login-footer{color:#666;font-size:12px;line-height:1.5}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:16px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #4a5568;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner p{color:#666;margin:0}.header{background:var(--env-bg-gradient, #1f2937);border-bottom:2px solid var(--env-accent-color, #374151);height:48px;display:flex;align-items:center;position:fixed;top:0;left:0;right:0;z-index:1000;box-shadow:0 2px 4px #0000001a;transition:background .3s ease-in-out,border-color .3s ease-in-out}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 20px 0 64px}.header-left{display:flex;align-items:center}.header-logo{text-decoration:none;color:inherit}.header-logo h1{margin:0;color:var(--env-text-color, #ffffff);font-size:1.25rem;font-weight:600;transition:color .2s ease-in-out;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.header-logo:hover h1{color:var(--env-accent-color, #60a5fa)}.header-right{display:flex;align-items:center;gap:16px}.header-info{display:flex;gap:12px;align-items:center}.user-info{display:flex;align-items:center;gap:12px}.user-profile{display:flex;align-items:center;gap:8px}.user-avatar{width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.3)}.user-details{display:flex;flex-direction:column;gap:2px}.user-name{color:var(--env-text-color, #ffffff);font-size:.875rem;font-weight:500;line-height:1.2}.user-email{color:#ffffffb3;font-size:.75rem;line-height:1.2}.user-roles{display:flex;gap:4px;flex-wrap:wrap}.role-badge{display:inline-block;padding:2px 8px;background-color:#e7f3ff;color:#06c;border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap}.logout-button{background-color:#dc2626cc;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.logout-button:hover{background-color:#dc2626}.environment-badge{background-color:#374151;color:#fff;padding:3px 8px;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.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{background-color:#fff3;color:var(--env-text-color, #ffffff);border:1px solid var(--env-accent-color, #6b7280);padding:3px 8px;border-radius:4px;font-size:.75rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.version-badge.server-version{background-color:#3b82f64d;border-color:#3b82f6;font-size:.7rem}@media (max-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{width:100%;min-height:100vh;display:flex;flex-direction:column;background:var( --env-bg-gradient, #ffffff );transition:background .3s ease-in-out}.layout-body{display:flex;flex:1;padding-top:48px}.layout-main{flex:1;display:flex;flex-direction:column;transition:margin-left .3s ease-in-out;min-width:0;overflow-x:hidden}.layout-content{flex:1;padding:8px;background-color:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;border-radius:6px;margin:0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}@media (min-width: 1024px){.layout-main{margin-left:300px;transition:margin-left .3s ease-in-out}.layout-main:not(.sidebar-open){margin-left:0}}@media (max-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{position:fixed;top:2px;left:16px;z-index:1001;background-color:#374151;color:#fff;border:none;border-radius:6px;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease-in-out;width:44px;height:44px}.sidebar-toggle:hover{background-color:#4b5563}.sidebar{position:fixed;top:48px;left:0;width:300px;height:calc(100vh - 48px);background-color:#f9fafb;border-right:1px solid #e5e7eb;transform:translate(-100%);transition:transform .3s ease-in-out;z-index:999;overflow-y:auto}.sidebar.open{transform:translate(0)}.sidebar-nav{padding:16px 0}.nav-item{margin:0}.nav-item-content{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;transition:background-color .2s ease-in-out;position:relative;min-height:48px}.nav-item-content:hover{background-color:#f3f4f6}.nav-item-content.active{background-color:#dbeafe;border-right:3px solid #3b82f6}.nav-link{text-decoration:none;color:inherit;flex:1;display:flex;align-items:center}.nav-label{color:#374151;font-weight:500;font-size:.875rem}.nav-item-content.active .nav-label{color:#1d4ed8;font-weight:600}.nav-toggle{background:none;border:none;color:#6b7280;cursor:pointer;padding:8px;border-radius:4px;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.nav-toggle:hover{background-color:#e5e7eb;color:#374151}.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{position:fixed;top:48px;left:0;right:0;bottom:0;background-color:#00000080;z-index:998}@media (min-width: 1024px){.sidebar-toggle{display:block}.sidebar{position:fixed;transform:translate(0);top:48px;height:calc(100vh - 48px)}.sidebar:not(.open){transform:translate(-100%)}.sidebar-overlay{display:none}}@media (max-width: 768px){.sidebar{width:280px}.sidebar-toggle{top:2px;left:12px;padding:6px;width:44px;height:44px}}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.refresh-button{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:4px 8px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s;color:#000;font-family:inherit}.refresh-button:hover{background:#e9ecef}.loading-spinner{text-align:center;padding:20px;color:#6c757d}.error-message{display:flex;align-items:center;gap:8px;padding:12px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24}.no-data{text-align:center;padding:20px;color:#6c757d}.status-section{margin-bottom:16px}.status-section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#495057;border-bottom:1px solid #dee2e6;padding-bottom:4px}.status-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px}.status-indicator{font-size:12px;min-width:16px}.status-indicator.healthy{color:#28a745}.status-indicator.unhealthy,.status-indicator.error{color:#dc3545}.status-label{font-weight:500;color:#495057;min-width:80px}.status-value{color:#6c757d}.status-item.detail{margin-left:16px;padding:2px 0;font-size:12px;opacity:.8}.status-item.detail .status-label{min-width:60px;font-size:12px}.retry-info{display:flex;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404}.retry-indicator{font-size:14px;animation:spin 2s linear infinite}.retry-text{font-size:13px;font-weight:500}.retry-count{font-weight:600;color:#e67e22}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.url-value{background:#e9ecef!important;padding:2px 6px!important;border-radius:3px!important;font-family:Courier New,monospace!important;font-size:11px!important;color:#495057!important;border:1px solid #dee2e6!important;word-break:break-all;max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-info{display:flex;flex-direction:column;gap:4px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:2px 0;font-size:13px;flex-wrap:nowrap;min-width:0}.info-label{font-weight:500;color:#495057;flex-shrink:0;margin-right:8px}.info-value{color:#6c757d;font-family:Courier New,monospace;flex:1;min-width:0}.last-updated{margin-top:12px;padding-top:8px;border-top:1px solid #dee2e6;font-size:11px;color:#6c757d;text-align:right}@media (max-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{display:block!important;margin-top:2px!important;word-break:break-all!important}}.dashboard{max-width:100%;width:100%;margin:0 auto;padding:0 8px;box-sizing:border-box}.dashboard-header{margin-bottom:12px;text-align:center}.dashboard-header h1{margin:0 0 4px;color:#1f2937;font-size:2rem;font-weight:700}.dashboard-header p{margin:0;color:#6b7280;font-size:1.125rem}.dashboard-content{width:100%;box-sizing:border-box}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:12px;margin-bottom:20px;width:100%;box-sizing:border-box;overflow:hidden}.dashboard-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s ease-in-out;min-width:400px;width:100%}.dashboard-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#d1d5db}.card-header{background-color:#f9fafb;padding:16px 20px;border-bottom:1px solid #e5e7eb}.card-header h3{margin:0;color:#1f2937;font-size:1.25rem;font-weight:600}.card-content{padding:16px 20px}.card-content p{margin:0 0 14px;color:#4b5563;line-height:1.6}.card-content ul{margin:0;padding-left:20px;color:#6b7280}.card-content li{margin-bottom:4px;line-height:1.5}.status-indicator{display:flex;align-items:center;gap:8px;margin-top:12px}.status-dot{width:12px;height:12px;border-radius:50%;background-color:#ef4444}.status-dot.online{background-color:#10b981}.dashboard-features{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px 24px;width:100%;box-sizing:border-box;overflow:hidden}.dashboard-features h2{margin:0 0 20px;color:#1f2937;font-size:1.75rem;font-weight:700;text-align:center}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;width:100%;box-sizing:border-box;overflow:hidden}.feature-item{padding:16px 20px;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.feature-item h4{margin:0 0 12px;color:#1f2937;font-size:1.125rem;font-weight:600}.feature-item p{margin:0 0 10px;color:#4b5563;line-height:1.6}.feature-item code{background-color:#f3f4f6;color:#1f2937;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:.875rem}.feature-item ul{margin:8px 0 0;padding-left:20px;color:#6b7280}.feature-item li{margin-bottom:4px;line-height:1.5}@media (min-width: 768px) and (max-width: 1023px){.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:14px}}@media (min-width: 1024px){.dashboard-grid{grid-template-columns:repeat(4,1fr);gap:16px}.features-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media (min-width: 1400px){.dashboard-grid{grid-template-columns:repeat(4,1fr);gap:20px}.features-grid{gap:20px}}@media (max-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{padding:24px;max-width:1200px;margin:0 auto}.api-detail-header{margin-bottom:32px}.api-title-section{border:1px solid #e5e7eb;border-radius:12px;padding:24px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #0000001a}.api-badges{display:flex;gap:8px;margin-bottom:16px}.api-type-badge{padding:6px 12px;border-radius:6px;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.crud-badge{padding:6px 12px;border-radius:6px;font-size:.875rem;font-weight:600;background:#d1fae5;color:#065f46;text-transform:uppercase;letter-spacing:.05em}.api-title{font-size:2rem;font-weight:700;color:#1f2937;margin:0 0 16px}.api-endpoint-info{display:flex;align-items:center;gap:12px;margin-bottom:16px}.endpoint-method{padding:4px 8px;background:#059669;color:#fff;border-radius:4px;font-weight:600;font-size:.875rem}.endpoint-path{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:1.1rem;color:#059669;background:#f0fdf4;padding:8px 12px;border-radius:6px}.api-description{color:#6b7280;font-size:1.1rem;line-height:1.6;margin:0;white-space:pre-line}.api-detail-content{display:flex;flex-direction:column;gap:32px}.api-section{border:1px solid #e5e7eb;border-radius:12px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #0000001a;overflow:hidden}.section-title{background:#f8fafccc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px 24px;margin:0;font-size:1.5rem;color:var(--env-text-color, #1f2937);border-bottom:1px solid var(--env-accent-color, #e5e7eb)}.execute-method-info{padding:24px}.method-signature{background:#f3f4f6;padding:16px;border-radius:8px;border-left:4px solid #3b82f6}.method-signature code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:1rem;color:#1f2937;word-break:break-all}.field-type a:hover{background:#3b82f61a!important;color:var(--env-accent-color, #2563eb)!important;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.type-badge.reply{background:#dbeafe;color:#1e40af}.type-badge.custom{background:#d1fae5;color:#065f46}.type-comment{color:#6b7280;font-size:.95rem;line-height:1.5;margin:0 0 16px;white-space:pre-line}.fields-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.fields-header{display:grid;grid-template-columns:1fr 1fr 1fr auto 2fr;gap:16px;padding:12px 16px;background:#f9fafb;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb}.field-row{display:grid;grid-template-columns:1fr 1fr 1fr auto 2fr;gap:16px;padding:12px 16px;border-bottom:1px solid #f3f4f6;align-items:center}.field-row:last-child{border-bottom:none}.field-row:hover{background:#f9fafb}.field-name{font-weight:500;color:var(--env-text-color, #1f2937)}.field-json-name code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:#f3f4f6cc;color:var(--env-text-color, #374151);padding:2px 6px;border-radius:3px;font-size:.875rem}.field-type code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:#f3f4f6cc;color:var(--env-text-color, #374151);padding:2px 6px;border-radius:3px;font-size:.875rem}.array-indicator{background:#dbeafe;color:#1e40af;padding:2px 4px;border-radius:3px;font-size:.75rem;font-weight:600}.optional-indicator{background:#fef3c7;color:#92400e;padding:2px 4px;border-radius:3px;font-size:.75rem;font-weight:600}.required-badge{background:#fecaca;color:#dc2626;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.optional-badge{background:#e5e7eb;color:#6b7280;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.field-comment{color:var(--env-text-color, #6b7280);font-size:.875rem;opacity:.8;white-space:pre-line}.constants-grid{padding:24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.constant-definition{border:1px solid #e5e7eb;border-radius:8px;padding:16px;background:#fafafacc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.constant-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.constant-name{font-size:1rem;font-weight:600;color:#1f2937;margin:0}.constant-type code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:#f3f4f6cc;color:var(--env-text-color, #374151);padding:2px 6px;border-radius:3px;font-size:.875rem}.constant-value{display:flex;align-items:center;gap:8px;margin-bottom:8px}.constant-value-label{font-weight:500;color:#374151}.constant-value-code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:#f0fdf4;color:#059669;padding:4px 8px;border-radius:4px;font-size:.875rem}.constant-comment{color:#6b7280;font-size:.875rem;line-height:1.4;margin:0;white-space:pre-line}@media (max-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{display:flex;flex-direction:column;align-items:flex-start;padding:16px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;background:#fff}.field-row>span{display:block;padding:8px 0;width:100%;border-bottom:1px solid #f3f4f6}.field-row>span:last-child{border-bottom:none}.field-row>span:before{content:attr(data-label) ": ";font-weight:600;color:#6b7280;font-size:.8rem;display:block;margin-bottom:4px}.values-table{grid-template-columns:1fr;gap:1px}.values-header{display:none}.value-row{display:block;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;background:#fff}.value-row>span{display:block;padding:8px 12px;border-bottom:1px solid #f3f4f6}.value-row>span:last-child{border-bottom:none}.value-row>span:before{content:attr(data-label) ": ";font-weight:600;color:#6b7280;font-size:.8rem;display:block;margin-bottom:4px}.constants-grid{grid-template-columns:1fr;padding:16px}.api-endpoint-info{flex-direction:column;align-items:flex-start;gap:8px}}.type-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.type-header-actions{display:flex;align-items:center;gap:8px}.unity-struct-section{margin-top:24px;border-top:1px solid #e5e7eb;padding-top:24px}.unity-struct-header h4{margin:0;color:#374151;font-size:1.1rem}.type-definition .fields-table,.type-definition .unity-struct-section{transition:all .3s ease-in-out}.struct-detail-button{background:#10b981;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px;text-decoration:none}.struct-detail-button:hover{background:#059669;transform:translateY(-1px);color:#fff}.struct-detail-link{background:#10b981;color:#fff;border:none;padding:2px 6px;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px;text-decoration:none;margin-left:6px}.struct-detail-link:hover{background:#059669;transform:translateY(-1px);color:#fff}.field-type{display:flex;align-items:center;gap:4px}.values-table{display:grid;grid-template-columns:1fr 1fr 2fr;gap:1px;background:#e5e7eb;border-radius:8px;overflow:hidden;margin-top:16px}.value-row>span{padding:12px 16px;border-bottom:1px solid #f3f4f6;display:flex;align-items:center;background:#fff}@media (max-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{font-size:.8rem;padding:6px 12px}.struct-detail-button,.struct-detail-link{font-size:.8rem}}.api-docs-page{padding:24px;max-width:1200px;margin:0 auto}.api-docs-header{margin-bottom:32px;text-align:center}.api-docs-header h1{font-size:2.5rem;color:#1f2937;margin-bottom:8px}.api-docs-header p{font-size:1.1rem;color:#6b7280}.api-docs-controls{margin-bottom:32px;display:flex;flex-direction:column;gap:16px}.search-input{width:100%;max-width:500px;padding:12px 16px;border:2px solid var(--env-accent-color, #e5e7eb);border-radius:8px;font-size:1rem;transition:border-color .2s;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--env-text-color, #374151)}.search-input:focus{outline:none;border-color:var(--env-accent-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:#6b7280b3}.filter-tab{padding:8px 16px;border:2px solid var(--env-accent-color, #e5e7eb);background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:6px;cursor:pointer;transition:all .2s;font-weight:500;color:var(--env-text-color, #374151)}.filter-tab:hover{border-color:var(--env-accent-color, #d1d5db);background:#ffffffe6;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.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{display:flex;flex-direction:column;gap:32px}.no-results{text-align:center;padding:48px 24px;color:#6b7280}.api-service-group{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #0000001a}.service-title{background:#f8fafccc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px 24px;margin:0;font-size:1.5rem;color:var(--env-text-color, #1f2937);border-bottom:1px solid var(--env-accent-color, #e5e7eb)}.api-methods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px;padding:24px}.api-method-card{display:block;padding:20px;border:1px solid #e5e7eb;border-radius:8px;text-decoration:none;color:inherit;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s;cursor:pointer}.api-method-card:hover{border-color:var(--env-accent-color, #3b82f6);box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px);background:#fffffff2}.api-method-header{display:flex;gap:8px;margin-bottom:12px}.api-type-badge{padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.api-type-badge.admin{background:#fef3c7;color:#92400e}.api-type-badge.api{background:#dbeafe;color:#1e40af}.api-type-badge.streaming{background:#fae8ff;color:#86198f}.crud-badge{padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600;background:#d1fae5;color:#065f46;text-transform:uppercase;letter-spacing:.05em}.api-method-name{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0 0 8px}.api-endpoint{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;color:#059669;background:#f0fdf4;padding:4px 8px;border-radius:4px;margin:0 0 12px;display:inline-block}.api-comment{color:#6b7280;font-size:.9rem;margin:0 0 16px;line-height:1.5}.api-types{display:flex;flex-direction:column;gap:4px}.type-info{font-size:.85rem;color:#4b5563}.type-info code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:#f3f4f6;padding:2px 6px;border-radius:3px;font-size:.8rem}@media (max-width: 768px){.api-docs-page{padding:16px}.api-docs-header h1{font-size:2rem}.api-methods-grid{grid-template-columns:1fr;padding:16px}.filter-tabs{flex-direction:column}.filter-tab{text-align:center}}.gacha-box-tree-editor{display:flex;flex-direction:column;height:100%;background:#f5f7fa;border-radius:8px;overflow:hidden}.tree-editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid #e0e0e0}.toolbar-left{display:flex;align-items:center;gap:12px}.toolbar-title{font-weight:700;font-size:15px;color:#333}.toolbar-right{display:flex;gap:8px}.btn-open-drawer{padding:8px 16px;border:1px solid #4a90d9;border-radius:6px;background:transparent;color:#4a90d9;font-size:13px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-open-drawer:hover{background:#4a90d9;color:#fff}.history-buttons{display:flex;gap:4px;margin-right:8px}.btn-history{padding:8px 12px;border:1px solid #6b7280;border-radius:6px;background:#fff;color:#374151;font-size:13px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.btn-history:hover:not(:disabled){background:#f3f4f6;border-color:#4b5563}.btn-history:disabled{opacity:.4;cursor:not-allowed;background:#f9fafb;border-color:#d1d5db;color:#9ca3af}.btn-history:active:not(:disabled){transform:scale(.98)}.tree-editor-content{flex:1;overflow:auto;padding:20px;min-height:200px}.tree-container{display:inline-flex;flex-direction:row;min-width:100%}.drag-indicator{position:fixed;bottom:20px;left:50%;transform:translate(-50%);padding:10px 20px;background:#4a90d9f2;color:#fff;border-radius:20px;font-size:13px;box-shadow:0 4px 12px #0003;z-index:1001;pointer-events:none;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tree-container .tree-node{flex-shrink:0}.tree-container .tree-children{display:flex;flex-direction:column;margin-left:20px;padding-left:0;position:relative}.tree-container .tree-children:before{content:"";position:absolute;left:-20px;top:0;bottom:0;width:2px;background:#ccc}.tree-container .tree-row-container{display:flex;flex-direction:row;align-items:flex-start;margin-left:0}.tree-container .tree-node:not(.tree-node-root) .tree-children:empty:after{content:"子要素なし";color:#999;font-size:12px;font-style:italic;padding:8px}@media (max-width: 768px){.tree-editor-toolbar{flex-direction:column;gap:10px;align-items:flex-start}.toolbar-right{width:100%}.btn-open-drawer{width:100%;justify-content:center}.tree-editor-content{padding:12px}}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:999}.template-drawer{position:fixed;top:0;bottom:0;right:-350px;width:350px;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:1000;display:flex;flex-direction:column;transition:right .3s ease}.template-drawer.open{right:0}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.drawer-header h3{margin:0;font-size:16px;color:#333}.btn-close{width:32px;height:32px;border:none;border-radius:50%;background:#e0e0e0;color:#666;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-close:hover{background:#dc3545;color:#fff}.drawer-search{padding:12px 16px;border-bottom:1px solid #e0e0e0}.drawer-search input{width:100%;padding:10px 14px;border:1px solid #ced4da;border-radius:6px;font-size:14px}.drawer-search input:focus{border-color:#4a90d9;outline:none;box-shadow:0 0 0 2px #4a90d933}.drawer-content{flex:1;overflow-y:auto;padding:12px}.empty-state{text-align:center;padding:40px 20px;color:#999;font-size:14px}.template-list{display:flex;flex-direction:column;gap:10px}.template-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:12px;cursor:grab;transition:all .2s}.template-card:hover{border-color:#4a90d9;background:#fff;box-shadow:0 2px 8px #4a90d933}.template-card:active{cursor:grabbing;transform:scale(.98)}.template-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.template-name{font-weight:700;font-size:14px;color:#333}.template-row-count{font-size:11px;color:#666;background:#e9ecef;padding:2px 8px;border-radius:10px}.template-summary{font-size:12px;color:#666;margin-bottom:6px}.template-drag-hint{font-size:11px;color:#999;font-style:italic}.drawer-footer{padding:12px 16px;border-top:1px solid #e0e0e0;background:#f8f9fa}.hint-text{margin:0;font-size:12px;color:#666;line-height:1.5}.master-selector-dropdown{position:relative;width:100%;box-sizing:border-box}.master-selector-dropdown__input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;background-color:#fff;font-size:.875rem;line-height:1.25rem;color:#374151;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;box-sizing:border-box}.master-selector-dropdown__input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.master-selector-dropdown__input:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.master-selector-dropdown__input::placeholder{color:#6b7280}.master-selector-dropdown__selected-info{margin-top:6px;padding:8px 12px;background-color:#f0fdf4;border:1px solid #86efac;border-radius:4px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.master-selector-dropdown__selected-id{font-weight:600;color:#16a34a;font-size:13px}.master-selector-dropdown__selected-label{color:#111827;font-weight:500;font-size:13px;flex:1;min-width:0}.master-selector-dropdown__selected-meta{color:#6b7280;font-size:12px;background-color:#e5e7eb;padding:2px 8px;border-radius:10px}.master-selector-dropdown__list{position:absolute;top:100%;left:0;right:0;z-index:1000;background-color:#fff;border:1px solid #d1d5db;border-radius:4px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-height:300px;overflow-y:auto;margin-top:4px}.master-selector-dropdown__item{padding:10px 12px;cursor:pointer;border-bottom:1px solid #f3f4f6;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{display:flex;align-items:center;gap:10px}.master-selector-dropdown__item-id{font-size:13px;color:#16a34a;font-weight:600;min-width:50px}.master-selector-dropdown__item-label{font-size:14px;color:#111827;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.master-selector-dropdown__item-meta{display:flex;align-items:center;gap:12px;margin-top:4px}.master-selector-dropdown__item-tag{font-size:12px;color:#6b7280;background-color:#f3f4f6;padding:2px 8px;border-radius:10px}.master-selector-dropdown__empty{text-align:center;color:#9ca3af;padding:16px;cursor:default}@media (prefers-color-scheme: dark){.master-selector-dropdown__input{background-color:#1f2937;border-color:#4b5563;color:#f9fafb}.master-selector-dropdown__input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.master-selector-dropdown__input:disabled{background-color:#111827;color:#6b7280}.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{background-color:#374151;color:#d1d5db}.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{background-color:#374151;color:#d1d5db}.master-selector-dropdown__empty{color:#6b7280}}.tree-node{display:flex;flex-direction:column;min-width:280px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:12px;margin:4px 0;transition:all .2s ease}.tree-node-root{border-color:#4a90d9;background:#f8fafc}.tree-node-hovered{border-color:#4a90d9;box-shadow:0 0 0 3px #4a90d933}.tree-node-drag-over{border-color:#28a745;background:#fff;box-shadow:0 0 0 3px #28a74580,0 0 20px #28a74566,0 0 40px #28a74533;animation:glow-pulse 1.5s ease-in-out infinite;position:relative}.tree-node-drag-over:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:8px;background:linear-gradient(45deg,#28a7451a,#28a7454d,#28a7451a);z-index:-1;animation:border-glow 2s linear infinite}@keyframes border-glow{0%{background-position:0% 50%}to{background-position:200% 50%}}@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{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}.tree-node-add-action{flex-shrink:0;height:32px;display:flex;align-items:center}.tree-node-info{display:flex;flex-direction:column;gap:6px;flex:1}.tree-node-delete-action{flex-shrink:0;height:32px;display:flex;align-items:center;min-width:28px}.tree-node-name-input{font-weight:700;font-size:14px;padding:6px 10px;border:1px solid #ced4da;border-radius:4px;background:#fff;width:100%;height:32px;box-sizing:border-box}.tree-node-name-input:focus{border-color:#4a90d9;outline:none;box-shadow:0 0 0 2px #4a90d933}.tree-node-rate{display:flex;align-items:center;gap:6px;font-size:12px;color:#666}.rate-label{color:#495057}.rate-input{width:60px;padding:4px 6px;border:1px solid #ced4da;border-radius:4px;font-size:12px}.rate-raw{color:#999;font-size:11px}.tree-node-actions{display:flex;gap:8px;align-items:center;height:32px;flex-shrink:0}.add-menu-container{position:relative}.btn-add{width:28px;height:28px;border:none;border-radius:6px;background:#4a90d9;color:#fff;font-size:16px;font-weight:400;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}.btn-add:hover{background:#357abd}.btn-remove-box{width:28px;height:28px;border:none;border-radius:6px;background:#dc3545;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-remove-box:hover{background:#c82333}.add-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:180px;white-space:nowrap}.add-menu.add-menu-left{right:auto;left:0}.add-menu button{display:block;width:100%;padding:10px 14px;border:none;background:none;text-align:left;cursor:pointer;font-size:13px;color:#333;transition:background .15s}.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{display:flex;flex-direction:column;margin-top:0;margin-left:14px;padding-left:30px;padding-top:8px;position:relative;min-height:40px;border-radius:4px;transition:all .2s ease}.tree-children.tree-children-drag-over{background:#28a7450d;border:2px dashed rgba(40,167,69,.5);animation:children-glow-pulse 1.5s ease-in-out infinite}@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:"";position:absolute;left:14px;top:-24px;width:2px;height:calc(100% - 8px);background:#ccc}.tree-row-container{display:flex;flex-direction:row;align-items:flex-start;position:relative;min-height:50px}.tree-row-container.tree-row-drag-over{animation:row-glow-pulse 1.5s ease-in-out infinite}.tree-row-container.tree-row-drag-over .tree-reward-node,.tree-row-container.tree-row-drag-over .tree-node{border-color:#28a745;background:#fff;box-shadow:0 0 0 2px #28a74580,0 0 15px #28a74566,0 0 30px #28a74533;position:relative}.tree-row-container.tree-row-drag-over:before{content:"";position:absolute;top:0;left:-30px;right:0;bottom:0;border-left:3px solid rgba(40,167,69,.6);border-radius:4px;pointer-events:none;animation:row-border-glow 1.5s ease-in-out infinite}@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{position:absolute;left:-16px;top:0;width:16px;pointer-events:none}.connector-line-h{position:absolute;top:26px;left:0;width:16px;height:2px;background:#ccc}.connector-line-v{display:none}.tree-reward-node{flex:1;background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;padding:10px;margin:4px 0;cursor:grab;transition:all .2s}.tree-reward-node:hover{border-color:#4a90d9;background:#fff}.tree-reward-node:active{cursor:grabbing}.reward-node-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.drag-handle{color:#999;cursor:grab;font-size:14px;padding:0 4px;-webkit-user-select:none;user-select:none}.drag-handle:hover{color:#666}.reward-weight{display:flex;align-items:center;gap:4px;font-size:12px;color:#666}.reward-weight input{width:60px;padding:4px 6px;border:1px solid #ced4da;border-radius:4px;font-size:12px}.btn-edit{padding:4px 10px;border:1px solid #4a90d9;border-radius:4px;background:transparent;color:#4a90d9;font-size:11px;cursor:pointer;margin-left:auto}.btn-edit:hover{background:#4a90d9;color:#fff}.btn-remove{width:24px;height:24px;border:none;border-radius:4px;background:#dc3545;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-remove:hover{background:#c82333}.reward-description{font-size:13px;color:#495057;padding:4px 0}.reward-editor{margin-top:10px;border-top:1px solid #e0e0e0;padding-top:10px}.reward-tabs{display:flex;gap:4px;margin-bottom:10px}.reward-tabs button{padding:6px 12px;border:1px solid #e0e0e0;border-radius:4px;background:#f8f9fa;font-size:12px;cursor:pointer;transition:all .15s}.reward-tabs button:hover{background:#e9ecef}.reward-tabs button.active{background:#4a90d9;color:#fff;border-color:#4a90d9}.reward-content{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:10px}.reward-list{display:flex;flex-direction:column;gap:8px}.reward-item{display:flex;align-items:center;gap:8px;padding:8px;background:#f8f9fa;border-radius:4px;flex-wrap:wrap}.reward-field{display:flex;align-items:center;gap:4px;font-size:12px}.reward-field label{color:#666;white-space:nowrap}.reward-field input[type=number],.reward-field input[type=text]{width:80px;padding:4px 6px;border:1px solid #ced4da;border-radius:4px;font-size:12px}.reward-field.checkbox label{display:flex;align-items:center;gap:4px;color:#495057}.reward-field.checkbox input[type=checkbox]{width:16px;height:16px}.btn-remove-small{width:20px;height:20px;border:none;border-radius:3px;background:#dc3545;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:auto}.btn-remove-small:hover{background:#c82333}.btn-add-reward{padding:8px 12px;border:1px dashed #4a90d9;border-radius:4px;background:transparent;color:#4a90d9;font-size:12px;cursor:pointer;transition:all .15s}.btn-add-reward:hover{background:#f0f7ff}.reward-editor-footer{margin-top:12px;padding-top:12px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end}.btn-save-reward{padding:8px 20px;border:none;border-radius:4px;background:#28a745;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.btn-save-reward:hover{background:#218838}.btn-save-reward:disabled{background:#6c757d;cursor:not-allowed}.edit-actions{display:flex;gap:4px;margin-left:auto}.btn-cancel{padding:4px 10px;border:1px solid #6c757d;border-radius:4px;background:transparent;color:#6c757d;font-size:11px;cursor:pointer}.btn-cancel:hover{background:#6c757d;color:#fff}.btn-save{padding:4px 10px;border:1px solid #28a745;border-radius:4px;background:#28a745;color:#fff;font-size:11px;cursor:pointer}.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{display:flex;align-items:center;gap:4px}.item-type-badge{font-size:11px;color:#6c757d;background:#e9ecef;padding:2px 6px;border-radius:3px}.ornament-type-select{padding:4px 8px;border:1px solid #ced4da;border-radius:4px;font-size:12px;background:#fff;cursor:pointer}.ornament-type-select:focus{border-color:#4a90d9;outline:none}.text-muted{color:#6c757d;font-size:12px;font-style:italic}.tree-node-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.tree-node-weight{display:flex;align-items:center;gap:6px;font-size:12px;color:#666}.weight-label{color:#495057;font-weight:500}.weight-input{width:60px;padding:4px 6px;border:1px solid #ced4da;border-radius:4px;font-size:12px}.weight-input:focus{border-color:#4a90d9;outline:none;box-shadow:0 0 0 2px #4a90d933}.reward-probability{display:flex;align-items:center;gap:8px;font-size:11px;margin-left:8px}.prob-box{color:#6c757d;background:#e9ecef;padding:2px 6px;border-radius:3px}.prob-global{color:#fff;background:#4a90d9;padding:2px 6px;border-radius:3px}.tree-node-probability{display:flex;align-items:center;gap:6px;font-size:12px}.tree-node-probability .prob-global{font-weight:500}.gacha-management{padding:20px}.gacha-management h1{margin-bottom:20px;color:#1a1a2e}.gacha-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e0e0e0;padding-bottom:10px}.gacha-tab{padding:10px 20px;border:none;background:#f5f5f5;border-radius:8px 8px 0 0;cursor:pointer;font-size:14px;transition:all .2s}.gacha-tab:hover{background:#e8e8e8}.gacha-tab.active{background:#4a90d9;color:#fff}.gacha-content{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a}.gacha-list{display:flex;flex-direction:column;gap:12px}.gacha-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fafafa;border-radius:8px;border:1px solid #e0e0e0;transition:all .2s}.gacha-card:hover{border-color:#4a90d9;box-shadow:0 2px 8px #4a90d933}.gacha-card-info{flex:1}.gacha-card-name{font-size:16px;font-weight:700;color:#333;margin-bottom:4px}.gacha-card-meta{font-size:12px;color:#666}.gacha-card-status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;margin-left:8px}.gacha-card-status.active{background:#d4edda;color:#155724}.gacha-card-status.inactive{background:#f8d7da;color:#721c24}.gacha-card-actions{display:flex;gap:8px}.box-structure{padding:10px}.box-tree{margin-left:20px;border-left:2px solid #e0e0e0;padding-left:15px}.box-node{margin:8px 0;padding:12px;background:#f8f9fa;border-radius:6px;border:1px solid #dee2e6}.box-node-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.box-node-name{font-weight:700;color:#495057}.box-node-rate{display:flex;align-items:center;gap:8px}.rate-input{width:80px;padding:4px 8px;border:1px solid #ced4da;border-radius:4px}.box-node-rows{margin-top:8px}.box-row{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#fff;border-radius:4px;margin:4px 0;border:1px solid #e9ecef}.box-row-reward{flex:1}.box-row-weight{font-weight:700;color:#6c757d}.probability-preview{margin-top:20px;padding:15px;background:#f8f9fa;border-radius:8px}.probability-preview h3{margin-bottom:15px;color:#495057}.probability-table{width:100%;border-collapse:collapse}.probability-table th,.probability-table td{padding:10px;text-align:left;border-bottom:1px solid #dee2e6}.probability-table th{background:#e9ecef;font-weight:600}.probability-table tr:hover{background:#f1f3f5}.probability-value{font-weight:700;color:#4a90d9}.create-from-template{padding:20px}.template-selector{margin-bottom:20px}.template-selector select{width:100%;padding:10px;border:1px solid #ced4da;border-radius:6px;font-size:14px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#495057}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ced4da;border-radius:6px;font-size:14px}.form-help-text{margin-top:6px;font-size:12px;color:#6c757d;font-style:italic}.custom-rows-section{margin:20px 0;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-header h4{margin:0;color:#495057}.empty-rows-hint{text-align:center;padding:20px;color:#6c757d;font-style:italic}.custom-rows-list{display:flex;flex-direction:column;gap:12px}.gacha-row-editor{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:12px}.row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e9ecef}.row-number{font-weight:700;color:#495057}.row-weight-input{display:flex;align-items:center;gap:8px}.row-weight-input input{width:80px;padding:4px 8px;border:1px solid #ced4da;border-radius:4px}.row-rewards{display:flex;flex-direction:column;gap:10px}.reward-section{padding:8px;background:#f8f9fa;border-radius:4px}.reward-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:500;color:#495057}.reward-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:#e9ecef;border-radius:4px;font-size:12px;margin:2px}.chip-remove{background:none;border:none;color:#dc3545;cursor:pointer;font-size:14px;padding:0 2px}.chip-remove:hover{color:#a71d2a}.reward-form{background:#fff;border:1px solid #ced4da;border-radius:4px;padding:10px;margin-top:8px}.row-reward-type{display:flex;align-items:center;gap:10px;margin-bottom:10px}.row-reward-type label{font-size:13px;font-weight:500;color:#495057}.row-reward-type select{padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:13px}.current-reward{padding:8px 12px;background:#e9ecef;border-radius:4px;margin-bottom:10px;font-size:13px}.current-reward.empty{color:#6c757d;font-style:italic}.reward-label{font-weight:500;margin-right:8px;color:#495057}.reward-value{color:#28a745}.row-reward-form{margin-top:10px}.reward-form-inline{display:flex;align-items:flex-end;gap:12px;padding:10px;background:#f8f9fa;border-radius:6px;flex-wrap:wrap}.reward-form-fields{display:flex;gap:12px;flex-wrap:wrap;flex:1}.reward-form-field{display:flex;flex-direction:column;gap:4px}.reward-form-field label{font-size:11px;color:#6c757d}.reward-form-field input[type=number],.reward-form-field input[type=text]{width:100px;padding:6px 8px;border:1px solid #ced4da;border-radius:4px;font-size:13px}.reward-form-field.checkbox-field{flex-direction:row;align-items:center}.reward-form-field.checkbox-field label{font-size:13px;color:#495057;display:flex;align-items:center;gap:4px}.reward-form-field input[type=checkbox]{width:16px;height:16px}.template-select,.template-field{flex:1}.template-field select{width:100%;min-width:200px;padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:13px}.btn-sm{padding:4px 10px;font-size:12px}.btn-xs{padding:2px 8px;font-size:11px}.impact-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:15px;margin:15px 0}.impact-warning h4{color:#856404;margin-bottom:10px}.impact-list{list-style:none;padding:0}.impact-list li{padding:8px;background:#ffffff80;margin:4px 0;border-radius:4px;display:flex;align-items:center;gap:8px}.impact-checkbox{width:16px;height:16px}.btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.btn-primary{background:#4a90d9;color:#fff}.btn-primary:hover{background:#357abd}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn-outline{background:transparent;border:1px solid #4a90d9;color:#4a90d9}.btn-outline:hover{background:#4a90d9;color:#fff}.loading{display:flex;justify-content:center;align-items:center;padding:40px;color:#6c757d}.empty-state{text-align:center;padding:40px;color:#6c757d}.empty-state p{margin-bottom:15px}.actions-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.actions-bar-left,.actions-bar-right{display:flex;gap:10px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h2{margin:0}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6c757d}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:15px;border-top:1px solid #e0e0e0}.form-section{margin-bottom:24px}.form-section h3{margin-bottom:12px;color:#333;font-size:16px;border-bottom:1px solid #e0e0e0;padding-bottom:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-row .form-group input[type=datetime-local]{width:100%;box-sizing:border-box}.tree-editor-wrapper{min-height:400px;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.build-status-indicator{margin-bottom:16px}.build-status{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500}.build-status-ready{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.build-status-editing{background-color:#fff3cd;color:#856404;border:1px solid #ffeeba}.build-status-new{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.indefinite-checkbox-container{margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.indefinite-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:4px}.indefinite-checkbox{width:18px;height:18px;cursor:pointer}.indefinite-checkbox-text{font-size:14px;font-weight:500;color:#495057}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease-out}.confirm-dialog{background:#fff;border-radius:.75rem;padding:2rem;min-width:320px;max-width:500px;width:90%;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideIn .2s ease-out;position:relative}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-dialog-title{margin:0 0 1rem;color:#1f2937;font-size:1.25rem;font-weight:600;line-height:1.4}.confirm-dialog-message{margin:0 0 2rem;color:#4b5563;font-size:1rem;line-height:1.6;white-space:pre-wrap}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.confirm-dialog-cancel,.confirm-dialog-confirm{min-width:80px;padding:.625rem 1.25rem;border-radius:.5rem;font-weight:500;font-size:.875rem;border:1px solid;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;outline:none}.confirm-dialog-cancel:focus,.confirm-dialog-confirm:focus{outline:2px solid;outline-offset:2px}.btn-primary{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.btn-primary:hover{background-color:#2563eb;border-color:#2563eb}.btn-primary:focus{outline-color:#3b82f6}.btn-secondary{background-color:#f9fafb;border-color:#d1d5db;color:#374151}.btn-secondary:hover{background-color:#f3f4f6;border-color:#9ca3af}.btn-secondary:focus{outline-color:#6b7280}.btn-danger{background-color:#dc2626;border-color:#dc2626;color:#fff}.btn-danger:hover{background-color:#b91c1c;border-color:#b91c1c}.btn-danger:focus{outline-color:#dc2626}.btn-warning{background-color:#f59e0b;border-color:#f59e0b;color:#fff}.btn-warning:hover{background-color:#d97706;border-color:#d97706}.btn-warning:focus{outline-color:#f59e0b}.btn-success{background-color:#10b981;border-color:#10b981;color:#fff}.btn-success:hover{background-color:#059669;border-color:#059669}.btn-success:focus{outline-color:#10b981}@media (max-width: 480px){.confirm-dialog{padding:1.5rem;min-width:280px;width:95%}.confirm-dialog-title{font-size:1.125rem}.confirm-dialog-message{font-size:.875rem;margin-bottom:1.5rem}.confirm-dialog-actions{flex-direction:column-reverse;gap:.5rem}.confirm-dialog-cancel,.confirm-dialog-confirm{width:100%;justify-content:center}}@media (prefers-color-scheme: dark){.confirm-dialog{background:#1f2937;color:#f9fafb}.confirm-dialog-title{color:#f9fafb}.confirm-dialog-message{color:#d1d5db}}.force-execute-toggle{display:flex;flex-direction:column;gap:8px;padding:12px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;box-shadow:0 2px 4px #0000001a}.force-execute-toggle-content{display:flex;flex-direction:column;gap:4px}.force-execute-toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.force-execute-toggle-input{display:none}.force-execute-toggle-slider{position:relative;width:44px;height:24px;background-color:#ccc;border-radius:24px;transition:background-color .3s ease;flex-shrink:0}.force-execute-toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:#fff;border-radius:50%;transition:transform .3s ease;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{opacity:.5;cursor:not-allowed}.force-execute-toggle-input:disabled+.force-execute-toggle-slider+.force-execute-toggle-text{opacity:.5;cursor:not-allowed}.force-execute-toggle-text{font-weight:600;color:#d68910;font-size:14px}.force-execute-toggle-description{font-size:12px;color:#856404;margin:0 0 0 52px;line-height:1.4}.force-execute-toggle-warning{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:13px;font-weight:500}.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:2px solid #3498db;outline-offset:2px}@media (max-width: 768px){.force-execute-toggle{padding:10px}.force-execute-toggle-description{margin-left:0;margin-top:4px}.force-execute-toggle-label{flex-direction:column;align-items:flex-start;gap:6px}}.user-create-form{max-width:600px;margin:0 auto;padding:24px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.form-label{display:block;margin-bottom:6px;font-weight:500;color:#374151;font-size:14px}.form-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.form-checkbox-label{display:flex;align-items:center;cursor:pointer;font-size:14px;color:#374151}.form-checkbox{margin-right:8px;width:16px;height:16px;cursor:pointer}.form-checkbox:disabled{cursor:not-allowed}.checkbox-text{-webkit-user-select:none;user-select:none}.form-help{display:block;margin-top:4px;font-size:12px;color:#6b7280;line-height:1.4}.error-message{margin-bottom:20px;padding:12px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626}.error-message p{margin:0;font-size:14px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:20px;border-top:1px solid #e5e7eb}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:100px}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary:active:not(:disabled){background-color:#1d4ed8}.btn-secondary{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:active:not(:disabled){background-color:#d1d5db}@media (max-width: 768px){.user-create-form{margin:0 16px;padding:20px}.form-actions{flex-direction:column-reverse}.btn{width:100%}}.crud-page{max-width:100%;margin:0;padding:0;overflow-x:visible;width:100%;box-sizing:border-box}.crud-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.crud-header h1{margin:0;color:#1f2937;font-size:1.25rem;font-weight:700}.crud-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.crud-content{background-color:#fff;border-radius:6px;border:1px solid #e5e7eb;overflow-x:visible;overflow-y:visible;width:100%;max-width:100%;box-sizing:border-box;padding:8px}.btn-sm{padding:5px 10px;font-size:.75rem;min-width:auto}.crud-table-container{overflow-x:auto;width:100%;max-width:100%;min-width:0;-webkit-overflow-scrolling:touch;box-sizing:border-box}.crud-table{width:max-content;min-width:100%;max-width:100%;border-collapse:collapse;table-layout:auto;box-sizing:border-box}.crud-table th,.crud-table td{padding:6px 8px;border-bottom:1px solid #e5e7eb}.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;overflow:visible;text-overflow:clip;min-width:max-content}.crud-table th{background-color:#f9fafb;font-weight:600;color:#374151;font-size:.75rem;position:sticky;top:0;z-index:1}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.sortable-header:hover{background-color:#e5e7eb}.header-content{display:flex;align-items:center;gap:8px}.header-names{display:flex;flex-direction:column;gap:2px}.header-jp-name{font-weight:600;color:#374151;font-size:.75rem;white-space:nowrap}.header-comment{font-size:.65rem;color:#9ca3af;font-weight:400;white-space:normal;word-break:break-word;line-height:1.2;max-width:120px}.sort-icon{color:#9ca3af;font-size:.75rem;min-width:16px;text-align:center}.crud-table tr:hover{background-color:#f9fafb}.column-selector-panel{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:10px;margin-bottom:10px;box-shadow:0 2px 8px #0000001a}.column-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding-bottom:8px;border-bottom:none;font-weight:600;color:#374151;font-size:.8rem}.column-selector-panel.expanded .column-selector-header{border-bottom:1px solid #e5e7eb}.column-selector-toggle{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:0;font-weight:600;color:#374151;font-size:.8rem;transition:color .2s}.column-selector-toggle:hover{color:#1f2937}.column-selector-arrow{display:inline-block;transition:transform .2s;font-size:.7rem;color:#6b7280;transform:rotate(0)}.column-selector-arrow.expanded{transform:rotate(90deg)}.column-selector-actions{display:flex;gap:6px}.column-selector-list{display:flex;flex-wrap:wrap;gap:8px;max-height:150px;overflow-y:auto;margin-top:8px}.column-checkbox{display:flex;align-items:center;gap:6px;padding:4px 8px;background-color:#f9fafb;border-radius:4px;cursor:pointer;transition:background-color .2s;min-width:120px}.column-checkbox:hover{background-color:#e5e7eb}.column-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.column-checkbox-label{display:flex;flex-direction:column;gap:1px}.column-jp-name{font-size:.75rem;color:#374151}.column-comment{font-size:.65rem;color:#9ca3af}.pagination-info{padding:6px 12px;color:#6b7280;font-size:.75rem;background-color:#f9fafb;border-radius:4px;margin-bottom:8px}.search-field-container{position:relative;margin-bottom:10px}.search-input{width:100%;padding:6px 32px 6px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:.75rem;color:#374151;background-color:#fff;transition:border-color .2s,box-shadow .2s}.search-clear-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;cursor:pointer;font-size:1rem;padding:4px;line-height:1;transition:color .2s}.search-clear-btn:hover{color:#374151}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:8px;padding:10px;border-top:1px solid #e5e7eb;margin-top:10px}.pagination-current{font-weight:500;color:#374151;padding:0 12px;font-size:.75rem}.action-buttons{display:flex;gap:4px}.action-buttons .btn-sm{padding:5px 10px;font-size:.75rem;white-space:nowrap}.link{color:#3b82f6;text-decoration:none;font-weight:500}.link:hover{color:#2563eb;text-decoration:underline}.detail-view{padding:24px}.detail-item{display:flex;padding:12px 0;border-bottom:1px solid #f3f4f6}.detail-item:last-child{border-bottom:none}.detail-item label{flex:0 0 150px;font-weight:600;color:#374151;margin-right:16px}.edit-form{padding:24px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.toggle-slider{background-color:#10b981}input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-label{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#374151}.toggle-text{min-width:24px;font-weight:500}.checkbox-display{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:2px solid;border-radius:3px;font-size:12px;font-weight:700;line-height:1}.checkbox-display.checked{background-color:#10b981;border-color:#10b981;color:#fff}.checkbox-display.unchecked{background-color:#f3f4f6;border-color:#d1d5db;color:#6b7280}.detail-value{flex:1;color:#1f2937;word-break:break-all}@media (max-width: 768px){.crud-header{flex-direction:column;align-items:flex-start;gap:16px}.crud-header h1{font-size:1.5rem}.crud-actions{width:100%;justify-content:flex-end}.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{display:inline-flex;align-items:center;gap:4px;color:#1e293b;font-size:13px}.text-muted{color:#94a3b8;font-style:italic}.json-display{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:12px;font-family:SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:0}.reward-editor{display:flex;flex-direction:column;gap:24px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background-color:#f9fafb}.reward-editor-section{display:flex;flex-direction:column;gap:12px;padding:16px;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px}.reward-editor-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.reward-editor-section-header h3{margin:0;font-size:16px;font-weight:600;color:#111827}.reward-editor-items{display:flex;flex-direction:column;gap:12px}.reward-editor-item{display:flex;flex-direction:column;gap:12px;padding:12px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:4px}.reward-editor-item-header{display:flex;justify-content:space-between;align-items:center}.reward-editor-item-index{font-weight:600;color:#6b7280;font-size:14px}.reward-editor-item-content{display:flex;flex-direction:column;gap:12px}.reward-editor-field{display:flex;flex-direction:column;gap:4px}.reward-editor-label{font-size:14px;font-weight:500;color:#374151;display:flex;align-items:center;gap:4px}.reward-editor-label .required{color:#ef4444;font-weight:600}.reward-editor-input{width:100%}.reward-editor-field-help{margin:4px 0 0;font-size:12px;color:#6b7280}.reward-editor-field-info{margin:0;padding:8px 12px;font-size:13px;color:#6b7280;background-color:#fef3c7;border:1px solid #fcd34d;border-radius:4px}.reward-editor-empty{padding:16px;text-align:center;color:#9ca3af;font-size:14px;background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:4px}.reward-editor-input-placeholder{padding:8px 12px;border:1px dashed #d1d5db;border-radius:4px;font-size:14px;color:#9ca3af;background-color:#f9fafb;text-align:center}.reward-editor .btn{padding:6px 12px;border-radius:4px;border:1px solid #d1d5db;background-color:#fff;color:#374151;font-size:14px;cursor:pointer;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{background-color:#6b7280;color:#fff;border-color:#6b7280}.reward-editor .btn-secondary:hover{background-color:#4b5563;border-color:#4b5563}.reward-editor .btn-danger{background-color:#ef4444;color:#fff;border-color:#ef4444}.reward-editor .btn-danger:hover{background-color:#dc2626;border-color:#dc2626}.reward-editor .form-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;transition:border-color .2s}.reward-editor .form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.reward-editor .form-input:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed}.reward-editor .master-selector--compact,.reward-editor .master-selector--compact .master-selector-dropdown__input,.reward-editor .master-selector-dropdown{width:100%;max-width:100%;box-sizing:border-box}.currency-search-container{position:relative;width:100%}.currency-selected-info{margin-top:6px;padding:8px 12px;background-color:#f0fdf4;border:1px solid #86efac;border-radius:4px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.currency-selected-id{font-weight:600;color:#16a34a;font-size:13px}.currency-selected-name{color:#111827;font-weight:500;font-size:13px;flex:1;min-width:0}.currency-selected-type{color:#6b7280;font-size:12px;background-color:#e5e7eb;padding:2px 8px;border-radius:10px}.currency-search-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;background-color:#fff;border:1px solid #d1d5db;border-radius:4px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-height:300px;overflow-y:auto;margin-top:4px}.currency-search-dropdown-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid #f3f4f6;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{display:flex;align-items:center;gap:10px;margin-bottom:4px}.currency-dropdown-item-id{font-size:13px;color:#16a34a;font-weight:600;min-width:50px}.currency-dropdown-item-name{font-size:14px;color:#111827;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.currency-dropdown-item-meta{display:flex;align-items:center;gap:12px}.currency-dropdown-item-type{font-size:12px;color:#6b7280;background-color:#f3f4f6;padding:2px 8px;border-radius:10px}.currency-search-dropdown-empty{text-align:center;color:#9ca3af;padding:16px;cursor:default}@media (max-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{padding:12px;text-align:center;color:#9ca3af}.reward-display--summary{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background-color:#f3f4f6;border-radius:4px;font-size:13px;color:#374151}.reward-display--grouped{display:flex;flex-direction:column;gap:16px}.reward-display--flat .reward-display-items,.reward-display-category{display:flex;flex-direction:column;gap:8px}.reward-display-category-header{display:flex;align-items:center;gap:6px;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.reward-display-category-icon{font-size:16px}.reward-display-category-title{font-weight:600;color:#374151;font-size:14px}.reward-display-category-count{color:#6b7280;font-size:12px}.reward-display-items{display:flex;flex-direction:column;gap:8px}.reward-display-items.compact{flex-direction:row;flex-wrap:wrap;gap:8px}.reward-display-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.reward-display-item-compact{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:16px;font-size:13px}.reward-display-icon{font-size:18px;flex-shrink:0}.reward-display-item-compact .reward-display-icon{font-size:14px}.reward-display-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.reward-display-label{font-weight:500;color:#111827}.reward-display-item-compact .reward-display-label{font-weight:500;color:#374151}.reward-display-option{font-size:12px;color:#6b7280}.reward-display-item-compact .reward-display-option{font-size:11px;color:#9ca3af}.reward-display-amount{font-weight:600;color:#3b82f6;font-size:14px;white-space:nowrap}.reward-display-item-compact .reward-display-amount{font-size:13px;color:#2563eb}.reward-display .text-muted{color:#9ca3af}.reward-display--clickable{cursor:pointer;transition:all .2s ease}.reward-display--clickable:hover{background-color:#e5e7eb;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.reward-display--clickable:focus{outline:2px solid #3b82f6;outline-offset:2px}.reward-display--clickable:active{transform:translateY(0)}.reward-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.reward-modal-content{background-color:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:560px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reward-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb}.reward-modal-title{margin:0;font-size:18px;font-weight:600;color:#111827;display:flex;align-items:center;gap:8px}.reward-modal-title:before{content:"🎁"}.reward-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background-color:transparent;color:#6b7280;font-size:24px;line-height:1;cursor:pointer;border-radius:6px;transition:all .2s ease}.reward-modal-close:hover{background-color:#e5e7eb;color:#111827}.reward-modal-close:focus{outline:2px solid #3b82f6;outline-offset:2px}.reward-modal-body{padding:20px;overflow-y:auto;flex:1}@media (max-width: 768px){.reward-display-items.compact{flex-direction:column}.reward-display-item-compact{width:100%;justify-content:space-between}.reward-modal-content{width:95%;max-height:90vh}.reward-modal-header{padding:14px 16px}.reward-modal-body{padding:16px}}.confirm-dialog{position:relative!important;background:#fff!important;border-radius:12px!important;padding:24px!important;width:auto!important;min-width:360px!important;max-width:560px!important;max-height:85vh!important;display:flex!important;flex-direction:column!important;box-shadow:0 8px 32px #00000040!important}.confirm-dialog-title{margin:0 0 12px;color:#1e293b;font-size:18px;font-weight:600;flex-shrink:0}.confirm-dialog-message{margin:0 0 16px;color:#64748b;font-size:14px;line-height:1.5;flex-shrink:0}.confirm-dialog-content{flex:1;overflow-y:auto;margin-bottom:20px;padding-right:8px;max-height:50vh}.confirm-dialog-content::-webkit-scrollbar{width:6px}.confirm-dialog-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.confirm-dialog-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.confirm-dialog-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.confirm-dialog-actions{display:flex;gap:12px;justify-content:flex-end;flex-shrink:0;padding-top:16px;border-top:1px solid #e2e8f0}.confirm-dialog-actions .btn{min-width:100px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.confirm-dialog-actions .btn-secondary{background-color:#f1f5f9;color:#475569}.confirm-dialog-actions .btn-secondary:hover:not(:disabled){background-color:#e2e8f0}.confirm-dialog-actions .btn-primary{background-color:#3b82f6;color:#fff}.confirm-dialog-actions .btn-primary:hover:not(:disabled){background-color:#2563eb}.confirm-dialog-actions .btn:disabled{opacity:.6;cursor:not-allowed}.confirm-summary{display:flex;flex-direction:column;gap:12px}.confirm-summary-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px}.confirm-summary-section-title{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.confirm-summary-section-content{font-size:14px;color:#1e293b;line-height:1.5}.confirm-summary-item{display:flex;justify-content:space-between;align-items:flex-start;padding:4px 0;gap:16px}.confirm-summary-label{font-size:13px;color:#64748b;flex-shrink:0}.confirm-summary-value{font-size:13px;color:#1e293b;font-weight:500;text-align:right;word-break:break-word}.confirm-summary-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:600}.confirm-summary-badge.type-all{background-color:#dcfce7;color:#166534}.confirm-summary-badge.type-userlist{background-color:#dbeafe;color:#1e40af}.confirm-summary-badge.type-conditional{background-color:#fef3c7;color:#92400e}.confirm-summary-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.confirm-summary-chip{display:inline-flex;align-items:center;padding:2px 8px;background-color:#e0e7ff;color:#3730a3;border-radius:4px;font-size:11px;font-family:monospace}@media (max-width: 600px){.confirm-dialog{min-width:auto!important;max-width:calc(100vw - 32px)!important;margin:16px!important}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-actions .btn{width:100%}}.dynamic-form{width:100%;margin:0 auto}.form{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a}.form-fields{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.form-field{display:flex;flex-direction:column;gap:6px}.form-label{font-weight:600;color:#374151;font-size:14px}.required{color:#ef4444;margin-left:2px}.field-comment{font-size:12px;color:#6b7280;font-style:italic}.form-input,.form-textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;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{background-color:#f9fafb;color:#6b7280;cursor:not-allowed;border-color:#d1d5db}.readonly-indicator{color:#6b7280;font-size:12px;font-weight:400;margin-left:8px}.master-id-indicator{color:#059669;font-size:12px;font-weight:400;margin-left:8px}.master-selector--error{border-color:#ef4444!important}.form-textarea{resize:vertical;min-height:80px}.error-message{color:#ef4444;font-size:12px;margin-top:4px}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e5e7eb}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.btn:hover{transform:translateY(-1px)}.confirm-dialog-overlay{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100vh!important;background-color:#00000080!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:99999!important;margin:0!important;padding:16px!important;box-sizing:border-box!important;overflow:hidden!important}.confirm-dialog{position:relative!important;background:#fff!important;border-radius:12px!important;padding:24px 32px!important;width:auto!important;min-width:320px!important;max-width:480px!important;max-height:80vh!important;overflow-y:auto!important;box-shadow:0 8px 32px #00000040!important}.confirm-dialog h3{margin:0 0 16px;color:#333;font-size:1.2em}.confirm-dialog p{margin:0 0 24px;color:#666;line-height:1.5}.confirm-dialog-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-dialog-actions .btn{min-width:80px}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn:disabled:hover{transform:none}.array-field{border:1px solid #e5e7eb;border-radius:8px;padding:16px;background-color:#f9fafb}.array-indicator{color:#6b7280;font-size:12px;font-weight:400;margin-left:8px}.array-container{margin-top:12px}.array-item{background:#fff;border:1px solid #d1d5db;border-radius:6px;margin-bottom:12px;overflow:hidden}.array-item-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:#f3f4f6;border-bottom:1px solid #e5e7eb}.array-item-index{font-size:12px;font-weight:600;color:#4b5563}.btn-small{padding:4px 8px;font-size:12px;min-width:auto}.array-item-content{padding:12px}.btn-add-array-item{width:100%;margin-top:8px;border:2px dashed #d1d5db;background-color:transparent;color:#6b7280}.btn-add-array-item:hover{border-color:#9ca3af;background-color:#f9fafb;color:#4b5563}.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{font-size:14px;font-weight:600;color:#374151}.struct-array-item .struct-field{border:none;background:transparent;padding:0;margin:0}.struct-array-item-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;padding:16px}.struct-field{display:flex;flex-direction:column;gap:6px}.struct-field-label{font-size:12px;font-weight:500;color:#4b5563}.struct-input{font-size:13px;padding:6px 8px}.struct-array-item-placeholder{padding:12px;text-align:center;color:#6b7280;font-style:italic;background-color:#f3f4f6;border-radius:4px}@media (max-width: 768px){.dynamic-form{margin:0 16px}.form{padding:16px}.form-actions{flex-direction:column-reverse}.btn{width:100%}.confirm-dialog{margin:16px;min-width:auto}.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;font-size:12px;font-weight:500;margin-left:8px}.array-indicator{color:#059669;font-size:12px;font-weight:500;margin-left:8px}.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{font-size:13px;padding:6px 10px}.struct-field{border:1px solid #e5e7eb;border-radius:8px;padding:16px;background-color:#f8fafc}.struct-indicator{color:#7c3aed;font-size:12px;font-weight:500;margin-left:8px}.struct-container{margin-top:12px}.struct-item{background:#fff;border:1px solid #d1d5db;border-radius:6px;overflow:hidden}.struct-item-content{padding:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.struct-field .struct-field{border:none;background:transparent;padding:0;margin:0}.struct-placeholder{padding:16px;text-align:center;color:#6b7280;font-style:italic;background-color:#f3f4f6;border-radius:4px}.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{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background-color:#f3f4f6;border-bottom:1px solid #e5e7eb}.sub-array-item-index{font-size:11px;font-weight:600;color:#4b5563}.sub-array-item-content{padding:8px}.sub-array-input{font-size:12px;padding:4px 6px}.btn-add-sub-array-item{width:100%;margin-top:6px;border:1px dashed #d1d5db;background-color:transparent;color:#6b7280;font-size:12px;padding:6px 8px}.btn-add-sub-array-item:hover{border-color:#9ca3af;background-color:#f9fafb;color:#4b5563}.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{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background-color:#e2e8f0;border-bottom:1px solid #cbd5e1}.struct-sub-array-item-index{font-size:10px;font-weight:600;color:#475569}.struct-sub-array-item-content{padding:6px}.struct-sub-array-input{font-size:11px;padding:3px 5px}.btn-add-struct-sub-array-item{width:100%;margin-top:4px;border:1px dashed #cbd5e1;background-color:transparent;color:#64748b;font-size:11px;padding:4px 6px}.btn-add-struct-sub-array-item:hover{border-color:#94a3b8;background-color:#f1f5f9;color:#475569}.struct-nested-field{grid-column:1 / -1}.nested-struct-container{margin-top:8px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.nested-struct-fields{display:flex;flex-direction:column;gap:12px}.nested-struct-field{display:flex;flex-direction:column;gap:4px}.nested-struct-field-label{font-size:12px;font-weight:500;color:#475569}.nested-struct-input{font-size:12px;padding:4px 6px;border:1px solid #cbd5e1;border-radius:4px}.nested-struct-placeholder{padding:8px;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;font-size:12px}.nested-array-placeholder{padding:8px;background:#fefce8;border:1px solid #fde047;border-radius:4px;color:#ca8a04;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{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background-color:#e2e8f0;border-bottom:1px solid #cbd5e1}.nested-array-item-index{font-size:10px;font-weight:600;color:#475569}.nested-array-item-content{padding:6px}.nested-array-input{font-size:11px;padding:3px 5px;border:1px solid #cbd5e1;border-radius:3px;width:100%}.nested-array-checkbox{margin:0}.btn-add-nested-array-item{width:100%;margin-top:4px;border:1px dashed #cbd5e1;background-color:transparent;color:#64748b;font-size:11px;padding:4px 6px}.btn-add-nested-array-item:hover{border-color:#94a3b8;background-color:#f1f5f9;color:#475569}.struct-indicator{font-size:10px;color:#7c3aed;font-weight:500;margin-left:4px}@media (max-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{position:relative;display:inline-block;width:50px;height:28px}.form-toggle-switch input{opacity:0;width:0;height:0}.form-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:28px;border:1px solid #d1d5db}.form-toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;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{display:flex;align-items:center;gap:12px;cursor:pointer}.form-toggle-text{font-size:14px;font-weight:500;color:#374151;-webkit-user-select:none;user-select:none}.enum-select{display:flex;flex-direction:column;gap:.25rem}.enum-select__input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;background-color:#fff;font-size:.875rem;line-height:1.25rem;color:#374151;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;min-width:200px}.enum-select__input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.enum-select__input:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.enum-select__input option{padding:.5rem;color:#374151}.enum-select__input option:disabled{color:#9ca3af;font-style:italic}.enum-select__selected-info{margin-top:.25rem;padding:.25rem .5rem;background-color:#f3f4f6;border-radius:.25rem;border:1px solid #e5e7eb}.enum-select__selected-info small{color:#6b7280;font-size:.75rem;line-height:1rem}.enum-select--compact .enum-select__input{padding:.25rem .5rem;font-size:.75rem;min-width:150px}.enum-select--large .enum-select__input{padding:.75rem 1rem;font-size:1rem;min-width:250px}.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{background-color:#1f2937;border-color:#4b5563;color:#f9fafb}.enum-select__input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.enum-select__input:disabled{background-color:#111827;color:#6b7280}.enum-select__input option{background-color:#1f2937;color:#f9fafb}.enum-select__selected-info{background-color:#374151;border-color:#4b5563}.enum-select__selected-info small{color:#d1d5db}}.markdown-editor{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.markdown-editor-toolbar{display:flex;gap:8px;padding:8px 12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;align-items:center;flex-wrap:wrap}.toolbar-image-buttons{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}.toolbar-image-btn{padding:4px 8px;font-size:12px;white-space:nowrap}.toolbar-btn{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.toolbar-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#111827}.toolbar-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6;font-weight:600}.toolbar-btn:disabled{opacity:.6;cursor:not-allowed;background:#f9fafb;color:#6b7280}.markdown-editor-content{display:flex;height:500px;position:relative}.markdown-editor-input{display:flex;flex-direction:column;position:relative}.markdown-editor-input.full{width:100%}.markdown-editor-input.split{width:50%;border-right:1px solid #e5e7eb}.markdown-textarea{flex:1;font-family:Courier New,monospace;font-size:14px;line-height:1.6;padding:16px;border:none;outline:none;resize:none;box-sizing:border-box;background-color:#fff;color:#111827}.markdown-textarea::placeholder{color:#9ca3af}.markdown-textarea:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed}.markdown-editor-line-indicator{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;padding:16px;box-sizing:border-box}.line-indicator{height:1.6em;border-bottom:1px solid rgba(229,231,235,.5)}.markdown-editor-preview{overflow:auto;background:#fff;border-left:1px solid #e5e7eb}.markdown-editor-preview.full{width:100%}.markdown-editor-preview.split{width:50%}.markdown-preview-content{padding:16px;min-height:100%;box-sizing:border-box;background:#fff;color:#111827}.markdown-preview-content h1{font-size:2em;font-weight:700;margin:.67em 0;border-bottom:2px solid #e5e7eb;padding-bottom:.3em;color:#111827}.markdown-preview-content h2{font-size:1.5em;font-weight:700;margin:.83em 0;border-bottom:1px solid #e5e7eb;padding-bottom:.3em;color:#111827}.markdown-preview-content h3{font-size:1.17em;font-weight:700;margin:1em 0;color:#111827}.markdown-preview-content p{margin:1em 0;color:#374151}.markdown-preview-content ul,.markdown-preview-content ol{margin:1em 0;padding-left:2em;color:#374151}.markdown-preview-content li{margin:.5em 0;color:#374151}.markdown-preview-content code{background:#f3f4f6;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em;color:#111827}.markdown-preview-content pre{background:#1f2937;color:#f9fafb;padding:16px;border-radius:6px;overflow-x:auto;margin:1em 0}.markdown-preview-content pre code{background:transparent;padding:0;color:inherit}.markdown-preview-content a{color:#3b82f6;text-decoration:underline}.markdown-preview-content a:hover{color:#2563eb}.markdown-preview-content img{max-width:100%;height:auto;border-radius:4px;margin:1em 0}.markdown-preview-content strong{font-weight:700}.markdown-preview-content em{font-style:italic}.markdown-preview-platform-selector{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#f3f4f6;border-bottom:2px solid #e5e7eb}.platform-selector-label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.platform-selector-buttons{display:inline-flex;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:2px;gap:0;box-shadow:0 1px 2px #0000000d}.platform-selector-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:4px;background:transparent;color:#6b7280;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s;position:relative}.platform-selector-btn:not(:last-child):after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:60%;background:#e5e7eb}.platform-selector-btn:hover{background:#f9fafb;color:#374151}.platform-selector-btn.active{background:#3b82f6;color:#fff;font-weight:600;box-shadow:0 1px 3px #3b82f64d}.platform-selector-btn.active:after{display:none}.platform-selector-btn.active+.platform-selector-btn:after{display:none}.platform-icon{font-size:14px;line-height:1}.platform-label{font-size:13px;white-space:nowrap}.entity-image-thumbnail{display:flex;align-items:center;justify-content:center;border-radius:6px;overflow:hidden;background-color:#f3f4f6;cursor:pointer;transition:all .2s ease}.entity-image-thumbnail:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.entity-image-thumbnail img{width:100%;height:100%;object-fit:cover}.entity-image-thumbnail.placeholder{background-color:#e5e7eb;cursor:default}.entity-image-thumbnail.placeholder:hover{transform:none;box-shadow:none}.entity-image-thumbnail .placeholder-icon{font-size:1.2em;opacity:.5}.entity-image-thumbnail.loading{background-color:#f3f4f6}.entity-image-thumbnail .loading-spinner{width:16px;height:16px;border:2px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite}.entity-image-thumbnail.error{background-color:#fef2f2;cursor:default}.entity-image-thumbnail.error:hover{transform:none;box-shadow:none}.entity-image-thumbnail .error-icon{font-size:1em;opacity:.7}.crud-table .entity-image-thumbnail{margin:0 auto}.detail-view .entity-image-thumbnail{width:120px!important;height:120px!important;min-width:120px!important;min-height:120px!important}.entity-image-thumbnail.large{width:100%!important;height:auto!important;max-height:400px;aspect-ratio:16 / 9}.entity-image-thumbnail.large img{object-fit:contain;background-color:#f9fafb}.page-container{padding:24px;max-width:800px;margin:0 auto}.page-header{margin-bottom:32px;border-bottom:1px solid #e5e7eb;padding-bottom:16px}.page-header h1{margin:0;font-size:2rem;font-weight:600;color:#111827}.page-content{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px}.check-mark{display:inline-flex;align-items:center;gap:.5rem}.check-mark__icon{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;transition:all .2s ease}.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{background-color:#10b981;color:#fff}.check-mark--success.check-mark--checked .check-mark__icon{background-color:#059669;color:#fff}.check-mark--warning.check-mark--checked .check-mark__icon{background-color:#f59e0b;color:#fff}.check-mark--danger.check-mark--checked .check-mark__icon{background-color:#ef4444;color:#fff}.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{background-color:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.check-mark__label{font-size:.875rem;color:#374151}.check-mark:hover .check-mark__icon{transform:scale(1.05)}.copy-button{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;border-radius:.25rem;transition:all .2s ease;opacity:.6;margin-left:.5rem;vertical-align:middle}.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;background-color:#10b981;color:#fff}.copy-button--copied:hover{background-color:#059669}.copy-button:focus{outline:2px solid #3b82f6;outline-offset:1px}@keyframes copy-success{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.copy-button--copied{animation:copy-success .3s ease}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{background:#fff;border-radius:.5rem;box-shadow:0 4px 12px #00000026;border:1px solid #e5e7eb;padding:.875rem 1.25rem;min-width:300px;max-width:600px;transform:translate(100%);opacity:0;transition:all .3s ease;pointer-events:auto}.toast--visible{transform:translate(0);opacity:1}.toast__content{display:flex;align-items:center;gap:.5rem}.toast__icon{font-size:1rem;flex-shrink:0}.toast__message{font-size:.875rem;color:#374151;font-weight:500;word-break:break-all;line-height:1.4}.toast--success{border-left:4px solid #10b981;background:#f0fdf4}.toast--success .toast__message{color:#065f46}.toast--error{border-left:4px solid #ef4444;background:#fef2f2}.toast--error .toast__message{color:#991b1b}.toast--warning{border-left:4px solid #f59e0b;background:#fffbeb}.toast--warning .toast__message{color:#92400e}.toast--info{border-left:4px solid #3b82f6;background:#eff6ff}.toast--info .toast__message{color:#1e40af}@media (max-width: 768px){.toast-container{top:.5rem;right:.5rem;left:.5rem}.toast{min-width:auto;max-width:none}}@media (max-width: 640px){.toast{padding:.5rem .75rem;font-size:.8rem}.toast__message{font-size:.8rem}}.user-detail-page{padding:20px;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.header-left{display:flex;align-items:center;gap:15px}.back-button{display:flex;align-items:center;gap:5px;padding:8px 16px;font-size:14px}.header-right{display:flex;align-items:center}.user-id{background-color:#f5f5f5;padding:8px 12px;border-radius:4px;font-family:monospace;font-size:14px;color:#666}.loading{text-align:center;padding:40px;font-size:18px;color:#666}.error-container{text-align:center;padding:40px}.error-message{color:#d32f2f;font-size:16px;margin-bottom:20px}.tab-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.tab-nav{display:flex;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0}.tab-button{flex:1;padding:15px 20px;border:none;background:none;cursor:pointer;font-size:16px;font-weight:500;color:#666;transition:all .2s ease;border-bottom:3px solid transparent}.tab-button:hover{background-color:#e9ecef;color:#333}.tab-button.active{background-color:#fff;color:#007bff;border-bottom-color:#007bff}.tab-content-container{padding:30px;min-height:400px}.tab-content h3{margin-top:0;margin-bottom:20px;color:#333;font-size:24px}.user-overview{display:flex;flex-direction:column;gap:30px}.overview-section{background-color:#f8f9fa;padding:20px;border-radius:8px;border-left:4px solid #007bff}.overview-section h4{margin-top:0;margin-bottom:15px;color:#333;font-size:18px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px}.info-item{display:flex;align-items:flex-start;gap:10px}.info-item label{font-weight:600;color:#555;min-width:120px;flex-shrink:0}.info-item span{color:#333;word-break:break-all}.entity-section{max-width:1000px}.entity-description{color:#6b7280;font-size:1rem;margin-bottom:2rem;padding:1rem;background:#f8fafc;border-radius:.5rem;border-left:4px solid #3b82f6}.entity-search-section{margin-bottom:2rem}.search-bar{max-width:500px;margin:0 auto}.search-input-wrapper{position:relative;display:flex;align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;padding:.75rem 1rem;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.search-input-wrapper:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-icon{font-size:1.1rem;color:#6b7280;margin-right:.75rem;flex-shrink:0}.search-input{flex:1;border:none;outline:none;font-size:1rem;color:#1f2937;background:transparent}.search-input::placeholder{color:#9ca3af}.search-clear{background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:.25rem;font-size:1rem;margin-left:.5rem;transition:all .2s ease;flex-shrink:0}.search-clear:hover{background:#f3f4f6;color:#374151}.search-results-info{text-align:center;margin-top:.75rem;color:#6b7280;font-size:.875rem;font-style:italic}.no-results{text-align:center;padding:3rem 2rem;color:#6b7280}.no-results-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.no-results h4{margin:0 0 .5rem;font-size:1.25rem;color:#374151}.no-results p{margin:0 0 1.5rem;font-size:1rem}.entity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:3rem}.entity-card{background:#fff;border-radius:.75rem;border:1px solid #e5e7eb;padding:1.25rem;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.entity-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:#d1d5db}.entity-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:0}.entity-icon{font-size:2rem;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:#3b82f61a;border-radius:.5rem;flex-shrink:0}.entity-info{flex:1}.entity-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.entity-title{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937;flex-shrink:1;min-width:0}.entity-name-badge{display:inline-block;background:#f3f4f6;color:#374151;font-size:.75rem;font-weight:500;font-family:Monaco,Menlo,Ubuntu Mono,monospace;padding:.25rem .5rem;border-radius:.25rem;border:1px solid #d1d5db;flex-shrink:0;white-space:nowrap}.entity-desc{margin:0;color:#6b7280;font-size:.875rem;line-height:1.5}.entity-card-actions{display:flex;justify-content:flex-end}.entity-btn{padding:.75rem 1.5rem;font-weight:500;border-radius:.5rem;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.entity-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0003}.entity-info-section{background:#f9fafb;padding:2rem;border-radius:.75rem;border:1px solid #e5e7eb}.entity-info-section h4{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#1f2937}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.info-card{background:#fff;padding:1.5rem;border-radius:.5rem;border:1px solid #e5e7eb}.info-card h5{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#374151}.info-card p{margin:0;color:#6b7280;font-size:.875rem;line-height:1.6}.entity-note{background:#fffbeb;border:1px solid #fbbf24;border-radius:.5rem;padding:1.5rem;margin-top:1.5rem}.entity-note h5{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#92400e}.entity-note p{margin:0;color:#92400e;font-size:.875rem;line-height:1.6}.tools-section{display:flex;flex-direction:column;gap:30px}.tool-group{background-color:#f8f9fa;padding:20px;border-radius:8px;border-left:4px solid #ffc107}.tool-group h4{margin-top:0;margin-bottom:10px;color:#333;font-size:18px}.tool-group p{margin-bottom:15px;color:#666;line-height:1.5}.tool-actions{display:flex;flex-wrap:wrap;gap:10px}.btn{padding:10px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-secondary:hover:not(:disabled){background-color:#545b62}.btn-warning{background-color:#ffc107;color:#212529}.btn-warning:hover:not(:disabled){background-color:#e0a800}.btn-info{background-color:#17a2b8;color:#fff}.btn-info:hover:not(:disabled){background-color:#117a8b}@media (max-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 transparent}.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:column;align-items:center;text-align:center;gap:1rem}.entity-title-row{flex-direction:column;align-items:center;gap:.5rem;text-align:center}.entity-title{font-size:1.1rem}.entity-name-badge{font-size:.7rem;padding:.2rem .4rem}.entity-card-actions{justify-content:center}.entity-btn{width:100%;justify-content:center}.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{display:flex;flex-direction:column;gap:2rem}.user-main-info{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1rem}.user-main-info .user-id,.user-main-info .user-name{display:flex;flex-direction:column;gap:.5rem}.user-main-info .user-id label,.user-main-info .user-name label{font-size:.875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.user-id-value,.user-name-value{font-size:1.5rem;font-weight:700;color:#1f2937;word-break:break-all}.time-spoofing-section{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:1.5rem;border-radius:.75rem;border:1px solid #e2e8f0}.time-spoofing-section h3{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#334155}.time-spoofing-status{background:#fff;padding:1rem;border-radius:.5rem;border:1px solid #e2e8f0}.time-status{display:flex;align-items:center;gap:1rem}.time-status-content{display:flex;flex-direction:column;gap:.25rem}.time-status-label{font-size:1rem;font-weight:600;color:#1f2937}.time-status-desc{font-size:.875rem;color:#6b7280}.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;padding:1.5rem;border-radius:.5rem;border:1px solid #e5e7eb}.basic-info-section h3{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#374151}.basic-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.basic-info-grid .info-item{display:flex;justify-content:center;align-items:center;padding:.75rem;background:#fff;border-radius:.375rem;border:1px solid #e5e7eb;min-width:0;gap:.5rem}.basic-info-grid .info-item label{font-weight:600;color:#374151;font-size:.875rem;flex-shrink:0}.basic-info-grid .info-item span{color:#6b7280;font-size:.875rem;min-width:0}.basic-info-grid .info-item .value-with-copy{display:flex;align-items:center;justify-content:center;gap:.25rem;min-width:0;flex:1}.basic-info-grid .info-item .value-with-copy.debug-toggle{gap:.5rem!important;justify-content:center;width:100%}.debug-toggle .debug-controls-group{display:flex;align-items:center;gap:.5rem}.info-item .debug-toggle .debug-switch{position:relative;display:inline-flex;width:34px!important;height:20px!important;vertical-align:middle;overflow:hidden;flex-shrink:0}.basic-info-section .basic-info-grid .info-item .value-with-copy.debug-toggle .debug-switch{width:34px!important;height:20px!important;min-width:34px!important;max-width:34px!important}.basic-info-grid .info-item .value-with-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.value-with-copy{display:flex;align-items:center;gap:.25rem}.value-with-copy .copy-button{opacity:0;transition:opacity .2s ease}.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,#f1f5f9);padding:1.5rem;border-radius:.75rem;border:1px solid #e2e8f0;margin-bottom:1rem}.datetime-item-compact .value-with-copy span.datetime-compact{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.user-info-row{display:flex;align-items:center;gap:2rem;flex-wrap:nowrap}.user-id-compact,.user-name-compact{display:flex;align-items:center;gap:.75rem;flex:0 0 auto}.user-id-label,.user-name-label{font-size:1.3rem;font-weight:600;color:#6b7280;white-space:nowrap}.user-id-value-small{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:1.2rem;font-weight:500;color:#3b82f6;background-color:#f3f4f6;padding:6px 12px;border-radius:6px;white-space:nowrap}.user-name-value-small{font-size:1.3rem;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:500px}@media (max-width: 1024px) and (min-width: 769px){.user-id-label,.user-name-label{font-size:1.2rem}.user-id-value-small{font-size:1.1rem;padding:5px 10px}.user-name-value-small{font-size:1.2rem;max-width:450px}.basic-info-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.entity-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.entity-title{font-size:1.1rem}.entity-name-badge{font-size:.7rem}}@media (max-width: 900px) and (min-width: 769px){.entity-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.entity-title-row{gap:.5rem}.entity-title{font-size:1.1rem}.entity-name-badge{font-size:.7rem;padding:.2rem .4rem}}@media (max-width: 768px){.user-info-row{flex-direction:column;align-items:flex-start;gap:1rem}.user-id-compact,.user-name-compact{width:100%;justify-content:flex-start}.user-id-label,.user-name-label{font-size:1.1rem}.user-id-value-small{font-size:1rem;padding:4px 8px}.user-name-value-small{font-size:1.1rem;max-width:none;width:100%}}@media (max-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{font-size:.9rem;padding:3px 6px}.user-name-value-small{font-size:1rem}}.time-spoof-master-control{border-radius:.5rem;padding:1rem;margin-bottom:1rem;transition:all .3s ease}.time-spoof-master-control.spoofing-inactive{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0}.time-spoof-master-control.spoofing-active{background:linear-gradient(135deg,#fef7f7,#fef2f2);border:2px solid #f87171;box-shadow:0 2px 8px #dc26261a}.master-control-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:3rem}.master-control-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.master-control-status{margin-top:.25rem}.master-control-label{font-size:1rem;font-weight:600;transition:color .3s ease}.spoofing-inactive .master-control-label{color:#374151}.spoofing-active .master-control-label{color:#b91c1c}.master-control-toggle{display:flex;align-items:center;gap:.75rem}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px;vertical-align:middle}.debug-toggle .debug-switch{position:relative;display:inline-flex;width:34px!important;height:20px!important;vertical-align:middle;overflow:hidden;flex-shrink:0}.debug-toggle .debug-switch input{opacity:0;width:0;height:0}.debug-toggle .debug-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.2s;border-radius:20px}.debug-toggle .debug-slider:before{position:absolute;content:"";height:16px!important;width:16px!important;left:2px;bottom:2px;background-color:#fff;transition:.2s;border-radius:50%}.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{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#dc2626}.toggle-switch input:checked+.toggle-slider:before{transform:translate(26px)}.toggle-status{font-weight:700;font-size:1.1rem}.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 ease}.spoofing-inactive .master-control-desc{color:#6b7280}.spoofing-active .master-control-desc{color:#7f1d1d;font-weight:600}.time-display{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;font-weight:500;padding:.25rem .5rem;border-radius:.25rem;border:1px solid;display:inline-block;transition:all .3s ease}.time-display--realtime{background-color:#f0f9ff;border-color:#7dd3fc;color:#0c4a6e}.time-display--fixed{background-color:#fef2f2;border-color:#fca5a5;color:#7f1d1d}.time-display--offset{background-color:#fef2f2;border-color:#fca5a5;color:#7f1d1d;animation:pulse-time 1s infinite}@keyframes pulse-time{0%{opacity:1}50%{opacity:.8}to{opacity:1}}.time-display--error{background-color:#fef2f2;border-color:#f87171;color:#dc2626;font-weight:600}.time-spoof-details{background:#f9fafb;border-radius:.5rem;padding:1.5rem;margin-top:1rem;border:1px solid #e5e7eb;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:500px}}.spoof-setting-group{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.setting-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;transition:border-color .2s ease}.setting-item:hover{border-color:#d1d5db}.unified-setting-item{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;transition:border-color .2s ease,box-shadow .2s ease}.unified-setting-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.unified-setting-header{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #f3f4f6}.unified-setting-content{display:flex;flex-direction:column;gap:1rem}.datetime-input-section{display:flex;flex-direction:column;gap:.5rem}.datetime-label{font-size:.875rem;font-weight:500;color:#374151}.mode-selection-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem}.mode-toggle-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.mode-label-group{display:flex;flex-direction:column;gap:.25rem;flex:1}.mode-label{font-size:.875rem;font-weight:500;color:#374151}.mode-description{font-size:.75rem;color:#6b7280;font-style:italic}.mode-indicator{font-size:.75rem;color:#6b7280;font-weight:500}.setting-label{font-weight:600;color:#374151;display:flex;align-items:center;gap:.5rem}.datetime-input{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;max-width:300px}.settings-toggle-section{margin-top:.75rem}.settings-toggle-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;cursor:pointer;transition:all .2s ease;font-size:.8125rem;font-weight:500;color:#374151}.settings-toggle-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.settings-toggle-btn.active{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.settings-toggle-text{font-weight:500}.settings-toggle-icon{transition:transform .2s ease;font-size:.75rem}.settings-toggle-icon.rotated{transform:rotate(180deg)}.setting-control-row{display:flex;justify-content:space-between;align-items:center;min-height:2.5rem;padding:.5rem 0}.setting-label-group{display:flex;flex-direction:column;gap:.125rem;flex:1}.setting-label-main{font-size:.875rem;font-weight:500;color:#374151;line-height:1.2}.setting-label-sub{font-size:.75rem;color:#6b7280;line-height:1.2}.toggle-switch-container{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.setting-help{font-size:.75rem;color:#6b7280;margin-top:.25rem;font-style:italic;line-height:1.4}.spoof-actions{display:flex;gap:1rem}.current-status{margin-top:1.5rem}.current-status h4{margin:0 0 1rem;color:#374151;font-size:1rem}.time-status-time{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:1.1rem;font-weight:600;color:#1f2937;background-color:#f3f4f6;padding:.25rem .5rem;border-radius:.25rem;border:1px solid #d1d5db}.time-status--spoofing{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-left:4px solid #dc2626;padding-left:1rem;border-radius:.5rem;box-shadow:0 2px 8px #dc26261a}.time-status--spoofing .time-status-label{color:#dc2626;font-weight:700}.time-status--spoofing .time-status-time{background-color:#fef2f2;border-color:#fca5a5;color:#7f1d1d}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-dialog{background:#fff;border-radius:.5rem;padding:2rem;max-width:400px;width:90%;box-shadow:0 10px 25px #0003}.confirm-dialog h4{margin:0 0 1rem;color:#374151;font-size:1.25rem}.confirm-dialog p{margin:0 0 1.5rem;color:#6b7280;line-height:1.5}.dialog-actions{display:flex;gap:1rem;justify-content:flex-end}@media (max-width: 768px){.master-control-header{flex-direction:column;align-items:flex-start;gap:1rem}.master-control-info{width:100%}.time-display{font-size:.85rem;padding:.25rem .5rem}.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%}}.enum-detail-page{padding:24px;max-width:1200px;margin:0 auto}.enum-detail-header{margin-bottom:32px}.back-link{display:inline-flex;align-items:center;color:#8b5cf6;text-decoration:none;font-weight:500;margin-bottom:24px;transition:color .2s}.back-link:hover{color:#7c3aed}.enum-title-section{border:1px solid #e5e7eb;border-radius:12px;padding:24px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #0000001a}.enum-badges{display:flex;gap:8px;margin-bottom:16px}.enum-badge{padding:6px 12px;border-radius:6px;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:#f3e8ff;color:#7c3aed}.enum-title{font-size:2.5rem;font-weight:700;color:#1f2937;margin:0 0 16px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;word-break:break-all;line-height:1.2}.enum-description{font-size:1.1rem;color:#6b7280;margin-bottom:20px;line-height:1.6}.enum-stats{display:flex;gap:24px;flex-wrap:wrap}.enum-detail-content{display:flex;flex-direction:column;gap:32px}.enum-section{border:1px solid #e5e7eb;border-radius:12px;padding:24px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #0000001a}.values-table{display:grid;grid-template-columns:1fr 1fr 2fr;gap:0;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.value-value code{background:#f3e8ff;color:#7c3aed;padding:4px 8px;border-radius:4px;font-size:.85rem;font-weight:500}.value-comment{color:#6b7280;font-size:.9rem;white-space:pre-line}.unity-enum-section{margin-top:0;border-top:1px solid #e5e7eb;padding-top:24px}.unity-enum-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.unity-enum-header-left{display:flex;align-items:center;gap:12px}.unity-enum-header h3{margin:0;color:#374151;font-size:1.2rem}.copy-button{background:#8b5cf6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.copy-button:hover{background:#7c3aed;transform:translateY(-1px)}.unity-enum-code{background:#1f2937;color:#f9fafb;padding:20px;border-radius:8px;overflow-x:auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.6;margin:0}.unity-enum-code code{background:none;color:inherit;padding:0;font-size:inherit}.related-apis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.related-api-card{border:1px solid #e5e7eb;border-radius:8px;padding:16px;background:#f9fafb;text-decoration:none;color:inherit;transition:all .2s}.related-api-card:hover{border-color:#8b5cf6;background:#f3e8ff;transform:translateY(-2px)}.api-card-content{display:flex;justify-content:space-between;align-items:center}.api-name{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500;color:#1f2937}.api-link-icon{color:#8b5cf6;font-weight:700}.type-badge.enum{background:#f3e8ff;color:#7c3aed}.related-api-card:hover{border-color:#8b5cf6;background:#f3e8ffe6;transform:translateY(-3px);box-shadow:0 4px 12px #8b5cf626}.api-link-icon{color:#8b5cf6;font-weight:700;font-size:1.2rem;margin-left:12px;transition:transform .2s ease}@media (max-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{display:block;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;background:#fff}.value-row>span{display:block;padding:8px 12px;border-bottom:1px solid #f3f4f6}.value-row>span:last-child{border-bottom:none}.value-row>span:before{content:attr(data-label) ": ";font-weight:600;color:#6b7280;font-size:.8rem;display:block;margin-bottom:4px}.unity-enum-header{flex-direction:column;align-items:flex-start;gap:12px}.related-apis-grid{grid-template-columns:1fr;padding:12px 16px 16px;gap:16px}.related-api-card{max-width:none;min-height:30px;padding:12px 16px}}.enum-docs-page{padding:24px;max-width:1200px;margin:0 auto}.enum-docs-header{margin-bottom:32px;text-align:center}.enum-docs-header h1{font-size:2.5rem;color:#1f2937;margin-bottom:8px}.enum-docs-header p{font-size:1.1rem;color:#6b7280}.enum-docs-controls{margin-bottom:32px;display:flex;flex-direction:column;gap:20px}.enum-stats{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:6px;color:#6b7280;font-size:.95rem;padding:8px 16px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #e5e7eb;border-radius:20px}.enum-docs-content{display:flex;flex-direction:column;gap:24px}.enum-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.enum-card{border:1px solid #e5e7eb;border-radius:16px;padding:24px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a;transition:all .3s;text-decoration:none;color:inherit;display:block}.enum-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026;border-color:#8b5cf6}.enum-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px}.enum-name{font-size:1.3rem;font-weight:600;color:#1f2937;margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;word-break:break-all;line-height:1.3}.enum-badge{padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:600;white-space:nowrap;flex-shrink:0;background:#f3e8ff;color:#7c3aed}.enum-comment{color:#6b7280;margin-bottom:16px;line-height:1.5;font-size:.95rem}.enum-stats{display:flex;gap:16px;margin-bottom:16px;font-size:.9rem;color:#6b7280}.value-count,.api-count{display:flex;align-items:center;gap:4px}.enum-preview{border-top:1px solid #f3f4f6;padding-top:16px}.value-preview{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:.85rem}.value-name{font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#374151;font-weight:500}.value-value{font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#8b5cf6;background:#f9fafb;padding:2px 6px;border-radius:4px;font-weight:500}.more-values{color:#9ca3af;font-size:.8rem;text-align:center;padding:8px 0 4px;font-style:italic}@media (max-width: 768px){.enum-docs-page{padding:16px}.enum-docs-header h1{font-size:2rem}.enum-grid{grid-template-columns:1fr}.enum-stats{justify-content:flex-start;overflow-x:auto;padding-bottom:8px}.enum-card-header{flex-direction:column;align-items:flex-start;gap:8px}.enum-stats{flex-direction:column;gap:8px}}.shogi-board-container{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px}.shogi-board-wrapper{display:flex;flex-direction:column;align-items:center}.shogi-board-files{display:flex;justify-content:center;margin-bottom:4px}.shogi-board-file-label{text-align:center;font-size:12px;color:#6b7280;font-weight:500}.shogi-board-main{display:flex;align-items:stretch}.shogi-board{display:grid;background-color:#deb887;border:2px solid #8b4513;box-shadow:0 4px 12px #00000026}.shogi-board-cell{display:flex;align-items:center;justify-content:center;border:1px solid #b8860b;background-color:#deb887;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:"";position:absolute;width:6px;height:6px;background-color:#5c4033;border-radius:50%}.shogi-board-ranks{display:flex;flex-direction:column;justify-content:center;margin-left:4px}.shogi-board-rank-label{display:flex;align-items:center;font-size:12px;color:#6b7280;font-weight:500}.shogi-piece{display:flex;align-items:center;justify-content:center;font-weight:700;cursor:default;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#f5e6c8,#e8d5a9);border-radius:4px 4px 0 0;box-shadow:1px 1px 2px #0003;position:relative}.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;padding:8px;min-height:60px}.shogi-hand-label{font-size:12px;font-weight:600;color:#6b7280;margin-bottom:8px;text-align:center}.shogi-hand-pieces{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.shogi-hand-empty{color:#9ca3af;font-size:14px}.shogi-hand-piece{display:flex;align-items:center;gap:2px;background-color:#e8d5a9;padding:4px 6px;border-radius:4px;font-size:14px;font-weight:700}.shogi-hand-piece-name{display:inline-block}.shogi-hand-piece-count{font-size:10px;color:#6b7280}.shogi-turn-indicator{display:flex;gap:24px;margin-top:8px}.turn-label{font-size:14px;font-weight:500;color:#9ca3af;padding:4px 12px;border-radius:4px;transition:all .2s}.turn-label.active{color:#1f2937;background-color:#fef3c7;font-weight:600}@media (max-width: 640px){.shogi-board-container{padding:8px;gap:8px}.shogi-hand-container{min-width:100px}.shogi-hand{padding:6px;min-height:50px}.shogi-hand-piece{padding:2px 4px;font-size:12px}}.game-monitor-detail-page{padding:24px;max-width:1200px;margin:0 auto}.header-left{display:flex;align-items:center;gap:16px}.back-button{padding:8px 16px;background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .2s}.back-button:hover{background-color:#e5e7eb}.info-bar{display:flex;flex-wrap:wrap;gap:24px;padding:16px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px}.info-item{display:flex;align-items:center;gap:8px}.info-label{font-size:13px;color:#6b7280}.info-value{font-size:14px;font-weight:500;color:#1f2937}.info-value.room-id{font-family:monospace;font-size:12px;background-color:#e5e7eb;padding:4px 8px;border-radius:4px}.status-badge{font-size:12px;font-weight:600;padding:4px 12px;border-radius:4px}.main-content{display:flex;gap:24px;flex-wrap:wrap}.control-panel{flex:0 0 300px;display:flex;flex-direction:column;gap:16px}.mode-buttons{display:flex;flex-direction:column;gap:8px;padding:16px;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px}.mode-button{padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;background-color:#f9fafb;color:#374151}.mode-button:hover{background-color:#f3f4f6}.mode-button.active{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.mode-button.playback.active{background-color:#22c55e;border-color:#22c55e}.speed-control{display:flex;align-items:center;gap:8px;padding-top:8px}.speed-control label{font-size:13px;color:#6b7280}.speed-control select{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background-color:#fff}.move-controls{padding:16px;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px}.move-indicator{text-align:center;font-size:14px;font-weight:500;color:#1f2937;margin-bottom:12px}.move-buttons{display:flex;justify-content:center;gap:8px}.move-button{width:48px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid #d1d5db;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;background-color:#f9fafb;color:#374151}.move-button:hover:not(:disabled){background-color:#3b82f6;border-color:#3b82f6;color:#fff}.move-button:disabled{opacity:.5;cursor:not-allowed}.players-panel{padding:16px;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px}.players-panel h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#6b7280}.player-info{padding:12px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px}.player-info:last-child{margin-bottom:0}.player-info.active-turn{background-color:#fef3c7;border-color:#fcd34d}.player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.turn-icon{font-size:12px;font-weight:600;color:#6b7280}.turn-badge{font-size:10px;font-weight:600;padding:2px 8px;background-color:#fcd34d;color:#92400e;border-radius:4px}.player-name{font-size:14px;font-weight:600;color:#1f2937;margin-bottom:8px}.player-stats{display:flex;flex-direction:column;gap:4px}.stat{display:flex;align-items:center;gap:8px;font-size:13px}.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{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:24px;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:500px}.score-graph-panel{padding:16px;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px}.score-graph-panel h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#6b7280;display:flex;align-items:center;gap:8px}.score-graph-panel h3 .graph-icon{font-size:16px}.score-graph-container{display:flex;flex-direction:column;align-items:center;gap:12px}.score-graph-svg{background-color:#fafafa;border-radius:8px;border:1px solid #e5e7eb}.score-graph-legend{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;font-size:12px;color:#6b7280}.legend-item{display:flex;align-items:center;gap:6px}.legend-item.current{color:#ef4444;font-weight:600}.legend-line{width:16px;height:3px;border-radius:2px}.legend-line.black{background-color:#1f2937}.legend-line.white{background-color:#9ca3af;background-image:repeating-linear-gradient(90deg,#9ca3af 0px,#9ca3af 4px,transparent 4px,transparent 6px)}.legend-line.current-pos{width:3px;height:12px;background-color:#ef4444}.current-score-display{display:flex;align-items:center;gap:12px;padding:8px 16px;background-color:#f9fafb;border-radius:6px;font-size:14px;font-weight:600;font-family:monospace}.score-black{color:#1f2937}.score-white{color:#6b7280}.score-separator{color:#d1d5db}.ai-analysis-panel{padding:16px;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px}.ai-analysis-panel h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#6b7280;display:flex;align-items:center;gap:8px}.ai-analysis-panel h3 .ai-icon{font-size:16px}.ai-score-display{display:flex;flex-direction:column;gap:12px}.ai-score-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background-color:#f9fafb;border-radius:6px}.ai-score-label{font-size:13px;color:#6b7280}.ai-score-value{font-size:16px;font-weight:600;font-family:monospace}.ai-score-value.positive{color:#16a34a}.ai-score-value.negative{color:#dc2626}.ai-score-value.neutral{color:#6b7280}.ai-best-move{margin-top:8px;padding:8px 12px;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:6px}.ai-best-move-label{font-size:12px;color:#0369a1;margin-bottom:4px}.ai-best-move-value{font-size:14px;font-weight:600;color:#0c4a6e;font-family:monospace}.ai-no-analysis{padding:12px;background-color:#f9fafb;border-radius:6px;text-align:center;color:#9ca3af;font-size:13px}.ai-eval-bar{margin-top:12px}.ai-eval-bar-label{font-size:12px;color:#6b7280;margin-bottom:4px}.ai-eval-bar-container{height:24px;background:linear-gradient(to right,#374151 50%,#f3f4f6 50%);border-radius:4px;overflow:hidden;position:relative}.ai-eval-bar-fill{position:absolute;top:0;height:100%;transition:width .3s ease}.ai-eval-bar-fill.black{left:0;background-color:#1f2937}.ai-eval-bar-fill.white{right:0;background-color:#e5e7eb}.ai-eval-bar-indicator{position:absolute;top:0;width:2px;height:100%;background-color:#ef4444;transition:left .3s ease}.error-state{text-align:center;padding:48px;color:#6b7280;font-size:16px}@media (max-width: 900px){.game-monitor-detail-page{padding:16px}.main-content{flex-direction:column-reverse}.control-panel{flex:1 1 100%}.board-panel{flex:1 1 100%;min-width:auto}.info-bar{gap:12px}.mode-buttons{flex-direction:row;flex-wrap:wrap}.mode-button{flex:1;min-width:120px}}@media (max-width: 480px){.page-header{flex-direction:column;align-items:flex-start}.header-left,.header-controls{width:100%}}.game-monitor-page{padding:24px;max-width:1400px;margin:0 auto}.filter-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin-bottom:24px}.filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.filter-item{display:flex;flex-direction:column;gap:4px}.filter-item label{font-size:12px;color:#6b7280;font-weight:500}.filter-item input,.filter-item select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;min-width:150px}.filter-item input:focus,.filter-item select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.filter-actions{display:flex;gap:8px}.search-button{padding:8px 16px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .2s}.search-button:hover{background-color:#2563eb}.clear-button{padding:8px 16px;background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:14px;cursor:pointer;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{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.game-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s}.game-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.game-card.ongoing{border-left:4px solid #22c55e}.game-card.completed{border-left:4px solid #6b7280}.game-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.status-badge{font-size:12px;font-weight:600;padding:4px 8px;border-radius:4px}.status-badge.ongoing{background-color:#dcfce7;color:#166534}.status-badge.completed{background-color:#f3f4f6;color:#374151}.rule-badge{font-size:12px;font-weight:500;padding:4px 8px;background-color:#eff6ff;color:#1d4ed8;border-radius:4px}.game-card-body{margin-bottom:12px}.players-info{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.player-row{display:flex;align-items:center;gap:8px;padding:8px;background-color:#f9fafb;border-radius:6px;font-size:14px}.player-row.active-turn{background-color:#fef3c7;border:1px solid #fcd34d}.turn-icon{font-size:12px;color:#6b7280}.player-name{font-weight:500;color:#1f2937;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-rate{font-size:12px;color:#6b7280}.player-time{font-family:monospace;font-size:12px;color:#374151;font-weight:500}.disconnected-icon{font-size:12px}.game-stats{display:flex;flex-wrap:wrap;gap:12px}.stat-item{display:flex;gap:4px;font-size:13px}.stat-label{color:#6b7280}.stat-value{color:#1f2937;font-weight:500}.game-card-footer{padding-top:12px;border-top:1px solid #e5e7eb}.room-id{font-size:11px;color:#9ca3af;font-family:monospace}@media (max-width: 768px){.game-monitor-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start}.header-controls{width:100%;justify-content:flex-start}.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}}.condition-editor{border:1px solid #e5e7eb;border-radius:8px;padding:16px;background-color:#f9fafb}.condition-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.operator-selector{display:flex;align-items:center;gap:8px}.operator-selector label{font-weight:500;color:#374151}.operator-selector select{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;font-size:14px}.condition-editor-actions{display:flex;gap:8px}.condition-list{display:flex;flex-direction:column;gap:12px}.condition-row{display:flex;align-items:center;gap:8px;padding:12px;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;flex-wrap:wrap}.entity-select,.field-select,.operator-select,.nested-field-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;font-size:14px;min-width:120px}.value-input,.filter-value-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;min-width:100px}.filter-value-input{max-width:80px}.remove-btn{flex-shrink:0}.nested-condition-group{margin-left:24px;padding:16px;border:2px dashed #d1d5db;border-radius:8px;background-color:#f3f4f6}.nested-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.nested-group-label{font-weight:600;color:#4b5563;font-size:14px}.empty-conditions{text-align:center;padding:24px;color:#6b7280;font-style:italic}.empty-conditions p{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-sm{padding:6px 12px;font-size:13px}.btn-xs{padding:4px 8px;font-size:12px}.btn-danger:hover:not(:disabled){background-color:#dc2626}@media (max-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}}.user-id-list-editor{display:flex;flex-direction:column;gap:12px;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.user-id-list-actions{display:flex;gap:8px;flex-wrap:wrap}.user-id-list-actions .btn{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;border:none;transition:all .2s}.user-id-list-actions .btn-primary{background:#4f46e5;color:#fff}.user-id-list-actions .btn-primary:hover:not(:disabled){background:#4338ca}.user-id-list-actions .btn-secondary{background:#6b7280;color:#fff}.user-id-list-actions .btn-secondary:hover:not(:disabled){background:#4b5563}.user-id-list-actions .btn-danger{background:#ef4444;color:#fff}.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{padding:10px 14px;border-radius:6px;font-size:14px}.user-id-list-message.success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.user-id-list-message.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.user-id-list-status{display:flex;gap:8px;font-size:14px;color:#374151;font-weight:500}.user-id-list-status .filtered-count{color:#6b7280}.user-id-add-row{display:flex;gap:8px}.user-id-add-row .user-id-input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.user-id-add-row .user-id-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e533}.user-id-search-row{display:flex;gap:8px}.user-id-search-row .user-id-search-input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.user-id-search-row .user-id-search-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e533}.btn-sm{padding:6px 12px;font-size:13px;border-radius:4px;cursor:pointer;border:none;background:#e5e7eb;color:#374151;transition:all .2s}.btn-sm:hover:not(:disabled){background:#d1d5db}.btn-sm.btn-primary{background:#4f46e5;color:#fff}.btn-sm.btn-primary:hover:not(:disabled){background:#4338ca}.btn-sm.btn-danger{background:#ef4444;color:#fff}.btn-sm.btn-danger:hover:not(:disabled){background:#dc2626}.btn-sm.btn-outline{background:transparent;border:1px solid #d1d5db;color:#374151}.btn-sm.btn-outline:hover:not(:disabled){background:#f3f4f6}.btn-xs{padding:4px 8px;font-size:12px;border-radius:4px;cursor:pointer;border:none}.btn-xs.btn-danger{background:#fee2e2;color:#991b1b}.btn-xs.btn-danger:hover:not(:disabled){background:#fecaca}.user-id-list-container{background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;max-height:400px;overflow-y:auto}.user-id-list-empty{padding:24px;text-align:center;color:#9ca3af;font-size:14px}.user-id-list-table{width:100%;border-collapse:collapse;font-size:14px}.user-id-list-table thead{background:#f9fafb;position:sticky;top:0}.user-id-list-table th{padding:10px 12px;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb}.user-id-list-table td{padding:8px 12px;border-bottom:1px solid #f3f4f6}.user-id-list-table tr:hover{background:#f9fafb}.user-id-list-table .col-index{width:60px;color:#9ca3af}.user-id-list-table .col-userid{font-family:monospace;color:#111827}.user-id-list-table .col-actions{width:80px;text-align:center}.user-id-list-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding-top:8px}.user-id-list-pagination .page-info{min-width:80px;text-align:center;font-size:14px;color:#374151}.user-id-list-help{margin-top:8px;padding:12px;background:#eff6ff;border-radius:6px;font-size:13px;color:#1e40af}.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}.gift-distribution-page{width:100%}.distribution-filter-section{margin-bottom:24px;padding:16px 20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px}.filter-header{margin-bottom:12px}.filter-label{font-size:14px;font-weight:600;color:#475569}.filter-buttons{display:flex;gap:12px;flex-wrap:wrap}.filter-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid #e2e8f0;border-radius:10px;background-color:#fff;font-size:14px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s ease}.filter-btn:hover{border-color:#94a3b8;background-color:#f8fafc}.filter-btn.active{border-color:#3b82f6;background-color:#eff6ff;color:#1d4ed8}.filter-icon{font-size:16px}.filter-count{font-size:12px;color:#94a3b8;font-weight:400}.filter-btn.active .filter-count{color:#3b82f6}.filter-btn.distribution-type-btn-0.active{border-color:#22c55e;background-color:#dcfce7;color:#166534}.filter-btn.distribution-type-btn-1.active{border-color:#3b82f6;background-color:#dbeafe;color:#1e40af}.filter-btn.distribution-type-btn-2.active{border-color:#f59e0b;background-color:#fef3c7;color:#92400e}.distribution-type-section{margin-bottom:24px;padding:24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px}.distribution-type-section h3{margin:0 0 20px;font-size:18px;font-weight:600;color:#1e293b}.distribution-type-selector{display:flex;flex-direction:row;gap:16px;flex-wrap:wrap}.distribution-type-option{display:flex;align-items:flex-start;cursor:pointer;padding:16px 20px;border:2px solid #e2e8f0;border-radius:12px;background-color:#fff;transition:all .2s ease;flex:1;min-width:200px;max-width:350px}.distribution-type-option:hover{border-color:#94a3b8;box-shadow:0 2px 8px #0000000d}.distribution-type-option.selected,.distribution-type-option:has(input:checked){border-color:#3b82f6;background-color:#eff6ff;box-shadow:0 0 0 3px #3b82f61a}.distribution-type-option input{margin:4px 0 0;flex-shrink:0}.type-option-content{display:flex;align-items:flex-start;gap:12px;margin-left:12px}.type-icon{font-size:24px;flex-shrink:0}.type-info{display:flex;flex-direction:column;gap:4px}.type-label{font-weight:600;font-size:16px;color:#1e293b}.type-description{font-size:13px;color:#64748b;line-height:1.4}.user-list-section{margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.user-list-section>label{display:block;font-weight:600;color:#1e293b;margin-bottom:12px;font-size:15px}.condition-section{margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.condition-section>label{display:block;font-weight:600;color:#1e293b;margin-bottom:12px;font-size:15px}.form-field:has(.date-section),.form-field>.date-section{all:unset!important;display:block!important;width:100%!important}.date-section{all:unset!important;display:flex!important;flex-direction:column!important;width:100%!important;margin-bottom:24px!important;padding:24px!important;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)!important;border:1px solid #bae6fd!important;border-radius:12px!important;box-sizing:border-box!important}.date-section>h3{all:unset!important;display:block!important;width:100%!important;margin:0 0 20px!important;font-size:18px!important;font-weight:600!important;color:#0369a1!important}.date-section>.indefinite-checkbox{all:unset!important;display:flex!important;flex-direction:column!important;width:100%!important;margin-bottom:20px!important;padding:16px!important;background-color:#fff!important;border:1px solid #e0e7ff!important;border-radius:8px!important;box-sizing:border-box!important}.date-section>.indefinite-checkbox>.checkbox-label{all:unset!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;cursor:pointer!important;font-weight:500!important;color:#1e293b!important;margin-bottom:8px!important;width:auto!important}.date-section>.indefinite-checkbox>.checkbox-label input[type=checkbox]{all:unset!important;-moz-appearance:auto!important;appearance:auto!important;-webkit-appearance:checkbox!important;width:18px!important;height:18px!important;min-width:18px!important;cursor:pointer!important;flex-shrink:0!important;margin:0!important}.date-section>.indefinite-checkbox>.checkbox-label>span{white-space:nowrap!important}.date-section>.indefinite-checkbox>.field-help{all:unset!important;display:block!important;width:auto!important;margin:0!important;padding:0 0 0 28px!important;font-size:13px!important;color:#64748b!important;line-height:1.5!important}.date-section>.date-inputs{all:unset!important;display:flex!important;flex-direction:row!important;gap:20px!important;flex-wrap:wrap!important;width:100%!important;margin-top:0!important}.date-section .date-field{flex:1!important;min-width:250px!important;display:flex!important;flex-direction:column!important}.date-section .date-label{display:block!important;font-weight:600!important;color:#1e293b!important;margin-bottom:8px!important;font-size:14px!important}.date-section .date-input{width:100%!important;padding:10px 12px!important;border:1px solid #cbd5e1!important;border-radius:8px!important;font-size:14px!important;color:#1e293b!important;background-color:#fff!important;transition:border-color .2s,box-shadow .2s!important;box-sizing:border-box!important}.date-section .date-input:focus{outline:none!important;border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.date-section .date-input:disabled{background-color:#f1f5f9!important;color:#94a3b8!important;cursor:not-allowed!important}.date-section .date-field p.field-help{display:block!important;margin-top:6px!important;font-size:12px!important;color:#64748b!important}.distribution-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.distribution-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:9999px;font-size:13px;font-weight:600}.badge-icon{font-size:14px}.distribution-type-0{background-color:#dcfce7;color:#166534}.distribution-type-1{background-color:#dbeafe;color:#1e40af}.distribution-type-2{background-color:#fef3c7;color:#92400e}.user-count-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:9999px;font-size:12px;font-weight:500;background-color:#e0e7ff;color:#3730a3}.condition-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:9999px;font-size:12px;font-weight:500;background-color:#fef3c7;color:#92400e}.detail-distribution-info{margin-top:24px;padding:24px;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.detail-distribution-info h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#1e293b}.detail-distribution-info h4{margin:20px 0 12px;font-size:14px;font-weight:600;color:#475569}.detail-user-list{margin-top:16px}.user-id-list{display:flex;flex-wrap:wrap;gap:8px;max-height:200px;overflow-y:auto;padding:12px;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px}.user-id-chip{display:inline-flex;align-items:center;padding:4px 10px;background-color:#e0e7ff;color:#3730a3;border-radius:6px;font-size:12px;font-family:monospace}.detail-condition{margin-top:16px}.condition-json{background-color:#1e293b;color:#e2e8f0;padding:16px;border-radius:8px;font-size:12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;overflow-x:auto;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.distribution-badge-sm{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap}.distribution-badge-sm.distribution-type-0{background-color:#dcfce7;color:#166534}.distribution-badge-sm.distribution-type-1{background-color:#dbeafe;color:#1e40af}.distribution-badge-sm.distribution-type-2{background-color:#fef3c7;color:#92400e}.reward-summary{font-size:13px;color:#374151}.text-muted{color:#9ca3af;font-style:italic}@media (max-width: 900px){.distribution-type-selector{flex-direction:column;gap:10px}.distribution-type-option{max-width:none;min-width:auto}}@media (max-width: 768px){.filter-buttons{flex-direction:column;gap:8px}.filter-btn{width:100%;justify-content:flex-start}.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{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:600}.period-badge.indefinite{background-color:#dcfce7;color:#166534}.period-range{font-size:14px;color:#1e293b}.reward-detail-container{display:flex;flex-direction:column;gap:16px}.reward-detail-section{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px}.reward-detail-title{font-size:13px;font-weight:600;color:#475569;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #e2e8f0}.reward-detail-list{display:flex;flex-direction:column;gap:6px}.reward-detail-item{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background-color:#fff;border-radius:4px;font-size:13px;color:#334155}.reward-amount{font-weight:600;color:#3b82f6}.condition-detail-container{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px}.condition-group-detail{display:flex;flex-direction:column;gap:8px}.logic-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;margin-bottom:4px}.logic-badge.logic-and{background-color:#dbeafe;color:#1e40af}.logic-badge.logic-or{background-color:#fef3c7;color:#92400e}.condition-item-detail{display:flex;align-items:center;gap:8px;padding:6px 10px;background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:13px}.condition-type{font-weight:600;color:#334155}.condition-operator{color:#64748b;font-weight:500}.condition-value{color:#3b82f6;font-weight:600}.user-id-list-detail{display:flex;flex-direction:column;gap:8px}.user-id-list-detail .user-count{font-size:13px;font-weight:600;color:#475569}.user-id-list-detail .user-id-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow-y:auto;padding:8px;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.condition-text-display{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;font-size:14px;line-height:2.2}.condition-expression{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;margin:4px 0;background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#1e293b;white-space:nowrap;box-shadow:0 1px 2px #0000000d}.condition-expression .cond-field{font-family:SF Mono,Consolas,monospace;color:#7c3aed;font-weight:500}.condition-expression .cond-op{color:#64748b;font-weight:600}.condition-expression .cond-value{color:#059669;font-weight:600}.condition-logic{display:inline;padding:0 4px;font-weight:700;font-size:11px;color:#6366f1}.condition-group-wrap{display:inline;color:#64748b;font-weight:700;font-size:18px}.item-type-option-docs-page{padding:24px;max-width:1400px;margin:0 auto}.item-type-option-docs-header{margin-bottom:20px;text-align:center}.item-type-option-docs-header h1{font-size:2rem;color:#1f2937;margin-bottom:6px}.item-type-option-docs-header p{font-size:.95rem;color:#6b7280;margin-bottom:16px}.copy-all-button{padding:10px 20px;border:2px solid #8b5cf6;border-radius:8px;background:#8b5cf61a;color:#8b5cf6;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;margin-top:12px}.copy-all-button:hover{background:#8b5cf6;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.copy-all-button:active{transform:translateY(0)}.item-type-option-docs-controls{margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.search-input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.filter-tab:hover{border-color:#8b5cf6;color:#8b5cf6;transform:translateY(-1px)}.filter-tab.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff;box-shadow:0 4px 12px #8b5cf64d}.item-type-option-docs-content{display:flex;flex-direction:column;gap:20px}.loading,.error,.no-results{text-align:center;padding:60px 20px;color:#6b7280}.error{color:#dc2626}.item-type-sections{display:flex;flex-direction:column;gap:20px}.category-section{margin-bottom:20px}.category-title{font-size:1.3rem;color:#1f2937;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #e5e7eb;display:flex;align-items:center;gap:8px}.item-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.item-type-card{border:1px solid #e5e7eb;border-radius:8px;padding:12px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #0000001a;transition:all .2s}.item-type-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:#8b5cf6}.item-type-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;gap:8px}.item-type-name{font-size:.9rem;font-weight:600;color:#1f2937;margin:0 0 4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;word-break:break-all;line-height:1.2}.item-type-display-name{font-size:.8rem;color:#6b7280;margin:0;font-weight:500}.category-badge{padding:4px 8px;border-radius:6px;font-size:.9rem;white-space:nowrap;flex-shrink:0;background:#f3e8ff;display:flex;align-items:center;justify-content:center;min-width:28px;height:28px}.item-type-option-section{margin-bottom:10px;padding:8px;background:#f9fafb;border-radius:6px;border-left:3px solid #8b5cf6}.option-label{font-size:.7rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.option-description{font-size:.8rem;color:#1f2937;font-weight:500;margin-bottom:6px;line-height:1.3}.option-example{display:flex;align-items:center;gap:6px;margin-top:6px;padding-top:6px;border-top:1px solid #e5e7eb}.example-label{font-size:.75rem;color:#6b7280;font-weight:500}.example-value{font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:#fff;padding:3px 8px;border-radius:4px;border:1px solid #e5e7eb;color:#8b5cf6;font-weight:500;font-size:.75rem}.item-type-meaning{padding-top:8px;border-top:1px solid #f3f4f6}.meaning-label{font-size:.7rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.meaning-text{font-size:.8rem;color:#374151;line-height:1.4;margin:0}.master-type-name{font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#8b5cf6;font-weight:500;margin-left:4px}@media (max-width: 768px){.item-type-option-docs-page{padding:16px}.item-type-option-docs-header h1{font-size:2rem}.item-type-grid{grid-template-columns:1fr}.filter-tabs{justify-content:flex-start;overflow-x:auto;padding-bottom:8px}.item-type-card-header{flex-direction:column;align-items:flex-start;gap:8px}.category-badge{align-self:flex-start}}.matching-monitor-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.page-header h1{margin:0;font-size:24px;font-weight:600;color:#1f2937}.header-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.polling-control{display:flex;align-items:center;gap:8px}.polling-control label{font-size:14px;color:#6b7280}.polling-control select{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background-color:#fff;cursor:pointer}.polling-control select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.refresh-button{padding:8px 16px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .2s}.refresh-button:hover:not(:disabled){background-color:#2563eb}.refresh-button:disabled{background-color:#9ca3af;cursor:not-allowed}.last-updated{font-size:12px;color:#9ca3af}.error-banner{display:flex;align-items:center;gap:8px;padding:12px 16px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:24px}.error-icon{font-size:16px}.error-message{color:#dc2626;font-size:14px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;gap:16px;color:#6b7280}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.summary-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:32px}.summary-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;text-align:center;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{font-size:36px;font-weight:700;color:#1f2937;line-height:1;margin-bottom:8px}.summary-label{font-size:13px;color:#6b7280;font-weight:500}.section{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-bottom:24px}.section h2{margin:0 0 16px;font-size:18px;font-weight:600;color:#1f2937}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.data-table th{background-color:#f9fafb;font-weight:600;color:#374151;white-space:nowrap}.data-table tbody tr:hover{background-color:#f9fafb}.data-table .user-id{font-family:monospace;font-size:12px;color:#6b7280;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table .open-id{font-weight:500;color:#1f2937}.data-table .rate{font-weight:600;color:#3b82f6}.data-table .elapsed{color:#6b7280}.data-table .rate-range{color:#059669;font-weight:500}.empty-state{display:flex;flex-direction:column;align-items:center;padding:48px;gap:12px;color:#9ca3af}.empty-icon{font-size:32px}.events-container{display:flex;flex-direction:column;gap:12px;max-height:600px;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{border-left:4px solid #3b82f6;background-color:#eff6ff}.event-item.event-error{border-left:4px solid #ef4444;background-color:#fef2f2}.event-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.event-icon{font-size:16px}.event-type{font-weight:600;color:#1f2937}.event-time{margin-left:auto;font-size:12px;color:#9ca3af}.event-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 24px}.event-detail{display:flex;gap:8px;font-size:13px}.event-detail.error{grid-column:1 / -1}.detail-label{color:#6b7280;flex-shrink:0}.detail-value{color:#1f2937;font-weight:500}.user-id-small{font-size:11px;color:#9ca3af;margin-left:4px;font-family:monospace}.matched-users{display:flex;flex-direction:column;gap:8px;margin-top:8px}.matched-user{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;text-align:center}.matched-user-label{font-size:11px;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.matched-user-name{font-size:15px;font-weight:600;color:#1f2937;margin-bottom:4px}.matched-user-id{font-size:11px;color:#9ca3af;font-family:monospace;margin-bottom:4px}.matched-user-rate{font-size:13px;color:#3b82f6;font-weight:600}.matched-vs{display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#6b7280;padding:4px 0}@media (max-width: 768px){.matching-monitor-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start}.header-controls{width:100%;justify-content:flex-start}.summary-section{grid-template-columns:repeat(2,1fr)}.summary-value{font-size:28px}.event-body{grid-template-columns:1fr}}.struct-detail-page{padding:24px;max-width:1200px;margin:0 auto}.struct-detail-header{margin-bottom:32px}.back-link{display:inline-flex;align-items:center;color:#3b82f6;text-decoration:none;font-weight:500;margin-bottom:24px;transition:color .2s}.back-link:hover{color:#1d4ed8}.struct-title-section{border:1px solid #e5e7eb;border-radius:12px;padding:24px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #0000001a}.struct-badges{display:flex;gap:8px;margin-bottom:16px}.category-badge{padding:6px 12px;border-radius:6px;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.struct-title{font-size:2.5rem;font-weight:700;color:#1f2937;margin:0 0 16px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;word-break:break-all;line-height:1.2}.struct-description{font-size:1.1rem;color:#6b7280;margin-bottom:20px;line-height:1.6}.struct-stats{display:flex;gap:24px;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:6px;color:#6b7280;font-size:.95rem}.struct-detail-content{display:flex;flex-direction:column;gap:32px}.struct-section{border:1px solid #e5e7eb;border-radius:12px;padding:24px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #0000001a}.section-title{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0 0 16px}.section-description{color:#6b7280;margin-bottom:24px;font-size:.95rem}.fields-table{display:grid;grid-template-columns:1fr 1fr 1fr auto 2fr;gap:0;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.fields-header{display:contents}.fields-header>span{background:#f9fafb;padding:12px 16px;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb;font-size:.875rem}.field-row{display:contents}.field-row>span{padding:12px 16px;border-bottom:1px solid #f3f4f6;display:flex;align-items:center}.field-row:last-child>span{border-bottom:none}.field-name{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500;color:#1f2937}.field-json-name code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:.8rem;color:#6b7280}.field-type-cell code{background:#eff6ff;color:#1e40af;padding:4px 8px;border-radius:4px;font-size:.85rem;font-weight:500}.required-badge{background:#fef3c7;color:#92400e;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.optional-badge{background:#f3f4f6;color:#6b7280;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.field-comment{color:#6b7280;font-size:.9rem;white-space:pre-line}.unity-struct-section{margin-top:0;border-top:1px solid #e5e7eb;padding-top:24px}.unity-struct-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.unity-struct-header-left{display:flex;align-items:center;gap:12px}.unity-struct-header h3{margin:0;color:#374151;font-size:1.2rem}.collapse-button{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:all .2s}.collapse-button:hover{background:#f3f4f6;color:#374151}.copy-button{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.copy-button:hover{background:#2563eb;transform:translateY(-1px)}.unity-struct-code{background:#1f2937;color:#f9fafb;padding:20px;border-radius:8px;overflow-x:auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.6;margin:0}.unity-struct-code code{background:none;color:inherit;padding:0;font-size:inherit}.related-apis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:0 24px 24px;justify-items:center}.related-api-card{border:1px solid #e5e7eb;border-radius:12px;padding:16px 20px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 4px #0000000d;text-decoration:none;color:inherit;transition:all .3s ease;width:100%;max-width:320px;min-height:30px;display:flex;align-items:center}.related-api-card:hover{border-color:#3b82f6;background:#eff6ffe6;transform:translateY(-3px);box-shadow:0 4px 12px #3b82f626}.api-card-content{display:flex;justify-content:space-between;align-items:center;width:100%}.api-name{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:600;color:#1f2937;font-size:.95rem;flex:1}.api-link-icon{color:#3b82f6;font-weight:700;font-size:1.2rem;margin-left:12px;transition:transform .2s ease}.related-api-card:hover .api-link-icon{transform:translate(4px)}.api-section{border:1px solid #e5e7eb;border-radius:12px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #0000001a;overflow:hidden;margin-bottom:24px}.section-title{background:#f8fafccc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px 24px;margin:0;font-size:1.5rem;color:#1f2937;font-weight:600;border-bottom:1px solid rgba(229,231,235,.8)}.section-description{color:#6b7280;margin:16px 24px 24px;font-size:.95rem}.type-definition{border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-bottom:24px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #0000001a;scroll-margin-top:80px}.type-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.type-header-left{display:flex;align-items:center;gap:12px}.type-name{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.type-badges{display:flex;gap:8px}.type-badge{padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.type-badge.entity{background:#dbeafe;color:#1e40af}.type-badge.args{background:#fef3c7;color:#92400e}.type-badge.reply{background:#d1fae5;color:#065f46}.type-badge.custom{background:#e0e7ff;color:#3730a3}.type-comment{color:#6b7280;margin-bottom:16px;font-style:italic;white-space:pre-line}.values-table{display:grid;grid-template-columns:2fr 1fr 2fr;gap:0;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.values-header{display:contents}.values-header>span{background:#f9fafb;padding:12px 16px;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb;font-size:.875rem}.value-row{display:contents}.value-row>span{padding:12px 16px;border-bottom:1px solid #f3f4f6;display:flex;align-items:center}.value-row:last-child>span{border-bottom:none}.value-name{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500;color:#1f2937}.value-value code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:#f3f4f6;padding:2px 6px;border-radius:3px;font-size:.875rem}.value-comment{color:#6b7280;font-size:.875rem;white-space:pre-line}@media (max-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{display:block;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;background:#fff}.field-row>span{display:block;padding:8px 12px;border-bottom:1px solid #f3f4f6}.field-row>span:last-child{border-bottom:none}.field-row>span:before{content:attr(data-label) ": ";font-weight:600;color:#6b7280;font-size:.8rem;display:block;margin-bottom:4px}.unity-struct-header{flex-direction:column;align-items:flex-start;gap:12px}.related-apis-grid{grid-template-columns:1fr;padding:12px 16px 16px;gap: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{display:block;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;background:#fff}.value-row>span{display:block;padding:8px 12px;border-bottom:1px solid #f3f4f6}.value-row>span:last-child{border-bottom:none}.value-row>span:before{content:attr(data-label) ": ";font-weight:600;color:#6b7280;font-size:.8rem;display:block;margin-bottom:4px}}.StructDocs-page{padding:24px;max-width:1200px;margin:0 auto}.StructDocs-header{margin-bottom:32px;text-align:center}.StructDocs-header h1{font-size:2.5rem;color:#1f2937;margin-bottom:8px}.StructDocs-header p{font-size:1.1rem;color:#6b7280}.StructDocs-controls{margin-bottom:32px;display:flex;flex-direction:column;gap:20px}.search-box{display:flex;justify-content:center}.search-input{width:100%;max-width:500px;padding:12px 20px;border:2px solid #e5e7eb;border-radius:25px;font-size:1rem;transition:all .2s;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.filter-tab{padding:10px 20px;border:2px solid #e5e7eb;border-radius:20px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#6b7280;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-tab:hover{border-color:#3b82f6;color:#3b82f6;transform:translateY(-1px)}.filter-tab.active{background:#3b82f6;border-color:#3b82f6;color:#fff;box-shadow:0 4px 12px #3b82f64d}.StructDocs-content{display:flex;flex-direction:column;gap:40px}.no-results{text-align:center;padding:60px 20px;color:#6b7280}.struct-category-group{margin-bottom:40px}.category-title{font-size:1.8rem;color:#1f2937;margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid #e5e7eb;display:flex;align-items:center;gap:12px}.struct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.struct-card{border:1px solid #e5e7eb;border-radius:16px;padding:24px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a;transition:all .3s;text-decoration:none;color:inherit;display:block}.struct-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026;border-color:#3b82f6}.struct-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px}.struct-name{font-size:1.3rem;font-weight:600;color:#1f2937;margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;word-break:break-all;line-height:1.3}.category-badge{padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:600;white-space:nowrap;flex-shrink:0}.category-badge.entity{background:#dbeafe;color:#1e40af}.category-badge.args{background:#dcfce7;color:#166534}.category-badge.reply{background:#fef3c7;color:#92400e}.category-badge.custom{background:#f3e8ff;color:#7c3aed}.category-badge.dto{background:#fef3c7;color:#b45309}.category-badge.streaming_args{background:#fae8ff;color:#86198f}.category-badge.streaming_reply{background:#fce7f3;color:#9d174d}.category-badge.streaming_session{background:#ede9fe;color:#6b21a8}.category-badge.streaming_hub_event{background:#e0e7ff;color:#4338ca}.struct-comment{color:#6b7280;margin-bottom:16px;line-height:1.5;font-size:.95rem}.struct-stats{display:flex;gap:16px;margin-bottom:16px;font-size:.9rem;color:#6b7280}.field-count,.api-count{display:flex;align-items:center;gap:4px}.struct-preview{border-top:1px solid #f3f4f6;padding-top:16px}.field-preview{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:.85rem}.field-name{font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#374151;font-weight:500}.field-type{font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#6b7280;background:#f9fafb;padding:2px 6px;border-radius:4px}.more-fields{color:#9ca3af;font-size:.8rem;text-align:center;padding:8px 0 4px;font-style:italic}@media (max-width: 768px){.StructDocs-page{padding:16px}.StructDocs-header h1{font-size:2rem}.struct-grid{grid-template-columns:1fr}.filter-tabs{justify-content:flex-start;overflow-x:auto;padding-bottom:8px}.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{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.announce-detail-header h1{margin:0;color:#1f2937;font-size:1.25rem;font-weight:700}.announce-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.announce-detail-content{background-color:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:20px}.detail-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #f3f4f6}.detail-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.section-title{margin:0 0 16px;color:#374151;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:8px}.section-title:before{content:"";display:inline-block;width:4px;height:16px;background-color:#3b82f6;border-radius:2px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.detail-item{display:flex;padding:8px 12px;background-color:#f9fafb;border-radius:4px}.detail-item label{flex:0 0 120px;font-weight:600;color:#374151;margin-right:12px}.detail-item span{flex:1;color:#1f2937;word-break:break-all}.status-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.platform-badges{display:flex;gap:12px;flex-wrap:wrap}.platform-badge{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;border-radius:8px;font-size:.875rem;font-weight:500}.platform-badge.enabled{background-color:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.platform-badge.disabled{background-color:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.image-subsection{margin-bottom:16px}.image-subsection:last-child{margin-bottom:0}.image-subsection h3{margin:0 0 12px;color:#4b5563;font-size:.875rem;font-weight:600}.no-data{color:#9ca3af;font-style:italic;margin:0}.image-field-container{display:flex;flex-direction:column;gap:12px}.image-field-json{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;padding:8px 12px;overflow-x:auto}.image-field-json pre{margin:0;font-size:.75rem;color:#374151;font-family:SF Mono,Monaco,Cascadia Mono,Segoe UI Mono,Roboto Mono,monospace;white-space:pre-wrap;word-break:break-all}.image-field-preview{display:flex;justify-content:flex-start}.image-field-gallery{display:flex;flex-wrap:wrap;gap:12px}.image-field-item{display:flex;flex-direction:column;align-items:center;gap:4px}.image-field-name{font-size:.7rem;color:#6b7280;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.content-images-list{display:flex;flex-direction:column;gap:16px}.content-image-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.content-image-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;background-color:#f3f4f6;border-bottom:1px solid #e5e7eb}.content-image-index{font-weight:700;color:#3b82f6;font-size:.875rem}.content-image-keyname{font-size:.8rem;color:#374151}.content-image-keyname code{background-color:#dbeafe;color:#1e40af;padding:2px 6px;border-radius:4px;font-family:SF Mono,Monaco,monospace;font-weight:600}.content-image-usage{font-size:.75rem;color:#6b7280}.content-image-usage code{background-color:#e5e7eb;color:#374151;padding:2px 6px;border-radius:4px;font-family:SF Mono,Monaco,monospace}.content-image-body{display:flex;gap:16px;padding:14px;align-items:flex-start}.content-image-preview{flex-shrink:0}.content-image-json{flex:1;background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:10px 12px;overflow-x:auto}.content-image-json pre{margin:0;font-size:.75rem;color:#374151;font-family:SF Mono,Monaco,Cascadia Mono,Segoe UI Mono,Roboto Mono,monospace;white-space:pre-wrap;word-break:break-all}@media (max-width: 600px){.content-image-body{flex-direction:column}.content-image-header{flex-direction:column;align-items:flex-start;gap:8px}}.preview-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid #e5e7eb;padding-bottom:0}.preview-tab{padding:10px 20px;border:none;background-color:transparent;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;margin-bottom:-2px}.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{background-color:#f9fafb;padding:8px 16px;font-size:.75rem;color:#6b7280;border-bottom:1px solid #e5e7eb}.preview-content{padding:20px;min-height:200px;line-height:1.8;color:#1f2937}.preview-content h1{font-size:1.5rem;margin:0 0 16px;color:#111827}.preview-content h2{font-size:1.25rem;margin:16px 0 12px;color:#1f2937}.preview-content h3{font-size:1rem;margin:12px 0 8px;color:#374151}.preview-content strong{font-weight:600}.preview-content em{font-style:italic}.preview-content code{background-color:#f3f4f6;padding:2px 6px;border-radius:4px;font-family:SF Mono,Monaco,monospace;font-size:.875em}.preview-content pre{background-color:#1f2937;color:#f3f4f6;padding:16px;border-radius:8px;overflow-x:auto}.preview-content pre code{background-color:transparent;padding:0;color:inherit}.preview-content a{color:#3b82f6;text-decoration:none}.preview-content a:hover{text-decoration:underline}.preview-content img{max-width:100%;height:auto;border-radius:8px}.preview-content li{margin-left:20px;margin-bottom:4px}.raw-content-section{margin-top:20px}.raw-content-section h3{margin:0 0 12px;color:#4b5563;font-size:.875rem;font-weight:600}.raw-content{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;padding:16px;margin:0;font-size:.8rem;color:#374151;font-family:SF Mono,Monaco,Cascadia Mono,Segoe UI Mono,Roboto Mono,monospace;white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto}.empty-state{padding:48px 24px;text-align:center;color:#6b7280}.empty-state p{margin-bottom:16px;font-size:1rem}.btn{padding:6px 12px;border:none;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;line-height:1.4}.btn-secondary:hover:not(:disabled){background-color:#4b5563}.btn-danger:hover:not(:disabled){background-color:#b91c1c}.btn-outline{background-color:transparent;color:#374151;border:1px solid #d1d5db}.btn-outline:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}@media (max-width: 768px){.announce-detail-header{flex-direction:column;align-items:flex-start;gap:12px}.announce-detail-actions{width:100%;justify-content:flex-start}.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{border:1px solid #e5e7eb;border-radius:8px;padding:16px;background:#fff}.image-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.image-manager-title{margin:0;font-size:18px;font-weight:600;color:#111827}.image-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.image-empty{grid-column:1 / -1;text-align:center;padding:48px;color:#6b7280;font-size:14px}.image-item{border:1px solid #e5e7eb;border-radius:8px;padding:12px;background:#f9fafb;display:flex;flex-direction:column;gap:12px}.image-preview{width:100%;aspect-ratio:16 / 9;background:#fff;border:1px solid #e5e7eb;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}.image-preview img{width:100%;height:100%;object-fit:contain}.image-loading,.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:14px}.btn-load-preview{padding:8px 16px;background-color:#3b82f6;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.btn-load-preview:hover{background-color:#2563eb}.image-info{display:flex;flex-direction:column;gap:8px}.image-info-row{display:flex;gap:8px;font-size:14px}.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{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;align-items:center}.platform-tag-buttons{display:flex;gap:4px;flex-wrap:wrap}.btn-outline{background-color:transparent;border:1px solid #d1d5db;color:#374151}.btn-outline:hover{background-color:#f9fafb;border-color:#9ca3af;color:#111827}.image-warning{font-size:11px;color:#f59e0b;font-weight:500;padding:4px 8px;background:#fef3c7;border-radius:4px}.image-edit-form{display:flex;flex-direction:column;gap:12px}.image-edit-form .form-field{display:flex;flex-direction:column;gap:4px}.image-edit-form label{font-size:12px;font-weight:500;color:#374151}.image-edit-form input,.image-edit-form select{padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:14px}.image-edit-form .size-input-group{display:flex;gap:8px}.image-edit-form .size-input-group input{flex:1}.image-edit-form .size-input-group select{width:80px}.image-edit-form .form-actions{display:flex;gap:8px;margin-top:4px}.btn{padding:6px 12px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.btn-sm{padding:4px 8px;font-size:11px}.btn-primary:hover{background-color:#2563eb}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover{background-color:#4b5563}.btn-danger{background-color:#dc2626;color:#fff}.btn-danger:hover{background-color:#b91c1c}.btn-delete-overlay{position:absolute;top:8px;right:8px;width:32px;height:32px;padding:0;background-color:#dc2626f2;color:#fff;border:none;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 6px #0000004d;z-index:10}.btn-delete-overlay svg{width:16px;height:16px;stroke:#fff}.btn-delete-overlay:hover{background-color:#b91c1c;transform:scale(1.1);box-shadow:0 4px 8px #0006}.image-uploader{display:inline-block}.upload-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.upload-button:hover:not(:disabled){background-color:#2563eb}.upload-button:disabled{opacity:.6;cursor:not-allowed}.upload-icon{font-size:18px}.upload-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.announce-form-page{padding:24px;max-width:1200px;margin:0 auto;background:transparent}.announce-form-container{background:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid #e5e7eb;padding:32px;color:#111827}.announce-form-header{border-bottom:2px solid #d1d5db;background:linear-gradient(to right,#f9fafb,#fff);padding:24px;margin:-32px -32px 32px;border-radius:8px 8px 0 0}.announce-form-header h1{font-size:28px;font-weight:600;color:#111827;margin:0 0 8px}.form-description{color:#6b7280;font-size:14px;margin:0}.announce-form{display:flex;flex-direction:column;gap:20px}.form-section{display:flex;flex-direction:column;gap:16px;background:#f9fafb;padding:20px;border-radius:8px;border:1px solid #e5e7eb}.section-title{font-size:20px;font-weight:600;color:#111827;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #d1d5db}.form-field{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:500;color:#374151}.form-label .required{color:#ef4444;margin-left:4px}.form-input,.form-select{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background-color:#fff;color:#111827;transition:border-color .2s,box-shadow .2s}.form-input::placeholder,.form-select::placeholder{color:#9ca3af}.form-input:focus,.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;color:#111827}.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;font-size:12px;margin-top:-4px}.field-help{color:#6b7280;font-size:12px;margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.checkbox-group{display:flex;gap:24px;flex-wrap:wrap}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#374151}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.form-actions{display:flex;justify-content:flex-end;gap:12px;border-top:2px solid #d1d5db;background:#f9fafb;padding:24px;margin:32px -32px -32px;border-radius:0 0 8px 8px}.btn{padding:10px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary{background-color:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.loading{text-align:center;padding:48px;color:#6b7280;font-size:16px}.image-preview-card{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.image-preview-info{display:flex;flex-direction:column;gap:4px}.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{display:flex;flex-direction:column;gap:16px}.usage-step{display:flex;gap:12px;align-items:flex-start}.step-number{flex-shrink:0;width:28px;height:28px;background:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.step-content{flex:1}.step-content strong{display:block;color:#111827;font-size:14px;font-weight:600;margin-bottom:4px}.step-content p{margin:4px 0;color:#374151;font-size:13px;line-height:1.6}.insert-methods{margin:8px 0 8px 20px;padding:0;color:#374151;font-size:13px}.insert-methods li{margin:4px 0}.step-content code{background:#e5e7eb;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:12px;color:#111827}.step-content .example{margin-top:8px;padding:8px;background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:12px;color:#111827}.step-content .note{margin-top:8px;padding:8px;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:4px;font-size:12px;color:#92400e}.content-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:2px solid #e5e7eb}.content-tab{padding:12px 20px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:#6b7280;transition:all .2s;margin-bottom:-2px}.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;padding:12px;margin-bottom:16px}.tab-description p{margin:0;font-size:13px;color:#0369a1;line-height:1.6}.tab-description strong{color:#111827}.platform-explanation-collapsible{margin-bottom:20px}.platform-explanation-collapsible details{border:1px solid #d1d5db;border-radius:6px;background:#fff}.platform-explanation-summary{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;list-style:none;font-weight:500;color:#374151;-webkit-user-select:none;user-select:none}.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{padding:16px;border-top:1px solid #e5e7eb;background:#f9fafb}.platform-explanation-content h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#111827}.platform-explanation-content h4:not(:first-child){margin-top:16px}.platform-explanation-content p{margin:0 0 12px;font-size:13px;line-height:1.6;color:#374151}.platform-explanation-content ul{margin:8px 0 12px 20px;padding:0;font-size:13px;line-height:1.6;color:#374151}.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;padding:12px;margin-top:8px}.example-box p{margin:0 0 4px;font-size:12px;font-weight:600;color:#111827}.example-box pre{margin:0 0 12px;padding:8px;background:#f3f4f6;border-radius:4px;font-size:12px;font-family:Courier New,monospace;color:#111827;white-space:pre-wrap;word-wrap:break-word}.example-box pre:last-child{margin-bottom:0}.announce-list-page{padding:24px}.announce-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.announce-list-header h1{margin:0;font-size:1.5rem;font-weight:600;color:#1f2937}.announce-list-actions{display:flex;gap:12px;align-items:center}.announce-list-content{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.announce-empty-state{padding:48px;text-align:center;color:#6b7280}.announce-empty-state p{margin-bottom:16px}.announce-list-table-container{overflow-x:auto}.announce-list-table{width:100%;border-collapse:collapse}.announce-list-table th,.announce-list-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.announce-list-table th{background-color:#f9fafb;font-weight:600;color:#374151;font-size:.875rem}.announce-list-table tbody tr:hover{background-color:#f9fafb}.col-image{width:64px;text-align:center}.col-title{min-width:200px}.col-category{width:120px}.col-period{width:180px}.col-platforms{width:100px;text-align:center}.col-status{width:80px;text-align:center}.col-actions{width:180px}.announce-title-link{color:#4f46e5;text-decoration:none;font-weight:500}.announce-title-link:hover{text-decoration:underline}.platform-icons{display:flex;gap:4px;justify-content:center}.platform-icons span{font-size:1.1rem}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.status-badge.enabled{background-color:#d1fae5;color:#065f46}.status-badge.disabled{background-color:#fee2e2;color:#991b1b}.btn{padding:8px 16px;border-radius:6px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease}.btn-sm{padding:4px 8px;font-size:.75rem}.btn-primary{background-color:#4f46e5;color:#fff}.btn-primary:hover{background-color:#4338ca}.btn-secondary{background-color:#e5e7eb;color:#374151}.btn-secondary:hover{background-color:#d1d5db}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover{background-color:#dc2626}@media (max-width: 768px){.announce-list-header{flex-direction:column;gap:16px;align-items:flex-start}.announce-list-table th,.announce-list-table td{padding:8px 12px}.col-category,.col-period,.col-platforms{display:none}.action-buttons{flex-direction:column;gap:4px}}.developer-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{font-size:28px;font-weight:600;color:#1a1a1a;margin:0}.header-actions{display:flex;gap:12px}.loading{text-align:center;padding:48px;font-size:16px;color:#666}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33;padding:12px 16px;border-radius:4px;margin-bottom:16px}.developers-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.developers-table{width:100%;border-collapse:collapse}.developers-table thead{background-color:#f8f9fa;border-bottom:2px solid #e9ecef}.developers-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#495057}.developers-table td{padding:12px 16px;border-bottom:1px solid #e9ecef;font-size:14px;color:#212529}.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{display:flex;flex-wrap:wrap;gap:4px}.role-badge{display:inline-block;padding:2px 8px;background-color:#e7f3ff;color:#06c;border-radius:12px;font-size:12px;font-weight:500}.no-roles{color:#999;font-size:12px;font-style:italic}.action-buttons{display:flex;gap:8px}.btn{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background-color:#06c;color:#fff}.btn-primary:hover{background-color:#0052a3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.btn-danger{background-color:#dc3545;color:#fff}.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{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.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{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef}.modal-header h2{font-size:20px;font-weight:600;margin:0}.modal-close{background:none;border:none;font-size:28px;color:#6c757d;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background-color:#f8f9fa}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e9ecef}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;font-size:14px;color:#212529}.required{color:#dc3545;margin-left:4px}.form-input{width:100%;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;transition:border-color .2s}.form-input:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.form-input:disabled{background-color:#e9ecef;cursor:not-allowed}.form-help{display:block;margin-top:4px;font-size:12px;color:#6c757d}.roles-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s}.checkbox-label:hover{background-color:#f8f9fa}.checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.checkbox-label span{font-size:14px;color:#212529}.checkbox-column{width:40px;text-align:center}.selected-developers-list{max-height:150px;overflow-y:auto;border:1px solid #e9ecef;border-radius:4px;padding:8px;background-color:#f8f9fa}.selected-developer-item{padding:6px 8px;font-size:13px;color:#495057;border-bottom:1px solid #dee2e6}.selected-developer-item:last-child{border-bottom:none}.selected-developer-item.truncated{font-style:italic;color:#6c757d;text-align:center;font-weight:500}.environments-checkboxes{display:flex;flex-direction:column;gap:8px}.copy-description{margin-top:16px;padding:12px;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-size:13px;color:#856404;line-height:1.5}.maintenance-page{padding:24px;max-width:1400px;margin:0 auto}.maintenance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.maintenance-header h1{font-size:24px;font-weight:700;color:#1f2937;margin:0;display:flex;align-items:center;gap:12px}.maintenance-header-actions{display:flex;align-items:center;gap:12px}.maintenance-status-banner{padding:16px 20px;border-radius:12px;margin-bottom:24px;display:flex;align-items:center;gap:12px;font-weight:600}.maintenance-status-banner.active{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;color:#92400e}.maintenance-status-banner.inactive{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #10b981;color:#065f46}.maintenance-status-banner .status-icon{font-size:24px}.maintenance-status-banner .status-text{font-size:16px}.maintenance-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.maintenance-card{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;position:relative}.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{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7eb}.maintenance-card-header.active{background:linear-gradient(135deg,#fef3c7,#fde68a)}.maintenance-card-header.inactive{background:#f9fafb}.maintenance-card-header.placeholder{background:#f3f4f6}.maintenance-card-title{display:flex;align-items:center;gap:10px}.maintenance-card-title h3{margin:0;font-size:18px;font-weight:700;color:#1f2937}.maintenance-card-title .type-icon{font-size:24px}.status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:#f59e0b;color:#fff;animation:pulse 2s infinite}.status-badge.scheduled{background:#3b82f6;color:#fff}.status-badge.inactive{background:#6b7280;color:#fff}.status-badge.not-set{background:#e5e7eb;color:#6b7280}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.maintenance-card-body{padding:20px}.maintenance-period{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.period-row{display:flex;align-items:center;gap:10px}.period-label{font-size:12px;font-weight:600;color:#6b7280;min-width:60px}.period-value{font-size:14px;font-weight:500;color:#1f2937;background:#f3f4f6;padding:6px 12px;border-radius:6px;flex:1}.period-value.forever{color:#6b7280;font-style:italic}.maintenance-platforms{display:flex;gap:12px;margin-bottom:16px;padding:12px;background:#f9fafb;border-radius:8px}.platform-item{display:flex;align-items:center;gap:6px;font-size:14px}.platform-item .platform-icon{font-size:18px}.platform-item.enabled{color:#059669;font-weight:600}.platform-item.disabled{color:#9ca3af}.maintenance-toggle{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f9fafb;border-radius:8px;margin-bottom:16px}.toggle-label{font-size:14px;font-weight:600;color:#374151}.toggle-switch{position:relative;width:48px;height:26px;background:#d1d5db;border-radius:13px;cursor:pointer;transition:background .2s ease}.toggle-switch.enabled{background:#10b981}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 2px 4px #0003}.toggle-switch.enabled:after{transform:translate(22px)}.maintenance-card-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid #e5e7eb}.maintenance-card-actions .btn{flex:1;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.maintenance-card-actions .btn-edit{background:#3b82f6;color:#fff}.maintenance-card-actions .btn-edit:hover{background:#2563eb}.maintenance-card-actions .btn-create{background:#10b981;color:#fff}.maintenance-card-actions .btn-create:hover{background:#059669}.maintenance-card-actions .btn-delete{background:#ef4444;color:#fff;flex:0 0 auto;padding:10px 14px}.maintenance-card-actions .btn-delete:hover{background:#dc2626}.maintenance-card.is-placeholder .maintenance-card-body{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;text-align:center}.placeholder-text{color:#9ca3af;font-size:14px;margin-bottom:16px}.time-remaining{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fef3c7;border-radius:6px;font-size:13px;color:#92400e;margin-top:12px}.time-remaining .clock-icon{font-size:16px}.progress-bar-container{margin-top:12px}.progress-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#ef4444);border-radius:3px;transition:width .5s ease}.indefinite-checkbox-container{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0ea5e9;border-radius:8px;padding:12px 16px;margin-bottom:8px}.indefinite-checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.indefinite-checkbox{width:18px;height:18px;accent-color:#0ea5e9;cursor:pointer}.indefinite-checkbox-text{font-size:14px;font-weight:600;color:#0369a1}@media (max-width: 768px){.maintenance-cards{grid-template-columns:1fr}.maintenance-header{flex-direction:column;gap:16px;align-items:flex-start}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;background-color:#fff;min-width:320px;width:100%;height:100vh;overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;color:inherit;cursor:pointer;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}}
