.tutor-page{font-family:var(--font-body),system-ui,sans-serif;background:#faf7f2;min-height:calc(100vh - 64px);padding:20px}.tutor-page *{box-sizing:border-box}.container{max-width:1600px;margin:0 auto}.mobile-only-message{display:none}@media (max-width:767px){.tutor-page{min-height:auto;padding:100px 20px 20px}.mobile-only-message{justify-content:center;align-items:center;margin-bottom:0;padding:0 20px;display:flex}.mobile-message-content{text-align:center;background:#faf7f2;border:1px solid #d5ccbf;border-radius:12px;width:100%;max-width:500px;padding:32px 24px}.mobile-message-icon{color:#c8392d;width:48px;height:48px;margin:0 auto 16px}.mobile-message-content h2{color:#1a1208;font-family:var(--font-display),serif;margin:0 0 12px;font-size:1.5rem;font-weight:600}.mobile-message-content p{color:#6b5e4e;margin:0;font-size:.95rem;line-height:1.7}.main-content{display:none!important}}.main-content{grid-template-rows:clamp(600px,100vh - 104px,760px);grid-template-columns:3fr 2fr;gap:16px;display:grid}.whiteboard-wrapper{background:#fff;border:1px solid #d5ccbf;border-radius:10px;flex-direction:column;height:clamp(600px,100vh - 104px,760px);display:flex;position:relative;overflow:hidden;box-shadow:0 2px 12px #1a12080f}.whiteboard-content{background:#fff;flex:1;padding:20px;overflow-y:auto}.subtitles-container{color:#ede4d4;text-align:center;z-index:10;background:#1a1208d9;border-radius:6px;max-width:90%;padding:10px 22px;font-size:1rem;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.subtitles-text{line-height:1.5}.chat-section{background:#fff;border:1px solid #d5ccbf;border-radius:10px;flex-direction:column;height:clamp(600px,100vh - 104px,760px);display:flex;overflow:hidden;box-shadow:0 2px 12px #1a12080f}.chat-header{background:#f0ebe2;border-bottom:1px solid #d5ccbf;flex-shrink:0;padding:14px 18px}.chat-header h2{color:#1a1208;font-family:var(--font-display),serif;margin:0;font-size:1.25rem;font-weight:600}.chat-messages{flex-direction:column;flex:1;gap:10px;min-height:0;padding:16px;display:flex;overflow-y:auto}.message{flex-direction:column;max-width:88%;font-size:.9rem;line-height:1.65;animation:.25s ease-out slideIn;display:flex}.message-header{letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:4px;font-size:.75rem;font-weight:600;display:flex}.message-bubble{word-break:break-word;border-radius:16px;padding:10px 14px}.message-content{margin:0}.user-message{align-self:flex-end;align-items:flex-end}.user-message .message-header{color:#c8392d}.user-message .message-bubble{color:#fff;background:#c8392d;border-bottom-right-radius:4px}.user-message .message-bubble .bold-text{font-weight:700}.assistant-message{align-self:flex-start;align-items:flex-start}.assistant-message .message-header{color:#c9902f}.assistant-message .message-bubble{color:#1a1208;background:#fff;border:1px solid #e8ddd0;border-bottom-left-radius:4px;box-shadow:0 1px 3px #0000000f}.assistant-message .message-bubble .bold-text{font-weight:700}.play-audio-btn{cursor:pointer;color:inherit;opacity:.55;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px;transition:all .2s;display:flex}.play-audio-btn:hover:not(:disabled){opacity:1;color:#c9902f;background:#c9902f1f}.play-audio-btn:disabled{cursor:not-allowed;opacity:.3}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message>strong{color:#1a1208;margin-right:6px}.chat-input-container{background:#f0ebe2;border-top:1px solid #d5ccbf;flex-shrink:0;padding:14px 16px}.chat-input-container textarea{width:100%;font-family:var(--font-body),system-ui,sans-serif;resize:none;color:#1a1208;background:#fff;border:1px solid #d5ccbf;border-radius:6px;margin-bottom:10px;padding:10px 12px;font-size:.875rem;transition:border-color .2s}.chat-input-container textarea::placeholder{color:#a3927e}.chat-input-container textarea:focus{border-color:#c8392d;outline:none;box-shadow:0 0 0 3px #c8392d14}.input-buttons{justify-content:flex-end;gap:8px;display:flex}.primary-btn,.secondary-btn{font-family:var(--font-body),system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:.8rem;font-weight:500;transition:all .2s}.primary-btn{color:#fff;background:#c8392d}.primary-btn:hover:not(:disabled){background:#d44a3e;transform:translateY(-1px);box-shadow:0 3px 8px #c8392d40}.primary-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.secondary-btn{color:#6b5e4e;background:#f0ebe2;border:1px solid #d5ccbf}.secondary-btn:hover{color:#1a1208;background:#e8e0d3}.talk-btn{color:#6b5e4e;font-family:var(--font-body),system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#f0ebe2;border:1px solid #d5ccbf;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.talk-btn:hover:not(:disabled){color:#1a1208;background:#e8e0d3}.talk-btn:disabled{opacity:.4;cursor:not-allowed}.talk-btn.recording{color:#fff;background:#c8392d;border-color:#c8392d;animation:1s infinite pulse}.chat-audio-player{border-radius:20px;width:100%;max-width:280px;height:40px;display:block}.voice-input-btn{justify-content:center;align-items:center;padding:8px;display:flex}.voice-input-btn.recording{color:#fff;background:#c8392d;animation:1s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.quick-replies{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.quick-reply-btn{color:#6b5e4e;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d5ccbf;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .2s}.quick-reply-btn:hover{color:#fff;background:#c8392d;border-color:#c8392d}.processing-indicator{background:#f0ebe2;border-left:3px solid #c9902f;border-radius:6px;align-items:center;padding:12px 14px;display:flex}.typing-dots{align-items:center;gap:5px;display:flex}.typing-dots span{background:#c9902f;border-radius:50%;width:7px;height:7px;animation:1.4s infinite typing}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}@media (max-width:767px){.tutor-page{padding:10px}.main-content{gap:12px}.whiteboard-wrapper{height:400px}.chat-section{height:500px}.chat-header h2{font-size:1.1rem}}.chat-messages::-webkit-scrollbar{width:6px}.whiteboard-content::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#f0ebe2}.whiteboard-content::-webkit-scrollbar-track{background:#f0ebe2}.chat-messages::-webkit-scrollbar-thumb{background:#d5ccbf;border-radius:3px}.whiteboard-content::-webkit-scrollbar-thumb{background:#d5ccbf;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#a3927e}.whiteboard-content::-webkit-scrollbar-thumb:hover{background:#a3927e}.tutor-main{max-width:1280px;margin:0 auto;padding:0 20px}.content-wrapper{gap:16px;height:calc(100vh - 120px);min-height:600px;display:flex}.whiteboard-panel,.chat-panel{background:#fff;border:1px solid #d5ccbf;border-radius:10px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 2px 12px #1a12080f}.whiteboard-panel{flex:2;min-width:0}.chat-panel{flex:1;min-width:400px}.panel-header{background:#f0ebe2;border-bottom:1px solid #d5ccbf;flex-shrink:0;padding:16px 20px}.panel-header-content{flex-direction:column;gap:6px;display:flex}.panel-title-section{align-items:center;gap:12px;display:flex}.panel-emoji{font-size:1.75rem;line-height:1}.panel-title{color:#1a1208;font-family:var(--font-display),serif;flex:1;justify-content:space-between;align-items:center;margin:0;font-size:1.4rem;font-weight:600;display:flex}.panel-description{color:#6b5e4e;margin:0;font-size:.875rem;line-height:1.5}.header-actions{gap:8px;display:flex}.icon-button{cursor:pointer;color:#6b5e4e;background:#fff;border:1px solid #d5ccbf;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:all .2s;display:flex}.icon-button:hover{color:#1a1208;background:#f0ebe2;border-color:#a3927e}.icon-button.active{color:#c9902f;background:#c9902f1f;border-color:#c9902f}.icon-button.recording{color:#c8392d;background:#c8392d1a;border-color:#c8392d;animation:1s infinite pulse}.whiteboard-container{flex:1;position:relative;overflow:hidden}.chat-input{width:100%;font-family:var(--font-body),system-ui,sans-serif;resize:none;color:#1a1208;background:#fff;border:1px solid #d5ccbf;border-radius:6px;margin-bottom:10px;padding:10px 14px;font-size:.875rem;line-height:1.5;transition:border-color .2s}.chat-input::placeholder{color:#a3927e}.chat-input:focus{border-color:#c8392d;outline:none;box-shadow:0 0 0 3px #c8392d14}.chat-input:disabled{cursor:not-allowed;opacity:.6;background:#f0ebe2}.input-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.send-button{color:#fff;font-family:var(--font-body),system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#c8392d;border:none;border-radius:6px;padding:8px 20px;font-size:.8rem;font-weight:500;transition:all .2s}.send-button:hover:not(:disabled){background:#d44a3e;transform:translateY(-1px);box-shadow:0 3px 8px #c8392d40}.send-button:disabled{cursor:not-allowed;background:#d5ccbf;transform:none}.message-count-label{color:#6b5e4e;white-space:nowrap;align-self:center;font-size:.75rem}.limit-modal-backdrop{z-index:1000;background:#1a120880;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.limit-modal{text-align:center;background:#faf7f2;border:1px solid #d5ccbf;border-radius:14px;width:90%;max-width:420px;padding:40px 36px;animation:.3s ease-out modalSlideUp;position:relative;box-shadow:0 20px 60px #1a120833}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.limit-modal-close{color:#a3927e;cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.5rem;line-height:1;transition:color .2s;position:absolute;top:12px;right:16px}.limit-modal-close:hover{color:#1a1208}.limit-modal-icon{margin-bottom:16px;font-size:3rem}.limit-modal-title{font-family:var(--font-display),serif;color:#1a1208;margin:0 0 12px;font-size:1.5rem;font-weight:600}.limit-modal-text{color:#6b5e4e;margin:0 0 28px;font-size:.95rem;line-height:1.6}.limit-modal-form{flex-direction:column;gap:12px;display:flex}.limit-modal-input{width:100%;font-family:var(--font-body),system-ui,sans-serif;color:#1a1208;background:#fff;border:1px solid #d5ccbf;border-radius:8px;padding:12px 14px;font-size:.95rem;transition:border-color .2s}.limit-modal-input::placeholder{color:#a3927e}.limit-modal-input:focus{border-color:#c8392d;outline:none;box-shadow:0 0 0 3px #c8392d14}.limit-modal-cta{color:#fff;width:100%;font-family:var(--font-body),system-ui,sans-serif;letter-spacing:.02em;cursor:pointer;text-align:center;background:#c8392d;border:none;border-radius:8px;padding:14px 24px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.limit-modal-cta:hover:not(:disabled){background:#d44a3e;transform:translateY(-1px);box-shadow:0 4px 12px #c8392d4d}.limit-modal-cta:disabled{opacity:.5;cursor:not-allowed;transform:none}.limit-modal-success{color:#2d7a4f;background:#2d7a4f14;border-radius:8px;margin:0;padding:14px;font-size:.95rem;font-weight:500}.limit-modal-error{color:#c8392d;margin:0;font-size:.85rem}.limit-modal-dismiss{color:#a3927e;cursor:pointer;background:0 0;border:none;margin-top:14px;padding:4px 8px;font-size:.85rem;transition:color .2s;display:inline-block}.limit-modal-dismiss:hover{color:#6b5e4e}.whiteboard-content h2,.whiteboard-content h3,.whiteboard-content h4{margin:0;line-height:1.2}.whiteboard-content p{margin:0}.whiteboard-content ul{margin:0;padding:0}.whiteboard-content strong{font-weight:700}.whiteboard-content em{font-style:italic}
