*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.lucide-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;stroke:currentColor;fill:none}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,sans-serif;background:#f2f2f7;color:#000;line-height:1.47;min-height:100vh}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;outline:none}#app{max-width:480px;margin:0 auto;min-height:100vh}.container{min-height:100vh;padding:16px 12px 88px}.app-header{text-align:center;padding:8px 0 20px}.app-title{font-size:1.375rem;font-weight:700;letter-spacing:-.5px}.app-subtitle{font-size:.8125rem;color:#8e8e93;margin-top:4px}.course-list{display:flex;flex-direction:column;gap:10px}.course-card{background:#fff;border-radius:10px;padding:16px 14px;border:1px solid #ececf1;box-shadow:0 1px 3px #0000000a,0 .5px 1px #0000000f;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s}.course-card:active{transform:scale(.98)}.course-main{margin-bottom:14px}.course-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:10px}.course-title-wrapper{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.course-icon-clickable{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#f2f2f7;border-radius:6px;flex-shrink:0;cursor:pointer;transition:background .2s}.course-icon-clickable:hover{background:#e5e5ea}.course-icon{font-size:20px;line-height:1}.course-title-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.course-name{font-size:1.0625rem;font-weight:600;letter-spacing:-.5px}.course-time{font-size:.8125rem;color:#8e8e93;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-badge{background:#ff3b30;padding:3px 8px;border-radius:6px;font-size:.6875rem;color:#fff;font-weight:500;flex-shrink:0}.course-stats{display:flex;justify-content:space-around;margin-bottom:12px;padding:10px;background:#f2f2f7;border-radius:8px}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.stat-item.highlight{background:#007aff;padding:8px 10px;border-radius:6px;margin:-4px -2px}.stat-label{font-size:.75rem;color:#8e8e93}.stat-item.highlight .stat-label{color:#ffffffe6}.stat-value{font-size:1rem;font-weight:600;letter-spacing:-.5px}.stat-item.highlight .stat-value{color:#fff}.stat-value.warning{color:#ff3b30}.progress-wrapper{display:flex;align-items:center;gap:8px}.progress-bar{flex:1;height:4px;background:#e5e5ea;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:#007aff;border-radius:2px;transition:width .3s cubic-bezier(.4,0,.2,1)}.progress-fill.full{background:#ff3b30}.progress-text{font-size:.75rem;color:#8e8e93;min-width:30px;text-align:right;font-weight:500}.course-actions{display:flex;gap:6px;padding-top:12px;border-top:.5px solid #e5e5ea}.action-btn{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;padding:9px 6px;border-radius:6px;font-size:.75rem;font-weight:500;min-height:40px;transition:transform .2s,opacity .2s}.action-btn:active:not(:disabled){transform:scale(.96);opacity:.8}.action-btn:disabled{background:#e5e5ea!important;color:#8e8e93!important;opacity:.6;cursor:not-allowed}.quick-consume-btn{background:#007aff;color:#fff}.detail-btn{background:#5ac8fa;color:#fff}.edit-btn{background:#af52de;color:#fff}.delete-btn{background:#ff3b30;color:#fff}.btn-icon{flex-shrink:0}.action-btn .btn-icon{width:16px;height:16px}.btn-label{line-height:1;white-space:nowrap}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;min-height:50vh}.empty-icon{font-size:3.75rem;margin-bottom:16px;opacity:.3}.empty-text{font-size:1rem;color:#8e8e93;margin-bottom:6px;font-weight:500}.empty-hint{font-size:.8125rem;color:#c7c7cc}.fab{position:fixed;right:max(16px,calc(50% - 224px));bottom:16px;width:56px;height:56px;background:#007aff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px #007aff4d,0 2px 4px #007aff33;z-index:100;transition:transform .2s,box-shadow .2s}.fab:hover{transform:scale(1.05)}.fab:active{transform:scale(.92)}.fab-icon{font-size:1.75rem;color:#fff;font-weight:300;line-height:1}.fab-icon-svg{color:#fff;display:flex;align-items:center;justify-content:center}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);padding:16px}.modal-overlay.show{opacity:1;visibility:visible}.modal-content{width:100%;max-width:420px;max-height:90vh;background:#fff;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transform:scale(.92) translateY(12px);transition:transform .35s cubic-bezier(.32,.72,0,1);box-shadow:0 24px 80px #0000001f,0 8px 24px #00000014,0 0 0 .5px #0000000d}.modal-overlay.show .modal-content{transform:scale(1) translateY(0)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 12px;flex-shrink:0}.modal-header-right{display:flex;align-items:center;gap:8px}.share-btn{display:flex;align-items:center;gap:4px;padding:5px 9px;background:#007aff;border-radius:8px;color:#fff;font-size:.75rem;font-weight:500;transition:opacity .2s}.share-btn:hover{opacity:.85}.modal-title{font-size:1.0625rem;font-weight:600;letter-spacing:-.3px;color:#1c1c1e}.modal-close{font-size:.9rem;color:#8e8e93;line-height:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#f2f2f7;border:none;border-radius:50%;transition:background .15s,color .15s}.modal-close:hover{background:#e5e5ea;color:#1c1c1e}.modal-body{padding:0 20px 12px;overflow-y:auto;flex:1;min-height:0}.modal-footer{display:flex;gap:8px;padding:12px 20px 20px;flex-shrink:0}.modal-btn{flex:1;padding:13px;border-radius:12px;font-size:.9375rem;font-weight:500;transition:transform .2s,opacity .2s}.modal-btn:active{transform:scale(.98);opacity:.8}.cancel-btn{background:#f2f2f7;color:#007aff}.confirm-btn{background:#007aff;color:#fff}.form-group{margin-bottom:18px}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:.8125rem;color:#636366;margin-bottom:6px;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.form-label.required:before{content:"*";color:#ff3b30;margin-right:2px}.form-input,.form-textarea{width:100%;padding:12px 14px;border:1.5px solid #e5e5ea;border-radius:12px;font-size:.9375rem;color:#1c1c1e;background:#fafafa;transition:border-color .2s,background .2s}.form-input:focus,.form-textarea:focus{border-color:#007aff;background:#fff;box-shadow:0 0 0 2px #007aff1f}.form-textarea{min-height:40px;resize:vertical}.form-input::placeholder,.form-textarea::placeholder{color:#c7c7cc}.time-picker-section{display:flex;flex-direction:column;gap:10px}.time-picker-group{display:flex;flex-direction:column;gap:6px}.time-group-label{font-size:.75rem;color:#8e8e93}.time-picker-row{display:flex;align-items:center;gap:4px}.time-select{flex:1;padding:9px 28px 9px 10px;border:.5px solid #e5e5ea;border-radius:6px;background:#f2f2f7;font-size:.875rem;font-weight:500;color:#000;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238e8e93' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.time-select.time-select-small{flex:0 0 auto;min-width:60px}.time-separator{font-size:1rem;font-weight:500}.icon-preview{display:flex;align-items:center;gap:8px;padding:9px;border:.5px solid #e5e5ea;border-radius:6px;background:#f2f2f7;cursor:pointer;transition:background .2s,border-color .2s}.icon-preview:hover{background:#e5e5ea;border-color:#007aff}.icon-preview-emoji{font-size:1.375rem;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:6px}.icon-preview-text{font-size:.875rem;color:#8e8e93}.icon-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;padding:8px 0}.icon-item{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#f2f2f7;border-radius:6px;cursor:pointer;border:.5px solid transparent;transition:all .2s;font-size:1.125rem}.icon-item:hover{background:#007aff;transform:scale(.95)}.detail-course-info{text-align:center;padding:12px;background:#007aff;border-radius:6px;margin-bottom:16px}.detail-course-name{font-size:1rem;font-weight:600;color:#fff}.consume-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:.5px solid #e5e5ea}.consume-item:last-child{border-bottom:none}.consume-date{font-size:.875rem;font-weight:500}.consume-time{font-size:.75rem;color:#8e8e93}.consume-hours{font-size:1rem;font-weight:600;color:#007aff}.empty-consume{text-align:center;padding:40px 0;color:#8e8e93;font-size:.875rem}.schedule-canvas{position:fixed;top:-9999px;left:-9999px;pointer-events:none}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{padding:10px 20px;border-radius:20px;font-size:.875rem;font-weight:500;color:#fff;background:#000000bf;opacity:0;transform:translateY(-8px);transition:opacity .3s,transform .3s;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toast.show{opacity:1;transform:translateY(0)}.toast-success{background:#34c759e6}.toast-error{background:#ff3b30e6}@media(min-width:481px){body{background:#e5e5ea}#app{box-shadow:0 0 40px #00000014;background:#f2f2f7}}.voice-input-section{margin-bottom:0}.voice-input-row{display:flex;align-items:center;gap:10px}.voice-btn{width:44px;height:44px;border-radius:50%;background:#007aff;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.voice-btn:active{transform:scale(.92)}.voice-btn-active{background:#ff3b30;animation:voice-pulse 1.2s ease-in-out infinite}@keyframes voice-pulse{0%,to{box-shadow:0 0 #ff3b3066}50%{box-shadow:0 0 0 10px #ff3b3000}}.voice-status{font-size:.8125rem;color:#666;flex:1;min-width:0}.voice-parse-btn{font-size:.8125rem;padding:6px 14px;border-radius:16px;background:#007aff;color:#fff;font-weight:500;flex-shrink:0;transition:opacity .2s}.voice-parse-btn:disabled{opacity:.5}.voice-textarea{width:100%;margin-top:8px;border:1px solid #d4e0ff;border-radius:8px;padding:8px 10px;font-size:.875rem;font-family:inherit;resize:none;background:#fff;color:#333;line-height:1.5}.voice-textarea:focus{outline:none;border-color:#007aff}.ai-mode-choice{display:flex;flex-direction:column;gap:12px}.ai-mode-card{display:flex;flex-direction:column;align-items:center;padding:20px 16px;background:linear-gradient(135deg,#f0f4ff,#e8f0fe);border:1px solid #d4e0ff;border-radius:12px;cursor:pointer;transition:all .2s}.ai-mode-card:active{transform:scale(.98)}.ai-mode-card.ai-mode-manual{background:#f9f9f9;border-color:#e5e5e5}.ai-mode-icon{font-size:2rem;margin-bottom:8px}.ai-mode-label{font-size:1rem;font-weight:600;color:#111}.ai-mode-hint{font-size:.75rem;color:#666;margin-top:4px}.ai-chat{display:flex;flex-direction:column;min-height:300px;height:100%}.ai-chat-header{display:flex;justify-content:flex-end;padding:0 0 6px}.ai-switch-link{background:none;border:none;color:#007aff;font-size:.82rem;cursor:pointer;padding:2px 6px;border-radius:4px}.ai-switch-link:active{background:#007aff14}.modal-overlay:has(.ai-chat) .modal-body{overflow-y:hidden;display:flex;flex-direction:column}.ai-messages{flex:1;overflow-y:auto;padding:8px 0;display:flex;flex-direction:column;gap:12px}.msg-bubble{display:flex;gap:8px;max-width:88%;animation:msgFadeIn .3s cubic-bezier(.32,.72,0,1)}@keyframes msgFadeIn{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.msg-user{align-self:flex-end;flex-direction:row-reverse}.msg-assistant{align-self:flex-start}.msg-avatar{width:30px;height:30px;border-radius:50%;background:#f2f2f7;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.msg-user .msg-avatar{background:#e3f2fd}.msg-text{padding:11px 15px;border-radius:18px;font-size:.875rem;line-height:1.5;word-break:break-word;box-shadow:0 1px 2px #0000000a}.msg-user .msg-text{background:linear-gradient(135deg,#007aff,#5856d6);color:#fff;border-bottom-right-radius:6px}.msg-assistant .msg-text{background:#f2f2f7;color:#1c1c1e;border-bottom-left-radius:6px}.msg-text strong{font-weight:600}.msg-typing .msg-text{padding:12px 18px}.typing-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#999;margin:0 2px;animation:typing-bounce 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.ai-input-area{display:flex;align-items:center;gap:8px;padding:14px 0 4px;margin-top:8px}.ai-input{flex:1;border:1.5px solid #e5e5ea;border-radius:22px;padding:10px 16px;font-size:.875rem;font-family:inherit;resize:none;line-height:1.4;max-height:80px;background:#fafafa;transition:border-color .2s,background .2s}.ai-input:focus{outline:none;border-color:#007aff;background:#fff}.voice-btn-inline{width:36px;height:36px;border-radius:50%;border:none;background:#f2f2f7;color:#007aff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s,transform .15s}.voice-btn-inline:active{transform:scale(.9)}.voice-btn-inline.voice-btn-active{background:#ff3b30;color:#fff;animation:cv-recording 1.2s ease-in-out infinite}.ai-send-btn{width:38px;height:38px;background:#007aff;color:#fff;border-radius:50%;font-size:.8125rem;font-weight:500;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:background .15s,transform .15s}.ai-send-btn:active{transform:scale(.9)}.ai-send-btn:disabled{opacity:.5}.ai-preview{display:flex;flex-direction:column;gap:12px}.ai-preview-header{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.05em;text-align:center;margin-bottom:4px}.ai-preview-card{display:flex;gap:14px;padding:16px;background:linear-gradient(135deg,#f8faff,#eef4ff);border:1px solid #d4e0ff;border-radius:12px}.ai-preview-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:12px;background:#d7e2ff}.ai-preview-icon-lucide{width:28px;height:28px;color:#0071e3}.ai-preview-info{flex:1;min-width:0}.ai-preview-name{font-size:1rem;font-weight:600;color:#111;margin-bottom:4px}.ai-preview-time{font-size:.875rem;color:#666;margin-bottom:8px}.ai-preview-hours{display:flex;gap:12px;font-size:.8125rem;color:#888}.ai-preview-actions{display:flex;gap:10px;margin-top:8px}.ai-btn-primary{flex:1;padding:12px;background:#007aff;color:#fff;border-radius:10px;font-size:.9375rem;font-weight:600;transition:background .2s}.ai-btn-primary:active{background:#0062cc}.ai-btn-secondary{padding:12px 16px;background:#f0f0f0;color:#333;border-radius:10px;font-size:.875rem;transition:background .2s}.ai-btn-secondary:active{background:#e0e0e0}.ai-preview-students{font-size:.8125rem;color:#007aff;margin-bottom:6px}.student-selector{position:relative}.student-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.student-empty-hint{font-size:.8125rem;color:#999}.student-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#e8f0fe;color:#1a73e8;border-radius:16px;font-size:.8125rem;font-weight:500}.student-tag-name{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:0;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.student-tag-name:active{opacity:.7}.student-tag-remove{background:none;border:none;color:#1a73e8;font-size:1rem;line-height:1;cursor:pointer;padding:0 2px;opacity:.6}.student-tag-remove:active{opacity:1}.student-add-btn{background:none;border:1px dashed #ccc;color:#007aff;padding:6px 14px;border-radius:8px;font-size:.8125rem;cursor:pointer;width:100%;text-align:left}.student-add-btn:active{background:#f0f0f0}.student-dropdown{position:absolute;left:0;right:0;top:100%;z-index:100;background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 4px 16px #0000001f;max-height:200px;overflow-y:auto;margin-top:4px}.student-dropdown-item{display:block;width:100%;text-align:left;padding:10px 14px;background:none;border:none;font-size:.875rem;color:#333;cursor:pointer;border-bottom:1px solid #f0f0f0}.student-dropdown-item:last-child{border-bottom:none}.student-dropdown-item:active{background:#f0f0f0}.student-dropdown-new{color:#007aff;font-weight:500}.course-students{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.student-badge{display:inline-block;padding:2px 8px;background:#f0f0f0;color:#555;border-radius:10px;font-size:.75rem}.consume-student-list{display:flex;flex-direction:column;gap:6px}.consume-student-item{border-radius:10px!important;border:1px solid #e0e0e0!important;padding:12px 14px!important;font-size:.9375rem!important}.consume-student-item:active{background:#007aff!important;color:#fff!important}.consume-student-name{font-size:.8125rem;color:#007aff;flex-shrink:0;margin:0 8px}.ai-retry-area{display:flex;justify-content:center;padding:8px 0}.ai-retry-btn{padding:8px 20px;background:#fff3cd;color:#856404;border:1px solid #ffc107;border-radius:20px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .2s}.ai-retry-btn:active{background:#ffeaa7}.ai-created{text-align:center;padding:24px 16px}.ai-created-icon{font-size:3rem;margin-bottom:12px}.ai-created-title{font-size:1.125rem;font-weight:600;color:#34c759;margin-bottom:6px}.ai-created-name{font-size:1rem;color:#333;margin-bottom:24px}.ai-created-actions{display:flex;flex-direction:column;gap:10px}.cv-modal{max-width:420px}.cv-body{padding:0 4px}.cv-chat{display:flex;flex-direction:column;gap:12px;min-height:200px}.cv-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 0 8px}.cv-prompt-icon{font-size:2.4rem;animation:cv-pulse 2s ease-in-out infinite}@keyframes cv-pulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.12);opacity:1}}.cv-prompt-text{color:#8e8e93;font-size:.88rem}.cv-msgs{display:flex;flex-direction:column;gap:10px;max-height:180px;overflow-y:auto;padding:4px 0}.cv-msg{display:flex;align-items:flex-start;gap:8px;animation:cv-fadeIn .25s ease-out}@keyframes cv-fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cv-msg-user{flex-direction:row-reverse}.cv-msg-avatar{width:28px;height:28px;border-radius:50%;background:#f2f2f7;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.cv-msg-user .cv-msg-avatar{background:#e3f2fd}.cv-msg-bubble{max-width:75%;padding:10px 14px;border-radius:18px;font-size:.9rem;line-height:1.4;word-break:break-word}.cv-msg-user .cv-msg-bubble{background:#007aff;color:#fff;border-bottom-right-radius:4px}.cv-msg-ai .cv-msg-bubble{background:#f2f2f7;color:#1c1c1e;border-bottom-left-radius:4px}.cv-typing{display:flex;gap:4px;padding:12px 18px}.cv-typing span{width:6px;height:6px;border-radius:50%;background:#8e8e93;animation:cv-bounce 1.4s ease-in-out infinite}.cv-typing span:nth-child(2){animation-delay:.2s}.cv-typing span:nth-child(3){animation-delay:.4s}@keyframes cv-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.cv-input-bar{display:flex;align-items:center;gap:8px;padding:8px 0 0;border-top:1px solid #f2f2f7}.cv-voice-btn{width:36px;height:36px;border-radius:50%;border:none;background:#f2f2f7;color:#007aff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s,transform .15s}.cv-voice-btn:active{transform:scale(.9)}.cv-voice-btn.voice-btn-active{background:#ff3b30;color:#fff;animation:cv-recording 1.2s ease-in-out infinite}@keyframes cv-recording{0%,to{box-shadow:0 0 #ff3b3066}50%{box-shadow:0 0 0 8px #ff3b3000}}.cv-text-input{flex:1;border:1px solid #e5e5ea;border-radius:18px;padding:8px 14px;font-size:.9rem;outline:none;background:#fff;transition:border-color .2s}.cv-text-input:focus{border-color:#007aff}.cv-send-btn{width:36px;height:36px;border-radius:50%;border:none;background:#007aff;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s,transform .15s}.cv-send-btn:active{transform:scale(.9)}.cv-send-btn:disabled{background:#c7c7cc}.cv-matches-view{display:flex;flex-direction:column;gap:14px;padding:8px 0}.cv-matches-header{text-align:center;color:#636366;font-size:.88rem}.cv-matches-header strong{color:#1c1c1e}.cv-match-list{display:flex;flex-direction:column;gap:8px}.cv-match-card{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#fff;border:1px solid #e5e5ea;border-radius:14px;cursor:pointer;transition:background .15s,border-color .15s;font-size:1rem}.cv-match-card:active{background:#f2f2f7;border-color:#007aff}.cv-match-name{font-weight:500;color:#1c1c1e}.cv-match-badge,.cv-confirm-badge{font-size:.72rem;padding:2px 8px;border-radius:10px;font-weight:500}.cv-conf-high{background:#d1f5d3;color:#1b7a2e}.cv-conf-low{background:#fff3cd;color:#856404}.cv-confirm-view{display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px 0}.cv-confirm-icon{font-size:2rem}.cv-confirm-label{color:#636366;font-size:.9rem}.cv-confirm-card{display:flex;align-items:center;gap:14px;padding:16px 28px;background:#f0f8ff;border:2px solid #007aff;border-radius:16px;animation:cv-fadeIn .3s ease-out}.cv-confirm-name{font-size:1.15rem;font-weight:600;color:#1c1c1e}.app-header-row{display:flex;align-items:flex-start;justify-content:space-between}.header-consume-btn{width:40px;height:40px;border-radius:50%;border:none;background:#fff3cd;color:#ff9500;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-top:4px;transition:background .15s,transform .15s;box-shadow:0 2px 8px #ff950026}.header-consume-btn:active{transform:scale(.9)}.gc-confirm-view{padding:8px 0}.gc-confirm-card{background:#f8f9fa;border-radius:16px;padding:4px 0;overflow:hidden}.gc-confirm-row{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #f0f0f0}.gc-confirm-row:last-child{border-bottom:none}.gc-label{color:#636366;font-size:.875rem}.gc-value{font-weight:600;font-size:1rem;color:#1c1c1e}.voice-overlay{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 0 8px}.voice-orb-wrap{position:relative;width:160px;height:160px;cursor:pointer;-webkit-tap-highlight-color:transparent}.voice-orb-canvas{display:block}.voice-state-label{font-size:.88rem;color:#8e8e93;text-align:center;min-height:1.2em;transition:color .2s}.voice-state-label.listening{color:#007aff;font-weight:500}.voice-transcript{min-height:24px;max-width:85%;text-align:center;font-size:.95rem;line-height:1.45;color:#1c1c1e;padding:0 8px;word-break:break-word}.voice-transcript.interim{color:#8e8e93;font-style:italic}.voice-transcript:empty{display:none}.voice-tap-hint{font-size:.75rem;color:#c7c7cc;margin-top:-4px}.voice-divider{display:flex;align-items:center;gap:12px;width:100%;margin:4px 0;color:#c7c7cc;font-size:.75rem}.voice-divider:before,.voice-divider:after{content:"";flex:1;height:1px;background:#e5e5ea}.voice-fallback-row{display:flex;align-items:center;gap:8px;width:100%}.voice-fallback-input{flex:1;border:1px solid #e5e5ea;border-radius:20px;padding:9px 16px;font-size:.9rem;outline:none;background:#f8f9fa;transition:border-color .2s,background .2s;font-family:inherit}.voice-fallback-input:focus{border-color:#007aff;background:#fff}.voice-fallback-send{width:38px;height:38px;border-radius:50%;border:none;background:#007aff;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform .15s,opacity .2s}.voice-fallback-send:active{transform:scale(.9)}.voice-fallback-send:disabled{opacity:.4;cursor:default}:root{--ios-accent: #007aff;--ios-accent-pressed: #0062cc;--ios-bg: #f2f2f7;--ios-surface: rgba(255, 255, 255, .82);--ios-border: #e5e5ea;--ios-text-primary: #1c1c1e;--ios-text-secondary: #636366;--ios-radius-card: 14px;--ios-radius-control: 12px;--ios-radius-pill: 9999px;--ios-blur: saturate(180%) blur(20px);--ios-ease: cubic-bezier(.32, .72, 0, 1)}.course-card,.modal-content,.user-bar{border:1px solid var(--ios-border);border-radius:var(--ios-radius-card)}.course-card{background:var(--ios-surface);backdrop-filter:var(--ios-blur);-webkit-backdrop-filter:var(--ios-blur)}.app-title,.course-name,.modal-title{color:var(--ios-text-primary)}.app-subtitle,.course-time,.stat-label,.progress-text,.consume-time,.voice-status,.voice-state-label,.empty-text,.empty-hint,.gc-label{color:var(--ios-text-secondary)}.action-btn,.modal-btn,.voice-btn,.voice-parse-btn,.ai-send-btn,.cv-send-btn,.voice-fallback-send,.header-consume-btn,.account-btn,.logout-btn{min-height:44px}.quick-consume-btn,.confirm-btn,.share-btn,.fab,.ai-btn-primary,.ai-send-btn,.cv-send-btn,.voice-fallback-send,.voice-parse-btn{background:var(--ios-accent);color:#fff}.quick-consume-btn:active,.confirm-btn:active,.share-btn:active,.ai-btn-primary:active,.ai-send-btn:active,.cv-send-btn:active,.voice-fallback-send:active,.voice-parse-btn:active{background:var(--ios-accent-pressed)}.detail-btn,.edit-btn,.delete-btn,.cancel-btn,.ai-btn-secondary,.student-add-btn{border:1px solid var(--ios-border);border-radius:var(--ios-radius-control)}.form-input,.form-textarea,.time-select,.ai-input,.cv-text-input,.voice-fallback-input{border-radius:var(--ios-radius-control);border:1px solid var(--ios-border)}.form-input:focus,.form-textarea:focus,.time-select:focus,.ai-input:focus,.cv-text-input:focus,.voice-fallback-input:focus{border-color:var(--ios-accent);box-shadow:0 0 0 2px #007aff24}.modal-overlay{backdrop-filter:var(--ios-blur);-webkit-backdrop-filter:var(--ios-blur)}.modal-content,.toast,.cv-match-card{transition:transform .25s var(--ios-ease),opacity .25s var(--ios-ease)}.container{padding:10px 12px 86px}.app-header{padding:6px 0 12px}.course-list{gap:8px}.course-card{padding:14px 12px}.course-main,.course-header{margin-bottom:10px}.course-actions{padding-top:10px;border-top:1px solid var(--ios-border)}.consume-item{padding:10px 0;border-bottom:1px solid var(--ios-border)}.user-bar{position:sticky;top:8px;z-index:20;margin-bottom:10px;padding:8px 10px;background:#ffffffbd;backdrop-filter:var(--ios-blur);-webkit-backdrop-filter:var(--ios-blur)}.fab{width:52px;height:52px}.fab-icon-svg{transform:scale(.92)}.modal-content{max-height:88vh}.modal-header{padding:16px 16px 10px;border-bottom:1px solid var(--ios-border)}.modal-body{padding:12px 16px}.modal-footer{padding:10px 16px 16px;border-top:1px solid var(--ios-border)}@keyframes ios-card-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ios-sheet-in{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.course-card{animation:ios-card-in .34s var(--ios-ease);will-change:transform,opacity}.modal-overlay.show .modal-content{animation:ios-sheet-in .28s var(--ios-ease)}.action-btn,.modal-btn,.auth-btn,.share-btn,.fab,.voice-btn,.ai-send-btn,.cv-send-btn,.voice-fallback-send{transition:transform .18s var(--ios-ease),opacity .18s var(--ios-ease),background-color .2s var(--ios-ease),box-shadow .2s var(--ios-ease)}.action-btn:active:not(:disabled),.modal-btn:active:not(:disabled),.auth-btn:active:not(:disabled),.share-btn:active,.fab:active,.voice-btn:active,.ai-send-btn:active,.cv-send-btn:active,.voice-fallback-send:active{transform:scale(.965)}.action-btn:disabled,.modal-btn:disabled,.auth-btn:disabled{opacity:.45;filter:saturate(.85)}.modal-overlay{transition:opacity .24s var(--ios-ease),visibility .24s var(--ios-ease)}:root{--ios-accent: #0a84ff;--ios-accent-pressed: #0069d9;--ios-bg: #f2f2f7;--ios-surface: rgba(255, 255, 255, .86);--ios-surface-solid: #ffffff;--ios-border: #e5e5ea;--ios-separator: #ededf0;--ios-text-primary: #1c1c1e;--ios-text-secondary: #3c3c43;--ios-text-tertiary: #8e8e93;--ios-danger: #ff3b30}body{background:var(--ios-bg);color:var(--ios-text-primary)}.course-card,.modal-content,.user-bar,.cv-match-card,.student-dropdown{background:var(--ios-surface-solid);border:1px solid var(--ios-border)}.course-stats,.ai-preview-card,.gc-confirm-card,.cv-confirm-card,.voice-input-section,.ai-mode-card,.detail-course-info{background:#f7f7fa;border:1px solid var(--ios-border)}.app-title,.course-name,.modal-title,.consume-date,.consume-hours,.gc-value,.cv-confirm-name{color:var(--ios-text-primary)}.app-subtitle,.course-time,.stat-label,.progress-text,.consume-time,.voice-status,.voice-state-label,.empty-text,.empty-hint,.gc-label,.form-label,.time-group-label,.icon-preview-text,.ai-preview-header,.ai-preview-time,.ai-preview-hours{color:var(--ios-text-tertiary)}.quick-consume-btn,.confirm-btn,.share-btn,.fab,.ai-btn-primary,.ai-send-btn,.cv-send-btn,.voice-fallback-send,.voice-parse-btn,.voice-btn{background:var(--ios-accent);color:#fff}.quick-consume-btn:active,.confirm-btn:active,.share-btn:active,.ai-btn-primary:active,.ai-send-btn:active,.cv-send-btn:active,.voice-fallback-send:active,.voice-parse-btn:active,.voice-btn:active{background:var(--ios-accent-pressed)}.detail-btn,.edit-btn,.delete-btn,.cancel-btn,.ai-btn-secondary,.account-btn,.student-add-btn,.share-btn:disabled{background:#fff;color:var(--ios-text-primary);border:1px solid var(--ios-border);box-shadow:none}.delete-btn{color:var(--ios-danger)}.course-badge{background:var(--ios-danger)}.stat-item.highlight,.progress-fill{background:var(--ios-accent)}.progress-fill.full{background:var(--ios-danger)}.course-actions,.modal-header,.modal-footer,.consume-item,.student-dropdown-item{border-color:var(--ios-separator)}.student-tag{background:#0a84ff1f;color:var(--ios-accent)}.student-tag-remove,.student-tag-name,.student-dropdown-new,.consume-student-name,.ai-switch-link,.auth-btn-link{color:var(--ios-accent)}.msg-user .msg-text,.cv-msg-user .cv-msg-bubble{background:var(--ios-accent)}.msg-assistant .msg-text,.cv-msg-ai .cv-msg-bubble{background:#f0f1f5;color:var(--ios-text-primary)}.form-input,.form-textarea,.time-select,.ai-input,.cv-text-input,.voice-fallback-input,.auth-input{background:#fff;border:1px solid var(--ios-border);color:var(--ios-text-primary)}.form-input::placeholder,.form-textarea::placeholder,.ai-input::placeholder,.cv-text-input::placeholder,.voice-fallback-input::placeholder,.auth-input::placeholder{color:var(--ios-text-tertiary)}.course-icon-clickable,.stat-item,.time-select,.icon-preview,.icon-item,.student-dropdown-item,.cv-msg-avatar,.msg-avatar,.voice-btn-inline,.cv-voice-btn,.modal-close{background:#f2f2f7;border-color:var(--ios-border);color:var(--ios-text-primary)}.detail-btn,.edit-btn,.delete-btn,.ai-btn-secondary,.cancel-btn,.account-btn,.student-add-btn,.student-dropdown-item,.consume-student-item,.cv-match-card{background:#fff!important;color:var(--ios-text-primary)!important;border:1px solid var(--ios-border)!important}.delete-btn,.logout-btn,.course-badge{color:#fff!important;background:var(--ios-danger)!important;border-color:var(--ios-danger)!important}.quick-consume-btn,.confirm-btn,.share-btn,.fab,.ai-btn-primary,.ai-send-btn,.cv-send-btn,.voice-fallback-send,.voice-parse-btn,.voice-btn,.auth-btn-primary{background:var(--ios-accent)!important;color:#fff!important;border:none!important}.quick-consume-btn:active,.confirm-btn:active,.share-btn:active,.fab:active,.ai-btn-primary:active,.ai-send-btn:active,.cv-send-btn:active,.voice-fallback-send:active,.voice-parse-btn:active,.voice-btn:active,.auth-btn-primary:active{background:var(--ios-accent-pressed)!important}.student-tag,.student-dropdown-new,.student-tag-name,.student-tag-remove,.consume-student-name,.auth-btn-link,.ai-switch-link{color:var(--ios-accent)!important}.student-tag{background:#0a84ff1a!important}.msg-user .msg-text,.cv-msg-user .cv-msg-bubble{background:var(--ios-accent)!important;color:#fff!important}.msg-assistant .msg-text,.cv-msg-ai .cv-msg-bubble{background:#f2f2f7!important;color:var(--ios-text-primary)!important}.stat-item.highlight,.progress-fill{background:var(--ios-accent)!important}.progress-fill.full,.stat-value.warning{background:var(--ios-danger)!important;color:#fff!important}:root{--btn-font-size-primary: 15px;--btn-font-size-secondary: 14px;--btn-font-weight-primary: 600;--btn-font-weight-secondary: 500;--btn-line-height: 1.2;--btn-letter-spacing: .01em}.quick-consume-btn,.confirm-btn,.share-btn,.fab,.ai-btn-primary,.ai-send-btn,.cv-send-btn,.voice-fallback-send,.voice-parse-btn,.voice-btn,.auth-btn-primary{font-size:var(--btn-font-size-primary)!important;font-weight:var(--btn-font-weight-primary)!important;line-height:var(--btn-line-height)!important;letter-spacing:var(--btn-letter-spacing)!important}.detail-btn,.edit-btn,.delete-btn,.cancel-btn,.ai-btn-secondary,.account-btn,.logout-btn,.student-add-btn,.student-dropdown-item,.consume-student-item,.auth-btn-link{font-size:var(--btn-font-size-secondary)!important;font-weight:var(--btn-font-weight-secondary)!important;line-height:var(--btn-line-height)!important;letter-spacing:var(--btn-letter-spacing)!important}.fab-icon-svg,.cv-send-btn .lucide-icon,.ai-send-btn .lucide-icon,.voice-fallback-send .lucide-icon,.voice-btn .lucide-icon,.cv-voice-btn .lucide-icon,.voice-btn-inline .lucide-icon{transform:none!important}:root{--apple-ink: #1d1d1f;--apple-graphite: #707070;--apple-slate: #474747;--apple-fog: #f5f5f7;--apple-snow: #ffffff;--apple-border: #e8e8ed;--apple-azure: #0071e3;--apple-link: #0066cc;--apple-danger: #b64400;--apple-radius-card: 28px;--apple-radius-pill: 999px}body{background:var(--apple-fog)!important;color:var(--apple-ink)!important;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Inter,system-ui,sans-serif!important;letter-spacing:-.003em!important}.container{padding:16px 12px 88px!important}.app-title{font-family:SF Pro Display,-apple-system,Inter,system-ui,sans-serif!important;font-weight:700!important;font-size:32px!important;letter-spacing:-.016em!important;color:var(--apple-ink)!important}.app-subtitle,.course-time,.stat-label,.progress-text,.consume-time,.empty-text,.empty-hint,.form-label,.time-group-label,.voice-status,.voice-state-label,.auth-subtitle,.auth-hint,.user-email,.account-email{color:var(--apple-graphite)!important}.course-card,.modal-content,.user-bar,.auth-card,.cv-match-card,.gc-confirm-card,.cv-confirm-card,.ai-preview-card,.voice-input-section,.ai-mode-card{background:var(--apple-snow)!important;border:1px solid var(--apple-border)!important;border-radius:var(--apple-radius-card)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.course-stats,.student-dropdown,.icon-item,.icon-preview,.time-select,.voice-fallback-input,.ai-input,.cv-text-input,.form-input,.form-textarea,.auth-input{background:var(--apple-fog)!important;border:1px solid var(--apple-border)!important;color:var(--apple-ink)!important}.course-actions,.modal-header,.modal-footer,.consume-item,.student-dropdown-item{border-color:var(--apple-border)!important}.quick-consume-btn,.confirm-btn,.share-btn,.auth-btn-primary{background:var(--apple-azure)!important;color:#fff!important;border-radius:var(--apple-radius-pill)!important;border:none!important}.quick-consume-btn:active,.confirm-btn:active,.share-btn:active,.auth-btn-primary:active{filter:brightness(.92)!important}.detail-btn,.edit-btn,.delete-btn,.cancel-btn,.ai-btn-secondary,.account-btn,.logout-btn,.student-add-btn,.student-dropdown-item,.consume-student-item{background:transparent!important;color:var(--apple-ink)!important;border:none!important;box-shadow:none!important}.delete-btn,.stat-value.warning{color:var(--apple-danger)!important}a,.ai-switch-link,.auth-btn-link,.student-tag-name,.student-tag-remove,.student-dropdown-new,.consume-student-name{color:var(--apple-link)!important}.fab,.voice-btn,.voice-parse-btn,.ai-send-btn,.cv-send-btn,.voice-fallback-send{background:#000!important;color:#fff!important;border-radius:var(--apple-radius-pill)!important;box-shadow:none!important}.progress-fill{background:var(--apple-ink)!important}.progress-fill.full,.course-badge{background:#000!important;color:#fff!important}.container{max-width:1200px;margin:0 auto;padding:24px 20px 96px!important}.app-header{padding:16px 0 28px!important}.app-title{font-size:56px!important;line-height:1.07!important;letter-spacing:-.019em!important;font-weight:700!important;max-width:10ch;margin:0 auto}.course-card{padding:20px 20px 16px!important}.course-header{margin-bottom:14px!important}.course-name{font-size:24px!important;line-height:1.29!important;letter-spacing:-.005em!important;font-family:SF Pro Display,-apple-system,Inter,system-ui,sans-serif;font-weight:600}.course-time{font-size:14px!important;line-height:1.43!important}.course-actions{gap:4px!important}.quick-consume-btn{background:var(--apple-azure)!important;color:#fff!important;border-radius:var(--apple-radius-pill)!important;padding:8px 16px!important}.detail-btn,.edit-btn,.delete-btn{background:transparent!important;border:none!important;color:var(--apple-link)!important;padding:8px 10px!important;min-height:36px!important;border-radius:10px!important}.detail-btn:hover,.edit-btn:hover,.delete-btn:hover{background:var(--apple-fog)!important}.delete-btn{color:var(--apple-danger)!important}.modal-title{font-size:28px!important;line-height:1.2!important;letter-spacing:-.015em!important}.modal-btn.confirm-btn{background:var(--apple-azure)!important;border-radius:var(--apple-radius-pill)!important}.modal-btn.cancel-btn{color:var(--apple-link)!important}.app-header{max-width:980px;margin:0 auto}.app-title{text-wrap:balance;word-break:keep-all}.course-title-info{max-width:42ch}.course-time,.stat-label,.progress-text{max-width:34ch}.course-actions{align-items:center}.quick-consume-btn,.detail-btn,.edit-btn,.delete-btn{display:inline-flex!important;align-items:center;justify-content:center;line-height:1!important;transform:translateY(0)}.quick-consume-btn{min-width:108px}.detail-btn,.edit-btn,.delete-btn{min-width:72px}:root{--stitch-bg: #f5f5f7;--stitch-surface: #ffffff;--stitch-surface-muted: #f6f3f5;--stitch-border: #e8e8ed;--stitch-text: #1b1b1d;--stitch-text-muted: #414753;--stitch-primary: #0071e3;--stitch-primary-press: #0059b5;--stitch-danger: #ba1a1a}body{background:var(--stitch-bg)!important;color:var(--stitch-text)!important;font-family:Inter,PingFang SC,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif!important}#app{max-width:680px!important}.container{padding:84px 16px 100px!important}.user-bar{position:fixed!important;top:0;left:50%;transform:translate(-50%);width:min(680px,100%);z-index:60;border-radius:0!important;border:0!important;border-bottom:1px solid var(--stitch-border)!important;background:#fcf8fbd6!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:none!important;padding:12px 16px!important}.app-title{font-size:24px!important;line-height:30px!important;letter-spacing:-.01em!important}.course-list{gap:12px!important}.course-card{background:var(--stitch-surface)!important;border:1px solid var(--stitch-border)!important;border-radius:28px!important;padding:16px!important;box-shadow:none!important}.course-icon-clickable{width:48px!important;height:48px!important;border-radius:16px!important;background:#d7e2ff!important}.course-icon-clickable .course-icon.lucide-icon{width:28px!important;height:28px!important;color:#0059b5}.course-name{font-size:17px!important;font-weight:600!important;line-height:22px!important}.course-time,.stat-label,.progress-text,.consume-time,.empty-text,.empty-hint{color:var(--stitch-text-muted)!important}.course-stats{background:var(--stitch-surface-muted)!important;border-radius:16px!important;box-shadow:none!important;border:1px solid var(--stitch-border)!important}.stat-item.highlight{background:#0071e31a!important;border-radius:12px!important}.stat-item.highlight .stat-value,.stat-item.highlight .stat-label{color:var(--stitch-primary)!important}.progress-bar{background:#f0edef!important}.progress-fill{background:var(--stitch-primary)!important}.progress-fill.full{background:var(--stitch-danger)!important}.course-actions{border-top:1px solid var(--stitch-border)!important;padding-top:12px!important}.quick-consume-btn,.confirm-btn,.share-btn,.ai-btn-primary,.auth-btn-primary{background:var(--stitch-primary)!important;color:#fff!important;border-radius:999px!important;border:none!important}.quick-consume-btn:active,.confirm-btn:active,.share-btn:active,.ai-btn-primary:active,.auth-btn-primary:active{background:var(--stitch-primary-press)!important}.detail-btn,.edit-btn,.delete-btn,.cancel-btn,.ai-btn-secondary{background:transparent!important;color:var(--stitch-text-muted)!important;border:none!important}.delete-btn{color:var(--stitch-danger)!important}.modal-overlay{background:#00000047!important;backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important}.modal-content{border-radius:32px!important;max-width:680px!important;border:1px solid var(--stitch-border)!important;box-shadow:none!important;background:#fcf8fb!important}.modal-title{font-size:17px!important;font-weight:600!important;letter-spacing:-.01em!important}.form-input,.form-textarea,.time-select,.ai-input,.cv-text-input,.voice-fallback-input{border-radius:12px!important;border:1px solid var(--stitch-border)!important;background:#fff!important}.msg-user .msg-text,.cv-msg-user .cv-msg-bubble{background:var(--stitch-primary)!important;color:#fff!important;border-radius:20px 20px 4px!important}.msg-assistant .msg-text,.cv-msg-ai .cv-msg-bubble{background:#fff!important;border:1px solid var(--stitch-border)!important;color:var(--stitch-text)!important;border-radius:20px 20px 20px 4px!important}.user-bar{height:56px!important;padding:12px 16px!important}.user-email{font-size:22px!important;line-height:28px!important;font-weight:700!important;color:#0059b5!important}.user-bar-actions{gap:10px!important}.account-btn,.logout-btn,.download-app-btn{min-height:40px!important;padding:8px 14px!important;border-radius:999px!important;font-size:12px!important;line-height:16px!important;font-weight:500!important}.account-btn{background:#0071e31a!important;color:#0059b5!important}.download-app-btn{background:#34c7591a!important;color:#248a3d!important;border:none!important;cursor:pointer}.logout-btn{background:transparent!important;color:#414753!important}.account-app-download{margin-top:20px;padding-top:16px;border-top:1px solid rgba(0,0,0,.06)}.account-app-hint{margin:4px 0 12px;font-size:13px;line-height:18px;color:#6e6e73}.account-download-btn{width:100%}.app-header{padding:4px 0 14px!important}.app-title{font-size:17px!important;line-height:22px!important;font-weight:600!important;letter-spacing:-.01em!important}.course-card{border-radius:28px!important;padding:16px!important}.course-header{margin-bottom:12px!important}.course-icon-clickable{width:48px!important;height:48px!important;border-radius:16px!important}.course-actions{padding-top:10px!important}.detail-btn,.edit-btn,.delete-btn{padding:6px 12px!important;border-radius:999px!important;font-size:13px!important;line-height:18px!important}.quick-consume-btn{padding:10px 18px!important;font-size:15px!important;line-height:20px!important;font-weight:700!important}.modal-content{border-radius:32px!important}.modal-header{padding:16px 16px 8px!important}.modal-title{font-size:17px!important;line-height:22px!important;font-weight:600!important}.modal-body{padding:8px 16px 16px!important}.modal-footer{padding:12px 16px calc(16px + env(safe-area-inset-bottom))!important}.form-group{margin-bottom:16px!important}.form-label{font-size:12px!important;line-height:16px!important;font-weight:500!important;letter-spacing:.02em!important;text-transform:none!important}.form-input,.form-textarea,.time-select,.ai-input,.cv-text-input,.voice-fallback-input{min-height:44px!important;font-size:15px!important;line-height:20px!important}.msg-bubble{max-width:80%!important}.msg-text,.cv-msg-bubble{font-size:15px!important;line-height:20px!important;padding:10px 14px!important}.modal-close .lucide-icon{width:18px;height:18px}.fab-icon-svg.lucide-icon{width:24px;height:24px}.student-tag-remove .lucide-icon{width:16px;height:16px}.course-icon.lucide-icon{width:22px;height:22px}.icon-preview-emoji.lucide-icon{width:24px;height:24px}.icon-grid-symbol.lucide-icon{width:22px;height:22px}.empty-icon-lucide{width:48px;height:48px;color:#c7c7cc}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px}.summary-card{background:#fff;border:1px solid #e8e8ed;border-radius:28px;padding:16px}.summary-label{font-size:12px;line-height:16px;letter-spacing:.02em;color:#414753;margin-bottom:4px}.summary-value{font-size:28px;line-height:34px;font-weight:700;letter-spacing:-.01em;color:#0059b5}.summary-value span{font-size:13px;line-height:18px;font-weight:400;color:#414753}.summary-value-secondary{color:#005cba}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px}.section-head h2{font-size:17px;line-height:22px;font-weight:600;color:#1b1b1d}.section-head button{border:none;background:transparent;color:#0071e3;font-size:12px;line-height:16px;font-weight:500}.stitch-form-sheet{display:flex;flex-direction:column;gap:12px}.stitch-group-card{background:#fff;border:1px solid #e8e8ed;border-radius:28px;padding:12px 16px}.stitch-row-item{position:relative;margin-bottom:0!important;padding:12px 0}.stitch-row-item+.stitch-row-item{border-top:.5px solid #e8e8ed}.stitch-row-item .form-label{margin-bottom:8px}.consume-summary-card{background:#f6f3f5;border:1px solid #e8e8ed;border-radius:28px;padding:16px;margin-bottom:12px}.consume-timeline-list{background:#fff;border:1px solid #e8e8ed;border-radius:28px;padding:0 16px}.consume-timeline-list .consume-item{padding:14px 0}.ai-chat{background:transparent}.ai-messages{padding:6px 0;gap:10px}.ai-preview{gap:16px}.ai-preview-card{border-radius:28px!important;padding:16px!important}.ai-preview-actions{display:flex;gap:8px}.ai-preview-actions .ai-btn-secondary,.ai-preview-actions .ai-btn-primary{flex:1;min-height:44px;border-radius:999px}.cv-matches-view{background:#fff;border:1px solid #e8e8ed;border-radius:28px;padding:12px}.modal-footer{background:#ffffffd1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.consume-summary-card{display:flex;justify-content:space-between;align-items:center}.consume-summary-icon{width:40px;height:40px;padding:10px;border-radius:999px;background:#0071e31a;color:#0071e3;box-sizing:border-box;flex-shrink:0}.consume-timeline-list .consume-item{position:relative}.consume-timeline-list .consume-item:not(:last-child):after{content:"";position:absolute;bottom:0;left:16px;right:0;height:.5px;background:#e8e8ed}.consume-date{font-size:15px!important;line-height:20px!important}.consume-hours{color:#ba1a1a!important;font-size:17px!important;line-height:22px!important}.ai-preview-card{display:flex;flex-direction:column;gap:12px}.ai-preview-header{display:inline-flex;align-self:flex-start;padding:2px 8px;border-radius:999px;background:#0071e31a;color:#0071e3;font-size:12px;line-height:16px;letter-spacing:.02em}.ai-preview-hours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ai-preview-hours span{display:block;background:#f6f3f5;border-radius:12px;padding:8px;font-size:13px;line-height:18px;color:#414753}.ai-preview-actions{margin-top:2px}.voice-btn,.voice-parse-btn,.ai-send-btn,.voice-fallback-send{background:#0071e3!important}.voice-parse-btn{border-radius:999px!important}.voice-textarea{border:1px solid #e8e8ed!important;border-radius:12px!important}.voice-textarea:focus{border-color:#0071e3!important}.ai-mode-card{background:#fff!important;border:1px solid #e8e8ed!important;border-radius:28px!important}.ai-mode-card.ai-mode-manual{background:#fff!important;border-color:#e8e8ed!important}.ai-mode-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:56px!important;height:56px!important;border-radius:16px!important;background:#d7e2ff!important;font-size:inherit!important}.ai-mode-icon-lucide{width:28px;height:28px;color:#0071e3}.ai-mode-label{color:#1b1b1d!important}.ai-mode-hint{color:#414753!important}.ai-switch-link{display:inline-flex!important;align-items:center!important;gap:4px!important;color:#0071e3!important;border-radius:999px!important;padding:4px 8px!important}.ai-switch-icon,.ai-retry-icon{width:14px;height:14px;flex-shrink:0}.ai-retry-btn{display:inline-flex;align-items:center;gap:4px;color:#0071e3;font-size:.82rem;padding:4px 8px;border-radius:999px}.msg-avatar{background:#f6f3f5!important;border:1px solid #e8e8ed!important;font-size:inherit!important}.msg-user .msg-avatar{background:#0071e31a!important;border-color:#0071e333!important}.msg-avatar-icon{width:16px;height:16px;color:#0071e3}.msg-user .msg-avatar-icon{color:#0059b5}.msg-user .msg-text{background:#0071e3!important;box-shadow:none!important}.msg-assistant .msg-text{background:#fff!important;border:1px solid #e8e8ed!important;color:#1b1b1d!important;box-shadow:none!important}.ai-input-area{border-top:1px solid #e8e8ed;padding-top:12px!important}.ai-input{border:1px solid #e8e8ed!important;border-radius:12px!important;background:#fff!important}.ai-input:focus{border-color:#0071e3!important}.voice-btn-inline{background:#f6f3f5!important;color:#0071e3!important}.ai-send-btn{font-size:inherit!important;font-weight:inherit!important}.ai-preview-header{display:inline-flex!important;align-self:flex-start!important;padding:2px 8px!important;border-radius:999px!important;background:#0071e31a!important;color:#0071e3!important;font-size:12px!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important;text-align:left!important}.ai-preview-card{background:#fff!important;border:1px solid #e8e8ed!important;border-radius:28px!important}.ai-preview-time-flex{display:inline-flex;align-items:center;gap:4px}.ai-preview-time-icon{width:14px;height:14px;flex-shrink:0}.ai-created-icon{display:flex!important;justify-content:center!important;font-size:inherit!important}.ai-created-icon-lucide{width:48px;height:48px;color:#0071e3}.ai-created-title{color:#1b1b1d!important}.ai-created-name{color:#414753!important}.ai-created-actions{flex-direction:row!important;gap:8px!important}.gc-label{display:inline-flex;align-items:center;gap:4px}.gc-label-icon{width:14px;height:14px;flex-shrink:0;color:#414753}.gc-confirm-card{background:#fff!important;border:1px solid #e8e8ed!important;border-radius:28px!important}.voice-overlay{padding:8px 0!important}.voice-state-label{color:#414753!important}.voice-state-label.listening{color:#0071e3!important}.voice-fallback-input{border:1px solid #e8e8ed!important;border-radius:12px!important;background:#fff!important}.voice-fallback-input:focus{border-color:#0071e3!important}.voice-divider:before,.voice-divider:after{background:#e8e8ed!important}.modal-overlay:has(.ai-chat) .modal-content,.modal-overlay:has(.ai-mode-choice) .modal-content,.modal-overlay:has(.ai-preview) .modal-content,.modal-overlay:has(.ai-created) .modal-content,.modal-overlay:has(.ai-consume) .modal-content{background:#fcf8fb!important}.voice-orb-ptt{touch-action:none;user-select:none;-webkit-user-select:none}.voice-orb-ptt:active{transform:scale(.96);transition:transform .1s ease}.voice-btn-inline.voice-btn-active,.cv-voice-btn.voice-btn-active{background:#ff3b30!important;animation:voice-pulse 1.2s ease-in-out infinite}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:#f2f2f7}.auth-card{width:100%;max-width:400px;background:#fff;border-radius:16px;padding:32px 28px;box-shadow:#0006 0 0 1px,#0000000a 0 1px 1px,#0000000a 0 2px 4px;border:1px solid #ececf1}.auth-logo{display:flex;justify-content:center;margin-bottom:8px}.auth-logo-icon{width:56px;height:56px;color:#0071e3}.auth-title{font-size:1.5rem;font-weight:700;text-align:center;letter-spacing:-.5px;margin-bottom:6px}.auth-subtitle{font-size:.875rem;color:#8e8e93;text-align:center;margin-bottom:28px;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-label{font-size:.875rem;font-weight:500;color:#000;margin-bottom:6px;display:block}.auth-input{width:100%;padding:12px 14px;border:.5px solid #e5e5ea;border-radius:4px;font-size:1rem;background:#fff;transition:border-color .2s,background .2s}.auth-input:focus{outline:none;border-color:#0a84ff;background:#fff;box-shadow:0 0 0 2px #0a84ff24}.auth-code-input{text-align:center;font-size:1.5rem;letter-spacing:8px;font-weight:600}.auth-btn{width:100%;padding:14px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .2s}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-btn-primary{background:#007aff;color:#fff;border:none}.auth-btn-primary:not(:disabled):active{transform:scale(.98);opacity:.9}.auth-btn-link{background:transparent;color:#0a84ff;font-size:.875rem;font-weight:500;padding:8px}.auth-hint{font-size:.75rem;color:#8e8e93;text-align:center;margin-top:8px}.auth-email-display{text-align:center;font-size:.875rem;color:#0a84ff;font-weight:500;margin-bottom:8px}.user-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin-bottom:12px;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000a}.user-email{font-size:.8125rem;color:#8e8e93;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-bar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.account-btn,.logout-btn{flex-shrink:0;padding:6px 12px;font-size:.75rem;font-weight:500;border:none;border-radius:9999px;cursor:pointer}.account-btn{color:#0a84ff;background:#0a84ff1f;border:none}.account-btn:hover{background:#0a84ff33}.logout-btn{color:#ff3b30;background:#ff3b301a}.logout-btn:hover{background:#ff3b302e}.account-email{font-size:.8125rem;color:#8e8e93;margin-bottom:12px}.auth-card{border-radius:14px;background:#ffffffd1;border:1px solid #e5e5ea;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.auth-subtitle,.auth-hint,.user-email,.account-email{color:#636366}.auth-input,.auth-btn{min-height:44px}.auth-input{border:1px solid #e5e5ea;border-radius:12px}.auth-btn{border-radius:12px}.auth-btn-primary{background:#0a84ff}.auth-btn-primary:active{background:#0069d9}.auth-title{color:#1c1c1e}.auth-subtitle,.auth-hint,.user-email,.account-email{color:#8e8e93}.auth-input,.auth-card,.user-bar{border-color:#e5e5ea}.auth-btn-primary{font-size:15px;font-weight:600;line-height:1.2;letter-spacing:.01em}.auth-btn-link,.account-btn,.logout-btn{font-size:14px;font-weight:500;line-height:1.2;letter-spacing:.01em}.auth-card{background:#fff!important;border:1px solid #e8e8ed!important;border-radius:28px!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.auth-title{color:#1d1d1f!important;font-family:SF Pro Display,-apple-system,Inter,system-ui,sans-serif!important;letter-spacing:-.015em!important}.auth-input{background:#f5f5f7!important;border:1px solid #e8e8ed!important;border-radius:10px!important}.auth-input:focus{border-color:#06c!important;box-shadow:none!important}.auth-btn-primary{background:#0071e3!important;border-radius:999px!important}.auth-btn-link,.auth-email-display,.account-btn{color:#06c!important}.auth-page{background:#f5f5f7!important}.auth-card{background:#fff!important;border:1px solid #e8e8ed!important;border-radius:28px!important;box-shadow:none!important;max-width:520px!important}.auth-title{color:#0059b5!important;font-family:Inter,PingFang SC,-apple-system,sans-serif!important;font-size:22px!important;line-height:28px!important;letter-spacing:-.01em!important}.auth-subtitle,.auth-hint,.auth-email-display,.user-email,.account-email{color:#414753!important}.auth-input{border:1px solid #e8e8ed!important;border-radius:12px!important;background:#f6f3f5!important}.auth-input:focus{border-color:#0071e3!important}.auth-btn{min-height:44px;border-radius:999px!important}.auth-btn-primary{background:#0071e3!important}.auth-btn-link{color:#06c!important}
