@font-face{font-family:Cooper;src:url(/fonts/webfonts/Cooper-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cooper;src:url(/fonts/webfonts/Cooper-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Cooper;src:url(/fonts/webfonts/Cooper-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Cooper;src:url(/fonts/webfonts/Cooper-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Cooper;src:url(/fonts/webfonts/Cooper-ExtraBold.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Cooper;src:url(/fonts/webfonts/Cooper-Black.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--primary: #c99700;--primary-light: #f4b942;--primary-glow: #ffbf00;--primary-dark: #7a5c00;--primary-foreground: #ffffff;--secondary: #1e40af;--secondary-light: #3b82f6;--background: #faf8f5;--foreground: #111827;--muted: #4a4f57;--muted-foreground: #9ca3af;--accent: #fff8e1;--accent-foreground: #92400e;--success: #22c55e;--success-light: #dcfce7;--warning: #f59e0b;--warning-light: #fef3c7;--error: #ef4444;--error-light: #fee2e2;--border: #e5e7eb;--border-light: #f3f4f6;--card: #ffffff;--card-hover: #fafafa;--radius: .75rem;--radius-lg: 1rem;--radius-full: 9999px;--shadow-soft: 0 2px 8px rgba(0, 0, 0, .08);--shadow-medium: 0 4px 16px rgba(0, 0, 0, .12);--shadow-strong: 0 8px 32px rgba(0, 0, 0, .16);--shadow-glow: 0 0 24px rgba(201, 151, 0, .3);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--font-display: "Cooper", Georgia, "Times New Roman", serif;--font-body: "Work Sans", sans-serif;--gradient-hero: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);--gradient-card: linear-gradient(180deg, var(--card) 0%, var(--background) 100%);--gradient-gold: linear-gradient(135deg, #c99700 0%, #f4b942 50%, #ffbf00 100%)}html,body{overflow-x:hidden}body{margin:0;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background);color:var(--foreground)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hero-animate-1{animation:fadeInUp .7s ease-out both}.hero-animate-2{animation:fadeInUp .7s ease-out .15s both}.hero-animate-3{animation:fadeInUp .7s ease-out .3s both}.hero-animate-4{animation:fadeIn .9s ease-out .4s both}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading-container,.error-container{min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--background);color:var(--foreground);gap:16px;padding:60px 20px}.loading-container p,.error-container p{font-size:1.1rem;color:var(--muted);margin:0}.error-container p{color:var(--error);background:var(--error-light);padding:16px 24px;border-radius:var(--radius);border:1px solid var(--error)}.loading-spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background);color:var(--muted);font-size:1.1rem}.auth-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--background);gap:32px}.auth-loading-logo{max-width:200px;height:auto}.App{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;min-height:100vh;background:var(--background)}.App-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--card);border-bottom:1px solid var(--border);box-shadow:var(--shadow-soft);position:sticky;top:0;z-index:100}.App-header h1{margin:0;color:var(--primary);font-size:1.5rem;font-weight:700}.header-logo-link{text-decoration:none;color:inherit}.header-logo-img{height:36px;width:auto;object-fit:contain}.header-logo-link:hover .header-logo-img{opacity:.8}.App-content{padding:24px;max-width:1400px;margin:0 auto}button{background:var(--primary);color:#fff;border:none;border-radius:var(--radius);padding:10px 20px;cursor:pointer;font-size:.95rem;font-weight:600;transition:var(--transition-smooth)}button:hover{background:var(--primary-light);transform:translateY(-1px);box-shadow:var(--shadow-soft)}button:disabled{background:var(--muted-foreground);cursor:not-allowed;transform:none;box-shadow:none}.logout-button{background:transparent;color:var(--muted-foreground);border:1px solid var(--border);padding:10px 20px;border-radius:var(--radius-full);font-size:.9rem;font-weight:500;cursor:pointer}.logout-button:hover{background:var(--muted);color:var(--foreground);transform:translateY(-1px)}.home-button{background:transparent;color:var(--primary);border:2px solid var(--primary)}.home-button:hover{background:var(--primary);color:#fff}.submit-button{background:var(--success)}.submit-button:hover{background:#16a34a}.action-button{margin-right:10px;margin-bottom:10px}.action-button.secondary{background:var(--warning)}.action-button.secondary:hover{background:#d97706}.add-button{background-color:#9c27b0;margin-right:10px}.add-button:hover{background-color:#7b1fa2}.login-container{max-width:400px;margin:100px auto;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a;text-align:center;background-color:#fff}.login-button{background-color:#4285f4;color:#fff;border:none;padding:12px 24px;border-radius:4px;font-size:16px;cursor:pointer;margin-top:20px}.profile-container{max-width:600px;margin:40px auto;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a;background-color:#fff}.user-info{margin:20px 0;padding:15px;background-color:#f5f5f5;border-radius:4px}.book-list-container{padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a}.header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header-buttons{display:flex;gap:10px;align-items:center}.book-table{width:100%;border-collapse:collapse;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.book-table th,.book-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #ddd}.book-table th{background-color:#f5f5f5;font-weight:500}.book-table tr{cursor:pointer;transition:background-color .2s}.book-table tr:hover{background-color:#f9f9f9}.book-select{margin-top:20px}.book-select select{width:100%;padding:8px;border-radius:4px;border:1px solid #ddd;margin-top:5px}.new-book-button{background-color:#4caf50}.new-book-button:hover{background-color:#388e3c}.upload-button{background-color:#e67e22;color:#fff}.upload-button:hover{background-color:#d35400}.book-detail-container,.create-book-container{padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a}.create-book-form{margin-top:20px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px;border-radius:4px;border:1px solid #ddd;font-size:1rem}.form-check{display:flex;align-items:center;margin-bottom:15px}.form-check input{margin-right:10px}.form-actions{margin-top:20px}.error-message{color:#d32f2f;background-color:#ffebee;padding:10px;border-radius:4px;margin-bottom:15px}.character-card,.arc-card{border:1px solid #ddd;border-radius:4px;margin-bottom:15px;overflow:hidden}.character-header,.arc-header{background-color:#f5f5f5;padding:10px 15px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.character-header h4,.arc-header h4{margin:0}.character-details,.arc-details{padding:15px}.protagonist-section,.personality-section{border:1px solid #eaeaea;border-radius:4px;padding:15px;margin-bottom:15px}.protagonist-section h5,.personality-section h5{margin-top:0;margin-bottom:10px}.action-buttons{margin-top:20px;display:flex;justify-content:flex-start}.scenes-section,.book-upload-section,.intent-analysis-section,.genre-definition-section,.character-definition-section,.arc-definition-section,.theme-definition-section,.structure-analysis-section,.scene-analysis-section,.edition-section,.intent-analysis-request-section,.structure-analysis-request-section,.scene-analysis-request-section{margin-top:20px;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.scenes-list{margin-top:20px}.scene-details{border:1px solid #ddd;border-radius:4px;margin-bottom:10px;overflow:hidden}.scene-details summary{padding:10px 15px;background-color:#f5f5f5;cursor:pointer}.scene-content{padding:15px}.analysis-details{border:1px solid #ddd;border-radius:4px;margin-bottom:10px;overflow:hidden}.analysis-details summary{padding:10px 15px;background-color:#f5f5f5;cursor:pointer}.analysis-content{padding:15px;max-height:500px;overflow-y:auto}.analysis-content pre{white-space:pre-wrap;word-break:break-word}.dev-info{background-color:#fff9c4;padding:8px 12px;border-radius:4px;margin-bottom:15px;font-size:.9rem}.multi-select{height:100px;overflow-y:auto}.factors-display{background-color:#f5f5f5;padding:15px;border-radius:4px;overflow-x:auto;white-space:pre-wrap;font-family:monospace}.tab-nav{display:flex;border-bottom:1px solid #ddd;margin-bottom:20px;background-color:#fff;border-radius:4px 4px 0 0;overflow:hidden}.tab-button{flex:1;padding:12px 20px;background-color:#f5f5f5;border:none;border-right:1px solid #ddd;cursor:pointer;font-size:14px;font-weight:500;color:#666;transition:all .2s ease}.tab-button:last-child{border-right:none}.tab-button:hover{background-color:#e9ecef;color:#333}.tab-button.active{background-color:#4285f4;color:#fff}.tab-content{background-color:#fff;padding:20px;border-radius:0 0 4px 4px;min-height:300px}.access-tab{padding:20px 0}.access-header{margin-bottom:30px;text-align:center}.access-header h3{margin:0 0 10px;color:#333;font-size:24px}.access-description{color:#666;font-size:16px;margin:0}.access-sections{display:flex;flex-direction:column;gap:25px}.access-section{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.access-section h4{margin:0 0 20px;color:#333;font-size:18px;border-bottom:2px solid #4285f4;padding-bottom:10px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px;background-color:#fff;border-radius:8px;border:2px solid #e0e0e0;transition:all .2s ease}.stat-item:hover{border-color:#4285f4;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.stat-item label{font-weight:600;color:#555;font-size:14px;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:32px;font-weight:700;color:#4285f4;line-height:1}.info-item{display:flex;flex-direction:column;gap:5px}.info-item label{font-weight:600;color:#555;font-size:14px}.info-item span{color:#333;font-size:16px}.state-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.state-in_book_upload{background-color:#ff9800;color:#fff}.state-locked_for_analysis{background-color:#f44336;color:#fff}.state-in_edition{background-color:#4caf50;color:#fff}.permissions-grid{display:flex;flex-direction:column;gap:15px}.permission-item{display:flex;align-items:center;gap:15px}.permission-item label{font-weight:600;color:#555;min-width:120px}.permission-tags{display:flex;gap:8px;flex-wrap:wrap}.permission-tag{padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500;text-transform:capitalize}.permission-tag.read{background-color:#e3f2fd;color:#1976d2;border:1px solid #bbdefb}.permission-tag.write{background-color:#e8f5e8;color:#2e7d32;border:1px solid #c8e6c9}.permission-tag.delete{background-color:#ffebee;color:#c62828;border:1px solid #ffcdd2}.edition-access,.no-edition{padding:15px;background-color:#fff;border-radius:6px;border-left:4px solid #4285f4}.edition-access p,.no-edition p{margin:5px 0;color:#333}.access-actions{display:flex;gap:15px;flex-wrap:wrap}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.btn-primary{background-color:#4285f4;color:#fff}.btn-primary:hover{background-color:#3367d6}.btn-secondary{background-color:#ff9800;color:#fff}.btn-secondary:hover{background-color:#f57c00}.btn-outline{background-color:transparent;color:#4285f4;border:2px solid #4285f4}.btn-outline:hover{background-color:#4285f4;color:#fff}.access-tab-loading,.access-tab-error,.access-tab-no-data{text-align:center;padding:40px 20px;color:#666;font-size:16px}.access-tab-error{color:#f44336}.author-access-form{padding:20px 0}.form-header{margin-bottom:25px;text-align:center}.form-header h4{margin:0 0 10px;color:#333;font-size:20px}.form-description{color:#666;font-size:14px;margin:0}.access-form{display:flex;flex-direction:column;gap:25px}.form-section{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.form-section h5{margin:0 0 15px;color:#333;font-size:16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-header h5{margin:0}.select-all-btn{background-color:#f0f0f0;color:#333;border:1px solid #ddd;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.select-all-btn:hover{background-color:#e0e0e0}.form-label{display:block;font-weight:600;color:#555;margin-bottom:8px;font-size:14px}.form-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;transition:border-color .2s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:#4285f4}.selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;max-height:200px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:6px;padding:15px;background-color:#fafafa}.selection-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.selection-item:hover{background-color:#e3f2fd}.selection-checkbox{margin:0;cursor:pointer}.selection-text{font-size:14px;color:#333;cursor:pointer}.form-error{background-color:#ffebee;color:#c62828;padding:12px;border-radius:6px;border:1px solid #ffcdd2;font-size:14px;text-align:center}.form-actions{display:flex;gap:15px;justify-content:flex-end;flex-wrap:wrap}.form-summary{display:flex;justify-content:space-around;background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-top:20px}.summary-item{display:flex;flex-direction:column;align-items:center;gap:5px}.summary-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:24px;font-weight:700;color:#4285f4}.transfer-summary{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:20px;margin-bottom:15px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e0e0e0}.summary-row:last-child{border-bottom:none;font-weight:600;font-size:16px}.transfer-note{color:#666;font-size:14px;font-style:italic;margin:0;text-align:center}@media(max-width:768px){.info-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr);gap:15px}.permission-item{flex-direction:column;align-items:flex-start;gap:10px}.access-actions{flex-direction:column}.btn{width:100%;text-align:center}.selection-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-summary{flex-direction:column;gap:15px}}.intent-section{margin-bottom:25px;padding:15px;border:1px solid #e0e0e0;border-radius:6px;background-color:#fafafa}.intent-section h5{margin-top:0;margin-bottom:15px;color:#333;border-bottom:1px solid #ddd;padding-bottom:8px}.intent-content{background-color:#fff;padding:15px;border-radius:4px}.theme-item,.character-item,.arc-item{margin-bottom:20px;padding:10px;border-left:3px solid #4285f4;background-color:#f9f9f9}.theme-item:last-child,.character-item:last-child,.arc-item:last-child{margin-bottom:0}.scenes-list{display:flex;flex-direction:column;gap:10px;margin-top:15px}.scene-item{display:flex;align-items:center;padding:15px 20px;background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s ease}.scene-item:hover{background-color:#e9ecef;border-color:#4285f4;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.scene-number{font-weight:600;color:#4285f4;margin-right:15px;min-width:80px}.scene-title{color:#333;font-size:16px;flex:1}.scene-arrow{color:#4285f4;font-size:18px;font-weight:700;margin-left:10px;transition:transform .2s ease}.scene-item:hover .scene-arrow{transform:translate(3px)}.scene-chapter-header{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#666;padding:8px 4px 2px;border-top:1px solid #e0e0e0;margin-top:6px}.scene-chapter-header:first-child{border-top:none;margin-top:0}@media(max-width:768px){.App{padding:10px}.header-row{flex-direction:column;align-items:flex-start}.header-row button{margin-top:10px}.book-table{display:block;overflow-x:auto}.action-buttons{flex-direction:column}.action-buttons button{margin-bottom:10px;width:100%}}.antagonistic-forces-section{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.forces-list{display:flex;flex-direction:column;gap:15px;margin:20px 0}.force-card{border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.force-header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#f5f5f5;cursor:pointer;transition:background-color .2s}.force-header:hover{background:#eaeaea}.force-header h4{margin:0;font-size:16px;color:#333}.force-actions{display:flex;align-items:center;gap:10px}.delete-button{padding:4px 8px;background:#f44;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s}.delete-button:hover{background:#c00}.expand-icon{font-size:12px;color:#666}.force-details{padding:15px;background:#fff}.force-details .form-group{margin-bottom:15px}.force-details label{display:block;margin-bottom:5px;color:#555;font-weight:500}.force-details input,.force-details textarea{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.force-details textarea{resize:vertical;min-height:80px}.actions{display:flex;gap:10px;margin-top:20px}.add-button{padding:8px 16px;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.add-button:hover{background:#45a049}.submit-button{padding:8px 16px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.submit-button:hover{background:#1976d2}.submit-button:disabled{background:#ccc;cursor:not-allowed}.error-message{color:#f44;padding:10px;margin-bottom:15px;background:#ffebee;border-radius:4px;border:1px solid #ffcdd2}.stakes-section{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.stakes-list{display:flex;flex-direction:column;gap:15px;margin:20px 0}.stake-card{border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.stake-header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#f5f5f5;cursor:pointer;transition:background-color .2s}.stake-header:hover{background:#eaeaea}.stake-header h4{margin:0;font-size:16px;color:#333}.stake-actions{display:flex;align-items:center;gap:10px}.stake-details{padding:15px;background:#fff}.stake-details .form-group{margin-bottom:15px}.stake-details label{display:block;margin-bottom:5px;color:#555;font-weight:500}.stake-details input,.stake-details textarea{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.stake-details textarea{resize:vertical;min-height:80px}.theme-definition-section{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.themes-list{display:flex;flex-direction:column;gap:15px;margin:20px 0}.theme-card{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;background:#fff;transition:all .2s ease}.theme-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.theme-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#f8f9fa;cursor:pointer;border-bottom:1px solid #e0e0e0;transition:background-color .2s}.theme-header:hover{background:#f0f2f5}.theme-header h4{margin:0;font-size:16px;color:#2c3e50;font-weight:500}.theme-actions{display:flex;align-items:center;gap:12px}.delete-button{padding:6px 12px;background:#f44;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s ease;opacity:.9}.delete-button:hover{background:#c00;opacity:1}.expand-icon{font-size:13px;color:#666;padding:6px 12px;background:#e9ecef;border-radius:4px;cursor:pointer;transition:all .2s ease}.expand-icon:hover{background:#dee2e6;color:#333}.theme-details{padding:20px;background:#fff}.theme-details .form-group{margin-bottom:20px}.theme-details .form-group:last-child{margin-bottom:0}.theme-details label{display:block;margin-bottom:8px;color:#495057;font-weight:500;font-size:14px}.theme-details input,.theme-details select{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;transition:border-color .2s}.theme-details input:focus,.theme-details select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem #007bff40}.theme-details input::placeholder{color:#adb5bd}.actions{display:flex;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.add-button{padding:10px 20px;background:#4caf50;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.add-button:hover{background:#45a049;transform:translateY(-1px)}.submit-button{padding:10px 20px;background:#2196f3;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.submit-button:hover{background:#1976d2;transform:translateY(-1px)}.submit-button:disabled{background:#ccc;cursor:not-allowed;transform:none}.comment-thread{background-color:#fff;border:1px solid #dee2e6;border-radius:6px;padding:15px;cursor:pointer;transition:all .2s ease}.comment-thread:hover{background-color:#f8f9fa;border-color:#adb5bd;box-shadow:0 2px 4px #0000001a}.thread-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #eee}.thread-header strong{color:#495057;font-size:14px}.thread-status{background-color:#17a2b8;color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;text-transform:uppercase}.thread-comments{display:flex;flex-direction:column;gap:10px}.comment{background-color:#f8f9fa;border-radius:4px;padding:10px}.comment-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;color:#6c757d}.comment-author{font-weight:500;color:#495057}.comment-date{font-size:11px}.comment-body{color:#333;line-height:1.4;font-size:14px;white-space:pre-wrap}@media(max-width:1024px){.scene-content.with-comments{flex-direction:column}.scene-comments{width:100%;max-height:400px}}.comment-input-backdrop{position:fixed;inset:0;background-color:#00000080;z-index:999}.comment-input-container{position:absolute;transform:translate(-50%,-50%);background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:15px;box-shadow:0 4px 20px #00000026;min-width:350px;max-width:500px;z-index:1000}.comment-input-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:500;color:#333}.close-button{background:none;border:none;color:#666;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.close-button:hover{background-color:#f5f5f5;color:#333}.comment-textarea{width:100%;border:1px solid #ddd;border-radius:4px;padding:8px 12px;font-size:14px;line-height:1.4;resize:vertical;font-family:inherit;margin-bottom:10px}.comment-textarea:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 2px #4285f433}.comment-textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.comment-input-actions{display:flex;justify-content:flex-end;gap:8px}.cancel-button{background-color:#f5f5f5;color:#666;border:1px solid #ddd;border-radius:4px;padding:6px 12px;font-size:14px;cursor:pointer;transition:all .2s ease}.cancel-button:hover:not(:disabled){background-color:#e9ecef;color:#333}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.submit-button{background-color:#4285f4;color:#fff;border:none;border-radius:4px;padding:6px 12px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.submit-button:hover:not(:disabled){background-color:#3367d6}.submit-button:disabled{background-color:#ccc;cursor:not-allowed}.tabs-header{display:flex}.tab-button{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:16px;color:#666}.tab-button:hover{color:#333}.tab-button.active{color:#000;border-bottom-color:#007bff}.visualization-section{margin-bottom:40px}.visualization-section:last-child{margin-bottom:0}.section-header{font-size:1.2em;color:#333;margin:20px 0;padding-bottom:10px;border-bottom:2px solid #4285f4}.visualization-summary-row{display:flex;gap:32px;margin:32px 0 48px;justify-content:center}.visualization-summary{background:#fafaf7;border-radius:12px;padding:32px 36px 28px;min-width:350px;max-width:480px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;align-items:flex-start}.summary-icon{color:#e53935;font-size:2em;margin-bottom:8px;margin-right:8px;vertical-align:middle}.summary-title{color:#e53935;font-weight:700;font-size:1.2em;margin-bottom:18px;margin-left:2px;display:inline-block}.summary-block{color:#222;font-size:1.08em;margin-top:4px}@media(max-width:900px){.visualization-summary-row{flex-direction:column;gap:24px;align-items:center}.visualization-summary{min-width:0;width:100%;max-width:600px}}.visualization-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px}.visualization-item{background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.visualization-item h5{margin-top:0;margin-bottom:15px;color:#333;border-bottom:1px solid #ddd;padding-bottom:8px}@media(max-width:1200px){.visualization-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.visualization-grid{grid-template-columns:1fr}}.new-edition-form-container{padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:600px;margin:20px auto}.new-edition-form{margin-top:20px}.new-edition-form .form-group{margin-bottom:20px}.new-edition-form .form-help{display:block;margin-top:5px;color:#666;font-size:14px}.new-edition-form .form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:30px;padding-top:20px;border-top:1px solid #eaeaea}.new-edition-form .cancel-button{background-color:#f5f5f5;color:#666;border:1px solid #ddd}.new-edition-form .cancel-button:hover:not(:disabled){background-color:#e9ecef;color:#333}.new-edition-form .submit-button{background-color:#4caf50;color:#fff}.new-edition-form .submit-button:hover:not(:disabled){background-color:#388e3c}.new-edition-form .submit-button:disabled{background-color:#ccc;cursor:not-allowed}
