:root{--bg-main:#f8fafc;--bg-card:#fff;--bg-sidebar:#fff;--bg-nav:#fff;--text-main:#1e293b;--text-muted:#64748b;--border-color:#e2e8f0;--hover-bg:#f1f5f9;--shadow-color:#0000000d}[data-theme=dark]{--bg-main:#0f172a;--bg-card:#1e293b;--bg-sidebar:#1e293b;--bg-nav:#1e293b;--text-main:#f8fafc;--text-muted:#94a3b8;--border-color:#334155;--hover-bg:#334155;--shadow-color:#0006}body{background:var(--bg-main);color:var(--text-main);height:100vh;margin:0;padding:0;font-family:PingFang TC,sans-serif;transition:background .3s,color .3s;display:flex;overflow:hidden}.top-nav{background:var(--bg-nav);width:100%;height:60px;box-shadow:0 2px 10px var(--shadow-color);z-index:2000;box-sizing:border-box;border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:0 20px;transition:background .3s;display:flex;position:fixed;top:0;left:0}.logo-area{color:var(--text-main);align-items:center;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex}.nav-actions{align-items:center;gap:15px;display:flex}.theme-toggle{border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;background:0 0;border-radius:8px;padding:6px 12px;transition:all .2s}.back-btn{color:var(--text-main);border:1px solid var(--border-color);background:var(--hover-bg);border-radius:8px;padding:6px 15px;font-size:.9rem;text-decoration:none;transition:all .2s}.main-wrapper{width:100%;height:calc(100vh - 60px);margin-top:60px;display:flex}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:320px;padding:20px;transition:background .3s;display:flex;overflow-y:auto}.content-viewer{background:var(--bg-main);scroll-behavior:smooth;flex-grow:1;padding:30px;overflow-y:auto}.search-box{border:1px solid var(--border-color);background:var(--bg-main);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:8px;margin-bottom:20px;padding:10px 15px;font-size:.95rem}.menu-item{cursor:pointer;background:var(--bg-main);color:var(--text-main);border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:12px 15px;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.menu-item:hover{background:var(--bg-card);border-color:var(--border-color);transform:translate(5px)}.menu-item.active{color:#fff;background:#0072ff;border-color:#0000;box-shadow:0 4px 12px #0072ff4d}.sidebar-section-title{text-transform:uppercase;color:#0072ff;letter-spacing:1.5px;justify-content:space-between;align-items:center;margin:25px 0 10px 5px;font-size:.8rem;font-weight:800;display:flex}.view-panel{height:100%;animation:.4s fadeIn;display:none}.view-panel.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.workspace-grid{grid-template-columns:1fr 1fr;gap:20px;height:calc(100vh - 120px);display:grid}.editor-container{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:0 4px 20px var(--shadow-color);border-radius:12px;flex-direction:column;height:100%;display:flex;overflow:hidden}.panel-header{background:var(--hover-bg);border-bottom:1px solid var(--border-color);color:var(--text-main);flex-shrink:0;justify-content:space-between;align-items:center;padding:15px 20px;font-weight:700;display:flex}.quill-wrapper{background:var(--bg-card);flex-direction:column;flex:1;min-height:0;display:flex}.ql-container.ql-snow{min-height:0;color:var(--text-main);flex:1;font-family:inherit;font-size:1rem;overflow-y:auto;border:none!important}.ql-editor .ql-code-block-container{border-radius:8px;margin-bottom:15px;padding:15px;font-family:monospace;color:#f8f8f2!important;background-color:#282a36!important}.ql-editor .ql-code-block-container .ql-code-block{background-color:#0000!important}.ql-editor blockquote{font-style:italic;color:var(--text-muted)!important;background-color:var(--hover-bg)!important;border-left:5px solid #f59e0b!important;margin-top:0!important;margin-bottom:0!important;padding:8px 15px!important}.ql-editor blockquote:first-of-type{border-top-right-radius:8px;padding-top:12px!important}.ql-editor blockquote:last-of-type{border-bottom-right-radius:8px;margin-bottom:15px!important;padding-bottom:12px!important}.ql-editor blockquote+blockquote{border-top-left-radius:0!important;border-top-right-radius:0!important;padding-top:4px!important;padding-bottom:4px!important}.ql-editor table{border-collapse:collapse;width:100%;margin-bottom:1em}.ql-editor td,.ql-editor th{min-width:50px;padding:8px;border:1px solid var(--border-color)!important}[data-theme=dark] .ql-editor table td,[data-theme=dark] .ql-editor table th{color:#f8fafc!important;border-color:#475569!important}[data-theme=dark] .ql-editor table tbody tr:nth-child(2n) td,[data-theme=dark] .ql-editor table tbody tr:nth-child(2n) th{background-color:#ffffff0d!important}#quillCustomToolbar{background:var(--bg-main);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:8px 15px;display:flex;border:none!important;border-bottom:1px solid var(--border-color)!important}[data-theme=dark] .ql-toolbar svg .ql-stroke{stroke:#f8fafc!important}[data-theme=dark] .ql-toolbar svg .ql-fill{fill:#f8fafc!important;stroke:none!important}[data-theme=dark] .ql-toolbar .ql-picker-label{color:#f8fafc!important}[data-theme=dark] .ql-toolbar button:hover svg .ql-stroke,[data-theme=dark] .ql-toolbar button.ql-active svg .ql-stroke,[data-theme=dark] .ql-toolbar .ql-picker-label:hover svg .ql-stroke,[data-theme=dark] .ql-toolbar .ql-picker-label.ql-active svg .ql-stroke{stroke:#60a5fa!important}[data-theme=dark] .ql-toolbar button:hover svg .ql-fill,[data-theme=dark] .ql-toolbar button.ql-active svg .ql-fill,[data-theme=dark] .ql-toolbar .ql-picker-label:hover svg .ql-fill,[data-theme=dark] .ql-toolbar .ql-picker-label.ql-active svg .ql-fill{fill:#60a5fa!important;stroke:none!important}[data-theme=dark] .ql-toolbar .ql-picker-options{background-color:#1e293b!important;border-color:#334155!important}[data-theme=dark] .ql-toolbar .ql-picker-item{color:#cbd5e1!important}[data-theme=dark] .ql-toolbar .ql-picker-item:hover,[data-theme=dark] .ql-toolbar .ql-picker-item.ql-selected{color:#60a5fa!important;background-color:#60a5fa1a!important}.color-swatches{align-items:center;gap:5px;display:flex}.swatch{cursor:pointer;border:1px solid #00000026;border-radius:50%;width:20px;height:20px;padding:0;transition:all .2s}.swatch:hover{transform:scale(1.15);box-shadow:0 2px 5px #0003}.custom-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.custom-btn:hover{background:var(--hover-bg);color:#0072ff;border-color:#0072ff}.canvas-toolbar{background:var(--bg-main);border-bottom:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:10px 20px;display:flex}.tool-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.tool-btn:hover{background:var(--hover-bg);color:#0072ff;border-color:#0072ff}.tool-btn.active{color:#fff;background:#0072ff;border-color:#0072ff}.tool-input-group{background:var(--bg-card);border:1px solid var(--border-color);box-sizing:border-box;border-radius:6px;align-items:center;gap:8px;height:34px;padding:4px 10px;display:flex}input[type=color]{cursor:pointer;background:0 0;border:none;width:24px;height:24px;padding:0}input[type=number]{color:var(--text-main);background:0 0;border:none;outline:none;font-weight:700}.canvas-wrapper{flex:1;min-height:0;position:relative;overflow:hidden}#fabricCanvas{background:#fff}.view-tabs{border-bottom:2px solid var(--border-color);scrollbar-width:none;gap:10px;margin-top:20px;padding-bottom:15px;display:flex;overflow-x:auto}.view-tabs::-webkit-scrollbar{display:none}.tab-btn{background:var(--bg-main);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;white-space:nowrap;border-radius:8px;padding:8px 16px;font-weight:700;transition:all .2s}.tab-btn:hover{background:var(--hover-bg);color:#0072ff;border-color:#0072ff}.tab-btn.active{color:#fff;background:#0072ff;border-color:#0072ff;box-shadow:0 4px 10px #0072ff33}.tab-content{padding-top:20px;animation:.4s fadeIn;display:none}.tab-content.active{display:block}.code-wrapper{background:#282a36;border-radius:12px;margin-top:15px;position:relative;overflow:hidden;box-shadow:0 4px 15px #0000001a}.copy-btn{color:#fff;cursor:pointer;backdrop-filter:blur(5px);z-index:10;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;padding:6px 12px;font-size:.8rem;transition:all .2s;position:absolute;top:10px;right:10px}.copy-btn:hover{background:#ffffff40;transform:scale(1.05)}.pdf-container{border:1px solid var(--border-color);height:calc(100vh - 200px);box-shadow:0 4px 20px var(--shadow-color);background:var(--bg-card);border-radius:12px;margin-top:20px;overflow:hidden}.tips-box{background:var(--hover-bg);box-shadow:0 4px 10px var(--shadow-color);border-left:5px solid #f59e0b;border-radius:0 12px 12px 0;margin-top:20px;padding:20px}.detail-card{background:var(--bg-card);box-shadow:0 4px 20px var(--shadow-color);border:1px solid var(--border-color);border-radius:15px;margin-top:20px;padding:30px;line-height:1.7;transition:background .3s}.video-container{border:2px solid var(--border-color);aspect-ratio:16/9;background:#000;border-radius:10px;width:100%;margin-top:20px;overflow:hidden}.mac-browser-window{border:1px solid var(--border-color);background:#fff;border-radius:10px;flex-direction:column;height:450px;margin-top:15px;display:flex;overflow:hidden;box-shadow:0 10px 30px #00000026}.mac-header{background:var(--hover-bg);border-bottom:1px solid var(--border-color);align-items:center;gap:15px;padding:12px 18px;display:flex}.mac-dots{gap:8px;display:flex}.mac-dots .dot{border-radius:50%;width:12px;height:12px}.mac-dots .dot.red{background:#ff5f56}.mac-dots .dot.yellow{background:#ffbd2e}.mac-dots .dot.green{background:#27c93f}.mac-address-bar{background:var(--bg-main);border:1px solid var(--border-color);color:var(--text-muted);border-radius:6px;flex-grow:1;justify-content:center;align-items:center;padding:4px 15px;font-family:monospace;font-size:.85rem;display:flex}.mac-body{background:#fff;flex-grow:1}.flashcards-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:stretch;gap:30px;margin-top:20px;display:grid}.flashcard{perspective:1000px;cursor:pointer;height:100%;display:block}.flashcard-inner{width:100%;height:100%;transform-style:preserve-3d;grid-template-rows:1fr;grid-template-columns:1fr;transition:transform .6s cubic-bezier(.4,.2,.2,1);display:grid}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{backface-visibility:hidden;box-sizing:border-box;text-align:left;box-shadow:0 8px 20px var(--shadow-color);border:2px solid var(--border-color);word-break:break-word;border-radius:16px;flex-direction:column;grid-area:1/1/2/2;justify-content:center;min-height:250px;padding:30px;line-height:1.6;display:flex}.flashcard-front{background:var(--bg-card);color:var(--text-main);font-size:1.1rem}.flashcard-back{color:#fff;background:#0072ff;border-color:#0072ff;font-size:1.05rem;transform:rotateY(180deg)}.flashcard-back .portable-text{color:#fff;width:100%}.flashcard-front .portable-text{width:100%}.flashcard pre{box-sizing:border-box;border-radius:8px;max-width:100%;margin:10px 0;padding:15px;overflow-x:auto;color:#f8f8f2!important;background:#282a36!important}.quiz-controls{gap:10px;display:flex}.action-btn{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);cursor:pointer;box-shadow:0 2px 5px var(--shadow-color);border-radius:8px;padding:10px 18px;font-weight:700;transition:all .2s}.action-btn:hover{background:var(--hover-bg);color:#0072ff;border-color:#0072ff}.quiz-group-container{border-bottom:4px double var(--border-color);margin-bottom:40px;padding-bottom:20px}.quiz-group-container:last-child{border-bottom:none}.scenario-box{background:var(--hover-bg);box-shadow:0 4px 10px var(--shadow-color);border-left:5px solid #8b5cf6;border-radius:0 12px 12px 0;margin-bottom:30px;padding:25px}.quiz-box{border-bottom:1px dashed var(--border-color);margin-bottom:30px;padding-bottom:30px;padding-left:15px}.quiz-box:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.quiz-question{gap:10px;margin-bottom:20px;font-size:1.1rem;display:flex}.quiz-option{background:var(--bg-main);border:2px solid var(--border-color);cursor:pointer;border-radius:10px;margin-bottom:10px;padding:15px 20px;transition:all .2s;display:block}.quiz-option:hover{border-color:#0072ff}.quiz-option input{display:none}.quiz-option.selected{background:#0072ff1a;border-color:#0072ff;font-weight:700}.quiz-option.correct{color:#27ae60;background:#2ecc711a;border-color:#2ecc71}.quiz-option.wrong{color:#c0392b;background:#e74c3c1a;border-color:#e74c3c;text-decoration:line-through}.submit-quiz-btn{color:#fff;cursor:pointer;background:#0072ff;border:none;border-radius:8px;margin-top:15px;padding:10px 25px;font-size:1rem;font-weight:700}.quiz-explanation{background:#f39c121a;border-left:5px solid #f39c12;border-radius:8px;margin-top:20px;padding:20px;display:none}@media (width<=900px){.main-wrapper{flex-direction:column;height:auto;overflow:visible}.sidebar{border-right:none;border-bottom:1px solid var(--border-color);flex-shrink:0;width:100%;height:auto;max-height:35vh}.content-viewer{height:auto;padding:15px;overflow:visible}.workspace-grid{flex-direction:column;grid-template-columns:1fr;gap:20px;height:auto;display:flex}.editor-container{flex-shrink:0;min-height:500px}.canvas-toolbar{flex-wrap:nowrap;overflow-x:auto}.view-tabs{padding-bottom:10px}.tab-btn{padding:6px 12px;font-size:.85rem}}.subject-container[data-astro-cid-z7xolria]{max-width:1100px;margin:40px auto;padding:0 20px}.subject-header[data-astro-cid-z7xolria]{text-align:center;background:var(--bg-card);box-shadow:0 10px 40px var(--shadow-color);border:1px solid var(--border-color);border-radius:20px;margin-bottom:50px;padding:50px 30px;position:relative;overflow:hidden}.subject-header[data-astro-cid-z7xolria]:before{content:"";background:linear-gradient(90deg,#0072ff,#8b5cf6);height:6px;position:absolute;top:0;left:0;right:0}.subject-title[data-astro-cid-z7xolria]{color:var(--text-main);margin:0 0 15px;font-size:2.8rem;font-weight:800}.chapter-grid[data-astro-cid-z7xolria]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:25px;display:grid}.chapter-card[data-astro-cid-z7xolria]{background:var(--bg-card);color:var(--text-main);box-shadow:0 4px 15px var(--shadow-color);border:2px solid #0000;border-radius:16px;align-items:center;gap:20px;padding:25px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.chapter-card[data-astro-cid-z7xolria]:hover{border-color:#0072ff;transform:translateY(-5px);box-shadow:0 12px 30px #0072ff26}.chapter-icon[data-astro-cid-z7xolria]{background:var(--hover-bg);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:65px;height:65px;font-size:2.2rem;display:flex}.chapter-info[data-astro-cid-z7xolria] h3[data-astro-cid-z7xolria]{color:var(--text-main);margin:0;font-size:1.25rem;line-height:1.4;transition:color .2s}.chapter-card[data-astro-cid-z7xolria]:hover .chapter-info[data-astro-cid-z7xolria] h3[data-astro-cid-z7xolria]{color:#0072ff}.chapter-info[data-astro-cid-z7xolria] p[data-astro-cid-z7xolria]{color:var(--text-muted);align-items:center;gap:6px;margin:8px 0 0;font-size:.9rem;display:flex}.chapter-info[data-astro-cid-z7xolria] p[data-astro-cid-z7xolria]:before{content:"";background:#10b981;border-radius:50%;width:6px;height:6px;display:inline-block}
