.layout{min-height:100vh;display:flex;flex-direction:column;background:#f8fafc}.header{background:white;box-shadow:0 4px 20px #00000014;border-bottom:1px solid #e5e7eb}.lo-header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;height:70px;padding:0 24px;gap:16px}.logo{display:flex;align-items:center;gap:12px;color:#1e40af;text-decoration:none;flex-shrink:0}.logo:hover{opacity:.8}.logo-image{height:40px;width:auto;object-fit:contain}.logo-text{display:flex;flex-direction:column}.logo h1{margin:0;font-size:24px;font-weight:700;letter-spacing:-.5px;color:#1e40af}.logo .tagline{font-size:12px;opacity:.7;margin-top:-2px;color:#64748b}.desktop-nav-left{display:flex;gap:8px;flex:1}.desktop-nav-right{display:flex;gap:8px;margin-left:auto}.nav-item{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:8px;text-decoration:none;color:#64748b;font-weight:500;font-size:16px;transition:all .2s ease;position:relative}.nav-item:hover{background:#f1f5f9;color:#1e40af;transform:translateY(-1px)}.nav-item.active{color:#1e40af;font-weight:600}.nav-item.active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:20px;height:2px;background:#1e40af;border-radius:1px}.nav-item-right.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d;font-weight:600}.nav-item-right.active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:20px;height:2px;background:#1e40af;border-radius:1px}.mobile-menu-btn{display:none;background:none;border:none;color:#64748b;cursor:pointer;padding:8px;border-radius:6px;transition:background .2s}.mobile-menu-btn:hover{background:#f1f5f9;color:#1e40af}.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-menu{position:fixed;top:0;right:0;height:100vh;width:280px;background:white;box-shadow:-4px 0 20px #0000001a;transform:translate(0);animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:white;color:#1e40af}.mobile-menu-header h2{margin:0;font-size:20px;font-weight:600}.mobile-menu-header button{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;border-radius:4px}.mobile-menu-header button:hover{background:#f1f5f9;color:#1e40af}.mobile-menu-nav{padding:16px 0}.mobile-nav-item{display:flex;align-items:center;gap:12px;padding:16px 24px;text-decoration:none;color:#374151;font-weight:500;transition:all .2s;border-left:3px solid transparent}.mobile-nav-item:hover{background:#f3f4f6;color:#1e40af}.mobile-nav-item.active{background:#eff6ff;color:#1e40af;border-left-color:#1e40af}.main-content{flex:1;padding:24px;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}@media (max-width: 768px){.desktop-nav-left,.desktop-nav-right{display:none}.mobile-menu-btn{display:block}.logo-text{display:none}.logo-image{height:32px}}@media (max-width: 480px){.lo-header-content{padding:0 16px}.logo-image{height:28px}}.mobile-bottom-nav{display:none;background:white;border-top:1px solid #e5e7eb;padding:4px 0 calc(4px + env(safe-area-inset-bottom));position:sticky;bottom:0;z-index:100;box-shadow:0 -2px 10px #0000000d}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:#6b7280;padding:4px;transition:all .2s;font-size:10px;font-weight:500}.bottom-nav-item.active{color:#1e40af;transform:translateY(-2px)}.bottom-nav-item.active svg{color:#1e40af}.bottom-nav-item:hover{color:#1e40af}@media (max-width: 1024px){.lo-header-content{padding:0 20px}.main-content{padding:20px}}@media (max-width: 768px){.lo-header-content{justify-content:space-between;height:60px;padding:0 16px}.logo h1{font-size:20px}.logo .tagline{font-size:11px}.desktop-nav{display:none}.mobile-menu-btn{display:block}.main-content{padding:16px;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.mobile-bottom-nav{display:flex}}@media (max-width: 480px){.lo-header-content{padding:0 12px}.main-content{padding:12px}.mobile-menu{width:100vw}}.nav-dropdown{position:relative}.dropdown-trigger{cursor:pointer}.dropdown-menu{position:absolute;top:100%;left:0;background:white;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 20px #0000001a;min-width:140px;z-index:1;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:block;padding:12px 16px;text-decoration:none;color:#374151;font-weight:500;font-size:14px;transition:all .2s;border-bottom:1px solid #f3f4f6}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#f8fafc;color:#1e40af}.dropdown-item.active{background:#eff6ff;color:#1e40af;font-weight:600}.mobile-nav-group{margin-bottom:8px}.mobile-nav-group-title{display:flex;align-items:center;gap:12px;padding:16px 24px 8px;color:#6b7280;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.mobile-nav-item.sub-item{padding-left:56px;font-size:14px;color:#4b5563}.mobile-nav-item.sub-item:hover{background:#f9fafb;color:#1e40af}.mobile-nav-item.sub-item.active{background:#eff6ff;color:#1e40af;border-left-color:#1e40af}.access-denied-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:2rem}.access-denied-content{text-align:center;max-width:400px;padding:2rem;background:white;border-radius:12px;box-shadow:0 4px 20px #0000001a}.access-denied-icon{margin-bottom:1.5rem;color:#ef4444}.access-denied-content h2{margin:0 0 1rem;color:#1f2937;font-size:1.5rem;font-weight:600}.access-denied-content p{margin:.5rem 0;color:#6b7280;line-height:1.5}.access-denied-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:8px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s;border:none;font-size:.875rem}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#e5e7eb}.index-page{min-height:calc(100vh - 70px);background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%)}.hero-section{position:relative;background:linear-gradient(135deg,#1e40af 0%,#3b82f6 100%);color:#fff;padding:80px 0;overflow:visible}.hero-content{max-width:1200px;margin:0 auto;padding:0 24px;position:relative}.hero-text{text-align:center;margin-bottom:48px}.hero-title{font-size:3.5rem;font-weight:800;margin-bottom:16px;line-height:1.1;letter-spacing:-1px}.title-highlight{display:block;font-size:1.5rem;font-weight:400;opacity:.9;margin-top:8px}.hero-description{font-size:1.25rem;line-height:1.6;opacity:.9;max-width:600px;margin:0 auto}.search-form{max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.search-type-selector{display:flex;justify-content:center;gap:32px;margin-bottom:20px}.search-type-btn{background:none;border:none;color:#ffffffb3;font-size:16px;font-weight:400;cursor:pointer;transition:all .3s ease;padding:8px 0;position:relative}.search-type-btn:hover{color:#ffffffe6}.search-type-btn.active{color:#fff;font-weight:600}.search-type-btn.active:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:20px;height:2px;background:white;border-radius:1px}.index-search-wrapper{position:relative;display:flex;background:white;border-radius:12px;box-shadow:0 8px 32px #0000001a;overflow:visible}.index-search-input-container{position:relative;flex:1;display:flex;min-height:56px;height:56px;overflow:visible}.index-search-input{width:100%;padding:16px 20px;border:none;outline:none;font-size:16px;color:#374151;border-radius:12px 0 0 12px;height:100%;box-sizing:border-box;transition:none;-webkit-appearance:none}.index-search-input:focus{outline:none;border:none;box-shadow:none;-webkit-appearance:none;background-color:#fff}.index-search-input::placeholder{color:#9ca3af;transition:none;opacity:1}.index-search-input:focus::placeholder{color:#9ca3af;opacity:1}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:9999;max-height:240px;overflow-y:auto;margin-top:8px;width:100%}.suggestion-item{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid #f3f4f6}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background-color:#f8fafc}.suggestion-icon{color:#9ca3af;flex-shrink:0}.suggestion-item span{color:#374151;font-size:14px}.map-button{display:flex;align-items:center;gap:6px;padding:16px 20px;background:#f8fafc;color:#64748b;border:none;cursor:pointer;transition:all .2s;border-left:1px solid #e5e7eb;font-size:14px;font-weight:500}.map-button:hover{background:#f1f5f9;color:#334155}.search-button{padding:16px 20px;background:#1e40af;color:#fff;border:none;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;border-radius:0 12px 12px 0}.search-button:hover{background:#1d4ed8}.hero-decoration{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:1;pointer-events:none}.decoration-circle{position:absolute;border-radius:50%;background:rgba(255,255,255,.1);animation:float 6s ease-in-out infinite}.circle-1{width:200px;height:200px;top:10%;right:10%;animation-delay:0s}.circle-2{width:150px;height:150px;bottom:20%;left:5%;animation-delay:2s}.circle-3{width:100px;height:100px;top:60%;right:30%;animation-delay:4s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@media (max-width: 768px){.search-type-selector{gap:20px;flex-wrap:wrap}.search-type-btn{font-size:14px}.index-search-input{padding:14px 16px;font-size:14px}.map-button{padding:14px 16px;font-size:12px}.map-button span{display:none}.search-button{padding:14px 16px}}.map-icon-button{right:100px}.search-button{padding:14px 20px;font-size:14px}.section-header{text-align:center;margin-bottom:48px}.section-header h2{font-size:2.5rem;font-weight:700;color:#1f2937;margin-bottom:12px}.section-header p{font-size:1.125rem;color:#6b7280}.quick-actions{padding:80px 24px;max-width:1200px;margin:0 auto}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.action-card{background:white;border-radius:16px;padding:32px 24px;text-decoration:none;color:inherit;box-shadow:0 4px 20px #00000014;transition:all .3s ease;text-align:center;border:1px solid #f1f5f9}.action-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000001f}.action-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.bg-blue-500{background:#3b82f6}.bg-green-500{background:#10b981}.bg-purple-500{background:#8b5cf6}.bg-orange-500{background:#f59e0b}.bg-red-500{background:#ef4444}.bg-indigo-500{background:#6366f1}.action-card h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:8px}.action-card p{color:#6b7280;line-height:1.5}.stats-section{background:white;padding:80px 24px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;max-width:1000px;margin:0 auto}.stat-card{text-align:center;padding:24px}.stat-icon{color:#3b82f6;margin-bottom:16px;display:flex;justify-content:center}.index-stat-value{font-size:2.5rem;font-weight:800;color:#1f2937;margin-bottom:8px}.index-stat-label{font-size:1rem;color:#6b7280;font-weight:500}.featured-section{padding:80px 24px;max-width:1200px;margin:0 auto}.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.featured-card{background:white;border-radius:20px;padding:40px 32px;text-decoration:none;color:inherit;box-shadow:0 8px 32px #00000014;transition:all .3s ease;display:flex;align-items:center;gap:24px;border:1px solid #f1f5f9}.featured-card:hover{transform:translateY(-4px);box-shadow:0 12px 48px #0000001f}.featured-primary{background:linear-gradient(135deg,#3b82f6 0%,#1e40af 100%);color:#fff}.featured-secondary{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff}.featured-tertiary{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);color:#fff}.featured-quaternary{background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);color:#fff}.featured-quinary{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);color:#fff}.featured-senary{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff}.featured-septenary{background:linear-gradient(135deg,#06b6d4 0%,#0891b2 100%);color:#fff}.featured-octonary{background:linear-gradient(135deg,#84cc16 0%,#65a30d 100%);color:#fff}.featured-nonary{background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);color:#fff}.featured-denary{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);color:#fff}.featured-undenary{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);color:#fff}.featured-icon{flex-shrink:0}.featured-content h3{font-size:1.5rem;font-weight:600;margin-bottom:8px}.featured-content p{opacity:.9;line-height:1.5}.features-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:40px}.feature-card,.scenario-card{padding:30px}.section-title{font-size:1.2rem;font-weight:500;color:var(--text-color);margin-bottom:10px}.section-subtitle{font-size:1rem;color:var(--text-color-lighter);margin-bottom:30px}.section-spacer{height:30px}.feature-item{display:flex;align-items:center;margin-bottom:25px}.feature-icon{width:40px;height:40px;margin-right:15px;display:flex;align-items:center;justify-content:center}.feature-icon img{width:100%;height:100%;object-fit:contain}.feature-text{font-size:1rem;color:var(--text-color)}@media (max-width: 768px){.hero-section{padding:60px 0}.hero-title{font-size:2.5rem}.title-highlight{font-size:1.25rem}.hero-description{font-size:1.125rem}.section-header h2{font-size:2rem}.quick-actions,.featured-section,.stats-section{padding:60px 16px}.actions-grid,.featured-grid{grid-template-columns:1fr}.featured-card{flex-direction:column;text-align:center;padding:32px 24px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:24px}.features-section{grid-template-columns:1fr}}@media (max-width: 480px){.hero-title{font-size:2rem}.search-type-selector{gap:6px;margin-bottom:16px}.search-type-btn{padding:6px 12px;font-size:12px}.index-search-input-wrapper{flex-direction:column}.index-search-input{padding:16px}.map-button{padding:16px;border-left:none;border-top:1px solid #e5e7eb}.search-button{padding:16px}.stats-grid{grid-template-columns:1fr}}.map-page-container{display:flex;flex-direction:column;height:100vh;background-color:#f5f5f5}.top-filter-section{background:white;padding:16px;box-shadow:0 2px 8px #0000001a;z-index:100}.filter-header h3{margin:0 0 12px;font-size:18px;font-weight:600;color:#262626}.filter-controls{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.filter-group label{font-weight:500;color:#333;white-space:nowrap}.filter-group input,.filter-group select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.filter-group input{width:200px}.search-input-group{display:flex;gap:8px;align-items:center}.search-input-group input{width:200px}.search-btn{padding:8px 16px;background-color:#1890ff;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .3s}.search-btn:hover:not(:disabled){background-color:#40a9ff}.search-btn:disabled{background-color:#d9d9d9;cursor:not-allowed}.middle-import-section{background:white;padding:16px;border-bottom:1px solid #e8e8e8;display:flex;gap:40px}.import-group{flex:1}.import-group h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#262626}.import-controls{display:flex;gap:8px;align-items:center}.import-controls input{flex:1;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}.import-btn{padding:8px 16px;background:#1890ff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;white-space:nowrap}.import-btn:hover{background:#40a9ff}.import-btn:disabled{background:#d9d9d9;cursor:not-allowed}.import-results{margin-top:8px;padding:8px 12px;background:#f6ffed;border:1px solid #b7eb8f;border-radius:4px;font-size:14px;color:#52c41a}.bottom-content-section{flex:1;display:flex;gap:16px;padding:16px;overflow:hidden}.map-wrapper{flex:2;position:relative;background:white;border-radius:6px;box-shadow:0 2px 8px #0000001a;overflow:hidden}#admin-map-container{width:100%;height:100%;min-height:400px}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;font-size:16px;color:#666;z-index:1000}.school-list-wrapper{flex:1;display:flex;flex-direction:column;background:white;border-radius:6px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.school-list-header{padding:16px;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;align-items:center}.school-list-header h3{margin:0;font-size:16px;font-weight:600;color:#262626}.pagination-info{display:flex;align-items:center;gap:8px;font-size:14px;color:#595959}.pagination-info select{padding:4px 8px;border:1px solid #d9d9d9;border-radius:4px;font-size:12px}.school-list-content{flex:1;overflow-y:auto;padding:8px}.school-item{border:1px solid #e0e0e0;border-radius:8px;padding:15px;margin-bottom:10px;background:white;display:flex;justify-content:space-between;align-items:flex-start;transition:all .2s ease}.school-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a;transform:translateY(-1px)}.school-info{flex:1;cursor:pointer;padding-right:15px}.school-info:hover{background-color:#007bff05;border-radius:4px}.school-name{margin:0 0 8px;font-size:16px;font-weight:700;color:#333}.school-address{margin:0 0 5px;color:#666;font-size:14px}.school-type{margin:0 0 8px;color:#888;font-size:12px}.school-coordinates{margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0}.coordinates{display:block;color:#007bff;font-size:12px;font-family:monospace;margin-bottom:4px}.fence-info{display:block;color:#28a745;font-size:11px;font-style:italic}.school-actions{display:flex;gap:8px}.edit-btn,.delete-btn{padding:4px 8px;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.edit-btn{background:#52c41a!important;color:#fff!important;opacity:1!important}.edit-btn:hover{background:#73d13d}.delete-btn{background:#ff4d4f;color:#fff}.delete-btn:hover{background:#ff7875}.readonly-info{margin:20px 0;padding:16px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.pagination-controls{padding:12px 16px;border-top:1px solid #e8e8e8;display:flex;justify-content:center;align-items:center;gap:16px;background:#fafafa}.readonly-info h4{margin:0 0 12px;color:#495057;font-size:14px;font-weight:600}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:12px;color:#6c757d;font-weight:500}.info-item span{font-size:13px;color:#212529;font-family:monospace;background:white;padding:4px 8px;border-radius:3px;border:1px solid #dee2e6}.form-actions{padding:12px 16px;border-top:1px solid #e8e8e8;display:flex;justify-content:center;align-items:center;gap:16px;background:#fafafa}.pagination-controls button{padding:6px 12px;background:#1890ff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.pagination-controls button:hover{background:#40a9ff}.pagination-controls button:disabled{background:#d9d9d9;cursor:not-allowed}.pagination-controls span{font-size:14px;color:#595959}.modal{background:white;border-radius:8px;box-shadow:0 4px 12px #00000026;width:90%;max-width:500px;max-height:80vh;overflow:hidden}.modal-header{padding:16px 20px;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:16px;font-weight:600}.modal-header button{background:none;border:none;font-size:20px;cursor:pointer;color:#8c8c8c}.modal-body{padding:20px;max-height:60vh;overflow-y:auto}.search-result-item{padding:12px;border:1px solid #e8e8e8;border-radius:6px;margin-bottom:8px;cursor:pointer;transition:all .2s}.search-result-item:hover{background:#f0f9ff;border-color:#91d5ff}.search-result-item h4{margin:0 0 4px;font-size:14px;font-weight:600}.search-result-item p{margin:0 0 2px;font-size:12px;color:#8c8c8c}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:4px;font-weight:500;color:#262626}.form-group input,.form-group select{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}.modal-footer{padding:12px 20px;border-top:1px solid #e8e8e8;display:flex;justify-content:flex-end;gap:8px}.modal-footer button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.modal-footer .cancel-btn{background:#f5f5f5;color:#595959}.modal-footer .save-btn{background:#1890ff;color:#fff}.modal-footer button:hover{opacity:.8}.school-map-container{position:relative;width:100%;height:100vh;background:#f5f5f5;display:flex;flex-direction:column}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-10px) scale(1.1)}60%{transform:translateY(-5px) scale(1.05)}}.school-marker-bounce{animation:bounce 1.5s ease-in-out infinite}.controls-panel{position:absolute;top:20px;left:20px;z-index:1000;border-radius:8px;padding:8px;min-width:338px}.controls-row{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}.back-button{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f5f5f5;border:none;border-radius:6px;cursor:pointer;font-size:14px;color:#666;transition:all .2s;margin-bottom:12px}.back-button:hover{background:#e0e0e0;color:#333}.map-search-container{position:relative;flex:1;min-width:120px}.map-search-input{width:100%;padding:8px 20px 8px 8px;border:1px solid #ddd;border-radius:4px;font-size:12px;outline:none;transition:border-color .2s;box-sizing:border-box}.map-search-input:focus{border-color:#007bff}.map-search-button{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:3px;background:transparent;cursor:pointer;transition:all .2s;color:#666}.map-search-button:hover{background:#f0f0f0;color:#007bff}.map-area-select-container{position:relative;display:inline-block;width:80px;flex-shrink:0}.map-type-select-container{position:relative;display:inline-block;width:65px;flex-shrink:0}.custom-select{position:relative;width:100%}.select-display{display:flex;align-items:center;padding:5px 8px;border:1px solid #ddd;border-radius:4px;background:white;font-size:12px;color:#333;cursor:pointer;outline:none;min-height:16px}.select-display:hover{border-color:#007bff}.select-icon{display:flex;align-items:center;margin-right:4px;flex-shrink:0}.select-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-arrow{font-size:10px;color:#666;margin-left:4px;flex-shrink:0}.select-dropdown{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;box-shadow:0 2px 8px #0000001a;z-index:1000;max-height:400px;overflow-y:auto}.select-option{display:flex;align-items:center;padding:8px;font-size:12px;cursor:pointer;transition:background-color .2s}.select-option:hover{background-color:#f5f5f5}.select-option.selected{background-color:#e3f2fd;color:#1976d2}.option-icon{display:flex;align-items:center;margin-right:6px;flex-shrink:0}.option-text{flex:1}.sidebar-panel{margin-top:10px;max-width:338px;max-height:calc(100vh - 114px);background:white;border-radius:8px;box-shadow:0 2px 10px #0000001a;z-index:999;display:flex;flex-direction:column;transition:all .3s ease}.sidebar-panel.collapsed{max-height:60px;overflow:hidden}.panel-header{padding:12px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc;border-radius:8px 8px 0 0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.panel-header:hover{background:#f1f5f9}.panel-controls{display:flex;align-items:center;gap:8px}.toggle-button{background:none;border:none;font-size:12px;color:#64748b;cursor:pointer;padding:2px 4px;border-radius:3px;transition:all .2s ease}.toggle-button:hover{background:#e2e8f0;color:#374151}.panel-title{font-size:15px;font-weight:600;color:#1e293b;margin:0}.panel-content{flex:1;overflow-y:auto;padding:8px}.school-list,.area-list{display:flex;flex-direction:column;gap:4px}.map-school-item,.area-item{padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s ease;background:white;display:flex;align-items:center}.map-school-item:hover,.area-item:hover{border-color:#3b82f6;background:#f8fafc;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.map-school-item.highlighted,.area-item.highlighted{background-color:#e3f2fd;border-color:#1976d2}.school-list-panel{width:100%;max-height:300px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;overflow:hidden;margin-top:4px}.school-list-header{padding:12px;border-bottom:1px solid #e5e7eb;background:#f3f4f6;display:flex;justify-content:space-between;align-items:center}.school-list-header h4{margin:0;font-size:14px;font-weight:600;color:#111827}.school-count{font-size:12px;color:#6b7280;background:white;padding:2px 6px;border-radius:4px}.school-list-content{max-height:240px;overflow-y:auto}.school-list-item{padding:10px 12px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background-color .2s;background:white}.school-list-item:hover{background-color:#f9fafb}.school-list-item.highlighted{background-color:#fef3f2;border-left:3px solid #ff6b35}.map-school-item .map-school-name,.area-item .area-name{font-size:12px;color:#333;font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.map-school-item{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;width:100%}.map-school-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:8px}.school-type-label{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:500;background:#e2e8f0;color:#475569;flex-shrink:0}.school-type,.area-stats{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:500}.area-stats{font-size:11px;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px;margin-right:4px}.filter-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:white;border:1px solid #d1d5db;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease}.filter-button:hover{background:#f8fafc;border-color:#3b82f6}.filter-button.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.filters-panel{background:white;border-bottom:1px solid #e2e8f0;padding:16px 24px;box-shadow:0 1px 3px #0000001a}.filter-group{margin-bottom:16px}.filter-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:white;border:1px solid #d1d5db;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background:#f8fafc;border-color:#3b82f6}.filter-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.map-container{flex:1;position:relative;background:#f0f0f0}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.loading-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-overlay p{color:#64748b;font-size:14px;margin:0}.error-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.error-message{text-align:center;padding:24px;background:white;border-radius:8px;box-shadow:0 4px 12px #0000001a;border-left:4px solid #ef4444}.error-message p{color:#dc2626;font-size:14px;margin:0 0 16px;font-weight:500}.error-message button{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .2s}.error-message button:hover{background:#2563eb}.view-mode-indicator{position:absolute;top:20px;right:20px;background:rgba(255,255,255,.95);padding:8px 12px;border-radius:6px;box-shadow:0 2px 8px #0000001a;z-index:1000}.mode-info{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;font-weight:500}.area-marker{position:absolute;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0003;z-index:100;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.area-marker:hover{transform:scale(1.1)!important;box-shadow:0 4px 16px #ffa50066!important;background:rgba(255,165,0,.9)!important}.school-detail-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000}.school-detail-content{background:white;border-radius:12px;padding:24px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.school-detail-content h3 a{color:#3b82f6!important;text-decoration:underline!important;transition:color .2s ease}.school-detail-content h3 a:hover{color:#1d4ed8!important;text-decoration:underline!important}.close-button{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;cursor:pointer;color:#64748b;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-button:hover{background:#f1f5f9;color:#374151}.school-detail-content h3{margin:0 0 16px;color:#1f2937;font-size:20px;font-weight:600;padding-right:40px}.school-info{color:#64748b;line-height:1.6}.school-info p{margin:8px 0;font-size:14px}.school-info strong{color:#374151;font-weight:500}@media (max-width: 768px){.map-toolbar{padding:12px 16px;flex-wrap:wrap;gap:12px}.map-search-container{max-width:none;order:3;width:100%}.filters-panel{padding:12px 16px}.filter-buttons{gap:6px}.filter-btn{padding:6px 10px;font-size:13px}.view-mode-indicator{top:10px;right:10px;padding:6px 10px}.mode-info{font-size:11px}.school-detail-content{margin:20px;width:calc(100% - 40px);padding:20px}}@media (max-width: 480px){.map-toolbar{padding:8px 12px}.back-button{padding:6px 12px;font-size:13px}.filter-btn{padding:5px 8px;font-size:12px}.school-detail-content{margin:10px;width:calc(100% - 20px);padding:16px}.school-detail-content h3{font-size:18px}}.relation-container{background-color:#fff;border-radius:var(--border-radius);padding:25px;box-shadow:0 2px 8px #0000000d;max-width:1200px;margin:0 auto}.sh-school-houses-container{background-color:#fff;border-radius:var(--border-radius);padding:25px;box-shadow:0 2px 8px #0000000d;min-height:100vh}.sh-page-header{margin-bottom:25px;text-align:center}.sh-page-title{font-size:1.8rem;font-weight:600;color:var(--text-color);margin:0;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sh-main-content{display:flex;gap:20px;height:calc(100vh - 150px)}.sh-map-section{flex:2;width:100%!important;min-width:850px;height:100%!important;border-radius:var(--border-radius);overflow:hidden;border:1px solid rgba(0,0,0,.1);background-color:#f5f5f5;position:relative;box-shadow:0 4px 12px #0000001a}.sh-map-container{width:100%;height:100%;position:relative}.sh-map-canvas{width:100%;height:100%}.sh-map-legend{position:absolute;bottom:20px;right:20px;background-color:#fffffff2;padding:12px 16px;border-radius:8px;box-shadow:0 2px 8px #00000026;display:flex;flex-direction:column;gap:8px;font-size:.85rem;z-index:1000}.sh-legend-item{display:flex;align-items:center;gap:8px;color:#666}.sh-legend-icon{font-size:14px}.sh-info-panel{width:320px;background-color:#f8f9fa;border-left:1px solid #e0e0e0;overflow-y:auto;padding:0}@media (max-width: 768px){.sh-main-content{flex-direction:column;height:auto}.sh-map-section{height:400px}.sh-info-panel{width:100%;border-left:none;border-top:1px solid #e0e0e0}.sh-map-legend{bottom:10px;right:10px;padding:8px 12px;font-size:.8rem}.sh-page-title{font-size:1.2rem}}.sh-school-info-section,.sh-houses-info-section{background-color:#fff;margin-bottom:1px}.sh-section-header{display:flex;align-items:center;gap:8px;padding:16px 20px;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;font-weight:600;color:#333}.sh-section-icon{font-size:16px}.sh-section-title{font-size:.95rem;margin:0}.sh-school-info-card{margin:8px 20px;padding:12px 16px;background-color:#e8f5e8;border-left:4px solid #4caf50;border-radius:4px}.sh-school-name{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:8px}.sh-school-address{font-size:.9rem;color:#666;line-height:1.4;padding-left:16px}.sh-houses-list{padding:0}.sh-house-info-card{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.sh-house-info-card:hover{background-color:#f8f9fa}.sh-house-info-card:last-child{border-bottom:none}.sh-house-number{width:24px;height:24px;background-color:#2196f3;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0;margin-top:2px}.sh-house-content{flex:1}.sh-house-name{font-size:.95rem;font-weight:500;color:#333;margin-bottom:4px;line-height:1.3}.sh-house-address{font-size:.85rem;color:#666;line-height:1.4}.map-section{margin-bottom:30px}.relation-map-container{position:relative;width:100%;height:600px;border:1px solid rgba(0,0,0,.1);border-radius:8px;overflow:hidden;margin-bottom:15px}.map-canvas{width:100%;height:100%}.map-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background-color:#f5f5f5;color:#666}.map-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f5f5f5e6;color:#666;z-index:1000}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #2196F3;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:10px}.map-legend{display:flex;gap:20px;justify-content:center;padding:10px;background-color:#00000005;border-radius:5px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#666}.legend-icon{width:16px;height:16px;border-radius:50%;border:2px solid #fff}.school-icon{background-color:#f44}.house-icon{background-color:#44f}.section-title{font-size:1.2rem;font-weight:500;color:var(--text-color);margin-bottom:15px}.r-search-section{margin-bottom:25px}.r-search-box{display:flex;gap:10px;margin-bottom:15px}.r-search-box input{flex:1;padding:10px;border:1px solid rgba(0,0,0,.1);border-radius:5px;font-size:.9rem}.r-search-results{border:1px solid rgba(0,0,0,.1);border-radius:5px;max-height:200px;overflow-y:auto}.result-item{padding:10px 15px;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.05);transition:background-color .2s}.result-item:last-child{border-bottom:none}.result-item:hover{background-color:#00000005}.result-item.selected{background-color:#2196f31a;border-left:3px solid #2196F3}.no-results{padding:15px;text-align:center;color:var(--text-color-light)}.selected-section{margin-bottom:25px;padding:15px;background-color:#2196f30d;border-radius:5px;border-left:3px solid #2196F3}.selected-item{font-weight:500}.action-section{margin-bottom:25px;display:flex;justify-content:center}.action-section button{padding:10px 20px;width:100%}.associated-section{margin-top:30px}.associated-list{border:1px solid rgba(0,0,0,.1);border-radius:5px}.associated-item{padding:12px 15px;border-bottom:1px solid rgba(0,0,0,.05)}.associated-item:last-child{border-bottom:none}.item-info{display:flex;justify-content:space-between;align-items:center;width:100%}.item-name{flex:1;margin-right:15px}.item-actions{display:flex;gap:8px;align-items:center}.btn-primary{background-color:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#1976d2}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.btn-secondary{background-color:#757575;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.btn-secondary:hover:not(:disabled){background-color:#616161}.btn-secondary:disabled{background-color:#ccc;cursor:not-allowed}.btn-danger{background-color:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.map-container{position:relative;width:100%;height:600px;border:1px solid rgba(0,0,0,.1);border-radius:8px;overflow:hidden}@media (max-width: 768px){.relation-container{padding:15px}.search-box{flex-direction:column}.search-box button{width:100%}.item-info{flex-direction:column;align-items:flex-start;gap:10px}.item-name{margin-right:0}.item-actions{width:100%;justify-content:flex-start}.item-actions button{flex:1;min-width:0}}.tdt-label{line-height:normal!important;padding:0!important;box-shadow:none!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important}.map-fullscreen-btn{position:absolute;top:10px;right:10px;background-color:#fff;border:none;border-radius:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 4px #00000026;z-index:2000;transition:background-color .2s}.map-fullscreen-btn:hover{background-color:#f0f0f0}.school-list-page{min-height:calc(100vh - 70px);background:#f8fafc}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#6b7280}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.slp-page-header{background:linear-gradient(135deg,#1e40af 0%,#3b82f6 100%);color:#fff;padding:60px 0;text-align:center}.header-content h1{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:12px}.header-content p{font-size:1.125rem;opacity:.9}.search-filter-section{background:white;border-bottom:1px solid #e5e7eb;padding:24px 0;position:sticky;box-shadow:0 2px 4px #0000000d}.search-filter-content{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;gap:20px}.slp-filters{display:flex;flex-direction:column;gap:16px}.slp-filter-group{display:flex;align-items:center;flex-wrap:nowrap;gap:12px}.slp-filter-link{padding:6px 12px;color:#6b7280;text-decoration:none;border-radius:6px;transition:all .2s;cursor:pointer;font-size:14px;white-space:nowrap}.slp-filter-link:hover{color:#3b82f6;text-decoration:underline;background-color:#f3f4f6}.slp-filter-link.active{color:#3b82f6;background-color:#eff6ff;font-weight:600}.slp-results-info{margin:0 auto;padding:10px 0;display:flex;justify-content:space-between;align-items:center}.slp-results-left{flex:1}.slp-results-left p{margin:0;color:#6b7280;font-size:14px}.slp-results-right{display:flex;gap:8px}.search-form{flex:1}.slp-search-input-wrapper{position:relative;display:flex;background:#f9fafb;border:1px solid #d1d5db;border-radius:12px;overflow:hidden;transition:all .2s}.slp-search-input-wrapper:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6b7280;z-index:1}.slp-search-input{flex:1;padding:14px 16px 14px 48px;border:none;background:transparent;font-size:16px;outline:none}.slp-search-input::placeholder{color:#9ca3af}.search-button{padding:14px 18px;background:#3b82f6;color:#fff;border:none;cursor:pointer;font-weight:500;transition:background-color .2s}.search-button:hover{background:#2563eb}.slp-filters{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.slp-filters-left{flex:1;display:flex;flex-direction:column;gap:16px}.slp-filter-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.slp-filter-group label{font-weight:500;color:#374151;white-space:nowrap;min-width:80px}.slp-filter-links{display:flex;flex-wrap:wrap;gap:8px}.slp-filter-link{color:#6b7280;text-decoration:none;padding:4px 8px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap}.slp-filter-link:hover{color:#3b82f6;text-decoration:underline;background:#f3f4f6}.slp-filter-link.active{color:#3b82f6;font-weight:500;background:#eff6ff}.slp-mobile-filters{display:none}.slp-select{flex:1;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px;background:#f9fafb;color:#374151;font-size:14px}.slp-view-toggle{display:flex;background:#f3f4f6;border-radius:8px;padding:4px;gap:2px}.slp-view-btn{padding:8px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;color:#6b7280}.slp-view-btn:hover{background:#e5e7eb;color:#374151}.slp-view-btn.active{background:white;color:#3b82f6;box-shadow:0 1px 3px #0000001a}.results-info{max-width:1200px;margin:0 auto;padding:20px 24px}.results-info p{color:#6b7280;font-size:14px}.results-info .count{font-weight:600;color:#3b82f6}.slp-schools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.slp-schools-grid.list{display:flex;flex-direction:column;gap:16px}.slp-schools-container{max-width:1200px;margin:0 auto;padding:0 24px 40px}.slp-school-card{background:white;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:all .3s;text-decoration:none;color:inherit;display:block}.slp-school-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026;text-decoration:none;color:inherit}.slp-school-card.grid{display:flex;flex-direction:column}.slp-school-card.list{display:flex;flex-direction:row;align-items:stretch}.slp-school-image{position:relative;overflow:hidden}.slp-school-card.grid .slp-school-image{height:200px}.slp-school-card.list .slp-school-image{width:200px;height:193px;flex-shrink:0}.slp-school-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.slp-school-card:hover .slp-school-image img{transform:scale(1.05)}.slp-school-type-badge{position:absolute;top:12px;left:12px;background:rgba(59,130,246,.9);color:#fff;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.slp-school-info{padding:20px;flex:1;display:flex;flex-direction:column}.slp-school-card.list .slp-school-info{justify-content:space-between}.slp-school-name{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:12px;line-height:1.4}.slp-school-meta{display:flex;align-items:center;gap:16px;margin-bottom:12px;flex-wrap:wrap}.slp-comprehensive-score{display:flex;align-items:center;gap:4px;color:#f59e0b}.slp-star-icon{color:#f59e0b}.slp-score-value{font-weight:600;font-size:14px}.slp-location{display:flex;align-items:center;gap:4px;color:#6b7280;font-size:14px}.slp-district-display{display:flex;align-items:center;gap:4px}.slp-remote-district-tag{background:#ef4444;color:#fff;font-size:10px;padding:2px 4px;border-radius:3px;font-weight:500;line-height:1}.slp-school-addr{color:#6b7280;font-size:14px;margin-bottom:16px;line-height:1.5}.slp-school-stats{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.slp-stat-item{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b7280}.slp-stat-label{font-weight:500}.slp-stat-value{font-weight:600;color:#3b82f6}.slp-school-organizer{margin-top:auto}.slp-feature-tag{display:inline-block;background:#f3f4f6;color:#374151;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500}.slp-organizer-public{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.slp-organizer-private{background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.slp-organizer-international{background:#f3e8ff;color:#7c3aed;border:1px solid #e9d5ff}.slp-organizer-public-municipal{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.slp-organizer-public-central{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.slp-organizer-public-provincial{background:#fce7f3;color:#be185d;border:1px solid #f9a8d4}.slp-organizer-other{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.slp-no-results{text-align:center;padding:60px 20px;color:#6b7280}.slp-no-results h3{font-size:1.25rem;margin-bottom:8px;color:#374151}@media (max-width: 768px){.header-content h1{font-size:2rem}.search-filter-content{padding:0 16px;gap:12px}.slp-mobile-filters{display:flex;gap:8px}.slp-filters-left{display:none}.slp-schools-container{padding:0 16px 40px}.slp-schools-grid{grid-template-columns:1fr;gap:16px}.slp-school-card.list{flex-direction:column}.slp-school-card.list .slp-school-image{width:100%;height:200px}.slp-school-meta{flex-direction:column;align-items:flex-start;gap:8px}.slp-school-stats{flex-direction:column;gap:8px}}@media (max-width: 480px){.slp-school-card .slp-school-stats .slp-stat-allocation,.slp-school-card .slp-school-stats .slp-stat-awards{display:none}}@media (max-width: 480px){.header-content h1{font-size:1.75rem}.slp-search-input-wrapper{flex-direction:row;align-items:center}.slp-search-input{padding:12px 12px 12px 16px}.search-icon{display:none}.search-button{padding:10px 12px}.slp-mobile-filters{gap:6px}.slp-select{padding:8px 10px;font-size:13px}}.slp-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0 24px}.slp-page-btn{padding:8px 14px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#111827;cursor:pointer}.slp-page-btn:disabled{opacity:.5;cursor:not-allowed}.slp-page-info{color:#6b7280;font-size:.95rem}@media (max-width: 480px){.slp-pagination,.slp-results-right,.slp-view-btn{display:none}}.slp-loading-more{text-align:center;color:#6b7280;padding:12px 0 20px;font-size:.9rem}.honors-management{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;margin-bottom:24px}.management-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.header-title{display:flex;align-items:center;gap:12px}.header-icon{width:24px;height:24px;color:gold}.header-title h3{margin:0;font-size:18px;font-weight:600}.add-honor-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease}.add-honor-btn:hover{background:rgba(255,255,255,.3);transform:translateY(-1px)}.honors-list{padding:24px}.honor-item{border:1px solid #e1e8ed;border-radius:8px;margin-bottom:16px;transition:all .2s ease}.honor-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.honor-content{display:flex;justify-content:space-between;align-items:flex-start;padding:16px}.honor-main{flex:1}.honor-name{margin:0 0 8px;font-size:16px;font-weight:600;color:#2c3e50}.honor-meta{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.honor-level{padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;color:#fff}.honor-year{padding:2px 8px;background:#f8f9fa;border-radius:4px;font-size:12px;color:#6c757d}.honor-org{font-size:13px;color:#495057}.honor-description{margin:8px 0 0;font-size:14px;color:#6c757d;line-height:1.5}.honor-actions{display:flex;gap:8px;margin-left:16px}.edit-honor-btn,.delete-honor-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #dee2e6;border-radius:6px;background:white;cursor:pointer;transition:all .2s ease}.edit-honor-btn{color:#667eea}.edit-honor-btn:hover{background:#667eea;color:#fff;border-color:#667eea}.delete-honor-btn{color:#dc3545}.delete-honor-btn:hover{background:#dc3545;color:#fff;border-color:#dc3545}.empty-state{text-align:center;padding:48px 24px;color:#6c757d}.empty-icon{width:48px;height:48px;margin:0 auto 16px;color:#dee2e6}.empty-state p{margin:0 0 16px;font-size:16px}.add-first-honor-btn{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease}.add-first-honor-btn:hover{background:#5a6fd8;transform:translateY(-1px)}.loading-state,.error-state{text-align:center;padding:48px 24px}.loading-spinner{width:32px;height:32px;border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.retry-btn{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;margin-top:16px}.retry-btn:hover{background:#5a6fd8}.form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.form-modal{background:white;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.form-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e1e8ed}.form-header h4{margin:0;font-size:18px;font-weight:600;color:#2c3e50}.close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#f8f9fa;border-radius:6px;cursor:pointer;color:#6c757d;transition:all .2s ease}.close-btn:hover{background:#e9ecef;color:#495057}.form-content{padding:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#2c3e50;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #dee2e6;border-radius:6px;font-size:14px;transition:border-color .2s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e1e8ed;background:#f8f9fa}.cancel-btn,.save-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.cancel-btn{background:white;color:#6c757d;border:1px solid #dee2e6}.cancel-btn:hover{background:#f8f9fa;color:#495057}.save-btn{background:#667eea;color:#fff;border:1px solid #667eea}.save-btn:hover:not(:disabled){background:#5a6fd8;border-color:#5a6fd8;transform:translateY(-1px)}.save-btn:disabled{background:#dee2e6;color:#6c757d;border-color:#dee2e6;cursor:not-allowed;transform:none}@media (max-width: 768px){.management-header{flex-direction:column;gap:16px;align-items:flex-start}.honor-content{flex-direction:column;gap:16px}.honor-actions{margin-left:0;align-self:flex-end}.form-row{grid-template-columns:1fr}.form-overlay{padding:10px}.form-modal{max-height:95vh}.form-actions{flex-direction:column-reverse}.cancel-btn,.save-btn{width:100%;justify-content:center}}@media (max-width: 480px){.honors-list{padding:16px}.honor-content{padding:12px}.honor-meta{flex-direction:column;align-items:flex-start;gap:6px}}.bookmark-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .75rem;min-width:80px;border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fff;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;box-sizing:border-box;align-self:center;flex-shrink:0;transition:none;position:relative;white-space:nowrap}.bookmark-button:hover{background-color:#f9fafb;border-color:#d1d5db;color:#374151}.bookmark-button.bookmarked{background-color:#fef3c7;border-color:#f59e0b;color:#d97706}.bookmark-button.bookmarked:hover{background-color:#fde68a;border-color:#f59e0b}.bookmark-button:disabled{cursor:not-allowed;opacity:.5}.bookmark-button.loading{pointer-events:none}.bookmark-button.loading{cursor:not-allowed;opacity:.6}.bookmark-icon{transition:none}.bookmark-icon.bookmarked{fill:currentColor}.bookmark-count{font-size:.75rem;font-weight:600;color:inherit}.bookmark-btn-sm{padding:.25rem .5rem;font-size:.75rem;gap:.25rem;min-width:60px;height:28px}.bookmark-btn-sm .bookmark-count{font-size:.625rem}.bookmark-btn-md{padding:.5rem .75rem;font-size:.875rem;gap:.5rem;min-width:80px;height:36px}.bookmark-btn-lg{padding:.75rem 1rem;font-size:1rem;gap:.5rem;min-width:100px;height:44px}.bookmark-btn-lg .bookmark-count{font-size:.875rem}@media (max-width: 640px){.bookmark-button{padding:.375rem .5rem;font-size:.75rem}.bookmark-btn-lg{padding:.5rem .75rem;font-size:.875rem}}@media (prefers-color-scheme: dark){.bookmark-button{background-color:#374151;border-color:#4b5563;color:#d1d5db}.bookmark-button:hover{background-color:#4b5563;border-color:#6b7280;color:#f3f4f6}.bookmark-button.bookmarked{background-color:#451a03;border-color:#f59e0b;color:#fbbf24}.bookmark-button.bookmarked:hover{background-color:#78350f}}.bookmark-spinner{border:2px solid rgba(0,0,0,.1);border-left-color:#8b5cf6;border-radius:50%;width:16px;height:16px;animation:spin 1s linear infinite;display:inline-block;vertical-align:middle;flex-shrink:0}.school-detail-page{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#fff}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#fff;text-align:center}.error-container h2{margin-bottom:10px;font-size:2rem}.error-container p{margin-bottom:30px;font-size:1.1rem;opacity:.9}.detail-header{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:24px 32px;margin-bottom:24px;box-shadow:0 8px 32px #0000001a}.header-left{display:flex;align-items:center;gap:12px}.back-btn{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 16px;color:#475569;text-decoration:none;font-weight:500;transition:all .2s ease;cursor:pointer}.back-btn:hover{background:#e2e8f0;transform:translateY(-1px)}.comments-nav-btn{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;padding:10px 16px;color:#fff;text-decoration:none;font-weight:500;transition:all .3s ease;cursor:pointer;box-shadow:0 4px 12px #3b82f64d}.comments-nav-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.comments-nav-btn:active{transform:translateY(0);box-shadow:0 2px 8px #3b82f64d}.school-title h1{margin:0 0 8px;font-size:2.5rem;font-weight:700;color:#1e293b;line-height:1.2}.school-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.school-type,.school-organizer{background:#3b82f6;color:#fff;padding:4px 12px;border-radius:20px;font-size:.875rem;font-weight:500}.school-organizer{background:#10b981}.school-district{display:flex;align-items:center;gap:4px;color:#64748b;font-size:.875rem}.admin-badge{display:flex;align-items:center;gap:6px;background:#fbbf24;color:#92400e;padding:8px 16px;border-radius:8px;font-size:.875rem;font-weight:600}.basic-info-card{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 8px 32px #0000001a}.basic-info-card h2{margin:0 0 20px;font-size:1.5rem;font-weight:600;color:#1e293b}.basic-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.info-item{display:flex;align-items:center;gap:12px;padding:16px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.info-icon{width:24px;height:24px;color:#3b82f6;flex-shrink:0}.info-item div{display:flex;flex-direction:column}.info-label{font-size:.875rem;color:#64748b;margin-bottom:2px}.info-value{font-size:1.125rem;font-weight:600;color:#1e293b}.info-value.score{color:#059669}.school-description{margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.description-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.school-description h3{margin:0;font-size:1.25rem;font-weight:600;color:#1e293b}.description-header .edit-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;opacity:1}.description-header .edit-btn:hover{background:#2563eb;transform:translateY(-1px)}.description-text{margin:0;font-size:1rem;line-height:1.6;color:#374151;background:#f8fafc;padding:16px;border-radius:8px;border-left:4px solid #3b82f6}.description-text h1,.description-text h2,.description-text h3,.description-text h4,.description-text h5,.description-text h6{margin:16px 0 8px;font-weight:600;color:#1e293b;line-height:1.3}.description-text h1{font-size:1.5rem;border-bottom:2px solid #e2e8f0;padding-bottom:8px}.description-text h2{font-size:1.25rem;border-bottom:1px solid #e2e8f0;padding-bottom:6px}.description-text h3{font-size:1.125rem}.description-text p{margin:12px 0;line-height:1.6}.description-text ul,.description-text ol{margin:12px 0;padding-left:24px}.description-text li{margin:4px 0;line-height:1.5}.description-text strong{font-weight:600;color:#1e293b}.description-text em{font-style:italic;color:#4b5563}.description-text code{background:#e5e7eb;padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;color:#dc2626}.description-text pre{background:#f3f4f6;padding:16px;border-radius:8px;overflow-x:auto;margin:16px 0}.description-text pre code{background:none;padding:0;color:#374151}.description-text blockquote{margin:16px 0;padding:12px 16px;background:#f8fafc;border-left:4px solid #3b82f6;font-style:italic;color:#4b5563}.description-text a{color:#3b82f6;text-decoration:none;border-bottom:1px solid transparent;transition:all .2s ease}.description-text a:hover{color:#1d4ed8;border-bottom-color:#1d4ed8}.description-text hr{margin:24px 0;border:none;border-top:1px solid #e2e8f0}.description-text table{width:100%;border-collapse:collapse;margin:16px 0}.description-text th,.description-text td{padding:8px 12px;border:1px solid #e2e8f0;text-align:left}.description-text th{background:#f8fafc;font-weight:600;color:#1e293b}.description-text tr:nth-child(2n){background:#f9fafb}.description-placeholder{margin:0;font-size:1rem;line-height:1.6;color:#9ca3af;font-style:italic;padding:16px;background:#f9fafb;border-radius:8px;border:2px dashed #d1d5db;text-align:center}.description-edit-container{display:flex;flex-direction:column;gap:12px}.description-textarea{width:100%;min-height:120px;padding:16px;border:2px solid #d1d5db;border-radius:8px;font-size:1rem;line-height:1.6;color:#374151;background:#ffffff;resize:vertical;transition:all .2s ease;font-family:inherit}.description-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.description-textarea::placeholder{color:#9ca3af}.edit-actions{display:flex;gap:12px;justify-content:flex-end}.edit-actions .save-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#10b981;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.edit-actions .save-btn:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.edit-actions .save-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.edit-actions .cancel-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#6b7280;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.edit-actions .cancel-btn:hover{background:#4b5563;transform:translateY(-1px)}.dimensions-container{display:flex;flex-direction:column;gap:24px}.dimension-card{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:24px;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2)}.dimension-card.veto-card{border-left:4px solid #ef4444;background:rgba(254,242,242,.95)}.dimension-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e2e8f0}.dimension-icon{width:28px;height:28px;color:#3b82f6}.dimension-header h3{margin:0;font-size:1.5rem;font-weight:600;color:#1e293b}.sub-dimension{margin-bottom:32px}.sub-dimension:last-child{margin-bottom:0}.sub-dimension h4{margin:0 0 16px;font-size:1.125rem;font-weight:600;color:#374151;padding:8px 16px;background:#f1f5f9;border-radius:8px;border-left:4px solid #3b82f6}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.detail-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fafbfc;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s ease}.detail-item:hover{background:#f3f4f6;border-color:#d1d5db}.detail-label{font-size:.875rem;color:#374151;font-weight:500;flex:1;min-width:0}.detail-value-container{display:flex;align-items:center;gap:8px;min-width:120px;justify-content:flex-end}.value-display{display:flex;align-items:center;gap:8px}.detail-value{font-size:.875rem;font-weight:600;color:#1e293b;text-align:right}.edit-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;opacity:0}.detail-item:hover .edit-btn,.info-item:hover .edit-btn{opacity:1}.edit-btn:hover{background:#2563eb;transform:scale(1.05)}.editable-text{cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;position:relative}.editable-text:hover{background-color:#f8fafc;border:1px dashed #3b82f6}.editable-text:hover:after{content:"点击编辑";position:absolute;top:-25px;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:2px 6px;border-radius:4px;font-size:.75rem;white-space:nowrap;z-index:10;opacity:.9}.edit-container{display:flex;align-items:center;gap:8px}.edit-input{width:auto;min-width:120px;padding:6px 12px;border:2px solid #3b82f6;border-radius:6px;font-size:.875rem;font-weight:600;color:#1e293b;background:#ffffff;box-shadow:0 0 0 3px #3b82f61a;transition:all .2s ease}.edit-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33}.inline-edit{display:flex;align-items:center;gap:0}.inline-edit .edit-input{flex:1;margin:0}.save-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#10b981;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.save-btn:hover{background:#059669}.cancel-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ef4444;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:#dc2626}@media (max-width: 768px){.school-detail-page{padding:12px}.detail-header{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}.school-title h1{font-size:2rem}.school-meta{gap:12px}.basic-info-grid,.detail-grid{grid-template-columns:1fr}.detail-item{flex-direction:column;align-items:flex-start;gap:8px}.detail-value-container{width:100%;justify-content:flex-start}.dimension-header{flex-direction:column;align-items:flex-start;gap:8px}.dimension-header h3{font-size:1.25rem}}@media (max-width: 480px){.school-title h1{font-size:1.75rem}.dimension-card,.basic-info-card{padding:16px}.info-item{padding:12px}}.dimension-card{animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.school-detail-page::-webkit-scrollbar{width:8px}.school-detail-page::-webkit-scrollbar-track{background:rgba(255,255,255,.1);border-radius:4px}.school-detail-page::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:4px}.school-detail-page::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.5)}.school-photos-section{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 8px 32px #0000001a}.photos-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.photos-header h2{display:flex;align-items:center;gap:12px;margin:0;font-size:1.5rem;font-weight:600;color:#1e293b}.section-icon{width:24px;height:24px;color:#3b82f6}.photos-admin-controls{display:flex;gap:12px}.upload-btn{display:flex;align-items:center;gap:8px;background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.upload-btn:hover{background:#2563eb;transform:translateY(-1px)}.upload-btn-primary{display:flex;align-items:center;gap:8px;background:#3b82f6;color:#fff;border:none;border-radius:12px;padding:16px 24px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:16px}.upload-btn-primary:hover{background:#2563eb;transform:translateY(-2px)}.photos-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#64748b}.photos-loading .loading-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top:3px solid #3b82f6;margin-bottom:16px}.photos-container{display:flex;flex-direction:column;gap:20px}.photo-carousel{display:flex;flex-direction:column;gap:16px}.carousel-main{position:relative;width:100%;height:400px;border-radius:12px;overflow:hidden;background:#f8fafc}.main-photo{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.main-photo:hover{transform:scale(1.02)}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.6);color:#fff;border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:2}.carousel-btn:hover{background:rgba(0,0,0,.8);transform:translateY(-50%) scale(1.1)}.prev-btn{left:16px}.next-btn{right:16px}.delete-photo-btn{position:absolute;top:16px;right:16px;background:rgba(239,68,68,.9);color:#fff;border:none;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:2}.delete-photo-btn:hover{background:rgba(220,38,38,.9);transform:scale(1.1)}.photo-thumbnails{display:flex;gap:12px;overflow-x:auto;padding:8px 0}.thumbnail{position:relative;flex-shrink:0;width:80px;height:60px;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s ease}.thumbnail:hover{transform:scale(1.05);border-color:#3b82f6}.thumbnail.active{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.thumbnail img{width:100%;height:100%;object-fit:cover}.thumbnail-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;color:#fff}.thumbnail:hover .thumbnail-overlay{opacity:1}.photo-info{display:flex;flex-direction:column;gap:8px;padding:16px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.photo-counter{font-size:.875rem;color:#64748b;font-weight:500}.photo-title{margin:0;font-size:1.125rem;font-weight:600;color:#1e293b}.photo-description{margin:0;font-size:.875rem;color:#64748b;line-height:1.5}.no-photos{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#64748b}.no-photos-icon{margin-bottom:16px;opacity:.5}.no-photos p{margin:0 0 16px;font-size:1.125rem}.photo-upload-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:white;border-radius:16px;width:100%;max-width:800px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d}.import-photos-modal{max-width:1200px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;font-size:1.5rem;font-weight:600;color:#1e293b}.close-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease}.close-btn:hover{background:#f1f5f9;color:#1e293b}.modal-body{padding:32px;max-height:60vh;overflow-y:auto}.import-search-section{margin-bottom:24px;padding:20px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.search-input-group{display:flex;gap:12px;align-items:center}.search-input{flex:1;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s ease;background:white}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.search-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.search-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.import-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#64748b}.import-loading .loading-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.import-loading span{font-size:1rem;font-weight:500}.import-sources{display:flex;flex-direction:column;gap:32px}.import-section{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.section-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.section-header h4{margin:0;font-size:1.1rem;font-weight:600;color:#1e293b}.section-actions{display:flex;gap:8px}.select-all-btn{background:none;border:1px solid #cbd5e1;color:#64748b;padding:6px 12px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.select-all-btn:hover{background:#f1f5f9;border-color:#94a3b8;color:#475569}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;padding:20px}.image-item{position:relative;border:2px solid transparent;border-radius:12px;overflow:hidden;background:white;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.image-item:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.image-item.selected{border-color:#3b82f6;box-shadow:0 4px 16px #3b82f64d}.image-preview{position:relative;aspect-ratio:4/3;overflow:hidden}.image-preview img{width:100%;height:100%;object-fit:cover}.image-error{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f1f5f9;color:#94a3b8;font-size:.875rem;gap:8px}.image-info{padding:12px}.image-title{font-size:.875rem;font-weight:500;color:#1e293b;margin-bottom:4px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.image-source{font-size:.75rem;color:#64748b}.selection-indicator{position:absolute;top:8px;right:8px;width:24px;height:24px;background:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700;opacity:0;transition:opacity .2s ease}.image-item.selected .selection-indicator{opacity:1}.image-preview-hint{position:absolute;bottom:8px;left:8px;right:8px;background:rgba(0,0,0,.7);color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;text-align:center;opacity:0;transition:opacity .2s ease}.image-item:hover .image-preview-hint{opacity:1}.image-preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.image-preview-content{background:white;border-radius:12px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d}.image-preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.image-preview-header h3{margin:0 16px 0 0;font-size:1.125rem;font-weight:600;color:#1e293b;flex:1}.close-preview-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-preview-btn:hover{background:#e2e8f0;color:#1e293b}.image-preview-body{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}.preview-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 4px 20px #0000001a}.image-preview-footer{padding:16px 20px;border-top:1px solid #e2e8f0;background:#f8fafc;display:flex;justify-content:center}.select-image-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.select-image-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.search-images-tip{padding:20px;background:#eff6ff;border-radius:8px;border-left:4px solid #3b82f6}.search-images-tip p{margin:0 0 12px;font-weight:500;color:#1e293b}.search-images-tip ol{margin:0;padding-left:20px;color:#475569}.search-images-tip li{margin-bottom:4px;font-size:.875rem}.no-import-sources{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#94a3b8;text-align:center}.no-import-sources p{margin:16px 0 8px;font-size:1.1rem;font-weight:500;color:#64748b}.no-import-sources small{font-size:.875rem;color:#94a3b8}.import-btn-primary{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.import-btn-primary:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.import-btn-primary:disabled{background:#cbd5e1;color:#94a3b8;cursor:not-allowed;transform:none}.selected-count{color:#64748b;font-size:.875rem;font-weight:500}.upload-mode-tabs{display:flex;gap:8px;margin-bottom:24px;background:#f1f5f9;padding:4px;border-radius:12px}.upload-mode-tab{flex:1;background:none;border:none;padding:12px 16px;border-radius:8px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.upload-mode-tab.active{background:white;color:#3b82f6;box-shadow:0 2px 8px #0000001a}.upload-area{border:2px dashed #cbd5e1;border-radius:12px;padding:40px 20px;text-align:center;background:#f8fafc;transition:all .3s ease;cursor:pointer}.upload-area:hover{border-color:#3b82f6;background:#eff6ff}.upload-area.dragover{border-color:#3b82f6;background:#dbeafe}.upload-icon{margin-bottom:16px;color:#64748b}.upload-text{margin:0 0 8px;font-size:1.1rem;font-weight:500;color:#1e293b}.upload-hint{margin:0;font-size:.875rem;color:#64748b}.file-input{display:none}.url-input-section{margin-bottom:24px}.url-input-section label{display:block;margin-bottom:8px;font-weight:500;color:#1e293b}.url-textarea{width:100%;min-height:120px;padding:12px;border:1px solid #cbd5e1;border-radius:8px;font-family:inherit;font-size:.875rem;resize:vertical}.url-hint{margin-top:8px;font-size:.75rem;color:#64748b}.preview-section{margin-top:24px}.preview-section h4{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:#1e293b}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.preview-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#f1f5f9}.preview-item img{width:100%;height:100%;object-fit:cover}.remove-preview{position:absolute;top:4px;right:4px;background:rgba(0,0,0,.7);color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px}.modal-footer{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-top:1px solid #e2e8f0;background:#f8fafc}.upload-progress{display:flex;align-items:center;gap:12px;color:#64748b;font-size:.875rem}.modal-actions{display:flex;gap:12px}.cancel-btn{background:none;border:1px solid #cbd5e1;color:#64748b;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:#f1f5f9;border-color:#94a3b8}.upload-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;color:#fff;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.upload-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px)}.upload-btn:disabled{background:#cbd5e1;color:#94a3b8;cursor:not-allowed;transform:none}.upload-area{position:relative}.file-input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;border:2px dashed #d1d5db;border-radius:12px;background:#f8fafc;cursor:pointer;transition:all .2s ease;text-align:center}.upload-label:hover{border-color:#3b82f6;background:#eff6ff}.upload-label span{margin:16px 0 8px;font-size:1.125rem;font-weight:500;color:#1e293b}.upload-label small{font-size:.875rem;color:#64748b}.thumbnail[draggable=true]{cursor:move}.thumbnail[draggable=true]:hover{box-shadow:0 4px 12px #00000026}@media (max-width: 768px){.photos-header{flex-direction:column;align-items:flex-start;gap:16px}.carousel-main{height:250px}.carousel-btn{width:40px;height:40px}.prev-btn{left:12px}.next-btn{right:12px}.photo-thumbnails{gap:8px}.thumbnail{width:60px;height:45px}}@media (max-width: 480px){.school-photos-section{padding:16px}.carousel-main{height:200px}.modal-content{margin:10px;max-width:none}.modal-header,.modal-body{padding:16px}.upload-label{padding:40px 16px}}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn-cancel{padding:10px 20px;border:1px solid #d1d5db;background:white;color:#374151;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.btn-delete{padding:10px 20px;border:none;background:#dc2626;color:#fff;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.btn-delete:hover{background:#b91c1c}.upload-mode-tabs{display:flex;border-bottom:1px solid #e2e8f0}.mode-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border:none;background:none;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent}.mode-tab:hover{background:#f8fafc;color:#1e293b}.mode-tab.active{color:#3b82f6;border-bottom-color:#3b82f6;background:#eff6ff}.url-upload-area{display:flex;flex-direction:column;gap:20px}.url-input-section{display:flex;flex-direction:column;gap:12px}.url-input-section label{font-size:.875rem;font-weight:500;color:#374151}.url-textarea{width:100%;min-height:200px;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif;resize:vertical;transition:border-color .2s ease}.url-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.url-textarea:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.url-upload-tips{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:16px}.url-upload-tips p{margin:0;font-size:.8rem;color:#0369a1;line-height:1.5}.url-upload-tips p+p{margin-top:4px}.url-upload-actions{display:flex;justify-content:flex-end}.btn-upload-urls{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-upload-urls:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-upload-urls:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.loading-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.upload-mode-tabs{flex-direction:column}.mode-tab{border-bottom:none;border-right:2px solid transparent}.mode-tab.active{border-bottom-color:transparent;border-right-color:#3b82f6}.url-textarea{min-height:150px}.url-upload-actions{justify-content:stretch}.btn-upload-urls{width:100%;justify-content:center}}.modal-body p{margin:0 0 16px;color:#374151;line-height:1.5}.references-card{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 8px 32px #0000001a}.references-card .dimension-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.references-card .dimension-header h3{display:flex;align-items:center;gap:12px;margin:0;font-size:1.5rem;font-weight:600;color:#1e293b}.add-reference-btn{display:flex;align-items:center;gap:8px;background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.add-reference-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.references-content{min-height:100px}.references-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#64748b}.references-loading p{margin-top:16px;font-size:.875rem}.references-list{display:flex;flex-direction:column;gap:16px}.reference-item{display:flex;gap:12px;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;transition:all .2s ease}.reference-item:hover{background:#f1f5f9;border-color:#cbd5e1}.reference-number{font-weight:600;color:#3b82f6;font-size:.875rem;flex-shrink:0;min-width:30px}.reference-content{flex:1;display:flex;flex-direction:column;gap:8px}.reference-title{margin:0}.reference-link{color:#1e293b;text-decoration:none;font-weight:500;line-height:1.4;transition:color .2s ease}.reference-link:hover{color:#3b82f6;text-decoration:underline}.reference-meta{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:#64748b}.reference-date{font-weight:500}.reference-url{word-break:break-all;opacity:.8}.reference-actions{display:flex;gap:8px;align-items:flex-start}.edit-reference-btn,.delete-reference-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.edit-reference-btn{background:#f0f9ff;color:#0369a1}.edit-reference-btn:hover{background:#e0f2fe;color:#0c4a6e}.delete-reference-btn{background:#fef2f2;color:#dc2626}.delete-reference-btn:hover{background:#fee2e2;color:#b91c1c}.no-references{display:flex;align-items:center;justify-content:center;padding:40px;text-align:center}.no-references-text{color:#64748b;font-size:.875rem;margin:0}.reference-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.reference-form{background:white;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.reference-form .form-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 0;margin-bottom:20px}.reference-form .form-header h4{margin:0;font-size:1.25rem;font-weight:600;color:#1e293b}.close-form-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#f1f5f9;color:#64748b;border-radius:6px;cursor:pointer;transition:all .2s ease}.close-form-btn:hover{background:#e2e8f0;color:#475569}.reference-form .form-content{padding:0 24px}.reference-form .form-group{margin-bottom:20px}.reference-form .form-group label{display:block;margin-bottom:8px;font-size:.875rem;font-weight:500;color:#374151}.reference-form .form-input{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:border-color .2s ease;box-sizing:border-box}.reference-form .form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.reference-form .form-textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;resize:vertical;min-height:120px;transition:border-color .2s ease;box-sizing:border-box}.reference-form .form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-help{margin-bottom:12px;padding:12px;background:#f8fafc;border-radius:8px;border-left:4px solid #3b82f6}.input-help p{margin:0 0 8px;font-size:.875rem;color:#475569}.input-help p:last-child{margin-bottom:0}.example-text{background:white;padding:8px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8125rem;color:#1e293b;border:1px solid #e2e8f0;margin-top:8px}.batch-preview{margin-top:16px}.batch-preview h5{margin:0 0 12px;font-size:.875rem;font-weight:600;color:#374151}.parsed-references{max-height:200px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.parsed-ref-item{padding:12px;border-bottom:1px solid #e2e8f0}.parsed-ref-item:last-child{border-bottom:none}.parsed-ref-item .ref-title{font-weight:500;color:#1e293b;margin-bottom:4px}.parsed-ref-item .ref-url{font-size:.8125rem;color:#3b82f6;word-break:break-all;margin-bottom:4px}.parsed-ref-item .ref-date{font-size:.75rem;color:#64748b}.reference-form .form-actions{display:flex;flex-direction:column;gap:12px;padding:20px 24px 24px}.mode-toggle{display:flex;justify-content:center;margin-bottom:12px}.btn-toggle{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid #d1d5db;background:white;color:#374151;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-toggle:hover{background:#f8fafc;border-color:#3b82f6;color:#3b82f6}.action-buttons{display:flex;gap:12px;justify-content:flex-end}.save-reference-btn,.cancel-reference-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.save-reference-btn{background:#3b82f6;color:#fff}.save-reference-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.save-reference-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.cancel-reference-btn{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}.cancel-reference-btn:hover{background:#f1f5f9;color:#475569;border-color:#cbd5e1}@media (max-width: 768px){.references-card .dimension-header{flex-direction:column;align-items:flex-start;gap:16px}.add-reference-btn{width:100%;justify-content:center}.reference-item{flex-direction:column;gap:12px}.reference-actions{justify-content:flex-end}.reference-form{margin:10px;max-width:none}.reference-form .form-actions{flex-direction:column}.save-reference-btn,.cancel-reference-btn{width:100%;justify-content:center}}.organize-update-modal{max-width:800px;max-height:90vh}.organize-content{padding:24px;max-height:70vh;overflow-y:auto}.preview-section{margin-bottom:32px}.preview-section:last-child{margin-bottom:0}.preview-section h4{margin:0 0 16px;font-size:1.125rem;font-weight:600;color:#374151;padding:8px 16px;background:#f1f5f9;border-radius:8px;border-left:4px solid #3b82f6}.editable-description{width:100%;padding:16px;border:2px solid #e2e8f0;border-radius:12px;font-size:.875rem;line-height:1.6;resize:vertical;min-height:120px;font-family:inherit;transition:border-color .2s ease;box-sizing:border-box}.editable-description:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.references-preview,.images-preview{display:flex;flex-direction:column;gap:12px}.reference-item.editable,.image-item.editable{position:relative;display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;transition:all .2s ease}.reference-item.editable:hover,.image-item.editable:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.ref-content{flex:1;min-width:0}.ref-title{font-weight:600;color:#1e293b;margin-bottom:4px;line-height:1.4}.ref-url{color:#3b82f6;font-size:.875rem;margin-bottom:4px;word-break:break-all}.ref-date{color:#64748b;font-size:.75rem}.image-item.editable{flex-direction:column;align-items:center;text-align:center;padding:20px}.preview-image{width:100%;object-fit:cover;border-radius:8px;margin-bottom:8px;border:1px solid #e2e8f0}.image-url{color:#64748b;font-size:.75rem;word-break:break-all;margin-bottom:8px}.delete-item-btn{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#fee2e2;color:#dc2626;border-radius:6px;cursor:pointer;transition:all .2s ease;opacity:.8}.delete-item-btn:hover{background:#fecaca;color:#b91c1c;opacity:1;transform:scale(1.1)}.no-items{display:flex;align-items:center;justify-content:center;padding:40px;color:#64748b;font-size:.875rem;background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;text-align:center}.modal-actions{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e2e8f0;justify-content:flex-end;background:#f8fafc}.cancel-btn,.save-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.cancel-btn:hover{background:#e2e8f0;color:#475569;border-color:#cbd5e1}.save-btn{background:#3b82f6;color:#fff}.save-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.save-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.organize-update-modal{margin:10px;max-width:none}.organize-content{padding:16px}.reference-item.editable,.image-item.editable{padding:12px}.modal-actions{flex-direction:column;padding:16px}.cancel-btn,.save-btn{width:100%;justify-content:center}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.spin-animation{animation:spin 1s linear infinite}.pulse-animation{animation:pulse 2s infinite}.school-honors-container{background:#ffffff;border-radius:8px;padding:20px;margin:16px 0;border:1px solid #e9ecef}.honors-header{margin-bottom:16px}.honors-title{font-size:18px;font-weight:600;color:#2c3e50;margin:0}.honors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.honor-card{height:auto}.honor-card-inner{background:#f8f9fa;border-radius:6px;padding:12px;border:1px solid #e9ecef;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.honor-card:hover .honor-card-inner{background:#e9ecef}.honor-level-badge{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;color:#fff;font-size:11px;font-weight:500;white-space:nowrap}.honor-level-icon{font-size:12px}.honor-level-text{font-size:10px}.honor-name{font-size:14px;font-weight:600;color:#2c3e50;margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6c757d}.loading-spinner{width:40px;height:40px;border:4px solid #e9ecef;border-top:4px solid #d4af37;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#dc3545}.error-message{margin-bottom:16px;font-size:16px}.retry-button{background:linear-gradient(135deg,#d4af37,#ffd700);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d4af374d}.no-honors{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6c757d}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}@media (max-width: 768px){.school-honors-container{padding:16px;margin:12px 0}.honors-title{font-size:16px}.honors-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.honor-card-inner{padding:10px;gap:6px}.honor-name{font-size:12px}.honor-level-badge{padding:3px 6px;font-size:10px}.honor-level-icon{font-size:10px}.honor-level-text{font-size:9px}}@media (max-width: 480px){.honors-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}.public-school-public-page{min-height:100vh;background-color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.public-exam-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:20px}.public-exam-stat-card{background:white;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;border:1px solid #e2e8f0}.public-exam-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.public-exam-stat-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#64748b}.public-exam-stat-header h4{margin:0;font-size:14px;font-weight:500}.public-exam-stat-value{font-size:24px;font-weight:700;color:#1e293b;line-height:1.2}.public-section-actions{display:flex;align-items:center;gap:16px}.public-district-link{color:#3b82f6;text-decoration:none;font-size:14px;font-weight:500;padding:8px 16px;border-radius:6px;transition:all .2s ease;border:1px solid #e2e8f0;background:white}.public-district-link:hover{background:#f1f5f9;color:#2563eb;text-decoration:none}.public-district-link.disabled{color:#94a3b8;cursor:not-allowed;opacity:.6}.public-district-link.disabled:hover{background:white;color:#94a3b8}.school-actions{display:flex;gap:12px;align-items:center}.public-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#64748b}.public-loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top:3px solid #3b82f6;border-radius:50%;animation:public-spin 1s linear infinite;margin-bottom:16px}@keyframes public-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.public-error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;color:#64748b}.public-error-container h2{color:#ef4444;margin-bottom:8px}.public-error-container p{margin-bottom:24px}.public-hero-section{position:relative;height:60vh;min-height:400px;overflow:hidden;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.public-hero-carousel{position:relative;width:100%;height:100%}.public-hero-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.public-hero-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fffc;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.public-hero-placeholder p{margin-top:16px;font-size:18px}.public-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.5);color:#fff;border:none;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:2}.public-carousel-btn:hover{background:rgba(0,0,0,.7);transform:translateY(-50%) scale(1.1)}.public-prev-btn{left:20px}.public-next-btn{right:20px}.public-carousel-indicators{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:2}.public-indicator{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:transparent;cursor:pointer;transition:all .3s ease}.public-indicator.active{background:white;border-color:#fff}.public-hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(0,0,0,.3),rgba(0,0,0,.6));display:flex;align-items:flex-end}.public-hero-content{width:100%;padding:40px;color:#fff}.public-header-actions{display:flex;align-items:center;gap:12px;margin-bottom:20px}.public-back-btn{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.2);color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.public-back-btn:hover{background:rgba(255,255,255,.3);transform:translate(-2px)}.public-edit-btn{display:inline-flex;align-items:center;gap:8px;background:rgba(59,130,246,.8);color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.public-edit-btn:hover{background:rgba(59,130,246,1);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.public-school-name{font-size:3rem;font-weight:700;margin:0 0 16px;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.8),-1px -1px 2px rgba(0,0,0,.6),1px -1px 2px rgba(0,0,0,.6),-1px 1px 2px rgba(0,0,0,.6),0 0 8px rgba(0,0,0,.5)}.public-school-meta{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.public-school-type,.public-school-organizer{background:rgba(255,255,255,.2);padding:6px 12px;border-radius:20px;font-size:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.public-school-location{display:flex;align-items:center;gap:4px;font-size:16px}.public-hero-stats{display:flex;gap:32px;flex-wrap:wrap;background:rgba(255,255,255,.15);padding:16px 24px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.public-hero-stat-item{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:500;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.7)}.public-main-content{display:flex;max-width:1400px;margin:0 auto;gap:32px;padding:32px 20px}.public-sidebar-nav{width:280px;flex-shrink:0}.public-nav-container{position:sticky;top:32px;background:white;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;padding:8px}.public-nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;background:transparent;color:#64748b;text-align:left;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.public-nav-item:hover{background:#f1f5f9;color:#334155}.public-nav-item.active{background:#3b82f6;color:#fff}.public-nav-item.active:hover{background:#2563eb}.public-content-area{flex:1;min-width:0}.public-content-section{background:white;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;padding:32px;margin-bottom:32px}.public-section-title{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 24px;padding-bottom:12px;border-bottom:3px solid #3b82f6}.public-overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:32px}.public-overview-card{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;padding:24px;color:#fff;box-shadow:0 8px 25px -5px #0000001a}.public-card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.public-card-icon{width:24px;height:24px}.public-card-header h3{margin:0;font-size:1.1rem;font-weight:600}.public-card-content{display:flex;flex-direction:column;gap:12px}.public-score-display,.public-ratio-display{display:flex;align-items:baseline;gap:4px}.public-score-number,.public-ratio-number{font-size:2.5rem;font-weight:700;line-height:1}.public-score-unit{font-size:1rem;opacity:.9}.public-basic-info-section{margin-bottom:32px}.public-basic-info-section h3{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0 0 16px}.public-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.public-metric-card{background:#f8fafc}.public-wechat-accounts{flex-direction:column;align-items:flex-start}.public-wechat-accounts-list{width:100%;display:flex;flex-direction:column;gap:12px;margin-top:8px}.public-wechat-account-item{background:white;border:1px solid #e2e8f0;border-radius:8px;padding:12px;transition:all .2s ease}.public-wechat-account-item:hover{box-shadow:0 2px 8px #0000001a;border-color:#3b82f6}.public-wechat-account-header{display:flex;align-items:center;gap:12px}.public-wechat-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #e2e8f0}.public-wechat-info{display:flex;flex-direction:column;gap:2px}.public-wechat-name{font-weight:600;color:#1e293b;font-size:14px}.public-wechat-alias{color:#64748b;font-size:12px}.public-wechat-signature{margin:8px 0 0;color:#64748b;font-size:13px;line-height:1.4;padding-left:52px}@media (max-width: 768px){.public-wechat-signature{padding-left:0;margin-top:8px}.public-wechat-avatar{width:36px;height:36px}}.public-articles-list,.public-questions-list{display:flex;flex-direction:column;gap:16px}.public-article-item,.public-question-item{background:white;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;transition:all .3s ease;cursor:pointer;border:1px solid #e2e8f0}.public-article-item:hover,.public-question-item:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px);border-color:#3b82f6}.public-article-title,.public-question-title{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:12px;line-height:1.4;cursor:pointer;transition:color .3s ease}.public-article-title:hover,.public-question-title:hover{color:#3b82f6}.public-article-meta,.public-question-meta{display:flex;align-items:center;gap:16px;margin-bottom:12px;font-size:14px;color:#64748b}.public-article-author,.public-question-author,.public-article-date,.public-question-date{display:flex;align-items:center;gap:4px}.public-question-answers{display:flex;align-items:center;gap:4px;color:#059669;font-weight:500}.public-article-content,.public-question-content{color:#475569;line-height:1.6;font-size:14px}.public-view-more{margin-top:24px;text-align:center}.public-view-more-btn{display:inline-flex;align-items:center;gap:8px;background:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.public-view-more-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.public-view-more-link{display:inline-flex;align-items:center;gap:8px;color:#3b82f6;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;transition:all .3s ease}.public-view-more-link:hover{color:#2563eb;text-decoration:underline}.public-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#64748b}.public-loading-state .public-loading-spinner{width:32px;height:32px;border:2px solid #e2e8f0;border-top:2px solid #3b82f6;border-radius:50%;animation:public-spin 1s linear infinite;margin-bottom:12px}.public-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#64748b;text-align:center}.public-empty-state svg{color:#cbd5e1;margin-bottom:16px}@media (max-width: 768px){.public-article-meta,.public-question-meta{flex-direction:column;align-items:flex-start;gap:8px}.public-article-item,.public-question-item{padding:16px}.public-article-title,.public-question-title{font-size:16px}.public-view-more-btn{padding:10px 20px;font-size:13px}}.spp-high-school-exam-section{margin-bottom:2rem}.spp-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#64748b;text-align:center}.spp-loading-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top:3px solid #3b82f6;border-radius:50%;animation:spp-spin 1s linear infinite;margin-bottom:1rem}@keyframes spp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spp-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#ef4444;text-align:center}.spp-error-state svg{margin-bottom:1rem;opacity:.6}.spp-no-data-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#64748b;text-align:center}.spp-no-data-state svg{margin-bottom:1rem;opacity:.4}.spp-exam-data-container{display:flex;flex-direction:column;gap:1.5rem}.spp-exam-year-card{background:white;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0;transition:all .2s ease}.spp-exam-year-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.spp-exam-year-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}.spp-exam-year-header h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0;display:flex;align-items:center;gap:.5rem}.spp-exam-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.spp-exam-metric-group{background:#f8fafc;border-radius:8px;padding:1rem;border:1px solid #e2e8f0}.spp-exam-metric-group h4{color:#334155;font-size:1rem;font-weight:600;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.spp-exam-scores-row,.spp-exam-high-scores-row{display:flex;gap:1rem;flex-wrap:wrap}.spp-exam-score-item{display:flex;flex-direction:column;align-items:center;background:white;border-radius:8px;padding:.75rem 1rem;border:1px solid #e2e8f0;min-width:100px;flex:1}.spp-score-label{font-size:.875rem;color:#64748b;margin-bottom:.25rem;font-weight:500}.spp-score-value{font-size:1.125rem;font-weight:700;color:#1e293b}.spp-exam-admission-grid,.spp-exam-other-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.spp-exam-metric-item{display:flex;flex-direction:column;align-items:center;background:white;border-radius:6px;padding:.75rem .5rem;border:1px solid #e2e8f0;text-align:center}.spp-metric-label{font-size:.8rem;color:#64748b;margin-bottom:.25rem;font-weight:500;line-height:1.2}.spp-metric-value{font-size:1rem;font-weight:700;color:#1e293b}@media (max-width: 768px){.spp-exam-metrics-grid{grid-template-columns:1fr}.spp-exam-scores-row,.spp-exam-high-scores-row{flex-direction:column}.spp-exam-admission-grid,.spp-exam-other-grid{grid-template-columns:repeat(2,1fr)}.spp-exam-year-card{padding:1rem}}@media (max-width: 480px){.spp-exam-admission-grid,.spp-exam-other-grid{grid-template-columns:1fr}.spp-metric-label{font-size:.75rem}.spp-metric-value{font-size:.9rem}}.spp-primary-school-card{background:white;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;border:1px solid #e2e8f0}.spp-primary-school-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.spp-primary-school-header{display:flex;align-items:center;gap:10px;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.spp-primary-school-header svg{color:#3b82f6;flex-shrink:0}.spp-primary-school-name{font-size:16px;font-weight:600;color:#1e293b;margin:0;line-height:1.4}.spp-primary-school-info{display:flex;flex-direction:column;gap:10px}.spp-primary-school-address,.spp-primary-school-phone,.spp-primary-school-area{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:#64748b;line-height:1.5}.spp-primary-school-address svg,.spp-primary-school-phone svg,.spp-primary-school-area svg{color:#94a3b8;flex-shrink:0;margin-top:2px}.spp-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.spp-section-title{font-size:24px;font-weight:700;color:#1f2937;margin:0}.spp-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280}.spp-loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.spp-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#ef4444;text-align:center}.spp-error-state svg{margin-bottom:16px;opacity:.7}.spp-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af;text-align:center}.spp-empty-state svg{margin-bottom:16px;opacity:.5}.spp-schools-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.spp-school-card{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s ease;box-shadow:0 2px 4px #0000000d}.spp-school-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:#3b82f6}.spp-school-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.spp-school-header svg{color:#3b82f6;flex-shrink:0}.spp-school-name{font-size:18px;font-weight:600;color:#1f2937;margin:0;line-height:1.4}.spp-school-info{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.spp-school-address,.spp-school-principal,.spp-school-type{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280}.spp-school-address svg,.spp-school-principal svg,.spp-school-type svg{flex-shrink:0;opacity:.7}.spp-school-actions{display:flex;justify-content:flex-end}.spp-view-details-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background-color:#f8fafc;color:#3b82f6;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.spp-view-details-btn:hover{background-color:#3b82f6;color:#fff;border-color:#3b82f6;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.spp-view-details-btn:active{transform:translateY(0)}.spp-view-details-btn svg{flex-shrink:0}@media (max-width: 768px){.spp-schools-grid{grid-template-columns:1fr;gap:16px}.spp-school-card{padding:16px}.spp-section-title{font-size:20px}}@media (max-width: 768px){.public-hero-content{padding:20px}.public-school-name{font-size:2rem}.public-hero-stats{flex-direction:column;gap:12px}.public-main-content{padding:20px 16px}.public-content-section{padding:20px}.public-section-title{font-size:1.5rem}.public-overview-cards,.public-metrics-grid,.public-info-grid,.public-special-programs-grid{grid-template-columns:1fr}.public-photos-gallery{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.public-carousel-btn{width:40px;height:40px}.public-prev-btn{left:10px}.public-next-btn{right:10px}}@media (max-width: 480px){.public-hero-section{height:50vh;min-height:300px}.public-school-name{font-size:1.75rem}.public-school-meta{flex-direction:column;align-items:flex-start;gap:8px}.public-overview-card,.public-metric-card{padding:16px}.public-photos-gallery{grid-template-columns:1fr}.public-nav-container{padding:4px}.public-nav-item{padding:8px 12px;font-size:13px}}.public-location-header{display:flex;justify-content:space-between;align-items:center}@media (max-width: 480px){.public-poi-info{padding:16px}.public-poi-item{gap:8px;padding:8px 0}.public-poi-info h4{font-size:16px;margin-bottom:16px}}.public-houses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.public-house-card{background:white;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;border:1px solid #e2e8f0}.public-house-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.public-house-header{display:flex;align-items:center;gap:10px;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.public-house-header svg{color:#3b82f6;flex-shrink:0}.public-house-name{font-size:16px;font-weight:600;color:#1e293b;margin:0;line-height:1.4}.public-house-info{display:flex;flex-direction:column;gap:10px}.public-house-address,.public-house-phone{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:#64748b;line-height:1.5}.public-house-address svg,.public-house-phone svg{color:#94a3b8;flex-shrink:0;margin-top:2px}.public-house-detail{font-size:13px;color:#64748b;background:#f8fafc;padding:8px 12px;border-radius:6px;border-left:3px solid #e2e8f0}.public-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#94a3b8;text-align:center}.public-empty-state svg{margin-bottom:16px;opacity:.6}.public-empty-state p{font-size:16px;margin:0}.public-info-item{display:flex;align-items:center;gap:12px;padding:16px;background:#f8fafc;border-radius:8px;border-left:4px solid #3b82f6}.public-info-icon{width:20px;height:20px;color:#3b82f6;flex-shrink:0}.public-info-label{display:block;font-size:14px;color:#64748b;margin-bottom:4px}.public-info-value{font-weight:600;color:#1e293b}.public-info-link{color:#3b82f6;text-decoration:none;font-weight:600}.public-info-link:hover{text-decoration:underline}.public-description-section h3{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0 0 16px}.public-description-text{line-height:1.7;color:#475569;font-size:16px;margin:0}.public-description-text h1,.public-description-text h2,.public-description-text h3,.public-description-text h4,.public-description-text h5,.public-description-text h6{color:#1e293b;font-weight:600;margin:1.5em 0 .5em;line-height:1.3}.public-description-text h1{font-size:1.8em;border-bottom:2px solid #e2e8f0;padding-bottom:.3em}.public-description-text h2{font-size:1.5em;border-bottom:1px solid #e2e8f0;padding-bottom:.3em}.public-description-text h3{font-size:1.3em}.public-description-text h4{font-size:1.1em}.public-description-text p{margin:1em 0;line-height:1.7}.public-description-text ul,.public-description-text ol{margin:1em 0;padding-left:2em}.public-description-text li{margin:.5em 0;line-height:1.6}.public-description-text strong{font-weight:600;color:#1e293b}.public-description-text em{font-style:italic;color:#64748b}.public-description-text a{color:#3b82f6;text-decoration:none;border-bottom:1px solid transparent;transition:all .2s ease}.public-description-text a:hover{color:#1d4ed8;border-bottom-color:#3b82f6}.public-description-text blockquote{margin:1.5em 0;padding:1em 1.5em;background:#f8fafc;border-left:4px solid #3b82f6;border-radius:0 8px 8px 0;color:#64748b;font-style:italic}.public-description-text code{background:#f1f5f9;padding:.2em .4em;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em;color:#e11d48}.public-description-text pre{background:#f8fafc;padding:1em;border-radius:8px;overflow-x:auto;margin:1.5em 0;border:1px solid #e2e8f0}.public-description-text pre code{background:none;padding:0;color:#475569}.public-description-text hr{margin:2em 0;border:none;border-top:1px solid #e2e8f0}.public-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.public-metric-card{background:#f8fafc;border-radius:12px;padding:24px;border:1px solid #e2e8f0}.public-metric-card h4{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e2e8f0}.public-metric-items{display:flex;flex-direction:column;gap:16px}.public-metric-item{display:flex;justify-content:space-between;align-items:center;gap:16px}.public-metric-label{font-size:14px;color:#64748b;flex:1}.public-metric-value{flex:1;max-width:200px}.public-metric-text{font-weight:600;color:#1e293b;text-align:right}.public-score-bar-container{display:flex;align-items:center;gap:12px}.public-score-bar{flex:1;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.public-score-fill{height:100%;border-radius:4px;transition:width .3s ease}.public-score-text{font-weight:600;color:#1e293b;font-size:14px;min-width:40px;text-align:right}.public-special-programs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px}.public-program-item{display:flex;align-items:center;gap:16px;padding:20px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;transition:all .3s ease}.public-program-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px -5px #0000001a}.public-program-icon{width:32px;height:32px;color:#3b82f6;flex-shrink:0}.public-program-content h4{margin:0 0 4px;font-size:1rem;font-weight:600;color:#1e293b}.public-program-status{font-size:14px;font-weight:500;padding:4px 8px;border-radius:4px}.public-program-status.available{background:#dcfce7;color:#166534}.public-program-status.unavailable{background:#fef2f2;color:#991b1b}.public-extracurricular-score{padding:24px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.public-extracurricular-score h4{margin:0 0 16px;font-size:1.25rem;font-weight:600;color:#1e293b}.public-photos-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.public-gallery-item{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a;transition:all .3s ease;cursor:pointer}.public-gallery-item:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a}.public-gallery-image{width:100%;height:200px;object-fit:cover;transition:transform .3s ease}.public-gallery-item:hover .public-gallery-image{transform:scale(1.05)}.public-gallery-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:#fff;padding:16px;font-size:14px;font-weight:500}.public-no-photos{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#64748b;text-align:center}.public-no-photos p{margin-top:16px;font-size:16px}.public-references-section{border-top:1px solid #e2e8f0;margin-top:32px}.public-references-list{display:flex;flex-direction:column;gap:16px}.public-reference-item{display:flex;gap:12px;padding:16px;background:#f8fafc;border-radius:8px;border-left:4px solid #3b82f6}.public-reference-number{color:#3b82f6;font-weight:600;flex-shrink:0}.public-reference-content{flex:1}.public-reference-link{color:#3b82f6;text-decoration:none;font-weight:500;display:block;margin-bottom:4px}.public-reference-link:hover{text-decoration:underline}.public-reference-meta{font-size:12px;color:#64748b}@media (max-width: 1024px){.public-main-content{flex-direction:column;gap:24px}.public-sidebar-nav{width:100%;order:-1}.public-nav-container{position:static;display:flex;overflow-x:auto;gap:8px;padding:8px}.public-nav-item{white-space:nowrap;flex-shrink:0}.public-school-name{font-size:2.5rem}.public-hero-stats{gap:20px}}@media (max-width: 480px){.public-hero-section{height:50vh;min-height:300px}.public-main-content{padding:0}.public-school-name{font-size:1.75rem}.public-school-meta{flex-direction:column;align-items:flex-start;gap:8px}.public-content-section,.public-overview-card,.public-metric-card{padding:16px}.public-photos-gallery{grid-template-columns:1fr}.public-nav-container{padding:4px}.public-nav-item{padding:8px 12px;font-size:13px}}.public-location-section{margin-top:32px;border-top:1px solid #e2e8f0;padding-top:32px}.public-location-content{display:grid;grid-template-columns:1fr;gap:24px;margin-top:20px}.public-map-container{border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0}.public-baidu-map{border-radius:12px}.public-poi-info{background:white;border-radius:12px;padding:24px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;height:fit-content}.public-poi-info h4{margin:0 0 20px;color:#1e293b;font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.public-poi-details{display:flex;flex-direction:column;gap:16px}.public-poi-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #f1f5f9}.public-poi-item:last-child{border-bottom:none}.public-poi-icon{color:#3b82f6;flex-shrink:0;margin-top:2px}.public-poi-item>div{flex:1;display:flex;flex-direction:column;gap:4px}.public-poi-label{font-size:12px;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.public-poi-value{color:#1e293b;font-size:14px;line-height:1.5;word-break:break-word}@media (max-width: 1024px){.public-location-content{grid-template-columns:1fr;gap:20px}.public-poi-info{order:-1}}@media (max-width: 768px){.public-location-section{margin-top:24px;padding-top:24px}.public-location-content{gap:16px}.public-map-container{height:300px}.public-baidu-map{height:300px!important}.public-poi-info{padding:20px}}@media (max-width: 480px){.public-poi-info{padding:16px}.public-sidebar-nav{display:none}.public-poi-item{gap:8px;padding:8px 0}.public-poi-info h4{font-size:16px;margin-bottom:16px}}.public-exam-scores-chart{background:white;border-radius:12px;padding:24px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0}.public-chart-container{margin-bottom:24px;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.public-exam-scores-summary{border-top:1px solid #e2e8f0;padding-top:20px}.public-score-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.public-stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.public-stat-label{font-size:12px;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.public-stat-value{font-size:20px;font-weight:600;color:#1e293b}.public-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#64748b}.public-loading-state .public-loading-spinner{margin-bottom:16px}.public-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#ef4444;gap:12px}.public-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#64748b;gap:12px}@media (max-width: 768px){.public-exam-scores-chart{padding:20px}.public-chart-container{padding:12px;margin-bottom:20px}.public-score-stats{grid-template-columns:1fr;gap:12px}.public-stat-item{padding:12px}.public-stat-value{font-size:18px}}@media (max-width: 480px){.public-exam-scores-chart{padding:16px}.public-chart-container{padding:8px;margin-bottom:16px}.public-stat-item{padding:8px}.public-stat-value{font-size:16px}}.public-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.public-map-view-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.public-map-view-btn:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.public-map-view-btn:active{transform:translateY(0)}.public-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.public-lightbox-content{position:relative;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;align-items:center}.public-lightbox-image{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:8px;box-shadow:0 10px 30px #0006}.public-lightbox-caption{margin-top:12px;color:#e5e7eb;font-size:14px;text-align:center}.public-lightbox-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:none;border-radius:9999px;background:rgba(31,41,55,.8);color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.public-lightbox-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:none;border-radius:9999px;background:rgba(31,41,55,.8);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.public-lightbox-prev{left:20px}.public-lightbox-next{right:20px}@media (max-width: 480px){.public-lightbox-image{max-width:95vw;max-height:70vh}.public-lightbox-prev{left:10px}.public-lightbox-next{right:10px}.public-lightbox-close{top:10px;right:10px}}.sdp-page{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px}.sdp-page-header{text-align:center;margin-bottom:40px}.sdp-header-content h1{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:10px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.sdp-header-content p{color:#ffffffe6;font-size:1.1rem;margin:0}.sdp-search-section{background:white;border-radius:12px;padding:30px;margin-bottom:30px;box-shadow:0 8px 32px #0000001a}.sdp-search-form{width:100%}.sdp-search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.sdp-search-item{display:flex;flex-direction:column}.sdp-search-item label{font-weight:600;color:#333;margin-bottom:8px;font-size:.9rem}.sdp-search-input{padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#f8f9fa}.sdp-search-input:focus{outline:none;border-color:#667eea;background:white;box-shadow:0 0 0 3px #667eea1a}.sdp-search-buttons{display:flex;gap:15px;justify-content:center}.sdp-search-button,.sdp-reset-button{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.sdp-search-button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.sdp-search-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.sdp-reset-button{background:#6c757d;color:#fff}.sdp-reset-button:hover{background:#5a6268;transform:translateY(-2px)}.sdp-error-section{background:#f8d7da;color:#721c24;padding:15px 20px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:10px;border:1px solid #f5c6cb}.sdp-table-section{background:white;border-radius:12px;padding:30px;box-shadow:0 8px 32px #0000001a}.sdp-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #e9ecef}.sdp-table-header h2{color:#333;font-size:1.5rem;font-weight:700;margin:0}.sdp-total-count{color:#6c757d;font-size:.9rem;background:#f8f9fa;padding:6px 12px;border-radius:20px}.sdp-table-container{overflow-x:auto;border-radius:8px;border:1px solid #e9ecef}.sdp-table{width:100%;border-collapse:collapse;font-size:.9rem}.sdp-table th{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:15px 12px;text-align:left;font-weight:600;border-bottom:2px solid #5a67d8}.sdp-table th:first-child{border-top-left-radius:8px}.sdp-table th:last-child{border-top-right-radius:8px}.sdp-table td{padding:15px 12px;border-bottom:1px solid #e9ecef;vertical-align:middle}.sdp-table tbody tr:hover{background:#f8f9fa}.sdp-table tbody tr:last-child td{border-bottom:none}.sdp-school-cell{display:flex;align-items:center;gap:8px}.sdp-school-link{background:none;border:none;color:#667eea;font-weight:600;cursor:pointer;text-decoration:underline;font-size:.9rem;padding:0;transition:color .3s ease}.sdp-school-link:hover{color:#5a67d8}.sdp-community-link{color:#28a745;text-decoration:underline;font-weight:600}.sdp-community-link:hover{color:#218838}.sdp-map-icon{background:#28a745;border:none;color:#fff;padding:4px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.sdp-map-icon:hover{background:#218838;transform:scale(1.1)}.sdp-empty-state{text-align:center;padding:60px 20px;color:#6c757d}.sdp-empty-state h3{margin:20px 0 10px;color:#495057}.sdp-empty-state p{margin:0;font-size:.9rem}.sdp-load-more{text-align:center;margin-top:30px}.sdp-load-more-button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:12px 30px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.sdp-load-more-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.sdp-load-more-button:disabled{opacity:.6;cursor:not-allowed}.sdp-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#fff}.sdp-loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:sdp-spin 1s linear infinite;margin-bottom:20px}@keyframes sdp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.sdp-page{padding:15px}.sdp-header-content h1{font-size:2rem}.sdp-search-section,.sdp-table-section{padding:20px}.sdp-search-grid{grid-template-columns:1fr;gap:15px}.sdp-search-buttons{flex-direction:column;align-items:stretch}.sdp-table-header{flex-direction:column;align-items:flex-start;gap:10px}.sdp-table{font-size:.8rem}.sdp-table th,.sdp-table td{padding:10px 8px}}@media (max-width: 480px){.sdp-header-content h1{font-size:1.8rem}.sdp-search-section,.sdp-table-section{padding:15px}.sdp-table{font-size:.75rem}.sdp-school-cell{flex-direction:column;align-items:flex-start;gap:5px}}.school-ranking-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#6b7280}.loading-spinner{width:50px;height:50px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.school-ranking-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:80px 0;position:relative;overflow:hidden}.school-ranking-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="%23ffffff" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>') repeat;opacity:.3}.rank-header-content{max-width:1200px;margin:0 auto;padding:0 24px;position:relative}.title-section{text-align:center;margin-bottom:40px}.title-section h1{font-size:3.5rem;font-weight:800;margin-bottom:16px;color:#fff;text-shadow:0 4px 8px rgba(0,0,0,.3);letter-spacing:-.02em}.subtitle{font-size:1.25rem;font-weight:400;letter-spacing:.5px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.4);max-width:800px;margin:0 auto;line-height:1.6;opacity:.95}.stats-overview{display:flex;justify-content:center;gap:60px;margin-top:50px;flex-wrap:wrap;padding:0 20px}.stat-item{text-align:center}.stat-number{display:block;font-size:2.8rem;font-weight:700;margin-bottom:10px;text-shadow:0 3px 6px rgba(0,0,0,.3);color:#fff;line-height:1.1}.stat-label{font-size:1rem;font-weight:600;color:#fff;background-color:#00000040;padding:6px 12px;border-radius:6px;display:inline-block;text-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sr-filters-section{background:white;padding:10px 0;border-bottom:1px solid #e5e7eb;box-shadow:0 4px 20px #0000000d}.filters-container{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.rank-search-box{position:relative;flex:1;max-width:400px}.rank-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#9ca3af;width:20px;height:20px}.rank-search-box input{width:100%;padding:14px 80px 14px 48px;border:2px solid #e5e7eb;border-radius:12px;font-size:.875rem;background:#f9fafb;transition:all .3s ease}.rank-search-box input:focus{outline:none;border-color:#3b82f6;background:white;box-shadow:0 0 0 4px #3b82f61a}.rank-search-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.rank-search-button:hover{background:#2563eb;transform:translateY(-50%) scale(1.02)}.rank-search-button:active{transform:translateY(-50%) scale(.98)}.rank-filter-group{display:flex;flex-direction:column;gap:6px}.rank-filter-group label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.rank-filter-group select{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;background:white;color:#374151;font-size:.875rem;cursor:pointer;transition:all .2s ease;min-width:140px}.rank-filter-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.view-toggle{display:flex;background:#f1f5f9;border-radius:10px;padding:4px}.view-toggle button{padding:10px 20px;border:none;background:transparent;color:#64748b;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.875rem}.view-toggle button.active{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d}.no-results{text-align:center;padding:100px 20px;color:#6b7280}.no-results-icon{width:80px;height:80px;margin:0 auto 30px;color:#d1d5db}.no-results h3{font-size:1.5rem;font-weight:600;margin-bottom:12px;color:#374151}.no-results p{font-size:1rem;margin:0}.ranking-table{background:white;border-radius:16px;overflow-x:auto;box-shadow:0 10px 40px #0000001a;width:100%}.ranking-table.full-view{min-width:max-content}.sr-table-header{display:grid;grid-template-columns:106px 300px 170px 168px 168px 168px 168px;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);color:#475569;font-weight:700;font-size:.875rem;border-bottom:2px solid #e2e8f0;height:40px;min-height:40px;max-height:40px;overflow:hidden}.header-cell{padding:6px 8px;text-align:center;border-right:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;min-height:40px;height:40px;white-space:nowrap}.header-cell:last-child{border-right:none}.header-cell.ranking-school-col{justify-content:flex-start}.header-cell.ranking-type-col{justify-content:center}.sort-btn{background:none;border:none;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;font-size:.875rem;font-weight:700;transition:all .2s ease;padding:8px;border-radius:6px}.sort-btn:hover{background:#e2e8f0;color:#334155}.sort-btn.active{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d}.active-header{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;font-size:.875rem;font-weight:700;padding:8px;border-radius:6px}.table-body{background:white}.sr-table-row{display:grid;grid-template-columns:106px 300px 170px 168px 168px 168px 168px;border-bottom:1px solid #f1f5f9;transition:all .3s ease;background:white;min-height:36px;overflow:visible}.sr-table-row:nth-child(2n){background:#f8fafc}.sr-table-row:hover{background:#e0f2fe;box-shadow:0 1px 4px #0000000d}.sr-table-row.rank-1{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);box-shadow:inset 4px 0 #f59e0b}.sr-table-row.rank-2{background:linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%);box-shadow:inset 4px 0 #6b7280}.sr-table-row.rank-3{background:linear-gradient(135deg,#fef2f2 0%,#fecaca 100%);box-shadow:inset 4px 0 #ef4444}.sr-table-row.safety-veto{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border-left:4px solid #dc2626;opacity:.7}.sr-table-cell{padding:4px 6px;display:flex;align-items:center;justify-content:center;border-right:1px solid #f1f5f9;min-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.sr-table-cell:last-child{border-right:none}.sr-table-cell.ranking-school-col{justify-content:flex-start;white-space:normal;overflow:visible;text-overflow:unset;align-items:flex-start;padding:6px}.sr-table-cell.ranking-type-col{justify-content:center}.rank-display{display:flex;flex-direction:row;align-items:center;gap:4px;white-space:nowrap}.rank-icon{width:16px;height:16px}.rank-icon.gold{color:#f59e0b;filter:drop-shadow(0 2px 4px rgba(245,158,11,.3))}.rank-icon.silver{color:#6b7280;filter:drop-shadow(0 2px 4px rgba(107,114,128,.3))}.school-type{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-align:center;white-space:nowrap}.school-type.gongban{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);color:#1e40af;border:1px solid #3b82f6}.school-type.minban{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);color:#92400e;border:1px solid #f59e0b}.school-type.guoji{background:linear-gradient(135deg,#f3e8ff 0%,#e9d5ff 100%);color:#7c3aed;border:1px solid #8b5cf6}.school-type.unknown,.school-type.other{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);color:#475569;border:1px solid #94a3b8}.rank-icon.bronze{color:#ef4444;filter:drop-shadow(0 2px 4px rgba(239,68,68,.3))}.rank-number{font-size:.9rem;font-weight:800;color:#374151;line-height:1}.rank-change{display:flex;align-items:center;font-size:.65rem;line-height:1}.rank-change-icon{width:12px;height:12px;display:none}.rank-change-icon.up{color:#10b981}.rank-change-icon.down{color:#ef4444}.rank-change-icon.same{color:#6b7280}.score-display{text-align:center;padding:2px 4px;border-radius:4px;background:#f8fafc;white-space:nowrap;min-width:40px}.score-display.excellent{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);color:#065f46}.score-display.good{background:linear-gradient(135deg,#dbeafe 0%,#93c5fd 100%);color:#1e40af}.score-display.average{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);color:#92400e}.score-display.poor{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);color:#991b1b}.score-value{font-size:.7rem;font-weight:700;line-height:1}.score-unit{font-size:.65rem;opacity:.8;line-height:1}.ranking-school-info{display:flex;flex-direction:row;align-items:center;width:100%;white-space:nowrap;overflow:hidden}.ranking-school-name{font-size:14px;font-weight:700;color:#1f2937;margin:0;line-height:1.2;white-space:normal;word-wrap:break-word;cursor:pointer;transition:color .2s ease;flex:1;display:flex;align-items:center;min-height:40px}.ranking-school-name:hover{color:#2563eb}.ranking-school-meta{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;white-space:nowrap}.ranking-school-type{padding:1px 4px;border-radius:6px;font-size:.5rem;font-weight:600;color:#fff;line-height:1;white-space:nowrap}.ranking-school-type.elem{background:linear-gradient(135deg,#10b981,#059669)}.ranking-school-type.middle{background:linear-gradient(135deg,#3b82f6,#2563eb)}.ranking-school-type.high{background:linear-gradient(135deg,#f59e0b,#d97706)}.ranking-school-type.k-9{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.ranking-school-type.k-12{background:linear-gradient(135deg,#ef4444,#dc2626)}.ranking-safety-warning{background:#dc2626;color:#fff;padding:1px 4px;border-radius:6px;font-size:.55rem;font-weight:600;line-height:1;white-space:nowrap}.ranking-special-programs{display:flex;gap:3px;flex-wrap:wrap}.ranking-program-tag{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#3730a3;padding:1px 4px;border-radius:6px;font-size:.55rem;font-weight:500;line-height:1;white-space:nowrap}.district-text{font-size:.65rem;color:#6b7280;font-weight:500;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.students-text{font-size:.65rem;font-weight:700;color:#374151;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-ratio{display:block;font-size:.5rem;color:#6b7280;margin-top:2px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-courses-btn{background:none;border:none;color:#3b82f6;font-size:.65rem;cursor:pointer;padding:1px 0;text-align:left;transition:all .2s ease;font-weight:500;line-height:1;white-space:nowrap}.view-courses-btn:hover{color:#1d4ed8;text-decoration:underline}.multi-metric{display:flex;flex-direction:column;gap:2px;text-align:center;width:100%;overflow:hidden}.multi-metric span{font-size:.6rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.detailed-metrics-explanation{background:#f8fafc;padding:80px 0}.explanation-container{max-width:1200px;margin:0 auto;padding:0 24px}.explanation-container h2{text-align:center;color:#1e293b;margin-bottom:2rem;font-size:2rem;font-weight:600}.overview-section{margin-bottom:2.5rem;text-align:center}.overview-text{font-size:1.1rem;color:#475569;margin-bottom:1.5rem;line-height:1.6;max-width:800px;margin-left:auto;margin-right:auto}.dimensions-overview{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem}.dimension-summary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:white;border-radius:8px;box-shadow:0 2px 4px #0000001a;border:1px solid #e2e8f0;transition:all .2s ease}.dimension-summary:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.dimension-summary .dimension-icon{width:18px;height:18px;color:#3b82f6}.dimension-summary .dimension-name{font-weight:500;color:#1e293b;font-size:.9rem}.explanation-container h3{font-size:2.5rem;font-weight:700;color:#1f2937;text-align:center;margin-bottom:60px;position:relative}.explanation-container h3:after{content:"";position:absolute;bottom:-16px;left:50%;transform:translate(-50%);width:100px;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:2px}.metrics-categories{display:flex;flex-direction:column;gap:50px}.category-section{background:white;padding:40px;border-radius:20px;box-shadow:0 10px 40px #00000014;border-left:6px solid #3b82f6}.category-section.safety-veto{border-left-color:#dc2626;background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%)}.category-section h4{display:flex;align-items:center;gap:12px;font-size:1.75rem;font-weight:700;color:#1f2937;margin-bottom:30px}.category-icon{width:32px;height:32px;color:#3b82f6}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.metric-item{background:#f8fafc;padding:24px;border-radius:12px;border-left:4px solid #3b82f6;transition:all .2s ease}.metric-item:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.metric-item h5{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0 0 12px}.metric-item p{color:#6b7280;font-size:.875rem;line-height:1.6;margin:0}.evaluation-note{background:white;padding:40px;border-radius:16px;margin-top:40px;box-shadow:0 10px 40px #00000014}.evaluation-note h4{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:20px}.evaluation-note ul{list-style:none;padding:0;margin:0}.evaluation-note li{padding:12px 0;border-bottom:1px solid #f1f5f9;color:#6b7280;line-height:1.6}.evaluation-note li:last-child{border-bottom:none}.evaluation-note strong{color:#1f2937;font-weight:600}@media (max-width: 1024px){.title-section h1{font-size:2.8rem}.subtitle{font-size:1.125rem;padding:0 20px}.stats-overview{gap:40px;margin-top:40px}.stat-number{font-size:2.4rem}.dimensions-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.filters-container{flex-direction:column;align-items:stretch;gap:20px}.rank-search-box{max-width:none}.sr-table-header,.sr-table-row{grid-template-columns:60px 250px 100px 80px 100px 100px 100px;font-size:.8rem}.header-cell,.sr-table-cell{padding:16px 12px}}@media (max-width: 768px){.page-header{padding:50px 0}.title-section h1{font-size:2.2rem}.subtitle{font-size:1rem;padding:0 20px;line-height:1.5}.stats-overview{flex-direction:row;gap:25px;justify-content:space-around;margin-top:35px;padding:0 15px}.stat-item{flex:1;min-width:0}.stat-number{font-size:2.2rem;margin-bottom:8px}.stat-label{font-size:.875rem;padding:4px 8px;border-radius:4px}.dimensions-overview{flex-direction:column;align-items:center;gap:.75rem}.dimension-summary{width:100%;max-width:280px;justify-content:center}.sr-filters-section{position:static}.sr-table-header,.sr-table-row{grid-template-columns:50px 200px 80px 80px 80px}.school-name{font-size:1rem}.metrics-grid{grid-template-columns:1fr}.explanation-container h2{font-size:1.5rem}.overview-text{font-size:1rem;padding:0 1rem}}@media (max-width: 480px){.page-header{padding:40px 0}.title-section{margin-bottom:30px}.title-section h1{font-size:1.8rem;margin-bottom:12px}.subtitle{font-size:.9rem;padding:0 16px;line-height:1.4}.stats-overview{flex-direction:column;gap:15px;align-items:center;margin-top:25px;padding:0 20px}.stat-item{width:100%;max-width:180px}.stat-number{font-size:1.8rem;margin-bottom:6px}.stat-label{font-size:.8rem;padding:3px 6px;border-radius:3px}.dimension-card{padding:24px 16px}.sr-table-header,.sr-table-row{grid-template-columns:40px 150px 60px 60px}.school-name,.score-value{font-size:.875rem}.category-section{padding:24px 16px}.metric-item{padding:16px}.stats-overview{display:none}}.modal-content{background:white;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:800px;width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.honors-modal{max-width:900px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.modal-header h3{margin:0;font-size:1.5rem;font-weight:600}.modal-close{background:none;border:none;color:#fff;cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s}.modal-close:hover{background:rgba(255,255,255,.1)}.modal-body{padding:32px;overflow-y:auto;flex:1}.add-honor-form{background:#f8fafc;border-radius:12px;padding:24px;margin-bottom:32px;border:1px solid #e2e8f0}.add-honor-form h4{margin:0 0 20px;color:#1e293b;font-size:1.25rem;font-weight:600}.form-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-bottom:16px}.form-input,.form-select{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;transition:border-color .2s;background:white}.form-input:focus,.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;resize:vertical;min-height:80px;margin-bottom:20px;font-family:inherit;transition:border-color .2s}.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.add-honor-btn{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.add-honor-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.honors-list h4{margin:0 0 20px;color:#1e293b;font-size:1.25rem;font-weight:600}.no-honors{text-align:center;color:#64748b;font-style:italic;padding:40px 20px;background:#f1f5f9;border-radius:8px;border:2px dashed #cbd5e1}.honors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.honor-item{background:white;border:1px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .2s;position:relative}.honor-item:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.honor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.honor-level{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.honor-level.national{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff}.honor-level.provincial{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);color:#fff}.honor-level.collective{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);color:#fff}.honor-year{color:#64748b;font-size:.875rem;font-weight:500}.delete-honor-btn{background:#fee2e2;color:#dc2626;border:none;padding:6px;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.delete-honor-btn:hover{background:#fecaca;transform:scale(1.1)}.honor-title{font-size:1rem;font-weight:600;color:#1e293b;margin-bottom:8px;line-height:1.4}.honor-description{color:#64748b;font-size:.875rem;line-height:1.5}.honors-summary{display:flex;align-items:center;gap:12px}.honor-counts{display:flex;gap:8px}.honor-count{padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600;min-width:24px;text-align:center}.honor-count.national{background:#fee2e2;color:#dc2626}.honor-count.provincial{background:#fef3c7;color:#d97706}.honor-count.collective{background:#ede9fe;color:#7c3aed}.honor-count.total{background:#f0f9ff;color:#0369a1;font-weight:700;font-size:.875rem;min-width:32px;padding:6px 12px}.honor-count.clickable{cursor:pointer;transition:all .2s ease}.honor-count.clickable:hover{transform:scale(1.1);box-shadow:0 2px 8px #00000026}.honors-edit-btn{background:#f1f5f9;color:#475569;border:none;padding:6px;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.honors-edit-btn:hover{background:#e2e8f0;color:#334155;transform:scale(1.1)}.spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.exam-600plus-col,.exam-international-col{min-width:100px;max-width:100px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-edit-input{width:90px;max-width:90px;padding:4px 8px;border:2px solid #3b82f6;border-radius:4px;font-size:.875rem;font-weight:600;color:#1e293b;background:#ffffff;box-shadow:0 0 0 2px #3b82f61a;transition:all .2s ease;text-align:center}.ranking-edit-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.ranking-edit-input-container{display:flex;align-items:center;justify-content:center;width:100%}@media (max-width: 768px){.modal-content{width:95vw;max-height:95vh}.modal-header,.modal-body{padding:20px}.form-row{grid-template-columns:1fr;gap:12px}.honors-grid{grid-template-columns:1fr}.honor-item{padding:16px}.ranking-edit-input{width:80px;max-width:80px}}.sr-filter-group{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.sr-filter-group label{font-weight:600;color:#374151;white-space:nowrap;margin-right:8px}.sr-filter-link{padding:6px 12px;color:#6b7280;text-decoration:none;border-radius:6px;transition:all .2s;cursor:pointer;font-size:14px;white-space:nowrap;border:1px solid transparent}.sr-filter-link:hover{color:#3b82f6;background-color:#f3f4f6;border-color:#e5e7eb}.sr-filter-link.active{color:#3b82f6;background-color:#eff6ff;font-weight:600;border-color:#bfdbfe}.sr-remote-district-tag{background-color:#ef4444;color:#fff;font-size:10px;padding:2px 4px;border-radius:3px;margin-left:4px;font-weight:500}.srp-mobile-filters{display:none}.srp-select{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;background:white;color:#374151;font-size:.875rem;min-width:160px}@media (max-width: 640px){.sr-filter-group{display:none}.srp-mobile-filters{display:flex;gap:12px;width:100%}.srp-mobile-filters .srp-select{flex:1}}@media (max-width: 640px){.sr-table-header .header-cell.ranking-type-col,.sr-table-header .header-cell.area-col,.sr-table-header .header-cell.students-col,.sr-table-header .header-cell.honors-col,.sr-table-cell.ranking-type-col,.sr-table-cell.area-col,.sr-table-cell.students-col,.sr-table-cell.honors-col{display:none}.sr-table-header,.sr-table-row{grid-template-columns:66px auto 108px;width:100%;min-width:0}.sr-table-cell.ranking-school-col{min-width:0;width:100%}.sr-table-header .header-cell.rank-col,.sr-table-cell.rank-col{justify-content:center}.sr-table-header .header-cell.ranking-school-col,.sr-table-cell.ranking-school-col{justify-content:flex-start}.sr-table-header .header-cell.comprehensive-col,.sr-table-cell.comprehensive-col{justify-content:center}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:white;border-radius:12px;box-shadow:0 10px 25px #0003;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef;background:#f8f9fa}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.modal-close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.modal-close-btn:hover{background:#e9ecef;color:#333}.modal-body{flex:1;overflow-y:auto;padding:0}.modal-body .honors-management{box-shadow:none;border-radius:0;margin-bottom:0}.district-display{display:flex;align-items:center;gap:6px;position:relative}.remote-district-tag{display:inline-flex;align-items:center;justify-content:center;background:#ff6b35;color:#fff;font-size:10px;font-weight:600;padding:2px 4px;border-radius:3px;min-width:16px;height:16px;line-height:1}.district-display:hover .remote-district-tag{background:#e55a2b;transform:scale(1.1);transition:all .2s ease}.district-display[title]:hover:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:1000;margin-bottom:5px}.district-display[title]:hover:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#333;z-index:1000;margin-bottom:1px}.middle-school-ranking-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.msr-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#6b7280}.msr-loading-spinner{width:50px;height:50px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.msr-school-ranking-header{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);color:#fff;padding:80px 0;position:relative;overflow:hidden}.msr-school-ranking-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="%23ffffff" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>') repeat;opacity:.3}.msr-rank-header-content{max-width:1200px;margin:0 auto;padding:0 24px;position:relative}.msr-title-section{text-align:center;margin-bottom:40px}.msr-title-section h1{font-size:3.5rem;font-weight:800;margin-bottom:16px;color:#fff;text-shadow:0 4px 8px rgba(0,0,0,.3);letter-spacing:-.02em}.msr-subtitle{font-size:1.25rem;font-weight:400;letter-spacing:.5px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.4);max-width:800px;margin:0 auto;line-height:1.6;opacity:.95}.msr-stats-overview{display:flex;justify-content:center;gap:60px;margin-top:50px;flex-wrap:wrap;padding:0 20px}.msr-stat-item{text-align:center}.msr-stat-number{display:block;font-size:2.8rem;font-weight:700;margin-bottom:10px;text-shadow:0 3px 6px rgba(0,0,0,.3);color:#fff;line-height:1.1}.msr-stat-label{font-size:1rem;font-weight:600;color:#fff;background-color:#00000040;padding:6px 12px;border-radius:6px;display:inline-block;text-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.msr-filters-section{background:white;padding:10px 0;border-bottom:1px solid #e5e7eb;box-shadow:0 4px 20px #0000000d}.msr-filters-container{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.msr-rank-search-box{position:relative;flex:1;max-width:400px}.msr-rank-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#9ca3af;width:20px;height:20px}.msr-rank-search-box input{width:100%;padding:14px 80px 14px 48px;border:2px solid #e5e7eb;border-radius:12px;font-size:.875rem;background:#f9fafb;transition:all .3s ease}.msr-rank-search-box input:focus{outline:none;border-color:#3b82f6;background:white;box-shadow:0 0 0 4px #3b82f61a}.msr-rank-search-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.msr-rank-search-button:hover{background:#2563eb;transform:translateY(-50%) scale(1.02)}.msr-rank-search-button:active{transform:translateY(-50%) scale(.98)}.msr-rank-filter-group{display:flex;flex-direction:column;gap:6px}.msr-rank-filter-group label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.msr-rank-filter-group select{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;background:white;color:#374151;font-size:.875rem;cursor:pointer;transition:all .2s ease;min-width:140px}.msr-rank-filter-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.msr-view-toggle{display:flex;background:#f1f5f9;border-radius:10px;padding:4px}.msr-view-toggle button{padding:10px 20px;border:none;background:transparent;color:#64748b;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.875rem}.msr-view-toggle button.active{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d}.msr-ranking-section{padding:40px 0}.msr-ranking-container{max-width:1200px;margin:0 auto;padding:0 24px}.msr-ranking-container.full-view{overflow-x:auto;max-width:100%}.msr-no-results{text-align:center;padding:100px 20px;color:#6b7280}.msr-no-results-icon{width:80px;height:80px;margin:0 auto 30px;color:#d1d5db}.msr-no-results h3{font-size:1.5rem;font-weight:600;margin-bottom:12px;color:#374151}.msr-no-results p{font-size:1rem;margin:0}.msr-ranking-table{background:white;border-radius:16px;overflow-x:auto;box-shadow:0 10px 40px #0000001a;width:100%}.msr-ranking-table.full-view{min-width:max-content}.msr-table-header{display:grid;grid-template-columns:100px 268px 150px 150px 120px 120px 120px 100px 120px;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);color:#475569;font-weight:700;font-size:.875rem;border-bottom:2px solid #e2e8f0;height:40px;min-height:40px;max-height:40px;overflow:hidden}.msr-table-header.full-view{grid-template-columns:100px 225px 100px 100px 100px 100px 100px 100px 100px 100px 100px 100px 100px 100px}.msr-header-cell{padding:6px 8px;text-align:center;border-right:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;min-height:40px;height:40px;white-space:nowrap}.msr-header-cell:last-child{border-right:none}.msr-header-cell.ranking-school-col{justify-content:flex-start}.msr-header-cell.ranking-type-col{justify-content:center}.msr-sort-btn{background:none;border:none;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;font-size:.875rem;font-weight:700;transition:all .2s ease;padding:8px;border-radius:6px}.msr-sort-btn:hover{background:#e2e8f0;color:#334155}.msr-sort-btn.active{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d}.msr-active-header{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;font-size:.875rem;font-weight:700;padding:8px;border-radius:6px}.msr-table-body{background:white}.msr-table-row{display:grid;grid-template-columns:100px 268px 150px 150px 120px 120px 120px 100px 120px;border-bottom:1px solid #f1f5f9;transition:all .3s ease;background:white;min-height:36px;overflow:visible}.msr-table-row.full-view{grid-template-columns:100px 225px 100px 100px 100px 100px 100px 100px 100px 100px 100px 100px 100px 100px}.msr-table-row:nth-child(2n){background:#f8fafc}.msr-table-row:hover{background:#e0f2fe;box-shadow:0 1px 4px #0000000d}.msr-table-row.rank-1{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);box-shadow:inset 4px 0 #f59e0b}.msr-table-row.rank-2{background:linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%);box-shadow:inset 4px 0 #6b7280}.msr-table-row.rank-3{background:linear-gradient(135deg,#fef2f2 0%,#fecaca 100%);box-shadow:inset 4px 0 #ef4444}.msr-table-row.safety-veto{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border-left:4px solid #dc2626;opacity:.7}.msr-table-cell{padding:4px 6px;display:flex;align-items:center;justify-content:center;border-right:1px solid #f1f5f9;min-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.msr-table-cell:last-child{border-right:none}.msr-table-cell.ranking-school-col{justify-content:flex-start;white-space:normal;overflow:visible;text-overflow:unset;align-items:flex-start;padding:6px}.msr-table-cell.ranking-type-col{justify-content:center}.msr-remote-district-tag{background-color:#ef4444;color:#fff;font-size:10px;padding:2px 4px;border-radius:3px;margin-left:4px;font-weight:500}.msr-rank-display{display:flex;flex-direction:row;align-items:center;gap:4px;white-space:nowrap}.msr-rank-icon{width:16px;height:16px}.msr-rank-icon.gold{color:#f59e0b;filter:drop-shadow(0 2px 4px rgba(245,158,11,.3))}.msr-rank-icon.silver{color:#6b7280;filter:drop-shadow(0 2px 4px rgba(107,114,128,.3))}.msr-rank-icon.bronze{color:#ef4444;filter:drop-shadow(0 2px 4px rgba(239,68,68,.3))}.msr-rank-number{font-size:.9rem;font-weight:800;color:#374151;line-height:1}.msr-rank-change{display:flex;align-items:center;font-size:.65rem;line-height:1}.msr-rank-change-icon{width:12px;height:12px;display:none}.msr-rank-change-icon.up{color:#10b981}.msr-rank-change-icon.down{color:#ef4444}.msr-rank-change-icon.same{color:#6b7280}.msr-school-type{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-align:center;white-space:nowrap}.msr-school-type.gongban{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);color:#1e40af;border:1px solid #3b82f6}.msr-school-type.minban{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);color:#92400e;border:1px solid #f59e0b}.msr-school-type.guoji{background:linear-gradient(135deg,#f3e8ff 0%,#e9d5ff 100%);color:#7c3aed;border:1px solid #8b5cf6}.msr-school-type.unknown,.msr-school-type.other{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);color:#475569;border:1px solid #94a3b8}.msr-score-display{text-align:center;padding:2px 4px;border-radius:4px;background:#f8fafc;white-space:nowrap;min-width:40px}.msr-score-display.excellent{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);color:#065f46}.msr-score-display.good{background:linear-gradient(135deg,#dbeafe 0%,#93c5fd 100%);color:#1e40af}.msr-score-display.average{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);color:#92400e}.msr-score-display.poor{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);color:#991b1b}.msr-score-value{font-size:.7rem;font-weight:700;line-height:1}.msr-score-unit{font-size:.65rem;opacity:.8;line-height:1}.msr-ranking-school-info{display:flex;flex-direction:row;align-items:center;width:100%;white-space:nowrap;overflow:hidden}.msr-ranking-school-name{font-size:14px;font-weight:700;color:#1f2937;margin:0;line-height:1.2;white-space:normal;word-wrap:break-word;cursor:pointer;transition:color .2s ease;flex:1;display:flex;align-items:center;min-height:40px}.msr-ranking-school-name:hover{color:#2563eb}.msr-ranking-school-meta{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;white-space:nowrap}.msr-ranking-school-type{padding:1px 4px;border-radius:6px;font-size:.5rem;font-weight:600;color:#fff;line-height:1;white-space:nowrap}.msr-ranking-school-type.elem{background:linear-gradient(135deg,#10b981,#059669)}.msr-ranking-school-type.middle{background:linear-gradient(135deg,#3b82f6,#2563eb)}.msr-ranking-school-type.high{background:linear-gradient(135deg,#f59e0b,#d97706)}.msr-ranking-school-type.k-9{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.msr-ranking-school-type.k-12{background:linear-gradient(135deg,#ef4444,#dc2626)}.msr-ranking-safety-warning{background:#dc2626;color:#fff;padding:1px 4px;border-radius:6px;font-size:.55rem;font-weight:600;line-height:1;white-space:nowrap}.msr-ranking-special-programs{display:flex;gap:3px;flex-wrap:wrap}.msr-ranking-program-tag{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#3730a3;padding:1px 4px;border-radius:6px;font-size:.55rem;font-weight:500;line-height:1;white-space:nowrap}.msr-district-text{font-size:.65rem;color:#6b7280;font-weight:500;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msr-students-text{font-size:.65rem;font-weight:700;color:#374151;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msr-teacher-ratio{display:block;font-size:.5rem;color:#6b7280;margin-top:2px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msr-view-courses-btn{background:none;border:none;color:#3b82f6;font-size:.65rem;cursor:pointer;padding:1px 0;text-align:left;transition:all .2s ease;font-weight:500;line-height:1;white-space:nowrap}.msr-view-courses-btn:hover{color:#1d4ed8;text-decoration:underline}.msr-multi-metric{display:flex;flex-direction:column;gap:2px;text-align:center;width:100%;overflow:hidden}.msr-multi-metric span{font-size:.6rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}@media (max-width: 1024px){.msr-title-section h1{font-size:2.8rem}.msr-subtitle{font-size:1.125rem;padding:0 20px}.msr-stats-overview{gap:40px;margin-top:40px}.msr-stat-number{font-size:2.4rem}.msr-filters-container{flex-direction:column;align-items:stretch;gap:20px}.msr-rank-search-box{max-width:none}.msr-table-header,.msr-table-row{grid-template-columns:60px 250px 100px 80px 100px 100px 100px;font-size:.8rem}.msr-header-cell,.msr-table-cell{padding:16px 12px}}@media (max-width: 768px){.msr-page-header{padding:50px 0}.msr-title-section h1{font-size:2.2rem}.msr-subtitle{font-size:1rem;padding:0 20px;line-height:1.5}.msr-stats-overview{flex-direction:row;gap:25px;justify-content:space-around;margin-top:35px;padding:0 15px}.msr-stat-item{flex:1;min-width:0}.msr-stat-number{font-size:2.2rem;margin-bottom:8px}.msr-stat-label{font-size:.875rem;padding:4px 8px;border-radius:4px}.msr-filters-section{position:static}.msr-table-header,.msr-table-row{grid-template-columns:50px 200px 80px 80px 80px}.msr-school-name{font-size:1rem}}@media (max-width: 480px){.msr-page-header{padding:40px 0}.msr-title-section{margin-bottom:30px}.msr-title-section h1{font-size:1.8rem;margin-bottom:12px}.msr-subtitle{font-size:.9rem;padding:0 16px;line-height:1.4}.msr-stats-overview{flex-direction:column;gap:15px;align-items:center;margin-top:25px;padding:0 20px}.msr-stat-item{width:100%;max-width:180px}.msr-stat-number{font-size:1.8rem;margin-bottom:6px}.msr-stat-label{font-size:.8rem;padding:3px 6px;border-radius:3px}.msr-table-header,.msr-table-row{grid-template-columns:56px auto 88px}.msr-school-name,.msr-score-value{font-size:.875rem}.msr-stats-overview{display:none}}.msr-mobile-filters{display:none}.msr-select{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;background:white;color:#374151;font-size:.875rem;min-width:160px}@media (max-width: 640px){.sr-filter-group{display:none}.msr-mobile-filters{display:flex;gap:12px;width:100%}.msr-mobile-filters .msr-select{flex:1}.msr-table-header,.msr-table-row,.msr-table-header.full-view,.msr-table-row.full-view{grid-template-columns:66px auto 108px}.msr-table-header .header-cell:nth-child(3),.msr-table-header .header-cell:nth-child(4),.msr-table-header .header-cell:nth-child(5),.msr-table-header .header-cell:nth-child(6),.msr-table-header .header-cell:nth-child(8),.msr-table-header .header-cell:nth-child(9),.msr-table-header.full-view .header-cell:nth-child(n+10),.msr-table-row .msr-table-cell:nth-child(3),.msr-table-row .msr-table-cell:nth-child(4),.msr-table-row .msr-table-cell:nth-child(5),.msr-table-row .msr-table-cell:nth-child(6),.msr-table-row .msr-table-cell:nth-child(8),.msr-table-row .msr-table-cell:nth-child(9),.msr-table-row.full-view .msr-table-cell:nth-child(n+10){display:none}.msr-table-header .header-cell.rank-col,.msr-table-row .msr-table-cell.rank-col{justify-content:center}.msr-table-header .header-cell.ranking-school-col,.msr-table-row .msr-table-cell.ranking-school-col{justify-content:flex-start}.msr-table-header .header-cell.comprehensive-col,.msr-table-row .msr-table-cell.comprehensive-col{justify-content:center}}.hsr-school-ranking-header{background:linear-gradient(135deg,#fc4a1a 0%,#f7b733 100%);color:#fff;padding:80px 0;position:relative;overflow:hidden}.hsr-school-ranking-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="%23ffffff" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>') repeat;opacity:.3}.hsr-rank-header-content{max-width:1200px;margin:0 auto;padding:0 24px;position:relative}.hsr-title-section{text-align:center;margin-bottom:40px}.hsr-title-section h1{font-size:3.5rem;font-weight:800;margin-bottom:16px;color:#fff;text-shadow:0 4px 8px rgba(0,0,0,.3);letter-spacing:-.02em}.hsr-subtitle{font-size:1.25rem;font-weight:400;letter-spacing:.5px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.4);max-width:800px;margin:0 auto;line-height:1.6;opacity:.95}.hsr-stats-overview{display:flex;justify-content:center;gap:60px;margin-top:50px;flex-wrap:wrap;padding:0 20px}.hsr-stat-item{text-align:center}.hsr-stat-number{display:block;font-size:2.8rem;font-weight:700;margin-bottom:10px;text-shadow:0 3px 6px rgba(0,0,0,.3);color:#fff;line-height:1.1}.hsr-stat-label{font-size:1rem;font-weight:600;color:#fff;background-color:#00000040;padding:6px 12px;border-radius:6px;display:inline-block;text-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.high-table-header{display:grid;grid-template-columns:100px 280px 134px 134px 100px 100px 100px 100px 100px 100px;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);color:#475569;font-weight:700;font-size:.875rem;border-bottom:2px solid #e2e8f0;height:40px;min-height:40px;max-height:40px;overflow:hidden}.high-table-header.full-view{grid-template-columns:70px 225px 90px 90px 70px 90px 90px 90px 90px 90px 90px 90px 90px 90px 90px 90px 90px;overflow-x:auto;min-width:max-content;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%)}.high-table-row{display:grid;grid-template-columns:100px 280px 134px 134px 100px 100px 100px 100px 100px 100px;border-bottom:1px solid #f1f5f9;transition:all .3s ease;background:white;min-height:36px;overflow:visible}.high-table-row.full-view{grid-template-columns:70px 225px 90px 90px 70px 90px 90px 90px 90px 90px 90px 90px 90px 90px 90px 90px 90px;min-width:max-content}.high-table-row:nth-child(2n){background:#f8fafc}.high-table-row:hover{background:#e0f2fe;box-shadow:0 1px 4px #0000000d}.high-table-row.rank-1{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);box-shadow:inset 4px 0 #f59e0b}.high-table-row.rank-2{background:linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%);box-shadow:inset 4px 0 #6b7280}.high-table-row.rank-3{background:linear-gradient(135deg,#fef2f2 0%,#fecaca 100%);box-shadow:inset 4px 0 #ef4444}.high-table-row.safety-veto{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border-left:4px solid #dc2626;opacity:.7}.high-table-cell{padding:4px 6px;display:flex;align-items:center;justify-content:center;border-right:1px solid #f1f5f9;min-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.high-table-cell:last-child{border-right:none}.high-table-cell.ranking-school-col{justify-content:flex-start;white-space:normal;overflow:visible;text-overflow:unset;align-items:flex-start;padding:6px}.high-table-cell.ranking-type-col{justify-content:center}.slp-filter-group{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.slp-filter-group label{font-weight:600;color:#374151;white-space:nowrap;margin-right:8px}.slp-filter-link{padding:6px 12px;color:#6b7280;text-decoration:none;border-radius:6px;transition:all .2s;cursor:pointer;font-size:14px;white-space:nowrap;border:1px solid transparent}.slp-filter-link:hover{color:#3b82f6;background-color:#f3f4f6;border-color:#e5e7eb}.slp-filter-link.active{color:#3b82f6;background-color:#eff6ff;font-weight:600;border-color:#bfdbfe}.hsr-view-toggle{display:flex;align-items:center;gap:8px;margin-bottom:16px}.hsr-view-toggle-label{font-weight:600;color:#374151;font-size:14px;white-space:nowrap}.hsr-view-button{padding:8px 16px;border:1px solid #d1d5db;background:white;color:#6b7280;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.hsr-view-button:hover{background:#f9fafb;border-color:#9ca3af}.hsr-view-button.active{background:linear-gradient(135deg,#fc4a1a 0%,#f7b733 100%);color:#fff;border-color:#fc4a1a;box-shadow:0 2px 4px #fc4a1a33}.hsr-view-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.hsr-view-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.hsr-mobile-filters{display:none}.hsr-select{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;background:white;color:#374151;font-size:.875rem;min-width:160px}@media (max-width: 480px){.hsr-page-header{padding:40px 0}.hsr-title-section{margin-bottom:30px}.hsr-title-section h1{font-size:1.8rem;margin-bottom:12px}.hsr-subtitle{font-size:.9rem;padding:0 16px;line-height:1.4}.hsr-stats-overview{flex-direction:column;gap:15px;align-items:center;margin-top:25px;padding:0 20px}.hsr-stat-item{width:100%;max-width:180px}.hsr-stat-number{font-size:1.8rem;margin-bottom:6px}.hsr-stat-label{font-size:.8rem;padding:3px 6px;border-radius:3px}.hsr-school-name,.hsr-score-value{font-size:.875rem}.hsr-stats-overview{display:none}}@media (max-width: 640px){.high-table-header .header-cell.ranking-type-col,.high-table-header .header-cell.area-col,.high-table-header .header-cell.students-col,.high-table-header .header-cell.allocation-col,.high-table-header .header-cell.honors-col,.high-table-header .header-cell[class*=exam-],.high-table-cell.ranking-type-col,.high-table-cell.area-col,.high-table-cell.students-col,.high-table-cell.allocation-col,.high-table-cell.honors-col,.high-table-cell[class*=exam-]{display:none}.high-table-header,.high-table-row,.high-table-header.full-view,.high-table-row.full-view{grid-template-columns:86px auto 108px;width:100%;min-width:0}.high-table-cell.ranking-school-col{min-width:0;width:100%}.high-table-header .header-cell.rank-col,.high-table-cell.rank-col{justify-content:center}.high-table-header .header-cell.ranking-school-col,.high-table-cell.ranking-school-col{justify-content:flex-start}.high-table-header .header-cell.comprehensive-col,.high-table-cell.comprehensive-col{justify-content:center}.sr-filter-group{display:none}.hsr-mobile-filters{display:flex;gap:12px;width:100%}.hsr-mobile-filters .hsr-select{flex:1}}.image-upload-md-editor{width:100%}.image-toolbar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-bottom:none;border-radius:8px 8px 0 0;font-size:14px}.toolbar-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:white;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.toolbar-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.toolbar-btn:disabled{opacity:.6;cursor:not-allowed}.toolbar-tip{display:inline-flex;align-items:center;gap:4px;color:#6b7280;font-size:12px;margin-left:auto}.url-input-container{display:flex;gap:8px;padding:12px 16px;background:#f1f5f9;border:1px solid #e2e8f0;border-bottom:none;align-items:center}.url-input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:white;transition:all .2s ease}.url-input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.url-import-btn{padding:8px 16px;background:#8b5cf6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.url-import-btn:hover:not(:disabled){background:#7c3aed}.url-import-btn:disabled{opacity:.6;cursor:not-allowed}.md-editor-wrapper{position:relative}.md-editor-wrapper .w-md-editor{border-radius:0 0 8px 8px;border-top:none}.md-editor-wrapper.drag-over{position:relative}.md-editor-wrapper.drag-over:after{content:"拖拽图片到此处上传";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(139,92,246,.1);border:2px dashed #8b5cf6;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:#8b5cf6;z-index:10}.image-upload-md-editor.uploading .toolbar-btn{opacity:.6;cursor:not-allowed}.image-upload-md-editor.uploading .md-editor-wrapper:after{content:"正在上传图片...";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(255,255,255,.9);padding:12px 24px;border-radius:8px;box-shadow:0 4px 12px #0000001a;font-size:14px;font-weight:500;color:#374151;z-index:20}@media (max-width: 768px){.image-toolbar{flex-wrap:wrap;gap:8px;padding:8px 12px}.toolbar-btn{padding:4px 8px;font-size:12px}.toolbar-tip{width:100%;justify-content:center;margin-left:0;margin-top:4px}.url-input-container{flex-direction:column;gap:8px;align-items:stretch}.url-import-btn{align-self:flex-end;min-width:80px}}.com-community-page{min-height:calc(100vh - 70px);background:#ffffff}.com-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#6b7280}.com-loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top:3px solid #6366f1;border-radius:50%;animation:com-spin 1s linear infinite;margin-bottom:16px}@keyframes com-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.com-page-header{background:#ffffff;padding:2rem 0 1.5rem;border-bottom:1px solid #f0f0f0}.com-header-content{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:flex-start;text-align:left}.com-header-left{flex:1}.com-page-title{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:8px}.com-page-subtitle{font-size:1rem;color:#6b7280;margin-bottom:0}.com-header-actions{display:flex;gap:12px;margin-left:auto}.com-ask-question-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#6366f1;color:#fff;text-decoration:none;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}.com-ask-question-btn:hover{background:#4f46e5;transform:translateY(-1px)}.com-search-section{background:#ffffff;padding:2rem 2rem 1.5rem}.com-search-container{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;align-items:center;gap:.5rem}.com-search-box{position:relative;width:100%;max-width:600px}.com-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#9ca3af;z-index:1}.com-search-input{width:100%;padding:.875rem 1rem .875rem 2.75rem;border:1px solid #e5e7eb;border-radius:8px;background:#ffffff;font-size:.875rem;transition:all .2s ease;box-sizing:border-box}.com-search-input:focus{outline:none;border-color:#6366f1;background:white;box-shadow:0 0 0 3px #6366f11a}.com-search-input::placeholder{color:#9ca3af}.com-filter-tags{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.com-filter-tag{background:#f3f4f6;color:#6b7280;border:none;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.com-filter-tag:hover{background:#e5e7eb;color:#374151}.com-filter-tag.active{background:#6366f1;color:#fff}.com-questions-section{padding:32px 0;background:#f8fafc}.com-questions-container{max-width:1200px;margin:0 auto;padding:0 24px}.com-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.com-section-title{font-size:1.25rem;font-weight:600;color:#1f2937}.com-question-count{color:#6b7280;font-size:14px}.com-questions-list{display:flex;flex-direction:column;gap:16px}.com-question-card{background:white;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;transition:all .2s ease;position:relative}.com-question-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#d1d5db}.com-question-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:16px}.com-question-title{font-size:1.125rem;font-weight:600;color:#1f2937;line-height:1.4;flex:1;cursor:pointer;transition:color .2s ease}.com-question-title:hover{color:#6366f1}.com-answer-status{display:flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:16px;font-weight:600;font-size:12px;flex-shrink:0;text-align:center}.com-answer-status.answered{background:#dcfce7;color:#16a34a}.com-answer-status.unanswered{background:#fef3cd;color:#d97706}.com-question-content{color:#6b7280;line-height:1.6;margin-bottom:16px;font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.com-question-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;border-top:1px solid #f1f5f9}.com-author-info{display:flex;align-items:center;gap:8px}.com-author-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;background:#f3f4f6}.com-author-name{font-weight:500;color:#374151;font-size:14px}.com-question-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:#6b7280}.com-question-date{color:#6b7280}.com-question-category{background:#eff6ff;color:#2563eb;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.com-status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.com-status-badge.answered{background:#dcfce7;color:#16a34a}.com-status-badge.unanswered{background:#fef2f2;color:#dc2626}.com-no-questions{text-align:center;padding:60px 20px;background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a}.com-no-questions-icon{width:64px;height:64px;color:#6366f1;margin:0 auto 20px}.com-no-questions h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:12px}.com-no-questions p{color:#6b7280;margin-bottom:24px}.com-ask-first-btn{background:#6366f1;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.com-ask-first-btn:hover{background:#4f46e5;transform:translateY(-1px)}.com-pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:32px;padding:24px 0}.com-pagination-btn{padding:8px 12px;border:1px solid #e5e7eb;background:white;color:#6b7280;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px}.com-pagination-btn:hover:not(:disabled){border-color:#6366f1;color:#6366f1}.com-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.com-pagination-btn.active{background:#6366f1;color:#fff;border-color:#6366f1}.com-infinite-sentinel{display:flex;justify-content:center;align-items:center;padding:16px 0;color:#6b7280}.com-loading-spinner.small{width:24px;height:24px;border-width:2px;margin-bottom:0}.com-load-more-tip{font-size:12px;color:#9ca3af}.com-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.com-modal-content{background:white;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.com-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb}.com-modal-header h2{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.com-close-btn{background:none;border:none;font-size:20px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.com-close-btn:hover{background:#f3f4f6;color:#374151}.com-modal-body{padding:24px}.com-form-group{margin-bottom:20px}.com-form-group label{display:block;font-weight:500;color:#374151;margin-bottom:6px;font-size:14px}.com-form-input,.com-form-textarea{width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;background:#f9fafb;transition:all .3s ease;resize:vertical}.com-form-input:focus,.com-form-textarea:focus{outline:none;border-color:#6366f1;background:white;box-shadow:0 0 0 3px #6366f11a}.com-form-textarea{min-height:100px}.com-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #e5e7eb}.com-cancel-btn{background:#f3f4f6;color:#6b7280;border:none;padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;font-size:14px}.com-cancel-btn:hover{background:#e5e7eb;color:#374151}.com-submit-btn{background:#6366f1;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;font-size:14px}.com-submit-btn:hover:not(:disabled){background:#4f46e5}.com-submit-btn:disabled{opacity:.6;cursor:not-allowed}.com-batch-qa-modal{max-width:800px}.com-batch-qa-form{padding:0}.com-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.com-school-search-container{position:relative}.com-school-search-input{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;transition:all .2s;background:white}.com-school-search-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.com-school-dropdown{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 6px 6px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 6px -1px #0000001a}.com-school-option{padding:10px 12px;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background-color .2s;font-size:14px}.com-school-option:hover{background-color:#f9fafb}.com-school-option:last-child{border-bottom:none}.com-admin-actions{display:flex;gap:8px;margin-left:auto}.com-admin-btn{padding:6px 12px;border:1px solid #e5e7eb;background:white;color:#6b7280;border-radius:6px;cursor:pointer;transition:all .2s;font-size:12px}.com-admin-btn:hover{border-color:#dc2626;color:#dc2626}@media (max-width: 768px){.com-page-header{padding:24px 0 16px}.com-header-content h1{font-size:1.5rem}.com-header-content p{font-size:14px}.com-search-container,.com-questions-container{padding:0 16px}.com-question-card{padding:16px}.com-question-header{flex-direction:column;align-items:flex-start;gap:12px}.com-answer-status{align-self:flex-end}.com-question-footer{flex-direction:column;align-items:flex-start;gap:12px}.com-modal-content{margin:16px;max-height:calc(100vh - 32px)}.com-modal-header,.com-modal-body,.com-modal-footer{padding:16px}.com-pagination{display:none}}@media (max-width: 480px){.com-search-input{font-size:16px}.com-filter-tags{justify-content:flex-start;overflow-x:auto;padding-bottom:8px}.com-filter-tag{flex-shrink:0}.com-question-title{font-size:1rem}.com-modal-footer{flex-direction:column}.com-cancel-btn,.com-submit-btn{width:100%}.com-filter-tags{display:none}}.com-selected-schools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.com-school-tag{display:inline-flex;align-items:center;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:4px 8px;font-size:14px;color:#374151}.com-remove-school-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:16px;margin-left:6px;padding:0;line-height:1}.com-remove-school-btn:hover{color:#ef4444}.com-search-loading{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #d1d5db;border-top:none;border-radius:0 0 6px 6px;padding:8px 12px;font-size:14px;color:#6b7280;z-index:1000}.cs-container{background:#f8fafc;border-radius:16px;padding:24px;margin-top:32px}.cs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.cs-title-section{display:flex;align-items:center;gap:12px}.cs-icon{background:#3b82f6;padding:8px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center}.cs-title{font-size:20px;font-weight:600;color:#111827;margin:0}.cs-subtitle{color:#6b7280;font-size:14px;margin:4px 0 0}.cs-form{background:white;border-radius:12px;padding:20px;margin-bottom:24px;border:1px solid #e5e7eb}.cs-form-header h4{font-size:16px;font-weight:600;color:#111827;margin:0 0 16px}.cs-textarea{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:12px;font-size:14px;line-height:1.5;resize:vertical;min-height:100px;font-family:inherit}.cs-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.cs-form-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.cs-form-options{display:flex;align-items:center;gap:16px}.cs-checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280;cursor:pointer}.cs-checkbox{width:16px;height:16px}.cs-char-count{font-size:12px;color:#9ca3af}.cs-submit-btn{background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s}.cs-submit-btn:hover:not(:disabled){background:#2563eb}.cs-submit-btn:disabled{background:#9ca3af;cursor:not-allowed}.cs-comments{space-y:16px}.cs-empty{text-align:center;padding:40px 20px;color:#6b7280}.cs-empty svg{margin:0 auto 16px;opacity:.5}.cs-comment{background:white;border-radius:12px;padding:16px;border:1px solid #e5e7eb;margin-bottom:12px}.cs-comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cs-comment-author{display:flex;align-items:center;gap:12px}.cs-avatar{width:36px;height:36px;border-radius:50%;background:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.cs-author-name{font-weight:500;color:#111827;font-size:14px}.cs-comment-time{color:#6b7280;font-size:12px;margin-left:8px}.cs-delete-btn{background:none;border:none;color:#ef4444;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.cs-delete-btn:hover{background:#fef2f2}.cs-comment-content{color:#374151;line-height:1.6;font-size:14px}.cs-load-more{width:100%;background:white;border:1px solid #d1d5db;border-radius:8px;padding:12px;color:#6b7280;cursor:pointer;font-size:14px;transition:all .2s}.cs-load-more:hover{background:#f9fafb;border-color:#3b82f6;color:#3b82f6}.cs-loading{text-align:center;padding:40px 20px;color:#6b7280}.cs-loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:cs-spin 1s linear infinite;margin:0 auto 16px}@keyframes cs-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.question-detail-page{min-height:calc(100vh - 70px);background:#f8fafc;padding:0}.admin-actions{display:flex;gap:12px;align-items:center}.edit-question-btn,.delete-question-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out}.edit-question-btn{background-color:#3b82f6;color:#fff}.edit-question-btn:hover{background-color:#2563eb;transform:translateY(-1px)}.delete-question-btn{background-color:#dc2626;color:#fff}.delete-question-btn:hover{background-color:#b91c1c;transform:translateY(-1px)}.qdp-school-search-input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;background-color:#fff;transition:all .2s ease-in-out}.qdp-school-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.qdp-school-search-input:disabled{background-color:#f1f5f9;cursor:not-allowed}.qdp-school-dropdown{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;max-height:200px;overflow-y:auto;z-index:1000;margin-top:4px}.qdp-school-option{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background-color .2s ease-in-out}.qdp-school-option:hover{background-color:#f8fafc}.qdp-selected-school{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:8px 12px;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;font-size:.875rem;color:#0369a1}.qdp-clear-school-btn{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1.2rem;font-weight:700;padding:0;margin-left:8px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease-in-out}.qdp-clear-school-btn:hover{background-color:#fee2e2}.qdp-clear-school-btn:disabled{cursor:not-allowed;opacity:.5}.question-edit-form{background:white;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.edit-header h2{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0}.edit-actions{display:flex;gap:12px}.save-edit-btn,.cancel-edit-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out}.save-edit-btn{background-color:#10b981;color:#fff}.save-edit-btn:hover:not(:disabled){background-color:#059669;transform:translateY(-1px)}.save-edit-btn:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}.cancel-edit-btn{background-color:#6b7280;color:#fff}.cancel-edit-btn:hover:not(:disabled){background-color:#4b5563;transform:translateY(-1px)}.cancel-edit-btn:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}.edit-form-group{margin-bottom:1.5rem}.edit-form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.edit-category-select,.edit-school-id-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;transition:border-color .2s}.edit-category-select:focus,.edit-school-id-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.edit-category-select:disabled,.edit-school-id-input:disabled{background-color:#f9fafb;cursor:not-allowed}.delete-question-btn:disabled,.save-edit-btn:disabled,.cancel-edit-btn:disabled{opacity:.6;cursor:not-allowed}.edit-title-input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;background-color:#fff;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.edit-title-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.edit-title-input:disabled{background-color:#f9fafb;cursor:not-allowed}.question-actions{margin-top:16px;display:flex;gap:12px;align-items:center}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:40px 20px;text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top:3px solid #8b5cf6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-state h3{font-size:1.5rem;font-weight:700;color:#dc2626;margin-bottom:12px}.error-state p{color:#6b7280;margin-bottom:24px}.aq-page-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:white;border-bottom:1px solid #e5e7eb}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#f3f4f6;color:#374151;text-decoration:none;border-radius:8px;font-size:.875rem;font-weight:500;transition:all .2s ease-in-out}.back-btn:hover{background:#e5e7eb;color:#1f2937;transform:translateY(-1px)}.question-detail{background:white;margin:24px;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.question-header{padding:24px;border-bottom:1px solid #e5e7eb}.question-title{font-size:1.875rem;font-weight:700;color:#1f2937;margin:0 0 16px;line-height:1.3}.question-meta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:.875rem;color:#6b7280}.question-meta span{display:inline-flex;align-items:center;gap:4px}.question-meta .author{font-weight:600;color:#374151}.question-meta .category{background:#ddd6fe;color:#7c3aed;padding:4px 12px;border-radius:20px;font-weight:500}.question-meta .status{padding:4px 12px;border-radius:20px;font-weight:500}.question-meta .status.answered{background:#d1fae5;color:#065f46}.question-meta .status.unanswered{background:#fef3c7;color:#92400e}.question-content{padding:24px}.question-content .w-md-editor-preview{background:transparent;padding:0}.question-content .w-md-editor-preview .wmde-markdown{font-size:1rem;line-height:1.7;color:#374151}.question-content .w-md-editor-preview .wmde-markdown h1,.question-content .w-md-editor-preview .wmde-markdown h2,.question-content .w-md-editor-preview .wmde-markdown h3{color:#1f2937;margin-top:24px;margin-bottom:16px}.question-content .w-md-editor-preview .wmde-markdown p{margin-bottom:16px}.question-content .w-md-editor-preview .wmde-markdown img{max-width:100%;height:auto;border-radius:8px;margin:16px 0}.answer-section{background:white;margin:0 24px 24px;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.aq-section-header{display:flex;align-items:center;gap:12px;padding:20px 24px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.aq-section-header h2{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0}.existing-answer{padding:24px}.answer-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:.875rem}.admin-badge{background:#3b82f6;color:#fff;padding:4px 12px;border-radius:20px;font-weight:500}.admin-name{font-weight:600;color:#374151}.answer-time{display:inline-flex;align-items:center;gap:4px;color:#6b7280}.answer-content .w-md-editor-preview{background:transparent;padding:0}.answer-content .w-md-editor-preview .wmde-markdown{font-size:1rem;line-height:1.7;color:#374151}.no-answer{padding:40px 24px;text-align:center;color:#6b7280}.answer-form{padding:24px;border-top:1px solid #e5e7eb;background:#f8fafc}.answer-form h3{font-size:1.125rem;font-weight:700;color:#1f2937;margin:0 0 16px}.form-actions{margin-top:16px;display:flex;justify-content:flex-end}.submit-answer-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#8b5cf6;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease-in-out}.submit-answer-btn:hover:not(:disabled){background:#7c3aed;transform:translateY(-1px)}.submit-answer-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}@media (max-width: 768px){.question-detail-page{padding:0}.aq-page-header{padding:16px 20px;position:static}.admin-actions{flex-direction:column;gap:8px}.edit-question-btn,.delete-question-btn{width:100%;justify-content:center}.question-detail,.answer-section{margin:10px;border-radius:8px}.question-header,.question-content,.existing-answer,.answer-form{padding:20px}.question-title{font-size:1.5rem}.question-meta{gap:12px}.edit-header{flex-direction:column;align-items:flex-start;gap:16px}.edit-actions{width:100%;justify-content:flex-end}.save-edit-btn,.cancel-edit-btn{flex:1}}@media (max-width: 480px){.aq-page-header{padding:12px 16px}.question-detail,.answer-section{margin:2px}.question-header,.question-content,.existing-answer,.answer-form{padding:16px}.question-title{font-size:1.25rem}.question-meta{flex-direction:column;align-items:flex-start;gap:8px}.edit-actions{flex-direction:column;gap:8px}}.qdp-school-search-container{position:relative;width:100%}.qdp-school-search-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;outline:none;transition:border-color .2s}.qdp-school-search-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.qdp-search-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#666;font-size:12px}.qdp-school-dropdown{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 2px 8px #0000001a}.qdp-school-option{padding:10px 12px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.qdp-school-option:hover{background-color:#f8f9fa}.qdp-school-option:last-child{border-bottom:none}.qdp-school-no-results{padding:10px 12px;color:#666;font-style:italic;text-align:center}.qdp-selected-schools{margin-top:10px}.qdp-selected-schools-label{font-size:14px;color:#333;margin-bottom:8px;font-weight:500}.qdp-school-tags{display:flex;flex-wrap:wrap;gap:8px}.qdp-school-tag{display:inline-flex;align-items:center;background-color:#e3f2fd;color:#1976d2;padding:4px 8px;border-radius:16px;font-size:12px;border:1px solid #bbdefb}.qdp-school-tag span{margin-right:4px}.qdp-remove-school{background:none;border:none;color:#1976d2;cursor:pointer;font-size:16px;line-height:1;padding:0;margin-left:4px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.qdp-remove-school:hover{background-color:#1976d21a}.qdp-remove-school:disabled{opacity:.5;cursor:not-allowed}.qdp-clear-school{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:0;margin-left:8px}.qdp-clear-school:hover{color:#333}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer: coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.user-center{max-width:1200px;margin:0 auto;padding:20px;background:#f8fafc;min-height:100vh}.loading{display:flex;justify-content:center;align-items:center;height:400px;font-size:18px;color:#64748b}.error{text-align:center;padding:40px;color:#ef4444;background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a}.user-profile{background:white;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;margin-bottom:24px}.profile-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:40px 32px;color:#fff;position:relative}.profile-content{display:flex;align-items:center;gap:24px;justify-content:space-between}.avatar-container{position:relative;display:inline-block}.user-avatar{width:120px;height:120px;border-radius:50%;border:4px solid rgba(255,255,255,.2);object-fit:cover;cursor:pointer;transition:all .3s ease}.user-avatar:hover{transform:scale(1.05);border-color:#fff6}.avatar-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;cursor:pointer;color:#fff;font-size:12px;gap:4px}.avatar-container:hover .avatar-overlay{opacity:1}.admin-dropdown{position:relative;display:inline-block}.admin-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-left:12px}.admin-btn{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:13px;transition:all .2s;white-space:nowrap}.admin-btn:hover{background:rgba(255,255,255,.3);transform:translateY(-1px)}.avatar-crop-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.avatar-crop-container{background:white;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a}.avatar-crop-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.avatar-crop-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.close-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:#6b7280;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#374151}.avatar-crop-content{padding:24px;display:flex;justify-content:center;align-items:center;min-height:300px}.avatar-crop-actions{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;justify-content:flex-end}.ucp-cancel-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.ucp-cancel-btn:hover:not(:disabled){background:#e5e7eb}.ucp-save-btn{background:#3b82f6;border:1px solid #3b82f6;color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.ucp-save-btn:hover:not(:disabled){background:#2563eb}.ucp-save-btn:disabled,.ucp-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.profile-info{flex:1}.user-name{font-size:32px;font-weight:700;margin:0 0 16px;color:#fff}.profile-actions{margin-bottom:16px;display:flex;align-items:center;gap:12px;margin-left:auto}.user-center-edit-btn{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;transition:all .2s}.user-center-edit-btn:hover{background:rgba(255,255,255,.3)}.loading{display:flex;flex-direction:column;justify-content:center;align-items:center;height:400px;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.loading p{font-size:16px;color:#6b7280;margin:0}@media (max-width: 768px){.profile-content{flex-direction:column;text-align:center;gap:16px}.user-avatar{width:100px;height:100px}.user-name{font-size:24px}.user-meta{justify-content:center;gap:16px}.admin-dropdown-menu{position:fixed;top:auto;bottom:0;left:0;right:0;border-radius:12px 12px 0 0;margin-top:0}.avatar-crop-modal{padding:10px}.avatar-crop-container{max-height:95vh}}.user-details h1{font-size:32px;font-weight:700;margin:0 0 8px}.user-meta{display:flex;gap:24px;margin:16px 0;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:8px;font-size:14px;opacity:.9}.user-bio{font-size:16px;line-height:1.6;margin:16px 0 0;opacity:.9}.edit-profile-btn{position:absolute;top:24px;right:24px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;transition:all .2s}.edit-profile-btn:hover{background:rgba(255,255,255,.3)}.user-level{margin-top:20px}.level-info{display:flex;align-items:center;gap:12px;margin-bottom:8px}.level-badge{background:rgba(255,255,255,.2);padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.reputation-score{font-size:14px;opacity:.9}.level-progress{background:rgba(255,255,255,.2);height:6px;border-radius:3px;overflow:hidden}.progress-bar{background:rgba(255,255,255,.8);height:100%;border-radius:3px;transition:width .3s ease}.user-badges{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.badge{background:rgba(255,255,255,.2);padding:6px 12px;border-radius:16px;font-size:12px;display:flex;align-items:center;gap:4px}.profile-body{padding:32px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-bottom:32px}.stat-card{background:#f8fafc;padding:20px;border-radius:12px;text-align:center;border:1px solid #e2e8f0}.stat-value{font-size:28px;font-weight:700;color:#1e293b;margin-bottom:4px}.stat-label{font-size:14px;color:#64748b}.profile-tabs{display:flex;border-bottom:2px solid #e2e8f0;margin-bottom:24px}.tab-button{background:none;border:none;padding:12px 24px;font-size:16px;font-weight:500;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6}.tab-button:hover{color:#3b82f6}.tab-content{min-height:300px}.profile-form{max-width:600px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:#374151;font-size:14px}.form-input,.form-textarea{padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background-color:#f9fafb;color:#6b7280}.input-with-status{display:flex;align-items:center;gap:12px}.input-with-status .form-input{flex:1}.status{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status.bound{background:#dcfce7;color:#166534}.status.unbound{background:#fef2f2;color:#991b1b}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.ucp-cancel-btn,.ucp-save-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.ucp-cancel-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.ucp-cancel-btn:hover{background:#e5e7eb}.ucp-save-btn{background:#3b82f6;border:1px solid #3b82f6;color:#fff}.ucp-save-btn:hover{background:#2563eb}.activities-list{display:flex;flex-direction:column;gap:16px}.activity-item{display:flex;align-items:center;gap:16px;padding:16px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.activity-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px}.activity-icon.question{background:#3b82f6}.activity-icon.answer{background:#10b981}.activity-icon.like{background:#ef4444}.activity-icon.badge{background:#f59e0b}.activity-content{flex:1}.activity-title{font-weight:500;color:#1e293b;margin-bottom:4px}.activity-description{font-size:14px;color:#64748b}.activity-time{font-size:12px;color:#9ca3af}.settings-section{background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-top:24px;overflow:hidden}.settings-container{padding:24px}.settings-container>h3{margin:0 0 20px;color:#333;font-size:20px;font-weight:600;border-bottom:2px solid #f0f0f0;padding-bottom:12px}.settings-content{display:flex;flex-direction:column;gap:24px}.settings-section h4{margin:16px;color:#555;font-size:16px;font-weight:500}.setting-item{margin:8px;display:flex;align-items:center;justify-content:space-between;padding:16px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;transition:all .2s ease}.setting-item:hover{background:#e9ecef;border-color:#dee2e6;transform:translateY(-1px)}.setting-info{display:flex;align-items:center;gap:12px;flex:1}.setting-info svg{color:#6c757d;flex-shrink:0}.setting-info div h4{margin:4px;font-size:14px;font-weight:500;color:#333}.setting-info div p{margin:0;font-size:13px;color:#6c757d}.logout-section{margin-top:24px;padding-top:20px;border-top:1px solid #e9ecef}.logout-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#dc3545;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;width:100%;justify-content:center}.logout-btn:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 4px 8px #dc35454d}.logout-btn:hover{background:#2563eb}.danger-btn{background:#ef4444;color:#fff;border:none;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.danger-btn:hover{background:#dc2626}@media (max-width: 768px){.user-center{padding:16px}.profile-content{flex-direction:column;text-align:center}.user-avatar{width:100px;height:100px}.user-details h1{font-size:24px}.user-meta{justify-content:center}.edit-profile-btn{position:static;margin-top:16px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:16px}.profile-tabs{overflow-x:auto}.tab-button{white-space:nowrap;min-width:100px}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.binding-item{flex-direction:column;align-items:flex-start;gap:12px}.binding-actions{align-self:stretch;justify-content:flex-end}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.profile-header{padding:24px 16px}.profile-body{padding:20px 16px}}.admin-panel{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-radius:12px;padding:20px;margin:20px 0;border:2px solid rgba(245,158,11,.2)}.admin-panel-title{display:flex;align-items:center;gap:8px;color:#fff;font-size:16px;font-weight:600;margin:0 0 16px}.admin-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.admin-link-btn{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.9);color:#d97706;border:none;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;justify-content:center}.admin-link-btn:hover{background:white;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.admin-link-btn:active{transform:translateY(0)}@media (max-width: 768px){.admin-links{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.admin-links{grid-template-columns:1fr}.admin-panel{padding:16px}}.register-page{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;align-items:center;justify-content:center;padding:20px}.register-container{background:white;border-radius:16px;box-shadow:0 20px 40px #0000001a;width:100%;max-width:480px;padding:0;overflow:hidden}.register-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid #f1f5f9;background:#fafbfc}.register-header h1{margin:0;font-size:24px;font-weight:600;color:#1e293b}.back-btn{display:flex;align-items:center;justify-content:center;border:none;background:#f1f5f9;border-radius:8px;color:#64748b;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:#e2e8f0;color:#475569}.register-form{padding:32px}.register-type-tabs{display:flex;background:#f1f5f9;border-radius:12px;padding:4px;margin-bottom:24px}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;background:transparent;border-radius:8px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.tab-btn.active{background:white;color:#3b82f6;box-shadow:0 2px 4px #0000001a}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#374151}.input-wrapper input{width:100%;padding:12px 16px 12px 48px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;transition:all .2s ease;background:white}.input-wrapper input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-wrapper input.error{border-color:#ef4444}.input-wrapper input.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.input-icon{position:absolute;left:16px;color:#9ca3af;z-index:1}.toggle-password{position:absolute;right:16px;background:none;border:none;color:#9ca3af;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.toggle-password:hover{color:#6b7280}.code-input-wrapper input{flex:1;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;transition:all .2s ease}.code-input-wrapper input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.code-input-wrapper input.error{border-color:#ef4444}.send-code-btn{padding:12px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:100px}.send-code-btn:hover:not(:disabled){background:#2563eb}.send-code-btn:disabled{background:#9ca3af;cursor:not-allowed}.error-text{display:block;margin-top:6px;font-size:14px;color:#ef4444}.register-btn{width:100%;padding:14px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:8px}.register-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 16px #667eea4d}.register-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-link{text-align:center;margin-top:24px;font-size:14px;color:#6b7280}.login-link a{color:#3b82f6;text-decoration:none;font-weight:500;margin-left:4px}.login-link a:hover{text-decoration:underline}@media (max-width: 640px){.register-page{padding:16px}.register-container{max-width:100%}.register-header{padding:20px 24px}.register-header h1{font-size:20px}.register-form{padding:24px}.tab-btn{padding:10px 12px;font-size:13px}.input-wrapper input{font-size:16px}.code-input-wrapper{flex-direction:column;gap:8px}.send-code-btn{width:100%;min-width:auto}}.register-btn:disabled{position:relative}.register-btn:disabled:after{content:"";position:absolute;width:16px;height:16px;margin:auto;border:2px solid transparent;border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;top:0;left:0;bottom:0;right:0}.form-group{animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.input-wrapper input.error{animation:shake .3s ease-in-out}.login-page{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;align-items:center;justify-content:center;padding:20px}.login-container{background:white;border-radius:16px;box-shadow:0 20px 40px #0000001a;width:100%;max-width:400px;overflow:hidden;animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f0f0f0}.back-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#666;transition:all .2s ease}.back-btn:hover{background-color:#f5f5f5;color:#333}.login-header h1{margin:0;font-size:20px;font-weight:600;color:#333}.login-form{padding:32px 24px}.login-type-tabs{display:flex;background-color:#f8f9fa;border-radius:12px;padding:4px;margin-bottom:24px}.tab-btn{flex:1;background:none;border:none;padding:12px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#666;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.tab-btn.active{background-color:#fff;color:#667eea;box-shadow:0 2px 8px #667eea26}.tab-btn:hover:not(.active){color:#333}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;color:#999;z-index:1}.input-wrapper input{width:100%;padding:14px 16px 14px 44px;border:2px solid #e1e5e9;border-radius:12px;font-size:16px;transition:all .2s ease;background-color:#fafbfc}.input-wrapper input:focus{outline:none;border-color:#667eea;background-color:#fff;box-shadow:0 0 0 3px #667eea1a}.input-wrapper input.error{border-color:#e74c3c;background-color:#fef7f7}.toggle-password{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:#999;padding:4px;border-radius:4px;transition:color .2s ease}.toggle-password:hover{color:#666}.login-method-tabs{display:flex;gap:8px;margin-bottom:20px}.method-btn{flex:1;background:none;border:2px solid #e1e5e9;padding:10px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#666;transition:all .2s ease}.method-btn.active{border-color:#667eea;color:#667eea;background-color:#667eea0d}.method-btn:hover:not(.active){border-color:#ccc;color:#333}.code-input-wrapper{display:flex;gap:12px;align-items:flex-start}.code-input-wrapper input{flex:1;padding:14px 16px;border:2px solid #e1e5e9;border-radius:12px;font-size:16px;transition:all .2s ease;background-color:#fafbfc;text-align:center;letter-spacing:2px}.send-code-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:14px 20px;border-radius:12px;cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;transition:all .2s ease;min-width:100px}.send-code-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.forgot-password{text-align:right;margin-top:8px}.forgot-password a{color:#667eea;text-decoration:none;font-size:14px;font-weight:500;transition:color .2s ease}.forgot-password a:hover{color:#5a6fd8;text-decoration:underline}.login-btn{width:100%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:16px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:24px}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.divider{position:relative;text-align:center;margin:24px 0}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background-color:#e1e5e9}.divider span{background-color:#fff;padding:0 16px;color:#999;font-size:14px}.wechat-login-btn{width:100%;background-color:#07c160;color:#fff;border:none;padding:14px;border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px}.wechat-login-btn:hover{background-color:#06ad56;transform:translateY(-1px);box-shadow:0 4px 12px #07c1604d}.register-link{text-align:center;font-size:14px;color:#666}.register-link a{color:#667eea;text-decoration:none;font-weight:500;margin-left:4px;transition:color .2s ease}.register-link a:hover{color:#5a6fd8;text-decoration:underline}.error-text{color:#e74c3c;font-size:12px;margin-top:4px;display:block;animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (max-width: 480px){.login-page{padding:10px}.login-container{border-radius:12px}.login-form{padding:24px 20px}.login-type-tabs{flex-direction:column;gap:8px;background:none;padding:0}.tab-btn{border:2px solid #e1e5e9;border-radius:12px;background-color:#fafbfc}.tab-btn.active{border-color:#667eea;background-color:#667eea0d}.login-method-tabs,.code-input-wrapper{flex-direction:column}.send-code-btn{width:100%}}@media (prefers-color-scheme: dark){.login-container{background:#1a1a1a;color:#fff}.login-header{border-bottom-color:#333}.login-header h1{color:#fff}.back-btn{color:#ccc}.back-btn:hover{background-color:#333;color:#fff}.form-group label{color:#fff}.input-wrapper input,.code-input-wrapper input{background-color:#2a2a2a;border-color:#444;color:#fff}.input-wrapper input:focus,.code-input-wrapper input:focus{background-color:#333}.login-type-tabs{background-color:#2a2a2a}.tab-btn{color:#ccc}.tab-btn.active{background-color:#333}.method-btn{border-color:#444;color:#ccc}.method-btn.active{background-color:#667eea1a}.divider:before{background-color:#444}.divider span{background-color:#1a1a1a;color:#ccc}.register-link{color:#ccc}}.security-settings{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px}.loading{display:flex;align-items:center;justify-content:center;gap:10px;height:50vh;color:#fff;font-size:16px}.settings-header{display:flex;align-items:center;gap:20px;margin-bottom:30px}.back-btn{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;padding:10px 16px;border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:14px}.back-btn:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}.settings-header h1{display:flex;align-items:center;gap:12px;color:#fff;font-size:28px;font-weight:600;margin:0}.settings-content{display:flex;gap:30px;max-width:1200px;margin:0 auto}.settings-nav{background:rgba(255,255,255,.95);border-radius:12px;padding:20px;min-width:200px;height:fit-content;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ssp-nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:transparent;color:#666;font-size:14px;border-radius:8px;cursor:pointer;transition:all .3s ease;margin-bottom:8px}.ssp-nav-item:hover{background:#f8f9fa;color:#333}.ssp-nav-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.settings-main{flex:1;background:rgba(255,255,255,.95);border-radius:12px;padding:30px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section-header{margin-bottom:30px}.section-header h2{color:#333;font-size:24px;font-weight:600;margin:0 0 8px}.section-header p{color:#666;font-size:14px;margin:0}.password-form{max-width:500px}.form-group{margin-bottom:24px}.form-group label{display:block;color:#333;font-size:14px;font-weight:500;margin-bottom:8px}.password-input{position:relative}.password-input input{width:100%;padding:12px 45px 12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:14px;transition:all .3s ease;background:white}.password-input input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.toggle-password{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#666;cursor:pointer;padding:4px;border-radius:4px;transition:all .3s ease}.toggle-password:hover{color:#333;background:#f8f9fa}.submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;min-width:120px}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.bindings-list{display:flex;flex-direction:column;gap:20px}.binding-item{display:flex;align-items:center;justify-content:space-between;padding:20px;border:2px solid #e1e5e9;border-radius:12px;transition:all .3s ease}.binding-item:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea1a}.binding-info{display:flex;align-items:center;gap:16px}.binding-info svg{color:#667eea}.binding-info h3{color:#333;font-size:16px;font-weight:600;margin:0 0 4px}.binding-info p{color:#666;font-size:14px;margin:0}.binding-status{display:flex;align-items:center;gap:12px}.status-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.bound{background:#e8f5e8;color:#2d7d32}.bind-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s ease}.bind-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.bind-btn.disabled{background:#ccc;cursor:not-allowed}.unbind-btn{background:#ff6b6b;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s ease}.unbind-btn:hover:not(:disabled){background:#ff5252;transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b4d}.unbind-btn:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:white;border-radius:12px;padding:0;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e1e5e9}.modal-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.close-btn{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:4px;border-radius:4px;transition:all .3s ease}.close-btn:hover{background:#f8f9fa;color:#333}.binding-form{padding:24px}.binding-form .form-group{margin-bottom:20px}.binding-form input{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:14px;transition:all .3s ease}.binding-form input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.verification-input{display:flex;gap:12px}.verification-input input{flex:1}.send-code-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 16px;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap;min-width:100px}.send-code-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.send-code-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #e1e5e9}.cancel-btn{background:#f8f9fa;color:#666;border:1px solid #e1e5e9;padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s ease}.cancel-btn:hover{background:#e9ecef;color:#333}@media (max-width: 768px){.security-settings{padding:15px}.settings-content{flex-direction:column;gap:20px}.settings-nav{min-width:auto}.ssp-nav-item{justify-content:center}.settings-main{padding:20px}.binding-item{flex-direction:column;align-items:flex-start;gap:16px}.binding-status{width:100%;justify-content:flex-end}.modal-content{width:95%;margin:20px}.verification-input{flex-direction:column}.send-code-btn{min-width:auto}.form-actions{flex-direction:column}}.animate-spin{animation:spin 1s linear infinite}@media (prefers-color-scheme: dark){.settings-nav,.settings-main{background:rgba(30,30,30,.95)}.section-header h2,.binding-info h3,.modal-header h3{color:#e0e0e0}.section-header p,.binding-info p,.form-group label{color:#b0b0b0}.password-input input,.binding-form input{background:#2a2a2a;border-color:#404040;color:#e0e0e0}.binding-item{border-color:#404040}.modal-content{background:#1e1e1e}.modal-header{border-color:#404040}}.atl-article-list-page{min-height:100vh;background:#ffffff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.atl-page-header{background:#ffffff;padding:2rem 0 1.5rem;border-bottom:1px solid #f0f0f0}.atl-header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:flex-start}.atl-header-left{flex:1}.atl-page-title{font-size:2rem;font-weight:600;color:#1a1a1a;margin:0 0 .5rem;line-height:1.2}.atl-page-subtitle{font-size:.9rem;color:#666;margin:0;font-weight:400}.atl-header-actions{display:flex;gap:.75rem;align-items:center}.atl-action-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:6px;font-size:.875rem;font-weight:500;text-decoration:none;border:none;cursor:pointer;transition:all .2s ease}.atl-action-btn.primary{background:#5b7fff;color:#fff}.atl-action-btn.primary:hover{background:#4c6fff;transform:translateY(-1px)}.atl-action-btn.secondary{background:#f8f9fa;color:#495057;border:1px solid #e9ecef}.atl-action-btn.secondary:hover{background:#e9ecef;border-color:#dee2e6}.atl-search-filter-section{max-width:1200px;margin:0 auto;padding:2rem 2rem 1.5rem}.atl-search-container{margin-bottom:2rem;display:flex;justify-content:center}.atl-search-box{position:relative;width:100%;max-width:600px}.atl-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#9ca3af;z-index:1}.atl-search-input{width:100%;padding:.875rem 1rem .875rem 2.75rem;border:1px solid #e5e7eb;border-radius:8px;background:#ffffff;font-size:.875rem;transition:all .2s ease;box-sizing:border-box}.atl-search-input:focus{outline:none;border-color:#5b7fff;box-shadow:0 0 0 3px #5b7fff1a}.atl-search-input::placeholder{color:#9ca3af}.atl-category-filter{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.atl-category-btn{padding:.5rem 1rem;border:1px solid #e5e7eb;border-radius:20px;background:#ffffff;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.atl-category-btn:hover{border-color:#5b7fff;color:#5b7fff}.atl-category-btn.active{background:#5b7fff;border-color:#5b7fff;color:#fff}.atl-articles-container{max-width:1200px;margin:0 auto;padding:0 2rem 2rem}.atl-articles-grid{column-count:auto;column-width:350px;column-gap:1rem;column-fill:balance}.atl-article-card-wrapper{position:relative;break-inside:avoid;margin-bottom:1rem;display:inline-block;width:100%}.atl-article-card{display:block;background:#ffffff;border:1px solid #f0f0f0;border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:all .2s ease}.atl-article-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:#e5e7eb}.atl-article-image{position:relative;overflow:hidden}.atl-article-image img{width:100%;height:auto;display:block}.atl-category-badge{position:absolute;top:.75rem;left:.75rem;background:rgba(91,127,255,.9);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.atl-article-content{padding:1rem}.atl-article-title{font-size:1.125rem;font-weight:600;color:#1a1a1a;margin:0 0 .5rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.atl-article-summary{font-size:.875rem;color:#6b7280;line-height:1.5;margin:0 0 .75rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.atl-article-tags{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.atl-tag{display:inline-flex;align-items:center;gap:.25rem;background:#f3f4f6;color:#6b7280;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.atl-article-meta{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;border-top:1px solid #f3f4f6}.atl-author-info{display:flex;align-items:center;gap:.5rem}.atl-author-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.atl-author-details{display:flex;flex-direction:column}.atl-author-name{font-size:.75rem;font-weight:500;color:#374151;line-height:1.2}.atl-author-role{font-size:.625rem;color:#9ca3af;line-height:1.2}.atl-article-stats{display:flex;flex-direction:row;align-items:center;gap:.75rem}.atl-publish-date,.atl-read-count,.atl-source-indicator{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#9ca3af}.atl-source-indicator{color:#5b7fff}.atl-article-actions{position:absolute;top:.75rem;right:.75rem;display:flex;gap:.5rem;opacity:0;transition:opacity .2s ease}.atl-article-card-wrapper:hover .atl-article-actions{opacity:1}.atl-action-btn-small{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease;text-decoration:none}.atl-action-btn-small.edit{background:rgba(59,130,246,.9);color:#fff}.atl-action-btn-small.edit:hover{background:rgba(37,99,235,.9)}.atl-action-btn-small.delete{background:rgba(239,68,68,.9);color:#fff}.atl-action-btn-small.delete:hover{background:rgba(220,38,38,.9)}.atl-no-articles{text-align:center;padding:4rem 2rem;color:#6b7280}.atl-no-articles-icon{margin-bottom:1rem;opacity:.5}.atl-no-articles h3{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;color:#374151}.atl-no-articles p{font-size:.875rem;margin:0}.atl-pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:3rem;padding-top:2rem;border-top:1px solid #f3f4f6}.atl-pagination-btn{padding:.5rem 1rem;border:1px solid #e5e7eb;border-radius:6px;background:#ffffff;color:#374151;font-size:.875rem;cursor:pointer;transition:all .2s ease}.atl-pagination-btn:hover:not(:disabled){border-color:#5b7fff;color:#5b7fff}.atl-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.atl-pagination-numbers{display:flex;gap:.25rem}.atl-pagination-number{width:36px;height:36px;border:1px solid #e5e7eb;border-radius:6px;background:#ffffff;color:#374151;font-size:.875rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.atl-pagination-number:hover{border-color:#5b7fff;color:#5b7fff}.atl-pagination-number.active{background:#5b7fff;border-color:#5b7fff;color:#fff}.atl-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#6b7280}.atl-loading-spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top:3px solid #5b7fff;border-radius:50%;animation:atl-spin 1s linear infinite;margin-bottom:1rem}@keyframes atl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.atl-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.atl-dialog-content{background:white;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.atl-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 0;border-bottom:1px solid #f3f4f6;margin-bottom:1.5rem}.atl-dialog-header h3{font-size:1.125rem;font-weight:600;color:#1a1a1a;margin:0}.atl-dialog-close{background:none;border:none;font-size:1.5rem;color:#9ca3af;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.atl-dialog-close:hover{color:#6b7280}.atl-dialog-body{padding:0 1.5rem 1.5rem}.atl-input-group{margin-bottom:1rem}.atl-input-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.atl-url-input{width:100%;padding:.75rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.875rem;transition:border-color .2s ease;box-sizing:border-box}.atl-url-input:focus{outline:none;border-color:#5b7fff;box-shadow:0 0 0 3px #5b7fff1a}.atl-url-input:disabled{background:#f9fafb;color:#6b7280}.atl-dialog-tip{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:1rem;font-size:.875rem;color:#495057}.atl-dialog-tip p{margin:0 0 .5rem}.atl-dialog-tip p:last-child{margin-bottom:0}.atl-dialog-tip ul{margin:.5rem 0 0;padding-left:1rem}.atl-dialog-tip li{margin-bottom:.25rem}.atl-dialog-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #f3f4f6}.atl-btn-cancel,.atl-btn-primary{padding:.6rem 1.2rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.atl-btn-cancel{background:#f8f9fa;color:#495057;border:1px solid #e9ecef}.atl-btn-cancel:hover:not(:disabled){background:#e9ecef}.atl-btn-primary{background:#5b7fff;color:#fff}.atl-btn-primary:hover:not(:disabled){background:#4c6fff}.atl-btn-primary:disabled,.atl-btn-cancel:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 1200px){.atl-articles-grid{column-width:300px}}@media (max-width: 900px){.atl-articles-grid{column-width:280px}}@media (max-width: 768px){.atl-articles-grid{column-width:100%;column-count:2;column-gap:.75rem}.atl-header-content{flex-direction:column;gap:1.5rem;align-items:flex-start}.atl-header-actions{width:100%;justify-content:flex-start}.atl-search-filter-section{padding:1.5rem 1rem}.atl-articles-container{padding:0 1rem 2rem}.atl-category-filter{justify-content:flex-start;overflow-x:auto;padding-bottom:.5rem}.atl-pagination{flex-wrap:wrap;gap:.25rem}.atl-pagination-numbers{order:-1;width:100%;justify-content:center;margin-bottom:.5rem}}@media (max-width: 480px){.atl-page-title{font-size:1.5rem}.atl-header-actions{flex-direction:column;width:100%}.atl-action-btn{width:100%;justify-content:center}.atl-article-meta{flex-direction:column;align-items:flex-start;gap:.75rem}.atl-article-stats{align-items:flex-start}.atl-header-actions,.atl-category-filter{display:none}}.ssm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.ssm-modal-content{background:white;border-radius:12px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.ssm-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0}.ssm-modal-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.25rem;font-weight:600;color:#374151}.ssm-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#f3f4f6;color:#6b7280;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease}.ssm-close-btn:hover{background:#e5e7eb;color:#374151}.ssm-search-section{padding:1.5rem;border-bottom:1px solid #e2e8f0}.ssm-search-input-wrapper{position:relative;display:flex;align-items:center}.ssm-search-icon{position:absolute;left:1rem;color:#6b7280;z-index:1}.ssm-search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:all .3s ease}.ssm-search-input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 3px #1890ff1a}.ssm-results-section{flex:1;overflow-y:auto;min-height:200px;max-height:400px}.ssm-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:#6b7280}.ssm-loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #1890ff;border-radius:50%;animation:ssm-spin 1s linear infinite;margin-bottom:.5rem}@keyframes ssm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ssm-no-results{display:flex;align-items:center;justify-content:center;padding:2rem;color:#6b7280;font-style:italic}.ssm-results-list{padding:1rem}.ssm-school-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:.75rem;transition:all .3s ease}.ssm-school-item:hover{border-color:#cbd5e1;box-shadow:0 2px 4px #0000000d}.ssm-school-item:last-child{margin-bottom:0}.ssm-school-info{flex:1;margin-right:1rem}.ssm-school-name{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#374151}.ssm-school-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;font-size:.875rem}.ssm-school-type{background:#e0f2fe;color:#0277bd;padding:.25rem .5rem;border-radius:4px;font-weight:500}.ssm-school-address{display:flex;align-items:center;gap:.25rem;color:#6b7280}.ssm-school-description{margin:0;font-size:.875rem;color:#6b7280;line-height:1.5}.ssm-add-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#1890ff;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease;flex-shrink:0;min-width:80px;justify-content:center}.ssm-add-btn:hover:not(:disabled){background:#1677ff;transform:translateY(-1px)}.ssm-add-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.ssm-btn-loading{display:flex;align-items:center;justify-content:center}.ssm-btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:ssm-spin 1s linear infinite}@media (max-width: 768px){.ssm-modal-overlay{padding:.5rem}.ssm-modal-content{max-height:90vh}.ssm-modal-header,.ssm-search-section{padding:1rem}.ssm-results-list{padding:.5rem}.ssm-school-item{flex-direction:column;gap:1rem;align-items:stretch}.ssm-school-info{margin-right:0}.ssm-add-btn{align-self:flex-end;min-width:100px}.ssm-school-meta{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (max-width: 480px){.ssm-modal-header h3{font-size:1.125rem}.ssm-search-input{font-size:.875rem}.ssm-school-name{font-size:.9rem}.ssm-add-btn{width:100%}}.article-detail-page{min-height:100vh;background:#f8fafc}.article-header{position:relative;background:white;overflow:hidden}.cover-image{position:relative;height:400px;overflow:hidden}.cover-image img{width:100%;height:100%;object-fit:cover}.cover-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(0,0,0,.1) 0%,rgba(0,0,0,.6) 100%)}.adp-header-content{position:relative;max-width:1200px;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;align-items:center;text-align:center}.article-header .cover-image+.adp-header-content{position:absolute;bottom:0;left:0;right:0;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 100%)}.category-badge{display:inline-block;background:#1890ff;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500;margin-bottom:1.5rem}.article-title{font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:2rem;color:inherit;text-align:center;max-width:100%;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.article-meta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:2rem;width:100%}.author-section{display:flex;align-items:center;gap:1rem}.author-avatar{width:50px;height:50px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.2)}.author-info{display:flex;flex-direction:column}.author-name{font-size:.9rem;color:inherit;display:flex;align-items:center;gap:.5rem}.author-role{color:inherit;opacity:.8;font-size:.9rem}.article-stats{display:flex;gap:1.5rem;align-items:center}.publish-date,.read-count{display:flex;align-items:center;gap:.5rem;color:inherit;opacity:.9;font-size:.9rem}.article-container{padding:1rem 0;display:grid;grid-template-columns:1fr 300px;gap:1rem}.article-main{background:white;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #00000014}.article-content{padding:2rem;max-width:100%;overflow-x:auto}.content-body{line-height:1.8;color:#374151;font-size:1.1rem;max-width:100%;overflow-x:auto}.content-body h2{font-size:1.75rem;font-weight:600;color:#1f2937;margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.content-body h3{font-size:1.5rem;font-weight:600;color:#1f2937;margin:1.5rem 0 .75rem}.content-body p{margin-bottom:1.5rem}.content-body table{width:100%;min-width:600px;border-collapse:collapse;margin:1.5rem 0;background:white;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.content-body .wmde-markdown{overflow-x:auto;max-width:100%}.content-body .wmde-markdown table{display:table;width:auto;min-width:100%}.content-body::-webkit-scrollbar,.content-body .wmde-markdown::-webkit-scrollbar{height:8px}.content-body::-webkit-scrollbar-track,.content-body .wmde-markdown::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.content-body::-webkit-scrollbar-thumb,.content-body .wmde-markdown::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.content-body::-webkit-scrollbar-thumb:hover,.content-body .wmde-markdown::-webkit-scrollbar-thumb:hover{background:#94a3b8}.content-body th,.content-body td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.content-body th{background:#f8fafc;font-weight:600;color:#374151;border-bottom:2px solid #d1d5db}.content-body tr:hover{background:#f9fafb}.content-body tr:last-child td{border-bottom:none}.content-body ul,.content-body ol{margin:1rem 0;padding-left:2rem}.content-body li{margin-bottom:.5rem;line-height:1.6}.content-body blockquote{border-left:4px solid #1890ff;padding:1rem 1.5rem;margin:1.5rem 0;background:#f0f9ff;border-radius:0 8px 8px 0;font-style:italic}.content-body code{background:#f1f5f9;padding:.2rem .4rem;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em}.content-body pre{background:#1e293b;color:#e2e8f0;padding:1.5rem;border-radius:8px;overflow-x:auto;margin:1.5rem 0}.content-body pre code{background:none;padding:0;color:inherit}.content-body ul,.content-body ol{margin:1.5rem 0;padding-left:2rem}.content-body li{margin-bottom:.5rem}.content-body strong{color:#1f2937;font-weight:600}.article-tags{padding-top:2rem;border-top:1px solid #e5e7eb}.article-tags h4{font-size:1.1rem;font-weight:600;color:#374151;margin-bottom:1rem}.tags-list{display:flex;flex-wrap:wrap;gap:.75rem}.tag{display:inline-flex;align-items:center;gap:.5rem;background:#f3f4f6;color:#374151;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500;transition:all .3s ease}.tag:hover{background:#e5e7eb;transform:translateY(-1px)}.article-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid #e5e7eb;justify-content:center}.action-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:2px solid #e5e7eb;background:white;border-radius:25px;font-weight:500;cursor:pointer;transition:all .3s ease;color:#6b7280}.action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.like-btn:hover,.like-btn.active{border-color:#ef4444;color:#ef4444;background:#fef2f2}.bookmark-btn:hover,.bookmark-btn.active{border-color:#f59e0b;color:#f59e0b;background:#fffbeb}.share-btn:hover{border-color:#10b981;color:#10b981;background:#f0fdf4}.comment-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.author-card{margin-top:2rem;padding:2rem;background:#f8fafc;border-radius:12px;border:1px solid #e5e7eb}.author-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.author-avatar-large{width:60px;height:60px;border-radius:50%;object-fit:cover;border:3px solid #e5e7eb}.author-details .author-name{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:.25rem}.author-details .author-role{color:#6b7280;font-size:.9rem}.author-bio{color:#4b5563;line-height:1.6;font-size:.95rem}.article-sidebar{display:flex;flex-direction:column;gap:2rem}.article-sidebar.desktop-only{display:flex}.article-sidebar.mobile-only{display:none}.related-articles{background:white;border-radius:12px;padding:1.5rem;box-shadow:0 4px 20px #00000014;top:100px}.related-articles h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb}.related-list{display:flex;flex-direction:column;gap:1rem}.related-item{display:block;padding:1rem;border:1px solid #e5e7eb;border-radius:8px;text-decoration:none;color:inherit;transition:all .3s ease}.related-item:hover{border-color:#1890ff;background:#f0f9ff;transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.related-title{font-size:.95rem;font-weight:500;color:#1f2937;margin-bottom:.5rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related-meta{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#6b7280}.related-category{background:#f3f4f6;padding:.25rem .5rem;border-radius:4px;font-weight:500}.related-reads{display:flex;align-items:center;gap:.25rem}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#6b7280;text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top:3px solid #1890ff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-container h2{font-size:1.5rem;color:#374151;margin-bottom:.5rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:#1890ff;text-decoration:none;font-weight:500;margin-top:1rem;padding:.5rem 1rem;border:1px solid #1890ff;border-radius:8px;transition:all .3s ease}.back-link:hover{background:#1890ff;color:#fff}@media (max-width: 1024px){.article-container{grid-template-columns:1fr;gap:2rem}.article-container .article-sidebar.desktop-only{order:-1;display:none}.article-sidebar.mobile-only{display:flex}.related-articles{position:static}}@media (max-width: 768px){.article-title{font-size:2rem;text-align:left}.article-meta{flex-direction:column;align-items:center;gap:1rem;text-align:center}.adp-header-content{padding:1.5rem 1rem}.article-stats{gap:1rem}.article-actions{flex-wrap:wrap;justify-content:center}.action-btn{flex:1;min-width:120px;justify-content:center}.content-body{font-size:1rem}.content-body h2{font-size:1.5rem}.content-body h3{font-size:1.25rem}}@media (max-width: 480px){.cover-image{height:250px}.cs-container{padding:1rem}.article-title{font-size:1.75rem;line-height:1.3}.adp-header-content{padding:1rem}.article-container{padding:0rem}.article-content{padding:1rem}.author-card{padding:1.5rem}.related-articles{padding:1rem}.content-body table{min-width:500px;font-size:.9rem}.content-body th,.content-body td{padding:8px 12px}}.article-source-notice{margin:2rem auto 1rem;padding:1rem;background:#f8f9fa;border-radius:0 4px 4px 0}.article-source-notice p{margin:0;font-size:.875rem;color:#6c757d;line-height:1.5}.article-source-notice .source-link{color:#007bff;text-decoration:none;margin:0 .25rem;font-weight:500}.article-source-notice .source-link:hover{color:#0056b3;text-decoration:underline}.article-schools{padding:1.5rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.schools-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.schools-header h4{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:600;color:#374151}.add-school-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#1890ff;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease}.add-school-btn:hover{background:#1677ff;transform:translateY(-1px)}.schools-loading{text-align:center;color:#6b7280;padding:1rem}.schools-list{display:flex;flex-direction:column;gap:1rem}.no-schools{text-align:center;color:#6b7280;padding:1rem;font-style:italic}.school-card{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem;background:white;border-radius:8px;border:1px solid #e2e8f0;transition:all .3s ease}.school-card:hover{box-shadow:0 2px 8px #0000001a;border-color:#cbd5e1}.school-name{margin:0 0 .5rem;font-size:1rem;font-weight:600}.school-link{display:inline-flex;align-items:center;gap:.5rem;color:#1890ff;text-decoration:none;transition:color .3s ease}.school-link:hover{color:#1677ff;text-decoration:underline}.school-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;font-size:.875rem;color:#6b7280}.school-type{background:#e0f2fe;color:#0277bd;padding:.25rem .5rem;border-radius:4px;font-weight:500}.school-address{display:flex;align-items:center;gap:.25rem}.school-description{margin:0;font-size:.875rem;color:#6b7280;line-height:1.5;max-width:500px}.remove-school-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fee2e2;color:#dc2626;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;flex-shrink:0;margin-left:1rem}.remove-school-btn:hover{background:#fecaca;transform:scale(1.1)}@media (max-width: 768px){.schools-header{flex-direction:column;align-items:flex-start;gap:1rem}.add-school-btn{align-self:stretch;justify-content:center}.school-card{flex-direction:column;gap:1rem}.remove-school-btn{align-self:flex-end;margin-left:0}.school-meta{flex-direction:column;align-items:flex-start;gap:.5rem}}.w-md-editor-bar{position:absolute;cursor:s-resize;right:0;bottom:0;margin-top:-11px;margin-right:0;width:14px;z-index:3;height:10px;border-radius:0 0 3px;-webkit-user-select:none;user-select:none}.w-md-editor-bar svg{display:block;margin:0 auto}.w-md-editor-area{overflow:auto;border-radius:5px}.w-md-editor-text{min-height:100%;position:relative;text-align:left;white-space:pre-wrap;word-break:keep-all;overflow-wrap:break-word;box-sizing:border-box;padding:10px;margin:0;font-size:14px!important;line-height:18px!important;font-variant-ligatures:common-ligatures}.w-md-editor-text-pre,.w-md-editor-text-input,.w-md-editor-text>.w-md-editor-text-pre{margin:0;border:0;background:none;box-sizing:inherit;display:inherit;font-family:inherit;font-family:var(--md-editor-font-family)!important;font-size:inherit;font-style:inherit;font-variant-ligatures:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;-moz-tab-size:inherit;tab-size:inherit;text-indent:inherit;text-rendering:inherit;text-transform:inherit;white-space:inherit;overflow-wrap:inherit;word-break:inherit;word-break:normal;padding:0}.w-md-editor-text-pre{position:relative;margin:0!important;pointer-events:none;background-color:transparent!important}.w-md-editor-text-pre>code{padding:0!important;font-family:var(--md-editor-font-family)!important;font-size:14px!important;line-height:18px!important}.w-md-editor-text-input{position:absolute;top:0;left:0;height:100%;width:100%;resize:none;color:inherit;overflow:hidden;outline:0;padding:inherit;-webkit-font-smoothing:antialiased;-webkit-text-fill-color:transparent}.w-md-editor-text-input:empty{-webkit-text-fill-color:inherit!important}.w-md-editor-text-pre,.w-md-editor-text-input{word-wrap:pre;word-break:break-word;white-space:pre-wrap}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.w-md-editor-text-input{color:transparent!important}.w-md-editor-text-input::selection{background-color:#accef7!important;color:transparent!important}}.w-md-editor-text-pre .punctuation{color:var(--color-prettylights-syntax-comment, #8b949e)!important}.w-md-editor-text-pre .token.url,.w-md-editor-text-pre .token.content{color:var(--color-prettylights-syntax-constant, #0550ae)!important}.w-md-editor-text-pre .token.title.important{color:var(--color-prettylights-syntax-markup-bold, #24292f)}.w-md-editor-text-pre .token.code-block .function{color:var(--color-prettylights-syntax-entity, #8250df)}.w-md-editor-text-pre .token.bold{font-weight:unset!important}.w-md-editor-text-pre .token.title{line-height:unset!important;font-size:unset!important;font-weight:unset!important}.w-md-editor-text-pre .token.code.keyword{color:var(--color-prettylights-syntax-constant, #0550ae)!important}.w-md-editor-text-pre .token.strike,.w-md-editor-text-pre .token.strike .content{color:var(--color-prettylights-syntax-markup-deleted-text, #82071e)!important}.w-md-editor-toolbar-child{position:absolute;border-radius:3px;box-shadow:0 0 0 1px var(--md-editor-box-shadow-color),0 0 0 var(--md-editor-box-shadow-color),0 1px 1px var(--md-editor-box-shadow-color);background-color:var(--md-editor-background-color);z-index:1;display:none}.w-md-editor-toolbar-child.active{display:block}.w-md-editor-toolbar-child .w-md-editor-toolbar{border-bottom:0;padding:3px;border-radius:3px}.w-md-editor-toolbar-child .w-md-editor-toolbar ul>li{display:block}.w-md-editor-toolbar-child .w-md-editor-toolbar ul>li button{width:-webkit-fill-available;height:initial;box-sizing:border-box;padding:3px 4px 2px;margin:0}.w-md-editor-toolbar{border-bottom:1px solid var(--md-editor-box-shadow-color);background-color:var(--md-editor-background-color);padding:3px;display:flex;justify-content:space-between;align-items:center;border-radius:3px 3px 0 0;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.w-md-editor-toolbar.bottom{border-bottom:0px;border-top:1px solid var(--md-editor-box-shadow-color);border-radius:0 0 3px 3px}.w-md-editor-toolbar ul,.w-md-editor-toolbar li{margin:0;padding:0;list-style:none;line-height:initial}.w-md-editor-toolbar li{display:inline-block;font-size:14px}.w-md-editor-toolbar li+li{margin:0}.w-md-editor-toolbar li>button{border:none;height:20px;line-height:14px;background:none;padding:4px;margin:0 1px;border-radius:2px;text-transform:none;font-weight:400;overflow:visible;outline:none;cursor:pointer;transition:all .3s;white-space:nowrap;color:var(--color-fg-default)}.w-md-editor-toolbar li>button:hover,.w-md-editor-toolbar li>button:focus{background-color:var(--color-neutral-muted);color:var(--color-accent-fg)}.w-md-editor-toolbar li>button:active{background-color:var(--color-neutral-muted);color:var(--color-danger-fg)}.w-md-editor-toolbar li>button:disabled{color:var(--md-editor-box-shadow-color);cursor:not-allowed}.w-md-editor-toolbar li>button:disabled:hover{background-color:transparent;color:var(--md-editor-box-shadow-color)}.w-md-editor-toolbar li.active>button{color:var(--color-accent-fg);background-color:var(--color-neutral-muted)}.w-md-editor-toolbar-divider{height:14px;width:1px;margin:-3px 3px 0!important;vertical-align:middle;background-color:var(--md-editor-box-shadow-color)}.w-md-editor{text-align:left;border-radius:3px;padding-bottom:1px;position:relative;color:var(--color-fg-default);--md-editor-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;--md-editor-background-color: var(--color-canvas-default, #ffffff);--md-editor-box-shadow-color: var(--color-border-default, #d0d7de);box-shadow:0 0 0 1px var(--md-editor-box-shadow-color),0 0 0 var(--md-editor-box-shadow-color),0 1px 1px var(--md-editor-box-shadow-color);background-color:var(--md-editor-background-color);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;display:flex;flex-direction:column}.w-md-editor.w-md-editor-rtl{direction:rtl!important;text-align:right!important}.w-md-editor.w-md-editor-rtl .w-md-editor-preview{right:unset!important;left:0;text-align:right!important;box-shadow:inset -1px 0 0 0 var(--md-editor-box-shadow-color)}.w-md-editor.w-md-editor-rtl .w-md-editor-text{text-align:right!important}.w-md-editor-toolbar{height:fit-content}.w-md-editor-content{height:100%;overflow:auto;position:relative;border-radius:0 0 3px}.w-md-editor .copied{display:none!important}.w-md-editor-input{width:50%;height:100%}.w-md-editor-text-pre>code{word-break:break-word!important;white-space:pre-wrap!important}.w-md-editor-preview{width:50%;box-sizing:border-box;box-shadow:inset 1px 0 0 0 var(--md-editor-box-shadow-color);position:absolute;padding:10px 20px;overflow:auto;top:0;right:0;bottom:0;border-radius:0 0 5px;display:flex;flex-direction:column}.w-md-editor-preview .anchor{display:none}.w-md-editor-preview .contains-task-list li.task-list-item{list-style:none}.w-md-editor-show-preview .w-md-editor-input{width:0%;overflow:hidden;background-color:var(--md-editor-background-color)}.w-md-editor-show-preview .w-md-editor-preview{width:100%;box-shadow:inset 0 0}.w-md-editor-show-edit .w-md-editor-input{width:100%}.w-md-editor-show-edit .w-md-editor-preview{width:0%;padding:0}.w-md-editor-fullscreen{overflow:hidden;position:fixed;z-index:99999;top:0;left:0;right:0;bottom:0;height:100%!important}.w-md-editor-fullscreen .w-md-editor-content{height:100%}@media (prefers-color-scheme: dark){.wmde-markdown,.wmde-markdown-var{color-scheme:dark;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-fg-default: #c9d1d9;--color-fg-muted: #8b949e;--color-fg-subtle: #484f58;--color-canvas-default: #0d1117;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-neutral-muted: rgba(110, 118, 129, .4);--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-attention-subtle: rgba(187, 128, 9, .15);--color-danger-fg: #f85149;--color-danger-emphasis: #da3633;--color-attention-fg: #d29922;--color-attention-emphasis: #9e6a03;--color-done-fg: #a371f7;--color-done-emphasis: #8957e5;--color-success-fg: #3fb950;--color-success-emphasis: #238636;--color-copied-active-bg: #2e9b33}}@media (prefers-color-scheme: light){.wmde-markdown,.wmde-markdown-var{color-scheme:light;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-canvas-default: #ffffff;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsl(210, 18%, 87%);--color-neutral-muted: rgba(175, 184, 193, .2);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-attention-subtle: #fff8c5;--color-danger-fg: #d1242f;--color-danger-emphasis: #cf222e;--color-attention-fg: #9a6700;--color-attention-emphasis: #9a6700;--color-done-fg: #8250df;--color-done-emphasis: #8250df;--color-success-fg: #1a7f37;--color-success-emphasis: #1f883d;--color-copied-active-bg: #2e9b33}}[data-color-mode*=dark] .wmde-markdown,[data-color-mode*=dark] .wmde-markdown-var,.wmde-markdown-var[data-color-mode*=dark],.wmde-markdown[data-color-mode*=dark],body[data-color-mode*=dark]{color-scheme:dark;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-fg-default: #c9d1d9;--color-fg-muted: #8b949e;--color-fg-subtle: #484f58;--color-canvas-default: #0d1117;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-neutral-muted: rgba(110, 118, 129, .4);--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-attention-subtle: rgba(187, 128, 9, .15);--color-danger-fg: #f85149}[data-color-mode*=light] .wmde-markdown,[data-color-mode*=light] .wmde-markdown-var,.wmde-markdown-var[data-color-mode*=light],.wmde-markdown[data-color-mode*=light],body[data-color-mode*=light]{color-scheme:light;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-canvas-default: #ffffff;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsl(210, 18%, 87%);--color-neutral-muted: rgba(175, 184, 193, .2);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-attention-subtle: #fff8c5;--color-danger-fg: #cf222e}.wmde-markdown{-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word;color:var(--color-fg-default);background-color:var(--color-canvas-default)}.wmde-markdown details,.wmde-markdown figcaption,.wmde-markdown figure{display:block}.wmde-markdown summary{display:list-item}.wmde-markdown [hidden]{display:none!important}.wmde-markdown a{background-color:transparent;color:var(--color-accent-fg);text-decoration:none}.wmde-markdown a:active,.wmde-markdown a:hover{outline-width:0}.wmde-markdown abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.wmde-markdown b,.wmde-markdown strong{font-weight:600}.wmde-markdown dfn{font-style:italic}.wmde-markdown h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--color-border-muted)}.wmde-markdown mark{background-color:var(--color-attention-subtle);color:var(--color-text-primary)}.wmde-markdown small{font-size:90%}.wmde-markdown sub,.wmde-markdown sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.wmde-markdown sub{bottom:-.25em}.wmde-markdown sup{top:-.5em}.wmde-markdown img{display:inline-block;border-style:none;max-width:100%;box-sizing:content-box;background-color:var(--color-canvas-default)}.wmde-markdown code,.wmde-markdown kbd,.wmde-markdown pre,.wmde-markdown samp{font-family:monospace,monospace;font-size:1em}.wmde-markdown figure{margin:1em 40px}.wmde-markdown hr{box-sizing:content-box;overflow:hidden;background:transparent;border:0;border-bottom:1px solid var(--color-border-muted);height:.25em;padding:0;margin:24px 0;background-color:var(--color-border-default)}.wmde-markdown input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.wmde-markdown [type=button],.wmde-markdown [type=reset],.wmde-markdown [type=submit]{-webkit-appearance:button}.wmde-markdown [type=button]::-moz-focus-inner,.wmde-markdown [type=reset]::-moz-focus-inner,.wmde-markdown [type=submit]::-moz-focus-inner{border-style:none;padding:0}.wmde-markdown [type=button]:-moz-focusring,.wmde-markdown [type=reset]:-moz-focusring,.wmde-markdown [type=submit]:-moz-focusring{outline:1px dotted ButtonText}.wmde-markdown [type=checkbox],.wmde-markdown [type=radio]{box-sizing:border-box;padding:0}.wmde-markdown [type=number]::-webkit-inner-spin-button,.wmde-markdown [type=number]::-webkit-outer-spin-button{height:auto}.wmde-markdown [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.wmde-markdown [type=search]::-webkit-search-cancel-button,.wmde-markdown [type=search]::-webkit-search-decoration{-webkit-appearance:none}.wmde-markdown ::-webkit-input-placeholder{color:inherit;opacity:.54}.wmde-markdown ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.wmde-markdown a:hover{text-decoration:underline}.wmde-markdown hr:before{display:table;content:""}.wmde-markdown hr:after{display:table;clear:both;content:""}.wmde-markdown table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%}.wmde-markdown td,.wmde-markdown th{padding:0}.wmde-markdown details summary{cursor:pointer}.wmde-markdown details:not([open])>*:not(summary){display:none!important}.wmde-markdown kbd{display:inline-block;padding:3px 5px;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:var(--color-fg-default);vertical-align:middle;background-color:var(--color-canvas-subtle);border:solid 1px var(--color-neutral-muted);border-bottom-color:var(--color-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-neutral-muted)}.wmde-markdown h1,.wmde-markdown h2,.wmde-markdown h3,.wmde-markdown h4,.wmde-markdown h5,.wmde-markdown h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.wmde-markdown h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--color-border-muted)}.wmde-markdown h3{font-weight:600;font-size:1.25em}.wmde-markdown h4{font-weight:600;font-size:1em}.wmde-markdown h5{font-weight:600;font-size:.875em}.wmde-markdown h6{font-weight:600;font-size:.85em;color:var(--color-fg-muted)}.wmde-markdown p{margin-top:0;margin-bottom:10px}.wmde-markdown blockquote{margin:0;padding:0 1em;color:var(--color-fg-muted);border-left:.25em solid var(--color-border-default)}.wmde-markdown ul,.wmde-markdown ol{margin-top:0;margin-bottom:0;padding-left:2em}.wmde-markdown ol ol,.wmde-markdown ul ol{list-style-type:lower-roman}.wmde-markdown ul ul ol,.wmde-markdown ul ol ol,.wmde-markdown ol ul ol,.wmde-markdown ol ol ol{list-style-type:lower-alpha}.wmde-markdown dd{margin-left:0}.wmde-markdown tt,.wmde-markdown code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.wmde-markdown pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.wmde-markdown .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.wmde-markdown ::placeholder{color:var(--color-fg-subtle);opacity:1}.wmde-markdown input::-webkit-outer-spin-button,.wmde-markdown input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.wmde-markdown [data-catalyst]{display:block}.wmde-markdown:before{display:table;content:""}.wmde-markdown:after{display:table;clear:both;content:""}.wmde-markdown>*:first-child{margin-top:0!important}.wmde-markdown>*:last-child{margin-bottom:0!important}.wmde-markdown a:not([href]){color:inherit;text-decoration:none}.wmde-markdown .absent{color:var(--color-danger-fg)}.wmde-markdown a.anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.wmde-markdown .anchor:focus{outline:none}.wmde-markdown p,.wmde-markdown blockquote,.wmde-markdown ul,.wmde-markdown ol,.wmde-markdown dl,.wmde-markdown table,.wmde-markdown pre,.wmde-markdown details{margin-top:0;margin-bottom:16px}.wmde-markdown blockquote>:first-child{margin-top:0}.wmde-markdown blockquote>:last-child{margin-bottom:0}.wmde-markdown sup>a:before{content:"["}.wmde-markdown sup>a:after{content:"]"}.wmde-markdown h1 .octicon-link,.wmde-markdown h2 .octicon-link,.wmde-markdown h3 .octicon-link,.wmde-markdown h4 .octicon-link,.wmde-markdown h5 .octicon-link,.wmde-markdown h6 .octicon-link{color:var(--color-fg-default);vertical-align:middle;visibility:hidden}.wmde-markdown h1:hover .anchor,.wmde-markdown h2:hover .anchor,.wmde-markdown h3:hover .anchor,.wmde-markdown h4:hover .anchor,.wmde-markdown h5:hover .anchor,.wmde-markdown h6:hover .anchor{text-decoration:none}.wmde-markdown h1:hover .anchor .octicon-link,.wmde-markdown h2:hover .anchor .octicon-link,.wmde-markdown h3:hover .anchor .octicon-link,.wmde-markdown h4:hover .anchor .octicon-link,.wmde-markdown h5:hover .anchor .octicon-link,.wmde-markdown h6:hover .anchor .octicon-link{visibility:visible}.wmde-markdown h1 tt,.wmde-markdown h1 code,.wmde-markdown h2 tt,.wmde-markdown h2 code,.wmde-markdown h3 tt,.wmde-markdown h3 code,.wmde-markdown h4 tt,.wmde-markdown h4 code,.wmde-markdown h5 tt,.wmde-markdown h5 code,.wmde-markdown h6 tt,.wmde-markdown h6 code{padding:0 .2em;font-size:inherit}.wmde-markdown ul.no-list,.wmde-markdown ol.no-list{padding:0;list-style-type:none}.wmde-markdown ol[type="1"]{list-style-type:decimal}.wmde-markdown ol[type=a]{list-style-type:lower-alpha}.wmde-markdown ol[type=i]{list-style-type:lower-roman}.wmde-markdown div>ol:not([type]){list-style-type:decimal}.wmde-markdown ul ul,.wmde-markdown ul ol,.wmde-markdown ol ol,.wmde-markdown ol ul{margin-top:0;margin-bottom:0}.wmde-markdown li>p{margin-top:16px}.wmde-markdown li+li{margin-top:.25em}.wmde-markdown dl{padding:0}.wmde-markdown dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.wmde-markdown dl dd{padding:0 16px;margin-bottom:16px}.wmde-markdown table th{font-weight:600}.wmde-markdown table th,.wmde-markdown table td{padding:6px 13px;border:1px solid var(--color-border-default)}.wmde-markdown table tr{background-color:var(--color-canvas-default);border-top:1px solid var(--color-border-muted)}.wmde-markdown table tr:nth-child(2n){background-color:var(--color-canvas-subtle)}.wmde-markdown table img{background-color:transparent}.wmde-markdown img[align=right]{padding-left:20px}.wmde-markdown img[align=left]{padding-right:20px}.wmde-markdown .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.wmde-markdown span.frame{display:block;overflow:hidden}.wmde-markdown span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--color-border-default)}.wmde-markdown span.frame span img{display:block;float:left}.wmde-markdown span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--color-fg-default)}.wmde-markdown span.align-center{display:block;overflow:hidden;clear:both}.wmde-markdown span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.wmde-markdown span.align-center span img{margin:0 auto;text-align:center}.wmde-markdown span.align-right{display:block;overflow:hidden;clear:both}.wmde-markdown span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.wmde-markdown span.align-right span img{margin:0;text-align:right}.wmde-markdown span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.wmde-markdown span.float-left span{margin:13px 0 0}.wmde-markdown span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.wmde-markdown span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.wmde-markdown code,.wmde-markdown tt{padding:.2em .4em;margin:0;font-size:85%;background-color:var(--color-neutral-muted);border-radius:6px}.wmde-markdown code br,.wmde-markdown tt br{display:none}.wmde-markdown del code{text-decoration:inherit}.wmde-markdown pre code{font-size:100%}.wmde-markdown pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.wmde-markdown pre{font-size:85%;line-height:1.45;background-color:var(--color-canvas-subtle);border-radius:6px}.wmde-markdown pre code,.wmde-markdown pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.wmde-markdown pre>code{padding:16px;overflow:auto;display:block}.wmde-markdown pre>code::-webkit-scrollbar{background:transparent;width:8px;height:8px}.wmde-markdown pre>code::-webkit-scrollbar-thumb{background:var(--color-fg-muted);border-radius:10px}.wmde-markdown .csv-data td,.wmde-markdown .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.wmde-markdown .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:var(--color-canvas-default);border:0}.wmde-markdown .csv-data tr{border-top:0}.wmde-markdown .csv-data th{font-weight:600;background:var(--color-canvas-subtle);border-top:0}.wmde-markdown .footnotes{font-size:12px;color:var(--color-fg-muted);border-top:1px solid var(--color-border-default)}.wmde-markdown .footnotes ol{padding-left:16px}.wmde-markdown .footnotes li{position:relative}.wmde-markdown .footnotes li:target:before{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-24px;pointer-events:none;content:"";border:2px solid var(--color-accent-emphasis);border-radius:6px}.wmde-markdown .footnotes li:target{color:var(--color-fg-default)}.wmde-markdown .footnotes .data-footnote-backref g-emoji{font-family:monospace}.wmde-markdown .task-list-item{list-style-type:none}.wmde-markdown .task-list-item label{font-weight:400}.wmde-markdown .task-list-item.enabled label{cursor:pointer}.wmde-markdown .task-list-item+.wmde-markdown .task-list-item{margin-top:3px}.wmde-markdown .task-list-item .handle{display:none}.wmde-markdown .task-list-item-checkbox,.wmde-markdown .contains-task-list input[type=checkbox]{margin:0 .2em .25em -1.6em;vertical-align:middle}.wmde-markdown .contains-task-list:dir(rtl) .task-list-item-checkbox,.wmde-markdown .contains-task-list:dir(rtl) input[type=checkbox]{margin:0 -1.6em .25em .2em}.wmde-markdown ::-webkit-calendar-picker-indicator{filter:invert(50%)}.wmde-markdown pre{position:relative}.wmde-markdown pre .copied{visibility:hidden;display:flex;position:absolute;cursor:pointer;color:var(--color-fg-default);top:6px;right:6px;border-radius:5px;background:var(--color-border-default);padding:6px;font-size:12px;transition:all .3s}.wmde-markdown pre .copied .octicon-copy{display:block}.wmde-markdown pre .copied .octicon-check{display:none}.wmde-markdown pre:hover .copied{visibility:visible}.wmde-markdown pre:hover .copied:hover{background:var(--color-prettylights-syntax-entity-tag);color:var(--color-canvas-default)}.wmde-markdown pre:hover .copied:active,.wmde-markdown pre .copied.active{background:var(--color-copied-active-bg);color:var(--color-canvas-default)}.wmde-markdown pre .active .octicon-copy{display:none}.wmde-markdown pre .active .octicon-check{display:block}.wmde-markdown .markdown-alert{padding:.5rem 1em;color:inherit;margin-bottom:16px;border-left:.25em solid var(--borderColor-default, var(--color-border-default))}.wmde-markdown .markdown-alert>:last-child{margin-bottom:0!important}.wmde-markdown .markdown-alert .markdown-alert-title{display:flex;align-items:center;line-height:1;font-weight:500;font-size:14px}.wmde-markdown .markdown-alert .markdown-alert-title svg.octicon{margin-right:var(--base-size-8, 8px)!important}.wmde-markdown .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis, var(--color-accent-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent, var(--color-accent-fg))}.wmde-markdown .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis, var(--color-success-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success, var(--color-success-fg))}.wmde-markdown .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis, var(--color-done-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done, var(--color-done-fg))}.wmde-markdown .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis, var(--color-attention-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention, var(--color-attention-fg))}.wmde-markdown .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis, var(--color-danger-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger, var(--color-danger-fg))}.wmde-markdown .highlight-line{background-color:var(--color-neutral-muted)}.wmde-markdown .code-line.line-number:before{display:inline-block;width:1rem;text-align:right;margin-right:16px;color:var(--color-fg-subtle);content:attr(line);white-space:nowrap}.wmde-markdown .token.comment,.wmde-markdown .token.prolog,.wmde-markdown .token.doctype,.wmde-markdown .token.cdata{color:var(--color-prettylights-syntax-comment)}.wmde-markdown .token.namespace{opacity:.7}.wmde-markdown .token.property,.wmde-markdown .token.tag,.wmde-markdown .token.selector,.wmde-markdown .token.constant,.wmde-markdown .token.symbol,.wmde-markdown .token.deleted{color:var(--color-prettylights-syntax-entity-tag)}.wmde-markdown .token.maybe-class-name{color:var(--color-prettylights-syntax-variable)}.wmde-markdown .token.property-access,.wmde-markdown .token.operator,.wmde-markdown .token.boolean,.wmde-markdown .token.number,.wmde-markdown .token.selector .token.class,.wmde-markdown .token.attr-name,.wmde-markdown .token.string,.wmde-markdown .token.char,.wmde-markdown .token.builtin{color:var(--color-prettylights-syntax-constant)}.wmde-markdown .token.deleted{color:var(--color-prettylights-syntax-markup-deleted-text)}.wmde-markdown .code-line .token.deleted{background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.wmde-markdown .token.inserted{color:var(--color-prettylights-syntax-markup-inserted-text)}.wmde-markdown .code-line .token.inserted{background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.wmde-markdown .token.variable{color:var(--color-prettylights-syntax-constant)}.wmde-markdown .token.entity,.wmde-markdown .token.url,.wmde-markdown .language-css .token.string,.wmde-markdown .style .token.string,.wmde-markdown .token.color,.wmde-markdown .token.atrule,.wmde-markdown .token.attr-value,.wmde-markdown .token.function,.wmde-markdown .token.class-name{color:var(--color-prettylights-syntax-string)}.wmde-markdown .token.rule,.wmde-markdown .token.regex,.wmde-markdown .token.important,.wmde-markdown .token.keyword{color:var(--color-prettylights-syntax-keyword)}.wmde-markdown .token.coord{color:var(--color-prettylights-syntax-meta-diff-range)}.wmde-markdown .token.important,.wmde-markdown .token.bold{font-weight:700}.wmde-markdown .token.italic{font-style:italic}.wmde-markdown .token.entity{cursor:help}.article-edit-page{min-height:100vh;background-color:#f8fafc}.page-header{background:white;border-bottom:1px solid #e2e8f0;padding:1.5rem 0}.header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.back-btn{display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:8px;background:white;color:#64748b;cursor:pointer;transition:all .2s}.back-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.header-info{display:flex;flex-direction:column}.page-title{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0}.page-subtitle{font-size:.875rem;color:#64748b;margin:.25rem 0 0}.header-actions{display:flex;gap:.75rem}.action-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;text-decoration:none}.action-btn.primary{background:#3b82f6;color:#fff}.action-btn.primary:hover:not(:disabled){background:#2563eb}.action-btn.primary:disabled{background:#94a3b8;cursor:not-allowed}.action-btn.secondary{background:white;color:#64748b;border:1px solid #e2e8f0}.action-btn.secondary:hover{background:#f8fafc;border-color:#cbd5e1}.edit-form-container{max-width:800px;margin:2rem auto;padding:0 2rem}.edit-form{background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.form-section{padding:2rem;border-bottom:1px solid #f1f5f9}.form-section:last-child{border-bottom:none}.section-title{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 1.5rem}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .2s;background:white}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical;font-family:inherit;line-height:1.5}.content-textarea{min-height:300px}.tags-container{display:flex;flex-direction:column;gap:1rem}.current-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag-item{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:#eff6ff;color:#1d4ed8;border-radius:6px;font-size:.75rem;font-weight:500}.tag-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:rgba(239,68,68,.1);color:#dc2626;border-radius:50%;cursor:pointer;margin-left:.25rem;transition:all .2s}.tag-remove:hover{background:rgba(239,68,68,.2)}.add-tag{display:flex;gap:.5rem;align-items:center}.tag-input{flex:1;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.add-tag-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#3b82f6;color:#fff;border-radius:6px;cursor:pointer;transition:all .2s}.add-tag-btn:hover{background:#2563eb}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.loading-spinner{width:32px;height:32px;border:3px solid #f3f4f6;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.header-content{padding:0 1rem;flex-direction:column;gap:1rem;align-items:stretch}.header-left{justify-content:flex-start}.header-actions{justify-content:center}.edit-form-container{margin:1rem auto;padding:0 1rem}.form-section{padding:1.5rem}.add-tag{flex-direction:column;align-items:stretch}.add-tag-btn{width:100%;height:40px}}.markdown-editor-container{border:1px solid #d1d5db;border-radius:8px;overflow:hidden;background:white}.markdown-editor-container .w-md-editor{background:white}.markdown-editor-container .w-md-editor-text-textarea,.markdown-editor-container .w-md-editor-text{font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace!important;font-size:14px!important;line-height:1.5!important;color:#374151!important;-webkit-text-fill-color:#374151!important;background:white!important}.markdown-editor-container .w-md-editor-text-textarea *{font-family:inherit!important;font-size:inherit!important;font-weight:400!important;color:inherit!important;background:transparent!important;border:none!important;margin:0!important;padding:0!important}.markdown-editor-container .w-md-editor-preview{background:#fafafa;border-left:1px solid #e2e8f0}.markdown-editor-container .w-md-editor-text-pre{visibility:hidden!important;display:block!important}.markdown-editor-container .w-md-editor-content{background:white!important}.markdown-editor-container .w-md-editor-text-input{-webkit-text-fill-color:#374151!important;color:#374151!important;caret-color:#374151!important}.markdown-editor-container .w-md-editor-toolbar{background:#f8fafc;border-bottom:1px solid #e2e8f0}.markdown-preview-note{margin-top:.75rem;padding:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.preview-note-text{margin:0;font-size:.875rem;color:#64748b;line-height:1.4}.aep-school-search-container{position:relative}.aep-school-search-input{width:100%}.aep-search-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#64748b;font-size:.875rem;pointer-events:none}.aep-school-dropdown{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;max-height:200px;overflow-y:auto;z-index:1000;margin-top:4px}.aep-school-option{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background-color .2s}.aep-school-option:hover{background-color:#f8fafc}.aep-school-option:last-child{border-bottom:none}.aep-school-no-results{padding:12px 16px;color:#64748b;text-align:center;font-style:italic}.aep-selected-schools{margin-top:12px}.aep-selected-schools-label{font-size:.875rem;color:#64748b;margin-bottom:8px}.aep-school-tags{display:flex;flex-wrap:wrap;gap:8px}.aep-school-tag{display:inline-flex;align-items:center;background-color:#e0f2fe;color:#0369a1;padding:6px 12px;border-radius:20px;font-size:.875rem;gap:8px}.aep-remove-school{background:none;border:none;color:#0369a1;cursor:pointer;font-size:16px;line-height:1;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.aep-remove-school:hover{background-color:#0369a11a}.aep-remove-school:disabled{opacity:.5;cursor:not-allowed}.markdown-editor-container .w-md-editor-text-textarea{opacity:1!important;visibility:visible!important;caret-color:#374151!important}.markdown-editor-container .w-md-editor-text-textarea::placeholder{color:#9ca3af!important;-webkit-text-fill-color:#9ca3af!important}.bookmarks-page{min-height:calc(100vh - 70px);background:#f8fafc;padding:0}.login-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:#6b7280}.login-prompt svg{color:#d1d5db;margin-bottom:1rem}.login-prompt h2{font-size:1.5rem;font-weight:600;color:#374151;margin-bottom:.5rem}.login-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#3b82f6;color:#fff;text-decoration:none;border-radius:.5rem;font-weight:500;margin-top:1rem;transition:background-color .2s}.login-btn:hover{background:#2563eb}.page-header{display:flex;justify-content:space-between;align-items:center;padding:2rem;background:white;border-bottom:1px solid #e5e7eb}.header-left{display:flex;align-items:center;gap:1rem}.back-btn{display:flex;align-items:center;gap:.5rem;color:#6b7280;text-decoration:none;padding:.5rem;border-radius:.375rem;transition:all .2s}.back-btn:hover{background:#f3f4f6;color:#374151}.page-header h1{font-size:1.875rem;font-weight:700;color:#111827;margin:0}.batch-actions{display:flex;align-items:center;gap:1rem}.selected-count{color:#6b7280;font-size:.875rem}.batch-remove-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#dc2626;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:background-color .2s}.batch-remove-btn:hover{background:#b91c1c}.filters-section{padding:1.5rem 2rem;background:white;border-bottom:1px solid #e5e7eb;display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.bp-search-box{position:relative;flex:1;min-width:300px}.bp-search-box svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#9ca3af}.bp-search-box input{width:100%;padding:.75rem .75rem .75rem 2.5rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;background:#f9fafb;transition:all .2s}.bp-search-box input:focus{outline:none;border-color:#3b82f6;background:white;box-shadow:0 0 0 3px #3b82f61a}.type-filters{display:flex;gap:.5rem}.filter-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid #d1d5db;background:white;color:#6b7280;border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:all .2s}.filter-btn:hover{background:#f3f4f6;border-color:#9ca3af}.filter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.bookmarks-content{padding:2rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#6b7280}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;color:#6b7280}.empty-state svg{color:#d1d5db;margin-bottom:1rem}.empty-state h3{font-size:1.25rem;font-weight:600;color:#374151;margin-bottom:.5rem}.list-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid #e5e7eb;margin-bottom:1rem}.select-all{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280;cursor:pointer}.select-all input[type=checkbox]{margin:0}.total-count{font-size:.875rem;color:#6b7280}.bookmarks-list{display:flex;flex-direction:column;gap:1rem}.bookmark-item{display:flex;gap:1rem;padding:1.5rem;background:white;border:1px solid #e5e7eb;border-radius:.75rem;transition:all .2s}.bookmark-item:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a}.item-checkbox{display:flex;align-items:flex-start;padding-top:.25rem}.item-checkbox input[type=checkbox]{margin:0}.item-content{flex:1}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.item-type{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:#f3f4f6;border-radius:1rem;font-size:.75rem;color:#6b7280}.type-label{font-weight:500}.item-actions{display:flex;gap:.5rem}.remove-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:#fee2e2;color:#dc2626;border-radius:.375rem;cursor:pointer;transition:all .2s}.remove-btn:hover{background:#fecaca}.item-link{text-decoration:none;color:inherit;display:block}.item-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .5rem;line-height:1.4}.item-link:hover .item-title{color:#3b82f6}.item-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0 0 .75rem}.item-meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:.75rem;color:#9ca3af}.meta-item{display:flex;align-items:center;gap:.25rem}.meta-item.category{background:#e0e7ff;color:#5b21b6;padding:.25rem .5rem;border-radius:.25rem;font-weight:500}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem 0}.page-btn{padding:.5rem 1rem;border:1px solid #d1d5db;background:white;color:#374151;border-radius:.375rem;cursor:pointer;transition:all .2s}.page-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:.875rem;color:#6b7280}@media (max-width: 768px){.page-header{flex-direction:column;gap:1rem;align-items:flex-start;padding:1.5rem 1rem}.batch-actions{align-self:stretch;justify-content:space-between}.filters-section{flex-direction:column;align-items:stretch;padding:1rem}.bp-search-box{min-width:auto}.type-filters{justify-content:center;flex-wrap:wrap}.bookmarks-content,.bookmark-item{padding:1rem}.item-header{flex-direction:column;align-items:flex-start;gap:.5rem}.item-meta{gap:.5rem}.pagination{flex-direction:column;gap:.5rem}}@media (max-width: 480px){.page-header h1{font-size:1.5rem}.bookmark-item{flex-direction:column;gap:.75rem}.item-checkbox{align-self:flex-start}}.allocation-detail-page{min-height:100vh;background-color:#f9fafb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.adp-page-header{margin-bottom:2rem;padding-top:1rem}.adp-page-header-content{display:flex;align-items:center;gap:1rem;background-color:#fff;padding:1rem 1.5rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.adp-back-button{display:flex;align-items:center;gap:.5rem;color:#6b7280;background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:color .2s ease;flex-shrink:0}.adp-back-button:hover{color:#111827;background-color:#f3f4f6}.adp-title-container{display:flex;align-items:center;gap:1rem}.adp-page-title{font-size:1.5rem;font-weight:600;color:#111827;margin:0}.adp-guide-link{font-size:.875rem;color:#3b82f6;text-decoration:none;padding:.25rem .5rem;border-radius:.25rem;transition:all .2s ease;border:1px solid transparent}.adp-guide-link:hover{color:#1d4ed8;background-color:#eff6ff;border-color:#dbeafe;text-decoration:none}.main-content{max-width:1280px;margin:0 auto;padding:1rem}@media (max-width: 768px){.main-content{padding:.5rem}.page-header{margin-bottom:1rem;padding-top:.5rem}.page-header-content{padding:.75rem 1rem}.adp-page-title{font-size:1.25rem}.adp-back-button{padding:.375rem}}.adp-school-card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;padding:1.5rem;margin-bottom:1.5rem}.school-card-content{display:flex;align-items:center;gap:1rem}.adp-school-icon{width:3rem;height:3rem;background-color:#dbeafe;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.adp-school-icon svg{width:1.5rem;height:1.5rem;color:#2563eb}.school-name{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .5rem}.school-details{display:flex;align-items:center;gap:1.5rem;font-size:.875rem;color:#6b7280;flex-wrap:wrap}.school-detail-item{display:flex;align-items:center;gap:.25rem}.school-detail-label{font-weight:500}.total-count{color:#2563eb;font-weight:600}.allocation-list-card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.allocation-list-header{padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb}.allocation-list-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .25rem}.allocation-list-subtitle{font-size:.875rem;color:#6b7280;margin:0}.table-container{overflow-x:auto}.allocation-table{display:table!important;width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed!important;background-color:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;grid-template-columns:none!important;grid-template-rows:none!important}.allocation-table-header{display:table-header-group!important;background-color:#f8fafc;border-bottom:2px solid #e2e8f0;grid-template-columns:none!important}.allocation-table-header th{padding:1rem 1.5rem;text-align:left;font-size:.75rem;font-weight:500;color:#374151;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb;box-sizing:border-box}.allocation-table .allocation-table-header th:nth-child(1),.allocation-table .table-cell:nth-child(1),.allocation-table-header th:nth-child(1),.table-cell:nth-child(1){width:60px;text-align:center}.allocation-table .allocation-table-header th:nth-child(2),.allocation-table .table-cell:nth-child(2),.allocation-table-header th:nth-child(2),.table-cell:nth-child(2){width:200px;text-align:left;word-wrap:break-word;white-space:normal}.allocation-table .allocation-table-header th:nth-child(3),.allocation-table .table-cell:nth-child(3),.allocation-table-header th:nth-child(3),.table-cell:nth-child(3){width:100px;text-align:center}.allocation-table .allocation-table-header th:nth-child(4),.allocation-table .table-cell:nth-child(4),.allocation-table-header th:nth-child(4),.table-cell:nth-child(4){width:100px;text-align:center}.allocation-table .allocation-table-header th:nth-child(5),.allocation-table .table-cell:nth-child(5),.allocation-table-header th:nth-child(5),.table-cell:nth-child(5){width:120px;text-align:center}.allocation-table .allocation-table-header th:nth-child(6),.allocation-table .table-cell:nth-child(6),.allocation-table-header th:nth-child(6),.table-cell:nth-child(6){width:100px;min-width:100px;text-align:center}.allocation-table .allocation-table-header th:nth-child(7),.allocation-table .table-cell:nth-child(7),.allocation-table-header th:nth-child(7),.table-cell:nth-child(7){width:80px;min-width:80px;text-align:center}.allocation-table .table-body,.table-body{display:table-row-group!important;background-color:#fff;grid-template-columns:none!important}.allocation-table .table-row,.table-row{display:table-row!important;border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.allocation-table .table-row:hover,.table-row:hover{background-color:#f9fafb}.allocation-table .table-cell,.table-cell{display:table-cell!important;padding:1rem 1.5rem;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;vertical-align:top}.allocation-table .table-cell:nth-child(2),.table-cell:nth-child(2){white-space:normal!important;word-wrap:break-word;width:200px;min-width:200px}.allocation-table .table-cell:nth-child(1),.allocation-table .table-cell:nth-child(3),.allocation-table .table-cell:nth-child(4),.allocation-table .table-cell:nth-child(5),.allocation-table .table-cell:nth-child(6),.allocation-table .table-cell:nth-child(7),.table-cell:nth-child(1),.table-cell:nth-child(3),.table-cell:nth-child(4),.table-cell:nth-child(5),.table-cell:nth-child(6),.table-cell:nth-child(7){white-space:nowrap!important}.school-name-link{color:#2563eb;text-decoration:none;font-weight:500;transition:color .2s ease}.school-name-link:hover{color:#1d4ed8;text-decoration:underline}.school-name-link:visited{color:#7c3aed}.school-name-link:active{color:#1e40af}.table-cell-primary{color:#111827;font-weight:500}.table-cell-secondary{color:#6b7280}.quota-badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500;background-color:#dbeafe;color:#1e40af}.empty-state{padding:3rem 1.5rem;text-align:center}.empty-icon{font-size:1.125rem;color:#9ca3af;margin-bottom:.5rem}.empty-text{color:#6b7280;margin:0}.loading-container,.error-container,.no-data-container{min-height:100vh;background-color:#f9fafb;display:flex;align-items:center;justify-content:center}.loading-content,.error-content,.no-data-content{text-align:center}.loading-spinner{width:3rem;height:3rem;border:2px solid #e5e7eb;border-top:2px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.loading-text,.no-data-text{color:#6b7280;margin:0}.error-icon{color:#ef4444;font-size:1.25rem;margin-bottom:1rem}.error-text{color:#6b7280;margin-bottom:1rem}.error-button{padding:.5rem 1rem;background-color:#2563eb;color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s ease}.error-button:hover{background-color:#1d4ed8}@media (max-width: 640px){.header-container,.main-content{padding-left:.5rem;padding-right:.5rem}.school-card,.allocation-list-card{margin-left:0;margin-right:0}.school-details{flex-direction:column;align-items:flex-start;gap:.5rem}.allocation-table-header th,.table-cell{padding:.5rem .75rem}.allocation-table-header th:nth-child(1),.table-cell:nth-child(1){width:50px;min-width:50px}.allocation-table-header th:nth-child(2),.table-cell:nth-child(2){width:150px;min-width:150px;white-space:normal;word-wrap:break-word}.allocation-table-header th:nth-child(3),.table-cell:nth-child(3){width:80px;min-width:80px}.allocation-table-header th:nth-child(4),.table-cell:nth-child(4){width:90px;min-width:90px}.allocation-table-header th:nth-child(5),.table-cell:nth-child(5){width:80px;min-width:80px}.allocation-table-header th:nth-child(6),.table-cell:nth-child(6){width:80px;min-width:80px}.allocation-table-header th:nth-child(7),.table-cell:nth-child(7){width:60px;min-width:60px}}@media (max-width: 480px){.school-card-content{flex-direction:column;align-items:center;text-align:center}.adp-page-title,.school-name{font-size:1.125rem}}.map-container{background-color:#fff;border-radius:var(--border-radius);padding:25px;box-shadow:0 2px 8px #0000000d}.map-header{margin-bottom:25px}.map-title{font-size:1.5rem;font-weight:500;color:var(--text-color);margin:0}.map-content{display:flex;gap:20px}.map-view{flex:2;width:100%!important;min-width:600px;height:500px!important;border-radius:var(--border-radius);overflow:hidden;border:1px solid rgba(0,0,0,.1);background-color:#f5f5f5;position:relative}.map-placeholder{width:100%;height:500px}.map-placeholder{display:none}.map-note{font-size:.9rem;margin-top:10px;color:var(--text-color-lighter)}.map-sidebar{flex:1;width:300px;display:flex;flex-direction:column;gap:20px}.sidebar-section{background-color:#f9f9f9;border-radius:var(--border-radius);padding:15px}.sidebar-title{font-size:1.1rem;font-weight:500;color:var(--text-color);margin:0 0 15px;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.05)}.school-list,.community-list{list-style:none;padding:0;margin:0}.school-item,.community-item{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.05)}.school-item:last-child,.community-item:last-child{border-bottom:none}.school-name,.community-name{font-weight:500;color:var(--text-color);margin-bottom:5px}.school-address,.community-address{font-size:.85rem;color:var(--text-color-light)}@media (max-width: 768px){.map-content{flex-direction:column}.map-view{height:300px}}.sidebar-header{display:flex;justify-content:flex-end;margin-bottom:10px}.add-relation-btn{font-size:.85rem;padding:5px 10px}.school-item{position:relative;padding-right:60px}.delete-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background-color:#ff4d4f;color:#fff;border:none;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:12px}.delete-btn:hover{background-color:#ff7875}.school-container{background-color:#fff;border-radius:var(--border-radius);padding:25px;box-shadow:0 2px 8px #0000000d}.school-header{margin-bottom:25px}.school-title{font-size:1.5rem;font-weight:500;color:var(--text-color);margin:0 0 15px}.school-filter{display:flex;flex-wrap:wrap;gap:15px;align-items:center}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-weight:500;color:var(--text-color)}.area-select,.type-select{padding:8px 12px;border:1px solid rgba(0,0,0,.1);border-radius:5px;background-color:#fff;font-size:.9rem;color:var(--text-color);cursor:pointer;outline:none}.search-group{display:flex;gap:8px;flex:1}.search-group input{flex:1;padding:8px 12px;border:1px solid rgba(0,0,0,.1);border-radius:5px;font-size:.9rem}.loading{text-align:center;padding:50px 0;color:var(--text-color-light)}.school-table-container{overflow-x:auto}.school-table{width:100%;border-collapse:collapse;text-align:left}.school-table th{background-color:#00000005;padding:12px 15px;font-weight:500;color:var(--text-color);border-bottom:1px solid rgba(0,0,0,.05)}.school-table td{padding:12px 15px;border-bottom:1px solid rgba(0,0,0,.05);color:var(--text-color)}.school-table tr:last-child td{border-bottom:none}.school-table tr:hover{background-color:#00000003}.school-col{width:25%}.school-info{display:flex;flex-direction:column}.school-name{font-weight:500;margin-bottom:5px}.school-address{font-size:.85rem;color:var(--text-color-light)}.action-buttons{display:flex;gap:8px}.pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:20px;padding-top:15px;border-top:1px solid rgba(0,0,0,.05)}.page-info{font-size:.9rem;color:var(--text-color)}@media (max-width: 768px){.school-filter{flex-direction:column;align-items:stretch}.filter-group,.search-group{width:100%}.school-table th,.school-table td{padding:10px}}.modal{background-color:#fff;border-radius:5px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 8px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee}.modal-header h3{margin:0;font-size:18px}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#999}.modal-footer{padding:15px 20px;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:10px}.search-input-group{display:flex;gap:10px;margin-top:5px}.search-input-group input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px}.poi-list-container{margin-top:20px;max-height:300px;overflow-y:auto;border:1px solid #eee;border-radius:4px}.poi-list{display:flex;flex-direction:column}.poi-item{padding:12px 15px;border-bottom:1px solid #eee;cursor:pointer;transition:background-color .2s}.poi-item:last-child{border-bottom:none}.poi-item:hover{background-color:#f5f5f5}.poi-item.selected{background-color:#e6f7ff;border-left:3px solid #1890ff}.poi-name{font-weight:700;margin-bottom:5px}.poi-address{font-size:13px;color:#666}.poi-tag,.poi-town{font-size:12px;color:#666;margin-top:3px}.poi-source{font-size:12px;color:#ff4d4f;margin-top:5px}.form-group label{display:block;margin-bottom:5px;font-weight:700}.title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.form-control{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.required{color:#ff4d4f;margin-left:4px}.confirm-modal{max-width:400px}.btn-success{background-color:#52c41a;border-color:#52c41a;color:#fff}.btn-success:hover{background-color:#49ad17;border-color:#49ad17}.form-group+.form-group{margin-top:15px}.btn-warning:hover{background-color:#e8a612;border-color:#e8a612}.btn-danger{background-color:#ff4d4f;border-color:#ff4d4f;color:#fff}.btn-danger:hover{background-color:#f5222d;border-color:#f5222d}.allocation-modal{max-width:900px;width:95%}.allocation-add-section{margin-bottom:30px;padding:20px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.allocation-add-section h4{margin:0 0 15px;color:#495057;font-size:16px;font-weight:600}.batch-save-section{margin-top:20px;padding:15px 0;border-top:1px solid #e9ecef;text-align:center}.btn-batch-save{background-color:#52c41a;border-color:#52c41a;color:#fff;padding:10px 30px;font-size:16px;font-weight:600;border-radius:6px;transition:all .2s}.btn-batch-save:hover{background-color:#49ad17;border-color:#49ad17;transform:translateY(-1px);box-shadow:0 4px 8px #52c41a4d}.btn-batch-save:disabled{background-color:#d9d9d9;border-color:#d9d9d9;color:#999;cursor:not-allowed;transform:none;box-shadow:none}.junior-schools-list{margin-top:15px;max-height:300px;overflow-y:auto;border:1px solid #dee2e6;border-radius:6px;background-color:#fff}.junior-school-item{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border-bottom:1px solid #e9ecef;transition:background-color .2s}.junior-school-item:last-child{border-bottom:none}.junior-school-item:hover{background-color:#f8f9fa}.school-info{flex:1}.school-name{font-weight:600;color:#212529;margin-bottom:4px}.school-area{font-size:13px;color:#6c757d}.quota-input{display:flex;align-items:center;gap:10px}.quota-input input{width:100px;padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.allocation-list-section{padding:20px;background-color:#fff;border-radius:8px;border:1px solid #e9ecef}.allocation-list-section h4{margin:0 0 15px;color:#495057;font-size:16px;font-weight:600}.allocation-list{max-height:400px;overflow-y:auto}.allocation-item{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border:1px solid #e9ecef;border-radius:6px;margin-bottom:10px;background-color:#f8f9fa;transition:all .2s}.allocation-item:hover{background-color:#e9ecef;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.allocation-info{flex:1}.junior-school{font-weight:600;color:#212529;margin-bottom:4px}.quota{font-size:14px;color:#6c757d}.btn-info{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-info:hover{background-color:#138496;border-color:#117a8b}@media (max-width: 768px){.allocation-modal{width:98%;max-width:none}.junior-school-item{flex-direction:column;align-items:flex-start;gap:10px}.quota-input{width:100%;justify-content:flex-end}.allocation-item{flex-direction:column;align-items:flex-start;gap:10px}}.allocation-quota-container{padding:20px;max-width:1200px;margin:0 auto}.allocation-header{margin-bottom:20px}.title-row{display:flex;align-items:center;gap:15px;margin-bottom:15px}.btn-back{padding:8px 16px;font-size:14px}.allocation-title{margin:0;color:#333;font-size:24px}.filter-row{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font-weight:500;color:#495057;margin:0}.year-select{padding:6px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.action-buttons{display:flex;gap:10px}.loading{text-align:center;padding:40px;color:#6c757d;font-size:16px}.empty-data{text-align:center;padding:60px;color:#6c757d;font-size:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.quota-table-container{background:white;border-radius:8px;border:1px solid #e9ecef;overflow:hidden}.quota-table{width:100%;border-collapse:collapse}.quota-table th{background:#f8f9fa;padding:12px 15px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #e9ecef}.quota-table td{padding:12px 15px;border-bottom:1px solid #e9ecef;vertical-align:middle}.quota-table tbody tr:hover{background-color:#f8f9fa}.quota-table .action-buttons{display:flex;gap:8px}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;text-decoration:none;display:inline-block;text-align:center;transition:all .2s ease}.btn-sm{padding:6px 12px;font-size:12px}.btn-default{background:#6c757d;color:#fff}.btn-default:hover:not(:disabled){background:#5a6268}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-success{background:#28a745;color:#fff}.btn-success:hover:not(:disabled){background:#1e7e34}.btn-warning{background:#ffc107;color:#212529}.btn-warning:hover:not(:disabled){background:#e0a800}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background:#c82333}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:white;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-large{max-width:900px}.modal-header{padding:20px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;color:#333}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#6c757d;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-button:hover{color:#333}.modal-body{padding:20px;overflow-y:auto;flex:1}.modal-footer{padding:20px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:10px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#495057}.required{color:#dc3545}.form-control{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;transition:border-color .2s ease}.form-control:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.search-container{position:relative}.search-results{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #ced4da;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:10}.search-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid #e9ecef}.search-item:hover{background:#f8f9fa}.search-item:last-child{border-bottom:none}.school-name{font-weight:500;color:#333;margin-bottom:4px}.school-info{font-size:12px;color:#6c757d}.batch-header{margin-bottom:15px;display:flex;justify-content:flex-end}.batch-table-container{max-height:400px;overflow-y:auto;border:1px solid #e9ecef;border-radius:4px}.batch-table{width:100%;border-collapse:collapse}.batch-table th{background:#f8f9fa;padding:10px 12px;text-align:left;font-weight:600;color:#495057;border-bottom:1px solid #e9ecef;position:sticky;top:0}.batch-table td{padding:8px 12px;border-bottom:1px solid #e9ecef;vertical-align:middle}.batch-table .form-control{margin:0;font-size:13px;padding:6px 8px}@media (max-width: 768px){.allocation-quota-container{padding:15px}.filter-row{flex-direction:column;gap:15px;align-items:stretch}.action-buttons{justify-content:center}.quota-table{font-size:13px}.quota-table th,.quota-table td{padding:8px 10px}.modal{width:95%;margin:10px}.modal-body{padding:15px}.batch-table-container{max-height:300px}}.ops-container{background-color:#fff;border-radius:var(--border-radius);padding:25px;box-shadow:0 2px 8px #0000000d}.ops-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.ops-title{font-size:1.5rem;font-weight:500;color:var(--text-color);margin:0}.add-btn{padding:8px 16px}.relations-table-container{overflow-x:auto}.relations-table{width:100%;border-collapse:collapse;text-align:left}.relations-table th{background-color:#00000005;padding:12px 15px;font-weight:500;color:var(--text-color);border-bottom:1px solid rgba(0,0,0,.05)}.relations-table td{padding:12px 15px;border-bottom:1px solid rgba(0,0,0,.05);color:var(--text-color)}.relations-table tr:last-child td{border-bottom:none}.relations-table tr:hover{background-color:#00000003}.relation-type{display:inline-block;padding:4px 8px;border-radius:3px;font-size:.8rem;font-weight:500;color:#fff}.relation-type.direct{background-color:#4caf50}.relation-type.indirect{background-color:#2196f3}.btn-sm{padding:5px 10px;font-size:.85rem}.empty-data{text-align:center;padding:50px 0;color:var(--text-color-light);font-size:1.1rem}.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{background-color:#fff;border-radius:var(--border-radius);width:90%;max-width:500px;box-shadow:0 4px 12px #00000026;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid rgba(0,0,0,.05)}.modal-header h3{margin:0;font-size:1.2rem;font-weight:500}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-color-light)}.modal-body{padding:20px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:var(--text-color)}.form-group input,.form-group select{width:100%;padding:8px 12px;border:1px solid rgba(0,0,0,.1);border-radius:5px;font-size:.9rem}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:15px 20px;border-top:1px solid rgba(0,0,0,.05)}@media (max-width: 768px){.ops-header{flex-direction:column;align-items:flex-start;gap:15px}.add-btn{width:100%}.relations-table th,.relations-table td{padding:10px}}.relation-type{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.relation-type.direct{background-color:#f0f0f0;color:#666}.relation-type.indirect{background-color:#e6f7ff;color:#1890ff}.search-input-group{display:flex;gap:5px}.ops-search-results{max-height:300px;overflow-y:auto;border:1px solid rgba(0,0,0,.1);border-radius:5px;margin-top:10px}.ops-search-item{padding:12px;border-bottom:1px solid rgba(0,0,0,.05);cursor:pointer;transition:background-color .2s}.ops-search-item:hover{background-color:#00000005}.ops-search-item.selected{background-color:#e6f7ff;border-color:#1890ff}.ops-search-item:last-child{border-bottom:none}.item-title{font-weight:500;margin-bottom:4px;display:flex;align-items:center;gap:8px}.item-sub{color:var(--text-color-light);font-size:.85rem;margin-bottom:8px}.item-images{display:flex;gap:6px;margin-top:8px}.item-images img{border-radius:4px;border:1px solid rgba(0,0,0,.1)}.tag{display:inline-block;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500;background-color:#f0f0f0;color:#666}.tag.aoi{background-color:#e6f7ff;color:#1890ff}.house-list-container{max-height:300px;overflow-y:auto;border:1px solid #e8e8e8;border-radius:4px;margin-top:10px}.house-list{padding:0}.house-item{padding:10px;border-bottom:1px solid #f0f0f0;cursor:pointer}.house-item:hover{background-color:#f5f5f5}.house-item.selected{background-color:#e6f7ff}.house-name{font-weight:700;margin-bottom:5px}.house-address{font-size:12px;color:#666}.search-input-group{display:flex;gap:10px}.search-input-group input{flex:1}.btn-warning{background-color:#faad14;border-color:#faad14;color:#fff}.btn-warning:hover{background-color:#ffc53d;border-color:#ffc53d}.msr-relation-container{background-color:#fff;border-radius:var(--border-radius);padding:25px;box-shadow:0 2px 8px #0000000d;min-height:100vh}.msr-relation-header{margin-bottom:25px;text-align:center}.msr-relation-title{font-size:1.8rem;font-weight:600;color:var(--text-color);margin:0;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.msr-loading{text-align:center;padding:50px 0;color:var(--text-color-light);font-size:1.1rem}.msr-relation-content{display:flex;gap:20px;height:calc(100vh - 150px)}.msr-relation-map{flex:2;width:100%!important;min-width:850px;height:100%!important;border-radius:var(--border-radius);overflow:hidden;border:1px solid rgba(0,0,0,.1);background-color:#f5f5f5;position:relative;box-shadow:0 4px 12px #0000001a}.msr-relation-sidebar{flex:1;width:320px;display:flex;flex-direction:column;gap:20px;max-height:100%;overflow-y:auto}.msr-sidebar-section{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);border-radius:var(--border-radius);padding:20px;box-shadow:0 2px 8px #00000014;border:1px solid rgba(255,255,255,.2)}.msr-sidebar-title{font-size:1.2rem;font-weight:600;color:var(--text-color);margin:0 0 15px;padding-bottom:10px;border-bottom:2px solid rgba(102,126,234,.3);display:flex;align-items:center;gap:8px}.msr-sidebar-title:before{content:"";width:4px;height:20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:2px}.msr-school-info{background:white;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000000d;border-left:4px solid #e74c3c}.msr-school-list{list-style:none;padding:0;margin:0;max-height:400px;overflow-y:auto}.msr-school-item{background:white;padding:15px;margin-bottom:10px;border-radius:8px;box-shadow:0 2px 4px #0000000d;border-left:4px solid #3498db;transition:all .3s ease}.msr-school-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.msr-school-item:last-child{margin-bottom:0}.msr-school-name{font-size:1rem;font-weight:600;color:var(--text-color);margin-bottom:5px;display:flex;align-items:center;gap:8px}.msr-school-address{font-size:.9rem;color:var(--text-color-light);line-height:1.4;margin-left:20px}.msr-empty-item{text-align:center;padding:30px 15px;color:var(--text-color-lighter);font-style:italic;background:rgba(255,255,255,.5);border-radius:8px;border:2px dashed rgba(0,0,0,.1)}.msr-map-legend{position:absolute;bottom:20px;right:20px;background:white;padding:15px;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;border:1px solid rgba(0,0,0,.1)}.msr-map-legend>div{display:flex;align-items:center;margin-bottom:8px;font-size:.9rem}.msr-map-legend>div:last-child{margin-bottom:0}@media (max-width: 1024px){.relation-content{flex-direction:column;height:auto}.relation-map{min-width:auto;width:100%!important;height:400px!important;margin-bottom:20px}.relation-sidebar{width:100%;max-height:none}}@media (max-width: 768px){.relation-container{padding:15px}.relation-title{font-size:1.4rem}.relation-map{height:300px!important}.sidebar-section{padding:15px}.school-item{padding:12px}}@media (max-width: 480px){.relation-container{padding:10px}.relation-title{font-size:1.2rem}.relation-content{gap:15px}.relation-map{height:250px!important}.sidebar-section{padding:12px}.sidebar-title{font-size:1.1rem}.school-name{font-size:.9rem}.school-address{font-size:.8rem}}.relation-sidebar::-webkit-scrollbar,.school-list::-webkit-scrollbar{width:6px}.relation-sidebar::-webkit-scrollbar-track,.school-list::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:3px}.relation-sidebar::-webkit-scrollbar-thumb,.school-list::-webkit-scrollbar-thumb{background:rgba(102,126,234,.3);border-radius:3px}.relation-sidebar::-webkit-scrollbar-thumb:hover,.school-list::-webkit-scrollbar-thumb:hover{background:rgba(102,126,234,.5)}.loading{position:relative}.loading:after{content:"";position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #667eea;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.poi-container{display:flex;flex-direction:column;height:calc(100vh - 120px);padding:20px;gap:20px}.search-box{display:flex;gap:10px}.search-box input{flex:1;padding:10px;border:1px solid rgba(0,0,0,.1);border-radius:5px;font-size:.9rem}.map-container{display:flex;flex:1;gap:20px;min-height:400px}.map{flex:2;background-color:#f5f5f5;border-radius:var(--border-radius);overflow:hidden;position:relative;box-shadow:0 2px 8px #0000000d}.map-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;color:var(--text-color-light);text-align:center;padding:20px}.map-center,.map-zoom{font-size:.9rem;margin-top:10px;color:var(--text-color-light)}.location-list{flex:1;overflow-y:auto;background-color:#fff;border-radius:var(--border-radius);box-shadow:0 2px 8px #0000000d}.location-item{padding:15px;border-bottom:1px solid rgba(0,0,0,.05);cursor:pointer;transition:background-color .2s}.location-item:last-child{border-bottom:none}.location-item:hover{background-color:#00000005}.location-item.selected{background-color:#2196f31a;border-left:3px solid #2196F3}.location-name{font-weight:500;margin-bottom:5px}.location-address{font-size:.9rem;color:var(--text-color-light);margin-bottom:5px}.location-distance{font-size:.85rem;color:#4caf50}.empty-list{padding:20px;text-align:center;color:var(--text-color-light)}.info-box{background-color:#fff;border-radius:var(--border-radius);padding:20px;box-shadow:0 2px 8px #0000000d}.info-title{font-size:1.2rem;font-weight:500;margin-bottom:15px;color:var(--text-color)}.info-detail{margin-bottom:8px;color:var(--text-color)}.info-box button{margin-top:15px}@media (max-width: 768px){.poi-container{height:auto;padding:15px}.search-box{flex-direction:column}.search-box button{width:100%}.map-container{flex-direction:column}.map{height:300px}}.house-poi-page{padding:24px;max-width:1200px;margin:0 auto}.hp-loading,.hp-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 0}.hp-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:hp-spin 1s linear infinite}@keyframes hp-spin{to{transform:rotate(360deg)}}.hp-back{display:inline-flex;align-items:center;gap:6px;color:#6366f1;text-decoration:none}.hp-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.hp-header-left{display:flex;align-items:center;gap:12px}.hp-title{margin:0}.hp-title{font-size:26px;font-weight:700}.hp-meta{display:flex;flex-wrap:wrap;gap:8px;color:#6b7280}.hp-meta-item{background:#f9fafb;border:1px solid #eef2ff;border-radius:8px;padding:4px 10px}.hp-actions{display:flex;gap:10px;justify-self:end}.hp-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;background:white;color:#374151;cursor:pointer;transition:all .2s}.hp-action-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.hp-action-btn.primary{background:#6366f1;color:#fff;border-color:#6366f1}.hp-action-btn.active{background:#fef3c7;border-color:#f59e0b;color:#b45309}.hp-action-btn:disabled{opacity:.5;cursor:not-allowed}.hp-gallery{position:relative;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:8px;margin:16px 0 24px}.hp-gallery-nav{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;background:white;border-radius:50%;cursor:pointer;transition:all .2s}.hp-gallery-nav:hover{background:#f3f4f6}.hp-gallery-image{width:100%;height:320px;object-fit:cover;border-radius:12px;border:1px solid #e5e7eb}.hp-gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;margin-top:10px;grid-column:1 / -1}.hp-thumb{width:100%;height:56px;object-fit:cover;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s}.hp-thumb:hover{transform:translateY(-1px)}.hp-thumb.active{border-color:#6366f1}.hp-section{margin-top:16px}.hp-section-title{font-size:18px;font-weight:600;margin-bottom:12px}.hp-empty{padding:24px;text-align:center;color:#6b7280}.hp-info-list{display:grid;grid-template-columns:1fr;gap:16px}.hp-info-card{border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#fff;transition:all .2s}.hp-info-card:hover{box-shadow:0 4px 12px #0000000f;transform:translateY(-2px)}.hp-info-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.hp-info-title{font-weight:600}.hp-info-date{color:#6b7280;font-size:12px}.hp-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.hp-info-item{display:flex;align-items:center;justify-content:space-between;background:#f9fafb;border:1px solid #eef2ff;border-radius:10px;padding:6px 8px}.hp-info-item span{color:#6b7280}.hp-info-item b{color:#111827}.hp-info-desc{margin-top:10px;color:#374151}.hp-info-footer{margin-top:8px;color:#6b7280;font-size:12px}.hp-big-card{padding:20px}.hp-info-section{margin-top:10px}.hp-info-section-title{font-size:14px;color:#374151;margin-bottom:6px;font-weight:600}.hp-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hp-address{color:#374151;margin:6px 0 4px}.hp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:100}.hp-modal{width:520px;max-width:92vw;background:white;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.hp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.hp-close{background:none;border:none;font-size:20px;cursor:pointer;color:#6b7280}.hp-modal-body{padding:16px;display:grid;gap:12px}.hp-form-row{display:grid;gap:6px}.hp-form-row input{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px}.hp-modal-footer{padding:12px 16px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e5e7eb}.hp-cancel{padding:8px 12px;border:1px solid #e5e7eb;background:white;border-radius:8px;cursor:pointer}.hp-submit{padding:8px 12px;border:1px solid #6366f1;background:#6366f1;color:#fff;border-radius:8px;cursor:pointer}@media (max-width: 768px){.hp-title{font-size:22px}.hp-hero{grid-template-columns:1fr}.hp-gallery-image{height:220px}.hp-info-list{grid-template-columns:1fr}}.hp-breadcrumb{color:#6b7280;font-size:13px;margin:8px 0 12px}.hp-hero{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}.hp-hero-left{width:100%}.hp-hero-right{display:grid;gap:12px}.hp-house-panel{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff}.hp-house-name{font-weight:700;font-size:16px;margin-bottom:8px}.hp-house-fields{display:grid;grid-template-columns:1fr;gap:6px}.hp-field{display:flex;align-items:center;justify-content:space-between;background:#f9fafb;border:1px solid #eef2ff;border-radius:10px;padding:6px 8px}.hp-field span{color:#6b7280}.hp-field b{color:#111827;font-weight:600}.hp-stat{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff;text-align:center}.hp-stat-value{font-size:28px;font-weight:700;color:#ef4444}.hp-stat-label{color:#6b7280;font-size:12px}.hp-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hp-stat-item{display:flex;align-items:center;justify-content:space-between;background:#f9fafb;border:1px solid #eef2ff;border-radius:10px;padding:8px 10px}.hp-stat-item span{color:#6b7280}.hp-stat-item b{color:#111827}.hp-gallery-placeholder{height:320px;border:1px dashed #cbd5e1;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#6b7280;background:repeating-linear-gradient(45deg,#f8fafc,#f8fafc 10px,#f1f5f9 10px,#f1f5f9 20px)}.hp-table-wrapper{overflow-x:auto;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.hp-table{width:100%;border-collapse:collapse;min-width:900px}.hp-table th,.hp-table td{padding:10px 12px;border-bottom:1px solid #f3f4f6;text-align:left;font-size:14px}.hp-table thead th{background:#f8fafc;color:#374151;font-weight:600}.hp-table tbody tr:hover{background:#f9fafb}.hp-info-long{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;margin-top:8px}.hp-info-long label{display:block;color:#6b7280;font-size:12px;margin-bottom:4px}.hp-info-long p{margin:0;color:#111827;line-height:1.6;word-break:break-word}:root{--primary-color: #1AAD19;--primary-color-light: #e8f5e9;--text-color: #333;--text-color-light: #666;--border-radius: 8px}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:var(--text-color)}.btn{display:inline-block;padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .3s,transform .1s}.btn:active{transform:translateY(1px)}.btn-primary:hover{background-color:#159b14}.btn-secondary{background-color:#f0f0f0;color:var(--text-color)}.btn-secondary:hover{background-color:#e0e0e0}.btn-default{background-color:#f0f0f0;color:var(--text-color)}.btn-default:hover{background-color:#e0e0e0}.btn-danger{background-color:#f44336;color:#fff}.btn-danger:hover{background-color:#d32f2f}.btn-info{background-color:#17a2b8;color:#fff}.btn-info:hover{background-color:#138496}.btn-warning{background-color:#ffc107;color:#212529}.btn-warning:hover{background-color:#e0a800}.btn-sm{padding:4px 8px;font-size:12px}.btn:disabled{opacity:.6;cursor:not-allowed}.card{background-color:#fff;border-radius:var(--border-radius);box-shadow:0 2px 8px #0000000d;padding:20px;margin-bottom:20px}input,select,textarea{padding:8px 12px;border:1px solid rgba(0,0,0,.1);border-radius:4px;font-size:14px;width:100%;box-sizing:border-box}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 15px}h1,h2,h3,h4,h5,h6{margin-top:0;color:var(--text-color)}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}:root{--primary-color: #1AAD19;--text-color: rgba(0, 0, 0, .9);--text-color-light: rgba(0, 0, 0, .55);--text-color-lighter: rgba(0, 0, 0, .3);--background-color: #f5f5f5;--border-radius: 10px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--background-color);color:var(--text-color);line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;outline:none;background:none;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background-color:#fff;border-radius:var(--border-radius);padding:20px;box-shadow:0 2px 8px #0000000d;margin-bottom:20px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:5px;font-weight:500;transition:all .3s ease}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-default{background-color:#0000000d;color:var(--text-color)}.btn-primary:hover{background-color:#159815}.btn-default:hover{background-color:#0000001a}.w-md-editor-text-container table,.w-md-editor-preview table,.wmde-markdown table{width:100%;border-collapse:collapse;margin:1rem 0;background:white;box-shadow:0 1px 3px #0000001a;border-radius:8px;overflow:hidden}.wmde-markdown h3{margin-bottom:1rem!important}.wmde-markdown h3+table{margin-top:0!important}.w-md-editor-text-container th,.w-md-editor-preview th,.wmde-markdown th{background:#f8fafc;padding:12px 16px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}.w-md-editor-text-container td,.w-md-editor-preview td,.wmde-markdown td{padding:12px 16px;border-bottom:1px solid #e5e7eb;color:#6b7280}.w-md-editor-text-container tr:hover,.w-md-editor-preview tr:hover,.wmde-markdown tr:hover{background:#f9fafb}.w-md-editor-text-container tr:last-child td,.w-md-editor-preview tr:last-child td,.wmde-markdown tr:last-child td{border-bottom:none}
