*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh}#root{min-height:100vh}button{font-family:inherit}.teacher-list-container{max-width:1200px;margin:0 auto;padding:20px}.header{text-align:center;margin-bottom:40px;padding:40px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px}.header h1{margin:0;font-size:2.5rem;font-weight:700}.subtitle{margin:10px 0 0;font-size:1.1rem;opacity:.95}.teacher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-bottom:40px}.teacher-card{text-decoration:none;color:inherit;display:block;transition:transform .2s ease,box-shadow .2s ease;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 2px 8px #0000001a}.teacher-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.teacher-card-inner{height:100%;display:flex;flex-direction:column}.teacher-image-container{position:relative;width:100%;height:200px;overflow:hidden;background:#f0f0f0}.teacher-image{width:100%;height:100%;object-fit:cover}.unavailable-badge{position:absolute;top:12px;right:12px;background:#000000b3;color:#fff;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:700}.teacher-info{padding:20px;flex:1;display:flex;flex-direction:column}.teacher-name{margin:0 0 8px;font-size:1.4rem;font-weight:700;color:#333}.teacher-rating{display:flex;align-items:center;gap:4px;margin-bottom:12px}.star{color:#fbbf24;font-size:1.2rem}.rating-value{font-weight:700;color:#333}.teacher-specialties{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.specialty-tag{background:#e0e7ff;color:#4c1d95;padding:4px 12px;border-radius:16px;font-size:.85rem;font-weight:500}.teacher-description{margin:0 0 16px;color:#666;line-height:1.6;flex:1}.teacher-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #e5e7eb}.price{display:flex;align-items:baseline;gap:2px}.price-amount{font-size:1.5rem;font-weight:700;color:#667eea}.price-unit{font-size:.9rem;color:#666}.availability{padding:6px 16px;border-radius:20px;font-size:.85rem;font-weight:700}.availability.available{background:#d1fae5;color:#065f46}.availability.unavailable{background:#fee2e2;color:#991b1b}@media(max-width:768px){.header h1{font-size:2rem}.teacher-grid{grid-template-columns:1fr}}.teacher-detail-container{max-width:900px;margin:0 auto;padding:20px}.back-button{background:#6366f1;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:1rem;cursor:pointer;margin-bottom:20px;transition:background .2s}.back-button:hover{background:#4f46e5}.error-message{text-align:center;padding:60px 20px}.teacher-detail-card{background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001a;overflow:hidden}.teacher-detail-header{display:flex;gap:30px;padding:30px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.teacher-detail-image-container{position:relative;flex-shrink:0}.teacher-detail-image{width:200px;height:200px;border-radius:12px;object-fit:cover;border:4px solid white}.unavailable-overlay{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;border-radius:12px;color:#fff;font-size:1.2rem;font-weight:700}.teacher-detail-info{flex:1}.teacher-detail-name{margin:0 0 8px;font-size:2rem;font-weight:700}.teacher-age{font-size:1rem;opacity:.9;margin-bottom:16px}.teacher-rating-large{display:flex;align-items:center;gap:6px;margin-bottom:16px;font-size:1.2rem}.star{color:#fbbf24}.rating-label{opacity:.9;font-size:.9rem}.teacher-specialties-large{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.specialty-tag-large{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:6px 16px;border-radius:20px;font-size:.9rem;font-weight:500;border:1px solid rgba(255,255,255,.3)}.price-large{display:flex;align-items:baseline;gap:4px}.price-large .price-amount{font-size:2rem;font-weight:700}.price-large .price-unit{font-size:1rem;opacity:.9}.teacher-detail-body{padding:30px}.detail-section{margin-bottom:30px}.detail-section h2{font-size:1.5rem;color:#333;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #667eea}.detail-section p{color:#666;line-height:1.8;margin:0}.specialties-list{list-style:none;padding:0;margin:0}.specialties-list li{padding:8px 0;color:#666;border-bottom:1px solid #e5e7eb}.specialties-list li:last-child{border-bottom:none}.specialties-list li:before{content:"✓";color:#667eea;font-weight:700;margin-right:12px}.call-section{padding:30px;background:#f9fafb;border-top:1px solid #e5e7eb}.start-call-button{width:100%;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:20px;border-radius:12px;font-size:1.3rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center;gap:12px}.start-call-button:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 8px 24px #10b9814d}.start-call-button.disabled{background:#9ca3af;cursor:not-allowed}.call-icon{font-size:1.5rem}.call-active{text-align:center}.call-status{margin-bottom:20px;padding:30px;background:#fff;border-radius:12px;border:2px solid #10b981}.calling-animation{position:relative;display:inline-block;margin-bottom:20px}.pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:50%;background:#10b981;animation:pulse 2s ease-out infinite;opacity:0}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}.call-icon-active{font-size:3rem;position:relative;z-index:1}.call-info{margin-top:20px}.calling-text{font-size:1.5rem;font-weight:700;color:#10b981;margin-bottom:12px}.call-duration{font-size:2.5rem;font-weight:700;color:#333;font-family:Courier New,monospace;margin-bottom:8px}.call-cost{font-size:1.2rem;color:#666}.end-call-button{width:100%;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:16px;border-radius:12px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.end-call-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ef44444d}.notice{padding:30px;background:#fef3c7;border-top:1px solid #fbbf24}.notice h3{margin:0 0 16px;color:#92400e;font-size:1.2rem}.notice ul{margin:0;padding-left:20px;color:#78350f;line-height:1.8}.notice li{margin-bottom:8px}@media(max-width:768px){.teacher-detail-header{flex-direction:column;align-items:center;text-align:center}.teacher-detail-image{width:150px;height:150px}.teacher-detail-name{font-size:1.5rem}.start-call-button{font-size:1.1rem;padding:16px}.call-duration{font-size:2rem}}#root{width:100%;min-height:100vh}
