*{box-sizing:border-box;margin:0;padding:0}:root{--font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--font-poem:KaiTi,STKaiti,"Songti SC",serif;--color-paper:#fff8e8;--color-paper-deep:#f5e4c4;--color-ink:#4b321f;--color-muted:#7d6a55;--color-cinnabar:#b8322a;--color-cinnabar-dark:#7d1c17;--color-jade:#2f8f83;--color-sky:#7ab8c8;--color-gold:#d6a84f;--color-cloud:#fffdf6;--border-scroll:1px solid #b8783047;--shadow-soft:0 12px 28px #6036121f;--shadow-card:0 8px 22px #6036121a;--radius-card:20px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff8e8;background-color:var(--color-paper);background-image:radial-gradient(circle at 12% 18%,#d6a84f2e 0 2px,#0000 3px),radial-gradient(circle at 78% 28%,#2f8f831f 0 3px,#0000 4px),linear-gradient(135deg,#ffffffb8,#f5e4c4b8);color:#4b321f;color:var(--color-ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-family:var(--font-ui)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1200px;padding:20px}.btn{background:linear-gradient(135deg,#b8322a,#7d1c17);background:linear-gradient(135deg,var(--color-cinnabar),var(--color-cinnabar-dark));border-radius:999px;box-shadow:0 8px 22px #6036121a;box-shadow:var(--shadow-card);padding:12px 22px}.btn:hover{background-color:#6a1a1a;box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.card{background:linear-gradient(180deg,#fffdf7,#fff8e8);border:1px solid #b8783047;border:var(--border-scroll);border-radius:20px;border-radius:var(--radius-card);box-shadow:0 8px 22px #6036121a;box-shadow:var(--shadow-card);margin-bottom:20px;padding:20px}.kids-empty-state{background:linear-gradient(135deg,#fffdf6e6,#f5e4c48c);border:1px dashed #b8783073;border-radius:20px;border-radius:var(--radius-card);color:#7d6a55;color:var(--color-muted);padding:34px 20px;text-align:center}.kids-empty-state:before{background:linear-gradient(135deg,#d6a84f,#f8df93);background:linear-gradient(135deg,var(--color-gold),#f8df93);border-radius:50%;box-shadow:0 8px 18px #d6a84f47;color:#fff;content:"卷";display:block;font-family:KaiTi,STKaiti,Songti SC,serif;font-family:var(--font-poem);font-size:28px;height:52px;line-height:52px;margin:0 auto 12px;width:52px}@media (max-width:768px){.container{padding:10px}.card{padding:15px}.btn{font-size:14px;padding:8px 16px}}.login-container{align-items:center;background:radial-gradient(circle at 18% 20%,#7ab8c833,#0000 28%),radial-gradient(circle at 78% 72%,#d6a84f38,#0000 26%),linear-gradient(135deg,var(--color-paper),var(--color-paper-deep));display:flex;gap:34px;justify-content:center;min-height:100vh;padding:32px}.login-card{background:linear-gradient(180deg,#fffdf7,#fff8e8);border:var(--border-scroll);border-radius:28px;box-shadow:var(--shadow-soft);max-width:400px;padding:30px;width:100%}.login-card h2{color:var(--color-cinnabar-dark);font-family:var(--font-poem);font-size:28px;margin-bottom:20px;text-align:center}.login-hero{color:var(--color-ink);width:min(420px,42vw)}.hero-mascot{background:linear-gradient(135deg,var(--color-cinnabar),var(--color-gold));border-radius:28px;box-shadow:0 16px 34px #b8322a3d;color:#fff;font-family:var(--font-poem);font-size:56px;height:96px;line-height:96px;margin-bottom:18px;text-align:center;transform:rotate(-6deg);width:96px}.hero-kicker{color:var(--color-jade);font-weight:800;margin-bottom:10px}.login-hero h1{color:var(--color-cinnabar-dark);font-family:var(--font-poem);font-size:clamp(42px,6vw,68px);line-height:1.05;margin-bottom:14px}.hero-copy{color:var(--color-muted);font-size:18px;line-height:1.8}.login-message{background:#fff0c9;border-radius:14px;color:var(--color-cinnabar-dark);font-weight:700;margin-bottom:16px;padding:10px 14px;text-align:center}.tab-container{border-bottom:1px solid #e8d5b7;display:flex;margin-bottom:20px}.tab-btn{background:none;border:none;color:#666;cursor:pointer;flex:1 1;font-size:16px;padding:10px;transition:all .3s ease}.tab-btn.active{border-bottom:2px solid var(--color-cinnabar);color:var(--color-cinnabar);font-weight:700}.form-group{margin-bottom:15px}.form-group label{color:var(--color-ink);margin-bottom:5px}.form-group input{border:1px solid #b8783047;border-radius:14px;font-size:16px;padding:10px;width:100%}.code-input{display:flex;gap:10px}.code-input input{flex:1 1}.code-btn{background:linear-gradient(135deg,var(--color-cinnabar),var(--color-cinnabar-dark));border:none;border-radius:14px;color:#fff;cursor:pointer;font-size:14px;padding:0 15px;transition:background-color .3s ease}.code-btn:hover{background-color:#6a1a1a}.login-btn{background:linear-gradient(135deg,var(--color-cinnabar),var(--color-gold));border-radius:18px;margin-top:10px;padding:12px;transition:background-color .3s ease}.login-btn:hover{background-color:#6a1a1a}.register-link{font-size:14px;margin-top:15px;text-align:center}.register-link .link-button{background:#0000;border:none;color:var(--color-cinnabar);cursor:pointer;font-size:inherit;font-weight:700;text-decoration:none}.register-link .link-button:hover{text-decoration:underline}@media (max-width:480px){.login-container{flex-direction:column;gap:20px;justify-content:flex-start;padding:24px 16px}.login-hero{text-align:center;width:100%}.hero-mascot{font-size:42px;height:70px;line-height:70px;margin:0 auto 12px;width:70px}.hero-copy{font-size:15px}.login-card{margin:0;padding:20px}.login-card h2{font-size:20px}.form-group input{font-size:14px;padding:8px}.login-btn{font-size:14px;padding:10px}}.personal-container{background-color:beige;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path fill="%23e8d5b7" d="M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z"/></svg>');min-height:100vh;padding:20px}.personal-header{align-items:center;background-color:#fff;border:1px solid #e8d5b7;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px;position:relative}.personal-header h2{color:#8a1a1a;font-size:20px;margin:0}.personal-content{display:flex;gap:20px;min-height:600px}.category-sidebar{background-color:#fff;border:1px solid #e8d5b7;border-radius:8px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;padding:20px;width:300px}.category-sidebar input,.category-sidebar textarea{box-sizing:border-box;max-width:100%}.personal-info-section{margin-bottom:30px}.avatar-section{margin-bottom:20px;text-align:center}.avatar{align-items:center;background-color:#e8d5b7;border:2px solid #8a1a1a;border-radius:50%;display:flex;height:100px;justify-content:center;margin:0 auto 15px;width:100px}.avatar img{border-radius:50%;height:100%;object-fit:cover;width:100%}.avatar-placeholder{color:#8a1a1a;font-size:30px}.avatar-actions{display:flex;gap:10px;justify-content:center}.info-section{display:flex;flex-direction:column}.info-item{align-items:center;display:flex}.info-item label{color:#333;font-size:14px;font-weight:700}.info-item input{border:1px solid #ddd}.info-item input,.info-item span{border-radius:4px;flex:1 1;font-size:14px;padding:8px}.info-item span{background-color:#f9f9f9}.textbook-section{margin-bottom:30px}.textbook-section h3{color:#8a1a1a;font-size:16px;margin-bottom:15px}.category-level h4{color:#333;font-size:14px;font-weight:700}.toggle-btn{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:13px;padding:4px 8px;transition:all .2s}.toggle-btn:hover{background:#4facfe1a;color:#4facfe}.category-items{display:flex;flex-direction:column}.category-item{font-size:14px}.poem-section{margin-bottom:30px}.poem-section h3{color:#8a1a1a;font-size:16px;margin-bottom:15px}.poem-list{display:flex;flex-direction:column;margin-bottom:15px;max-height:200px;overflow-y:auto}.poem-item{align-items:center;background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;display:flex;gap:10px;padding:8px}.poem-item label{cursor:pointer;display:flex;flex:1 1;justify-content:space-between}.poem-title{font-size:14px;font-weight:700}.poem-author{color:#666;font-size:12px}.action-buttons{display:flex;flex-direction:column;gap:12px}.action-buttons .btn{width:100%}.personal-main{background-color:#fff;border:1px solid #e8d5b7;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1 1;padding:20px}.study-history h3{color:#8a1a1a;font-size:18px;margin-bottom:15px}.history-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto;scrollbar-color:#ccc #f0f0f0;scrollbar-width:thin}.history-list::-webkit-scrollbar{width:6px}.history-list::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:3px}.history-item{align-items:center;background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;display:flex;flex-wrap:wrap;justify-content:space-between;padding:15px;transition:all .3s ease}.history-item:hover{background-color:#f0f0f0;border-color:#8a1a1a}.history-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.play-recording-btn{align-items:center;background:linear-gradient(135deg,#8a1a1a,#c41e3a);border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;gap:4px;padding:4px 10px;transition:all .3s ease}.play-recording-btn:hover{box-shadow:0 2px 6px #8a1a1a4d;transform:scale(1.05)}.restudy-btn{align-items:center;background:linear-gradient(135deg,#1890ff,#096dd9);border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;gap:4px;padding:4px 10px;transition:all .3s ease}.restudy-btn:hover{box-shadow:0 2px 6px #1890ff59;transform:scale(1.05)}.sidebar-nav-section{margin-bottom:24px}.sidebar-nav-section h3{color:#8a1a1a;font-size:16px;margin:0 0 12px}.sidebar-nav-btn{background:#fffdf8;border:1px solid #e8d5b7;border-radius:8px;color:#5f3b1c;cursor:pointer;display:block;font-size:14px;font-weight:600;margin-bottom:8px;padding:10px 14px;text-align:left;transition:all .2s ease;width:100%}.sidebar-nav-btn:hover{background:#fff8ee;border-color:#8a1a1a}.sidebar-nav-btn.active{background:linear-gradient(135deg,#8a1a1a,#c41e3a);border-color:#8a1a1a;color:#fff}.inline-audio-player{display:none}.inline-progress-bar{background-color:#e0d5c0;border-radius:3px;flex-shrink:0;height:6px;overflow:hidden;width:80px}.inline-progress-fill{background:linear-gradient(90deg,#8a1a1a,#c41e3a);border-radius:3px;height:100%;transition:width .05s linear}.history-content h4{color:#333;font-size:16px;margin:0 0 5px}.history-meta{color:#888;font-size:13px}.history-date{color:#666;font-size:12px}.btn{padding:8px 16px}.btn:hover{opacity:.8}.start-study{background:linear-gradient(135deg,#8a1a1a,#c41e3a);border:none;border-radius:10px;box-shadow:0 4px 12px #8a1a1a4d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:16px;padding:14px 20px;transition:all .3s ease;width:100%}.start-study:hover{box-shadow:0 6px 16px #8a1a1a66;transform:translateY(-2px)}.study-hint{animation:fadeIn .3s ease;color:#c41e3a;display:block;font-size:13px;margin-top:8px;text-align:center;width:100%}.exchange-btn{background-color:#d4af37;color:#fff}.load-library-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.poem-actions{display:flex;gap:10px}.view-btn{background-color:#6c757d;font-size:12px;padding:4px 12px}@media (max-width:768px){.personal-container{padding:10px}.personal-content{flex-direction:column}.category-sidebar{margin-bottom:20px;width:100%}.poem-list{max-height:150px}.history-list{max-height:250px}.library-poem-list{max-height:200px}.action-buttons{flex-direction:column}.action-buttons .btn{flex:none}.category-sidebar,.personal-header,.personal-main{padding:15px}}.poem-list::-webkit-scrollbar{width:6px}.poem-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.poem-list::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.poem-list::-webkit-scrollbar-thumb:hover{background:#555}.confirm-btn:hover{opacity:.9;transform:translateY(-1px)}.library-modal .modal-body{padding:20px;text-align:left}.library-success{color:#28a745;font-size:16px;font-weight:700;margin-bottom:12px}.library-skipped{background:#fff8e1;border-radius:8px;margin-top:10px;padding:12px}.library-skipped p{color:#f57c00;font-size:14px;margin-bottom:8px}.library-skipped ul{list-style:none;margin:0;padding:0}.library-skipped li{color:#666;font-size:13px;padding:3px 0 3px 12px;position:relative}.library-skipped li:before{color:#f57c00;content:"·";left:0;position:absolute}.library-preview-section{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;margin-bottom:30px;margin-top:20px;padding:24px}.library-preview-section h3{color:#333;font-size:18px;margin-bottom:16px}.library-poem-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto;scrollbar-color:#ccc #f0f0f0;scrollbar-width:thin}.library-poem-list::-webkit-scrollbar{width:6px}.library-poem-list::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:3px}.library-poem-item{align-items:center;background:#fafafa;border-radius:10px;display:flex;justify-content:space-between;padding:12px 16px;transition:background .2s}.library-poem-item:hover{background:#f0f0f0}.library-poem-info{display:flex;flex-direction:column;gap:4px}.library-poem-item .poem-title{color:#333;font-size:15px;font-weight:700}.library-poem-item .poem-author{color:#888;font-size:13px}.remove-btn{background:#ff6b6b;border-radius:6px;color:#fff;font-size:13px;padding:6px 16px;transition:background .2s}.remove-btn:hover{background:#ee5a52}.library-empty{color:#999;font-size:14px;padding:20px;text-align:center}.sidebar-resize-handle{background:#0000;right:0;transition:background .2s;width:6px}.sidebar-resize-handle.active,.sidebar-resize-handle:hover{background:linear-gradient(180deg,#4facfe,#00f2fe);border-radius:3px}@media (max-width:480px){.sidebar-resize-handle{display:none}.category-sidebar{width:100%!important}.history-list{max-height:200px}.library-poem-list{max-height:150px}}.order-section{background-color:#fff;border:1px solid #e8d5b7;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.order-section .section-title{border-bottom:2px solid #f0f0f0;color:#8a1a1a;font-size:18px;font-weight:600;margin-bottom:16px;padding-bottom:10px}.empty-orders{color:#999;font-size:15px;padding:40px 20px;text-align:center}.orders-list{display:flex;flex-direction:column;gap:12px}.order-card{align-items:center;background:#fafafa;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:14px;padding:14px;transition:all .3s ease}.order-card:hover{border-color:#d0d0d0;box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.order-card.order-status-pending{border-left:4px solid #ff9800}.order-card.order-status-shipped{border-left:4px solid #2196f3}.order-card.order-status-completed{border-left:4px solid #4caf50}.order-card-left{flex-shrink:0}.order-thumbnail{border:1px solid #eee;border-radius:6px;height:70px;object-fit:cover;width:70px}.order-card-right{flex:1 1;min-width:0}.order-product-name{color:#333;font-size:15px;font-weight:600;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-meta-info{align-items:center;color:#666;display:flex;font-size:13px;gap:12px;margin-bottom:6px}.order-points{color:#8a1a1a;font-weight:600}.order-time{color:#999}.order-status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.order-status-badge.order-status-pending{background:#fff3e0;color:#e65100}.order-status-badge.order-status-shipped{background:#e3f2fd;color:#1976d2}.order-status-badge.order-status-completed{background:#e8f5e9;color:#388e3c}.order-detail-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:3000}.order-detail-modal{animation:slideUp .35s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:14px;box-shadow:0 20px 60px #00000059;max-height:88vh;max-width:580px;overflow-y:auto;padding:24px;position:relative;width:94%}.order-close-btn{align-items:center;background:#ffffffe6;border:none;border-radius:50%;box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;font-size:20px;height:34px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .25s ease;width:34px;z-index:10}.order-close-btn:hover{background:#ff4757;color:#fff;transform:rotate(90deg)}.detail-title{border-bottom:2px solid #f0f0f0;color:#333;font-size:22px;font-weight:700;margin-bottom:22px;padding-bottom:14px;padding-right:40px}.detail-section{background:#fafafa;border:1px solid #eee;border-radius:8px;margin-bottom:20px;padding:16px}.section-subtitle{color:#555;font-size:16px;font-weight:600;margin:0 0 12px}.product-detail-content{align-items:flex-start;display:flex;gap:16px}.detail-product-image{border:1px solid #ddd;border-radius:8px;flex-shrink:0;height:120px;object-fit:cover;width:120px}.product-text-info{flex:1 1}.detail-name{color:#333;font-size:17px;font-weight:600;margin:0 0 8px}.detail-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:13px;line-height:1.6;margin:0 0 8px;overflow:hidden}.detail-price,.detail-quantity,.detail-total-price{color:#666;font-size:14px;margin:4px 0}.detail-total-price strong{color:#8a1a1a;font-size:18px}.address-text{color:#555;font-size:14px;line-height:1.7;margin:0;word-break:break-all}.delivery-info-section{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-color:#90caf9}.delivery-details{display:flex;flex-direction:column;gap:10px}.delivery-item{align-items:center;display:flex;font-size:14px;gap:8px}.delivery-number-item{flex-wrap:wrap}.delivery-label{color:#1565c0;font-weight:600;min-width:80px}.delivery-value{color:#333;font-family:Courier New,monospace;letter-spacing:.5px}.number-value{background:#fff;border:1px dashed #64b5f6;border-radius:4px;padding:4px 10px;-webkit-user-select:all;user-select:all}.copy-number-btn{background:linear-gradient(135deg,#1976d2,#42a5f5);border:none;border-radius:6px;box-shadow:0 2px 6px #2196f34d;color:#fff;cursor:pointer;font-size:13px;font-weight:600;margin-left:auto;padding:6px 14px;transition:all .2s ease}.copy-number-btn:hover{box-shadow:0 4px 10px #2196f366;transform:scale(1.05)}.order-meta-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.meta-item{display:flex;flex-direction:column;font-size:13px;gap:4px}.meta-label{color:#888;font-weight:500}.meta-value{color:#333;font-weight:600}.status-tag{border-radius:12px;display:inline-block;font-size:13px;font-weight:600;padding:4px 12px;width:fit-content}.status-tag.order-status-pending{background:#fff3e0;color:#e65100}.status-tag.order-status-shipped{background:#e3f2fd;color:#1976d2}.status-tag.order-status-completed{background:#e8f5e9;color:#388e3c}@media (max-width:768px){.order-detail-modal{max-height:92vh;padding:18px;width:96%}.product-detail-content{align-items:center;flex-direction:column}.detail-product-image{height:auto;max-width:200px;width:100%}.order-meta-grid{grid-template-columns:1fr}.order-card{padding:12px}.order-thumbnail{height:60px;width:60px}}.order-section-sidebar{border-top:1px solid #e8d5b7;margin-top:20px;padding-top:16px}.order-section-sidebar h3{color:#8a1a1a;font-size:15px;font-weight:600;margin:0 0 12px}.empty-orders-sidebar{background-color:#f9f9f9;border-radius:6px;padding:16px;text-align:center}.empty-orders-sidebar p{color:#999;font-size:13px;margin:0}.orders-list-sidebar{display:flex;flex-direction:column;gap:8px}.order-card-small{align-items:center;background-color:#f9f9f9;border-left:3px solid #0000;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;transition:all .2s ease}.order-card-small:hover{background-color:#f0f0f0;transform:translateX(2px)}.order-card-small.pending{border-left-color:#ff9800}.order-card-small.shipped{border-left-color:#2196f3}.order-card-small.completed{border-left-color:#4caf50}.order-card-small .order-name{color:#333;font-size:13px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-card-small .order-status-text{border-radius:10px;font-size:11px;padding:2px 8px;white-space:nowrap}.order-card-small.pending .order-status-text{background-color:#fff3e0;color:#f57c00}.order-card-small.shipped .order-status-text{background-color:#e3f2fd;color:#1976d2}.order-card-small.completed .order-status-text{background-color:#e8f5e9;color:#388e3c}.view-all-orders{color:#888;font-size:12px;margin:8px 0 0;text-align:center}.personal-container{background:radial-gradient(circle at 12% 16%,#7ab8c829,#0000 26%),radial-gradient(circle at 86% 22%,#d6a84f33,#0000 24%),linear-gradient(135deg,var(--color-paper),var(--color-paper-deep))}.category-sidebar,.order-section-sidebar,.personal-header,.personal-info-section,.personal-main,.textbook-section{background:#fffdf6f2;border:var(--border-scroll);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.category-level h4,.order-section-sidebar h3,.personal-header h2,.textbook-section h3{color:var(--color-cinnabar-dark);font-family:var(--font-poem);letter-spacing:1px}.category-sidebar{min-width:300px;padding:22px}.library-preview-section,.order-section-sidebar,.personal-info-section,.textbook-section{padding:20px}.personal-info-section,.textbook-section{margin-bottom:28px}.library-preview-section h3,.order-section-sidebar h3,.poem-section h3,.textbook-section h3{margin-bottom:18px}.info-section{gap:15px;min-width:0}.info-item{gap:10px;min-width:0}.info-item label{flex-shrink:0;width:80px}.avatar{background:linear-gradient(135deg,var(--color-gold),#ffe7a3);border:3px solid #b8322ab8;box-shadow:0 12px 24px #d6a84f42}.info-item input,.info-item span{background-color:#fffaf0;border:1px solid #b8783033;border-radius:14px;box-sizing:border-box;max-width:100%;min-width:0;padding:8px 12px}.info-item input{overflow-x:auto;white-space:nowrap}.category-item,.order-card-small,.poem-item{background:#fff9ec;border-color:#b8783038;border-radius:16px}.category-level{margin-bottom:20px}.category-level h4{margin-bottom:10px}.category-items{gap:5px}.category-item{padding:8px 12px}.poem-section{background:#fffdf6c7;border:var(--border-scroll);border-radius:var(--radius-card);padding:18px}.poem-list{gap:5px}.poem-item{padding:8px 10px}.library-poem-item,.order-card-small{padding:10px 12px}.category-item:hover,.order-card-small:hover,.poem-item:hover{border-color:var(--color-gold);box-shadow:0 8px 16px #6036121a}.category-item.active,.poem-item.selected{background:linear-gradient(135deg,var(--color-cinnabar),var(--color-gold));color:#fff}.empty-orders-sidebar{background:linear-gradient(135deg,#fffdf6eb,#fff0c994);border:1px dashed #b878306b;border-radius:20px;color:var(--color-muted)}.avatar-upload-btn,.load-btn,.save-btn,.start-study-btn{background:linear-gradient(135deg,var(--color-cinnabar),var(--color-gold));border-radius:999px;box-shadow:0 8px 18px #b8322a2e}@media (max-width:768px){.personal-container{padding-bottom:96px}.category-sidebar{padding:18px}.library-preview-section,.order-section-sidebar,.personal-info-section,.poem-section,.textbook-section{padding:16px}.info-item{align-items:flex-start;gap:10px}.info-item label{padding-top:8px;width:80px}}.personal-container{box-sizing:border-box;display:flex;flex-direction:column;height:100vh;overflow:hidden}.personal-content{align-items:stretch;flex:1 1;height:calc(100vh - 132px);min-height:0;overflow:hidden}.personal-header{flex-shrink:0}.category-sidebar,.personal-main{-webkit-overflow-scrolling:touch;height:100%;max-height:100%;min-height:0;overflow-x:hidden;overflow-y:scroll!important;overscroll-behavior:contain;scrollbar-color:#b8783073 #fff8e8cc;scrollbar-width:thin}.personal-main{display:flex;flex-direction:column;gap:18px}.library-preview-section{margin-bottom:0;margin-top:0}.main-summary-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);min-height:0}.main-summary-grid .library-poem-list,.main-summary-grid .orders-list-sidebar{max-height:220px;overflow-y:auto}.study-history{min-height:0}.study-history .history-list{max-height:min(360px,42vh)}@media (max-width:900px){.personal-container{height:100vh;min-height:100vh;padding-bottom:96px}.personal-content{flex:1 1;height:calc(100vh - 228px);min-height:0;overflow:hidden}.category-sidebar{flex:0 0 58%;margin-bottom:0;max-height:none;min-height:0;min-width:0;overflow-x:hidden;overflow-y:scroll!important}.personal-main{flex:1 1;max-height:none}.main-summary-grid{gap:12px;grid-template-columns:1fr}.main-summary-grid .library-poem-list,.main-summary-grid .orders-list-sidebar{max-height:150px}.study-history .history-list{max-height:180px}}.catalog-tree-panel{background:#fff;border:1px solid #e8d5b7;border-radius:8px;box-shadow:0 2px 4px #00000014;padding:16px}.catalog-tree-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.catalog-tree-header h3{color:#8a1a1a;font-size:18px;margin:0}.catalog-search-bar{flex:1 1;max-width:420px;min-width:200px}.catalog-search-bar input{background:#fffdf6;border:1px solid #e8d5b7;border-radius:20px;box-sizing:border-box;font-size:14px;padding:10px 14px;width:100%}.catalog-search-bar input:focus{border-color:#8a1a1a;box-shadow:0 0 0 2px #8a1a1a1f;outline:none}.catalog-tree-container{background:#fffdf8;border:1px solid #f0e6d2;border-radius:8px;max-height:520px;overflow-y:auto;padding:8px 4px}.catalog-tree-node{margin:2px 0}.catalog-tree-node-row{align-items:center;border-radius:8px;display:flex;gap:8px;padding:2px 4px;transition:background .15s ease,box-shadow .15s ease}.catalog-tree-node-row:hover{background:#e8d5b76b;box-shadow:inset 0 0 0 1px #8a1a1a1f}.catalog-tree-node-row:hover .catalog-tree-node-name{color:#8a1a1a}.catalog-tree-node-label{align-items:center;border-radius:6px;color:#5f3b1c;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:6px 8px}.catalog-tree-node-label,.catalog-tree-node-name{flex:1 1;min-width:0;transition:color .15s ease}.catalog-branch-add-btn{background:#fff;border:1px solid #1890ff;border-radius:14px;color:#1890ff;cursor:pointer;flex-shrink:0;font-size:12px;padding:4px 10px;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.catalog-tree-node-row:hover .catalog-branch-add-btn:not(.added):not(:disabled){background:#1890ff;border-color:#1890ff;color:#fff}.catalog-tree-node-row:hover .catalog-branch-add-btn.added{background:#52c41a29;border-color:#52c41a;color:#389e0d}.catalog-branch-add-btn:disabled{cursor:default}.catalog-branch-add-btn.added{background:#fff;border-color:#52c41a;color:#52c41a}.catalog-tree-node-row:has(.catalog-branch-add-btn.added):hover{background:#52c41a1a;box-shadow:inset 0 0 0 1px #52c41a38}.catalog-tree-node-arrow{color:#999;flex-shrink:0;font-size:10px;width:14px}.catalog-tree-node-poem{align-items:center;border-radius:8px;display:flex;font-size:14px;gap:8px;padding:6px 8px;transition:background .15s ease,box-shadow .15s ease,color .15s ease}.catalog-tree-node-poem:hover{background:#e8d5b76b;box-shadow:inset 0 0 0 1px #8a1a1a1f}.catalog-tree-node-poem:hover .catalog-poem-title{color:#8a1a1a}.catalog-tree-node-poem:hover .catalog-poem-author{color:#666}.catalog-tree-node-poem.match-highlight{background:#ffecb399}.catalog-tree-node-poem.match-highlight:hover{background:#ffecb3e0;box-shadow:inset 0 0 0 1px #b8860b47}.catalog-tree-node-poem.in-library{color:#1890ff}.catalog-tree-node-poem.in-library:hover{background:#1890ff1a;box-shadow:inset 0 0 0 1px #1890ff38}.catalog-tree-node-poem.in-library:hover .catalog-poem-title{color:#096dd9}.catalog-poem-info{flex:1 1;min-width:0}.catalog-poem-title{font-weight:600;transition:color .15s ease}.catalog-poem-author{color:#888;font-size:12px;margin-left:6px;transition:color .15s ease}.catalog-add-btn{background:#fff;border:1px solid #8a1a1a;border-radius:14px;color:#8a1a1a;cursor:pointer;flex-shrink:0;font-size:12px;padding:4px 10px;transition:background .15s ease,color .15s ease,border-color .15s ease}.catalog-tree-node-poem:hover .catalog-add-btn:not(.added):not(:disabled){background:#8a1a1a;border-color:#8a1a1a;color:#fff}.catalog-tree-node-poem:hover .catalog-add-btn.added{background:#52c41a29;border-color:#52c41a;color:#389e0d}.catalog-tree-node-poem.in-library:hover .catalog-add-btn.added{background:#52c41a33;border-color:#52c41a;color:#389e0d}.catalog-add-btn.added{border-color:#52c41a;color:#52c41a;cursor:default}.catalog-tree-empty{color:#999;padding:32px 16px;text-align:center}.catalog-tree-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.catalog-search-results{background:#fff8e6;border-radius:8px;color:#8a5a00;font-size:13px;margin-bottom:12px;padding:10px 12px}.user-info-toggle{cursor:pointer;position:relative}.user-avatar{align-items:center;background:linear-gradient(135deg,var(--color-gold),#ffe7a3);border:2px solid #b8322ad9;border-radius:50%;box-shadow:0 6px 16px #b8322a38;display:flex;height:48px;justify-content:center;width:48px}.user-avatar img{border-radius:50%;height:100%;object-fit:cover;width:100%}.avatar-placeholder{color:var(--color-cinnabar-dark);font-family:var(--font-poem);font-size:18px;font-weight:700}.user-info-popup{background:linear-gradient(180deg,#fffdf7,#fff8e8);border:var(--border-scroll);border-radius:20px;box-shadow:var(--shadow-soft);overflow:hidden;position:absolute;right:0;top:58px;width:280px;z-index:1000}.popup-header{background:linear-gradient(135deg,var(--color-cinnabar),var(--color-gold));color:#fff;padding:12px 16px}.popup-header h4{font-family:var(--font-poem);font-size:18px;letter-spacing:1px;margin:0}.popup-content{flex-direction:column;gap:10px;padding:15px}.popup-avatar,.popup-content{align-items:center;display:flex}.popup-avatar{background:linear-gradient(135deg,var(--color-gold),#ffe7a3);border:3px solid #b8322ab8;border-radius:50%;height:72px;justify-content:center;margin-bottom:10px;width:72px}.popup-avatar img{border-radius:50%;height:100%;object-fit:cover;width:100%}.popup-info{width:100%}.popup-info .info-item{border-bottom:1px dashed #b8783033;display:flex;font-size:15px;justify-content:space-between;margin-bottom:8px;padding:7px 0}.popup-info .info-item .label{color:var(--color-ink);font-weight:700}.popup-info .info-item .value{color:var(--color-cinnabar-dark);font-weight:700}.popup-nav{grid-gap:8px;border-bottom:1px solid #e8d5b7;border-top:1px solid #e8d5b7;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 15px}.nav-item{background:#fff7e5;border:1px solid #b8783038;border-radius:999px;color:var(--color-ink);cursor:pointer;font-size:14px;padding:9px 10px;transition:all .3s ease}.nav-item:hover{background-color:#fff0c9;color:var(--color-cinnabar)}.user-info-popup-footer{align-items:center;border-top:1px solid #e8d5b7;display:flex;flex-direction:row;gap:10px;justify-content:space-between;padding:10px 15px}.user-info-cancel-btn,.user-info-logout-btn{border:none;border-radius:999px;cursor:pointer;flex:1 1;font-size:14px;padding:8px 12px;text-align:center;transition:all .3s ease;white-space:nowrap}.user-info-cancel-btn{background-color:#f0f0f0;color:#666}.user-info-cancel-btn:hover{background-color:#e0e0e0}.user-info-logout-btn{background:linear-gradient(135deg,var(--color-cinnabar),var(--color-cinnabar-dark));color:#fff}.user-info-logout-btn:hover{opacity:.8}.study-container{background-color:beige;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path fill="%23e8d5b7" d="M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z"/></svg>');min-height:100vh;padding:20px}.study-header{align-items:center;background-color:#fff;border:1px solid #e8d5b7;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px;position:relative}.progress-section h2{color:#8a1a1a;font-size:20px;margin-bottom:15px}.progress-info{color:#666;display:flex;font-size:14px;justify-content:space-between;margin-bottom:10px}.progress-bar{background-color:#f0f0f0;border:1px solid #e8d5b7;border-radius:10px;height:20px;overflow:hidden;width:100%}.progress-fill{background-color:#8a1a1a;border-radius:10px;height:100%;transition:width .3s ease}.study-content{display:flex;gap:20px}.category-sidebar{display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.category-tabs{border-bottom:2px solid #e8d5b7;display:flex;margin-bottom:16px}.category-tab{background:none;border:none;color:#666;cursor:pointer;flex:1 1;font-size:14px;padding:10px 8px;text-align:center;transition:all .3s ease}.category-tab:hover{color:#8a1a1a}.category-tab.active{border-bottom:2px solid #8a1a1a;color:#8a1a1a;font-weight:700;margin-bottom:-2px}.tree-container{flex:1 1;min-height:0;overflow-y:auto}.tree-empty{color:#999;font-size:14px;padding:20px;text-align:center}.membership-hint{color:#1890ff;font-size:12px;padding:4px 12px 0}.tree-lock{margin-right:4px}.tree-node{-webkit-user-select:none;user-select:none}.tree-node-label{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:6px 8px;transition:all .2s ease}.tree-node-label:hover{background-color:#fef3e6}.tree-node-label.selected{background-color:initial}.tree-node-poem .tree-node-label.selected{background-color:#8a1a1a;color:#fff!important;font-weight:700}.tree-node-arrow{align-items:center;color:#999;display:inline-flex;flex-shrink:0;font-size:10px;justify-content:center;transition:transform .2s ease;width:16px}.tree-node-text{flex:1 1;line-height:1.4}.tree-node-text.status-completed{color:#52c41a}.tree-node-text.status-loaded{color:#1890ff}.tree-node-text.status-unloaded{color:#999}.tree-check{font-size:12px;margin-right:4px}.tree-node-children{border-left:1px dashed #ddd;margin-left:8px}.study-main{background-color:#fff;border:1px solid #e8d5b7;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1 1;max-height:100%;min-height:0;min-width:0;overflow:hidden;padding:24px}.study-main,.study-placeholder{display:flex;flex-direction:column;height:100%}.study-placeholder{align-items:center;color:#999;font-size:16px;gap:16px;justify-content:center}.placeholder-icon{font-size:64px;opacity:.5}.poem-study{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.poem-study-header{border-bottom:1px solid #e8d5b7;flex-shrink:0;margin-bottom:16px;padding-bottom:12px}.poem-study-header h3{color:#8a1a1a;font-size:22px;margin:0 0 6px}.poem-study-header h4{color:#666;font-size:15px;font-weight:400;margin:0}.step-progress{flex-shrink:0;gap:0;justify-content:center;margin-bottom:20px;padding:20px 10px}.step-item,.step-progress{align-items:center;display:flex}.step-item{flex-direction:column;gap:6px;position:relative;z-index:1}.step-circle{align-items:center;border:2px solid #0000;border-radius:50%;display:flex;font-size:14px;font-weight:700;height:36px;justify-content:center;transition:all .3s ease;width:36px}.step-item.pending .step-circle{background-color:#ddd;color:#aaa}.step-item.done .step-circle{background-color:#52c41a;color:#fff;font-size:12px}.step-item.current .step-circle{background:linear-gradient(135deg,#8a1a1a,#c41e3a);box-shadow:0 2px 8px #8a1a1a66;color:#fff;transform:scale(1.1)}.step-label{font-size:12px;transition:color .3s ease;white-space:nowrap}.step-item.pending .step-label{color:#bbb}.step-item.done .step-label{color:#52c41a;font-weight:700}.step-item.current .step-label{color:#8a1a1a;font-weight:700}.step-line{border-radius:2px;flex-shrink:0;height:3px;margin:0 4px 26px;transition:all .3s ease;width:50px}.step-line.pending{background-color:#ddd;background:repeating-linear-gradient(90deg,#ddd,#ddd 6px,#0000 0,#0000 10px)}.step-line.done{background-color:#52c41a}.step-line.current{background:linear-gradient(90deg,#52c41a,#8a1a1a)}.stage-content-area{background:#fdfbf5;border-radius:12px;flex:1 1;min-height:0;overflow-y:auto;padding:20px}.study-stage{animation:modalSlideIn .3s ease-out;background:#fff;border:1px solid #e8d5b7;border-radius:16px;box-shadow:0 10px 40px #00000026;margin-bottom:30px;padding:30px}.study-stage h4{border-bottom:2px solid #f0e6d2;color:#8a1a1a;font-size:20px;font-weight:700;margin-bottom:20px;padding-bottom:12px;text-align:center}.stage-content{margin-bottom:16px}.stage-content p{color:#444;font-size:15px;line-height:1.8;margin-bottom:10px}.video-wrapper{background:#000;border-radius:12px;margin-bottom:20px;overflow:hidden;position:relative;width:100%}.protected-video-wrapper,.protected-video-wrapper .understand-video{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.protected-video-wrapper .understand-video{pointer-events:auto}.understand-video{border-radius:12px;display:block;max-height:400px;object-fit:contain;width:100%}.video-fullscreen-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;border:none;border-radius:6px;bottom:12px;color:#fff;cursor:pointer;font-size:13px;padding:6px 14px;position:absolute;right:12px;transition:background .2s;z-index:10}.video-fullscreen-btn:hover{background:#000c}.stage-tip{color:#888;font-size:14px;font-style:italic;margin-top:12px;text-align:center}.poem-display-kaiti{align-items:center;background:radial-gradient(circle at center,#fff9e6 0,#f5f0dc 100%);border:1px solid #e8d5b7;border-radius:8px;box-shadow:inset 0 0 30px #e8d5b74d;color:#333;display:flex;flex-direction:column;font-family:KaiTi,STKaiti,楷体,serif;font-size:28px;justify-content:center;line-height:2.2;min-height:300px;padding:40px 20px;text-align:center}.kaiti-line{letter-spacing:4px;padding:2px 0}.listen-char,.listen-kaiti-line{color:#b8a791}.listen-char{display:inline-block;transition:color .28s ease,text-shadow .28s ease,transform .28s ease}.listen-char.read{color:#8a1a1a;color:var(--color-cinnabar-dark,#8a1a1a)}.listen-char.active{color:#d6a84f;color:var(--color-gold,#d6a84f);text-shadow:0 2px 10px #d6a84f61;transform:translateY(-1px) scale(1.08)}.poem-display-read{font-size:24px;min-height:200px;padding:30px 20px}.tts-btn{background:linear-gradient(135deg,#8a1a1a,#c41e3a);border:none;border-radius:8px;box-shadow:0 2px 8px #8a1a1a4d;color:#fff;cursor:pointer;display:block;font-size:16px;margin:16px auto 0;padding:12px 32px;transition:all .3s ease}.tts-btn:hover{box-shadow:0 4px 12px #8a1a1a66;transform:translateY(-1px)}.tts-btn.playing{animation:pulse-glow 1.5s ease-in-out infinite;background:linear-gradient(135deg,#fa8c16,#faad14)}@keyframes pulse-glow{0%,to{box-shadow:0 2px 8px #fa8c164d}50%{box-shadow:0 4px 20px #fa8c1699}}.annotation-section{background-color:#fffbe6;border-left:3px solid #faad14;border-radius:4px;margin-top:16px;padding:16px}.annotation-section h5{color:#8a1a1a;font-size:15px;margin:0 0 8px}.annotation-section p{color:#555;line-height:1.8;margin:0}.mind-map{background-color:#fafafa;border:1px solid #e8d5b7;border-radius:8px;padding:24px}.mind-map-root{background:linear-gradient(135deg,#8a1a1a,#c41e3a);border-radius:8px;box-sizing:border-box;color:#fff;display:inline-block;font-size:18px;font-weight:700;margin-bottom:20px;padding:12px 24px;text-align:center;width:100%}.mind-map-image-wrapper{margin:0 0 20px;text-align:center;width:100%}.mind-map-image-clickable{cursor:zoom-in;position:relative}.mind-map-image-clickable:focus-visible{border-radius:8px;outline:2px solid #8a1a1a;outline-offset:4px}.mind-map-zoom-hint{background:#8a1a1ae0;border-radius:999px;bottom:12px;color:#fff;font-size:12px;left:50%;padding:4px 12px;pointer-events:none;position:absolute;transform:translateX(-50%)}.mind-map-image{background:#fff;border:1px solid #e8d5b7;border-radius:8px;display:block;margin:0 auto;max-height:min(360px,45vh);max-width:100%;object-fit:contain;transition:transform .2s ease,box-shadow .2s ease}.mind-map-image-clickable:hover .mind-map-image{box-shadow:0 8px 24px #8a1a1a2e;transform:scale(1.01)}.mind-map-zoom-overlay{align-items:center;background:#000000c7;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:2000}.mind-map-zoom-panel{background:#fffdf7;border:1px solid #e8d5b7;border-radius:16px;box-shadow:0 20px 60px #00000059;max-height:92vh;max-width:min(96vw,1100px);overflow:auto;padding:16px;position:relative;width:100%}.mind-map-zoom-close{background:#8a1a1a;border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;position:sticky;top:0;z-index:1}.mind-map-zoom-image{display:block;margin:12px auto 0;max-height:calc(92vh - 96px);max-width:100%;object-fit:contain;width:auto}.mind-map-zoom-tip{color:#666;font-size:13px;margin:12px 0 0;text-align:center}.mind-map-branches{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.mind-map-branch{background-color:#fff;border:1px solid #e8d5b7;border-radius:8px;padding:16px;text-align:center}.mind-map-node{background-color:#8a1a1a;border-radius:20px;color:#fff;display:inline-block;font-size:14px;font-weight:700;margin-bottom:10px;padding:8px 16px}.mind-map-desc{color:#666;font-size:13px;line-height:1.6;margin:0}.recite-area{padding:40px 20px;text-align:center}.recite-prompt{color:#8a1a1a;font-size:18px;font-weight:700;margin-bottom:20px}.hint-btn{background-color:#fff7e6;border:1px solid #8a1a1a;border-radius:6px;color:#8a1a1a;font-size:14px;padding:10px 24px}.hint-btn:hover{background-color:#8a1a1a;color:#fff}.stage-actions{border-top:1px solid #e8d5b7;display:flex;flex-shrink:0;justify-content:space-between;margin-top:auto;padding-top:20px}.btn{background-color:#fff;border:1px solid #8a1a1a;border-radius:6px;color:#8a1a1a;font-size:14px;font-weight:500;padding:10px 24px}.btn:hover:not(:disabled){background-color:#8a1a1a;color:#fff}.btn:disabled{cursor:not-allowed;opacity:.4}.btn-prev{padding:10px 20px}.btn-next{background:linear-gradient(135deg,#8a1a1a,#c41e3a);border:none;color:#fff;font-weight:700;padding:10px 28px}.btn-next:hover:not(:disabled){box-shadow:0 4px 12px #8a1a1a59;transform:translateY(-1px)}@media (max-width:768px){.study-container{padding:10px}.study-content{flex-direction:column}.category-sidebar{max-height:400px;width:100%!important}.study-main{padding:16px}.study-header{align-items:flex-start;flex-direction:column;gap:12px}.poem-study-header h3{font-size:19px}.poem-display-kaiti{font-size:20px;min-height:220px;padding:30px 16px}.kaiti-line{letter-spacing:2px}.step-progress{gap:0;padding:12px 4px}.step-circle{font-size:12px;height:30px;width:30px}.step-item.current .step-circle{transform:scale(1.05)}.step-label{font-size:11px}.step-line{margin-bottom:22px;width:30px}.mind-map-branches{grid-template-columns:1fr}.stage-actions{flex-direction:row}}@media (max-width:480px){.study-container{padding:6px}.category-sidebar{max-height:280px;padding:12px}.category-tab{font-size:13px;padding:8px 4px}.tree-node-label{font-size:13px;padding:5px 6px}.tree-node-arrow{font-size:9px;width:14px}.study-main{padding:12px}.poem-study-header h3{font-size:17px}.poem-study-header h4{font-size:13px}.poem-display-kaiti{font-size:18px;line-height:2;min-height:180px;padding:24px 12px}.kaiti-line{letter-spacing:1px}.poem-display-read{font-size:17px;min-height:150px;padding:20px 12px}.tts-btn{font-size:14px;padding:10px 24px}.step-progress{overflow-x:auto;padding:10px 2px}.step-circle{font-size:11px;height:28px;width:28px}.step-label{font-size:10px}.step-line{margin-bottom:20px;width:20px}.study-stage h4{font-size:15px}.stage-content p{font-size:14px}.mind-map-root{font-size:15px;padding:10px 16px}.mind-map-branch{padding:10px}.mind-map-node{font-size:12px;padding:6px 12px}.mind-map-desc{font-size:12px}.recite-area{padding:24px 12px}.recite-prompt{font-size:15px}.btn-next,.btn-prev{font-size:13px;padding:8px 16px}.sidebar-resize-handle{display:none}}.recording-area{padding:20px;text-align:center}.has-recording-prompt{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #bae6fd;border-radius:16px;padding:30px 20px}.recording-exists-hint{color:#0369a1;font-size:18px;font-weight:500;margin-bottom:24px}.recite-direct-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.recite-direct-actions .btn-record-start{background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 4px 16px #05966966}.recite-direct-actions .btn-record-start:hover{box-shadow:0 6px 24px #05966980}.hint-btn{background:linear-gradient(135deg,#f59e0b,#fbbf24);border:none;border-radius:50px;box-shadow:0 4px 16px #f59e0b66;color:#fff;cursor:pointer;display:inline-block;font-size:18px;font-weight:700;padding:16px 32px;transition:all .3s ease}.hint-btn:hover{box-shadow:0 6px 24px #f59e0b80;transform:translateY(-2px) scale(1.05)}.btn-record-start{animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#8a1a1a,#c41e3a);border:none;border-radius:50px;box-shadow:0 4px 16px #8a1a1a66;color:#fff;cursor:pointer;display:inline-block;font-size:20px;font-weight:700;padding:16px 48px;transition:all .3s ease}.btn-record-start:hover{box-shadow:0 6px 24px #8a1a1a80;transform:translateY(-2px) scale(1.05)}.countdown-display{padding:30px 20px}.countdown-number{animation:countdown-scale 1s ease-in-out;color:#8a1a1a;font-size:72px;font-weight:700}@keyframes countdown-scale{0%{opacity:0;transform:scale(1.5)}50%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(.9)}}.countdown-display p{color:#888;font-size:16px;margin-top:10px}.recording-active{padding:24px}.recording-indicator{align-items:center;animation:pulse-recording 1.2s ease-in-out infinite;color:#e74c3c;display:inline-flex;font-size:18px;font-weight:700;gap:8px;margin-bottom:12px}@keyframes pulse-recording{0%,to{opacity:1}50%{opacity:.5}}.recording-active p{color:#666;font-size:15px;margin-bottom:16px}.btn-stop{background-color:#e74c3c;border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:10px 28px;transition:all .3s ease}.btn-stop:hover{background-color:#c0392b;transform:scale(1.05)}.score-result{padding:20px;text-align:center}.score-circle{align-items:center;border:4px solid #52c41a;border-radius:50%;display:inline-flex;flex-direction:column;height:120px;justify-content:center;margin-bottom:16px;transition:all .5s ease;width:120px}.score-circle.excellent{background:linear-gradient(135deg,#f6ffed,#d9f7be);border-color:#52c41a}.score-circle.good{background:linear-gradient(135deg,#e6f7ff,#bae7ff);border-color:#1890ff}.score-circle.ok{background:linear-gradient(135deg,#fff7e6,#ffd591);border-color:#fa8c16}.score-circle.keep-going{background:linear-gradient(135deg,#fafafa,#e8e8e8);border-color:#999}.score-number{color:#333;font-size:36px;font-weight:700;line-height:1}.score-unit{color:#666;font-size:14px}.encouragement-text{color:#333;font-size:18px;font-weight:500;margin:15px 0}.score-detail{color:#888;display:flex;font-size:14px;gap:20px;justify-content:center;margin-bottom:16px}.upload-status{font-weight:500}.btn-retry{background-color:#fff7e6;border:1px solid #8a1a1a;border-radius:25px;color:#8a1a1a;cursor:pointer;font-size:14px;padding:10px 28px;transition:all .3s ease}.btn-retry:hover{background-color:#8a1a1a;color:#fff}.recite-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px}.tree-read-tag{background:#52c41a;border-radius:8px;color:#fff;font-size:10px;font-weight:400;margin-left:4px;padding:1px 5px;vertical-align:middle}.complete-modal{max-width:380px;text-align:center}.complete-icon{font-size:56px;margin-bottom:12px}.complete-poem-name{color:#8a1a1a;font-size:18px;font-weight:700;margin:10px 0}.complete-reward{background:#fff8e1;border-radius:10px;color:#d4af37;font-size:22px;margin:15px 0;padding:12px}.complete-stats{color:#666;font-size:14px;margin-bottom:16px}.hint-modal .modal-body{max-height:400px;overflow-y:auto;text-align:center}.study-container{background:radial-gradient(circle at 12% 14%,#7ab8c829,#0000 28%),radial-gradient(circle at 84% 18%,#d6a84f2e,#0000 22%),linear-gradient(135deg,var(--color-paper),var(--color-paper-deep))}.category-sidebar,.study-header,.study-main{background:#fffdf6f2;border:var(--border-scroll);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.poem-study-header h3,.progress-section h2{color:var(--color-cinnabar-dark);font-family:var(--font-poem);letter-spacing:1px}.progress-bar{background:#fff4d8;border:2px solid #d6a84f47;height:24px}.progress-fill{background:linear-gradient(90deg,var(--color-jade),var(--color-gold),var(--color-cinnabar))}.study-placeholder{background:linear-gradient(135deg,#fffdf6eb,#fff0c994);border:1px dashed #b878306b;border-radius:24px;color:var(--color-muted)}.placeholder-icon{background:linear-gradient(135deg,var(--color-gold),#ffdf8a);border-radius:50%;box-shadow:0 12px 24px #d6a84f47;color:#fff;font-size:44px;height:86px;line-height:86px;opacity:1;width:86px}.tree-node-label{border-radius:14px;min-height:38px}.tree-node-poem .tree-node-label.selected{background:linear-gradient(135deg,var(--color-cinnabar),var(--color-gold));box-shadow:0 8px 18px #b8322a33}.step-progress{background:linear-gradient(135deg,#fff8e8b8,#fff9);border-radius:24px;padding:20px 8px 24px}.step-circle{border:3px solid #d6a84f59;box-shadow:0 7px 16px #6036121f;font-family:var(--font-poem)}.step-item.done .step-circle{background:linear-gradient(135deg,var(--color-jade),#8fd3c8)}.step-item.current .step-circle{animation:currentStepBounce 1.8s ease-in-out infinite;background:linear-gradient(135deg,var(--color-cinnabar),var(--color-gold))}@keyframes currentStepBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.05)}}.poem-display-kaiti,.poem-display-read{background:linear-gradient(90deg,#b8322a14,#0000 16%,#0000 84%,#2f8f8314),#fffdf7;border:1px solid #b8783047;border-radius:22px;color:var(--color-ink);font-family:var(--font-poem)}.complete-modal{background:linear-gradient(180deg,#fffdf7,#fff0c9);border:2px solid #d6a84f7a}.complete-icon{animation:rewardPop 1.2s ease-in-out infinite}.complete-reward{background:linear-gradient(135deg,#fff0c9,#ffe09b);border:1px solid #d6a84f5c;color:var(--color-cinnabar-dark)}@keyframes rewardPop{0%,to{transform:scale(1) rotate(-3deg)}50%{transform:scale(1.08) rotate(3deg)}}@media (max-width:768px){.study-container{padding-bottom:96px}.study-header{border-radius:22px}.step-progress{justify-content:flex-start;overflow-x:auto}}.page-container{background-color:beige;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path fill="%23e8d5b7" d="M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z"/></svg>');box-sizing:border-box;display:flex;flex-direction:column;height:100vh;min-height:100vh;overflow:hidden;padding:20px}.page-container:before{background:radial-gradient(circle at 8% 12%,#7ab8c82e,#0000 26%),radial-gradient(circle at 88% 18%,#d6a84f2e,#0000 24%);content:"";inset:0;pointer-events:none;position:fixed}.page-header{align-items:center;background:linear-gradient(135deg,#fffdf6fa,#fff5def0);border:var(--border-scroll);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);box-sizing:border-box;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:20px;min-height:72px;padding:20px;position:relative}.page-header h2{color:var(--color-cinnabar-dark);font-family:var(--font-poem);font-size:24px;letter-spacing:1px;margin:0}.page-content{align-items:stretch;box-sizing:border-box;display:flex;flex:1 1;gap:20px;min-height:0;overflow:hidden}.page-sidebar{background:#fffdf6f0;border:var(--border-scroll);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-shrink:0;overflow-y:auto;padding:20px;position:relative}.page-main,.page-sidebar{box-sizing:border-box;height:100%;max-height:100%;min-height:0}.page-main{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.sidebar-resize-handle{background:linear-gradient(180deg,#0000,#8a1a1a,#0000);border-radius:0 2px 2px 0;bottom:0;cursor:col-resize;opacity:.4;position:absolute;right:-2px;top:0;transition:width .2s ease,opacity .2s ease;width:4px;z-index:10}.sidebar-resize-handle:active,.sidebar-resize-handle:hover{opacity:.8;width:6px}@media (max-width:768px){.page-container{height:auto;min-height:100vh;overflow:visible;padding:10px}.page-content{flex-direction:column;min-height:auto;overflow:visible}.page-sidebar{height:auto;max-height:400px;width:100%!important}.page-main{height:auto;max-height:none;overflow:visible}.page-header{align-items:flex-start;flex-direction:column;gap:12px;min-height:auto}}@media (max-width:480px){.page-container{padding:6px}.page-sidebar{max-height:280px;padding:12px}}.payment-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.payment-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;padding:24px;width:min(420px,92vw)}.payment-modal h3{margin:0 0 16px;text-align:center}.plan-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.plan-item{align-items:center;background:#fafafa;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:12px}.plan-item.active{background:#e6f7ff;border-color:#1890ff}.plan-name{font-weight:600}.plan-monthly{color:#888;font-size:12px}.payment-primary-btn{background:#1890ff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;padding:12px;width:100%}.payment-primary-btn:disabled{cursor:not-allowed;opacity:.6}.payment-cancel-btn{background:#0000;border:none;color:#666;cursor:pointer;margin-top:12px;padding:8px;width:100%}.payment-error{color:#ff4d4f;margin-top:8px;text-align:center}.mock-pay-box p,.payment-hint,.polling-hint{color:#666;font-size:14px;margin:8px 0}.code-url{background:#f5f5f5;border-radius:6px;font-size:12px;padding:8px;word-break:break-all}.agent-assistant{background:#fffdf7;border:1px solid #e8d5b7;border-radius:12px;box-shadow:0 2px 10px #8a1a1a14;margin-bottom:16px;padding:14px}.agent-assistant.full-page{display:flex;flex:1 1;flex-direction:column;margin-bottom:0;min-height:0;padding:16px}.agent-assistant.full-page .agent-messages{flex:1 1;max-height:none;min-height:0}.agent-assistant-header{align-items:center;color:#8a1a1a;display:flex;font-weight:700;justify-content:space-between;margin-bottom:10px}.agent-assistant-header small{color:#999;font-size:12px;font-weight:400}.agent-messages{display:flex;flex-direction:column;gap:8px;max-height:180px;overflow-y:auto;padding-right:4px}.agent-message{border-radius:10px;font-size:14px;line-height:1.6;padding:8px 10px;white-space:pre-wrap}.agent-message.assistant{align-self:flex-start;background:#f7ecd8;color:#5d3b1b}.agent-message.user{align-self:flex-end;background:#8a1a1a;color:#fff}.agent-task-status{background:#f5f5f5;border-radius:8px;color:#666;margin-top:10px;padding:8px 10px}.agent-task-status span{display:block;font-size:12px;font-weight:700;margin-bottom:4px}.agent-task-status p{margin:0}.agent-task-status.success{background:#f0fff4;color:#237804}.agent-task-status.failed{background:#fff2f0;color:#a8071a}.agent-confirm-box{background:#fff7e6;border:1px solid #ffd591;border-radius:8px;margin-top:10px;padding:10px}.agent-confirm-box p{color:#874d00;margin:0 0 8px}.agent-confirm-box button{border:none;border-radius:6px;cursor:pointer;margin-right:8px;padding:6px 12px}.agent-confirm-box button:first-of-type{background:#8a1a1a;color:#fff}.agent-confirm-box button:last-of-type{background:#f0e6d2;color:#666}.agent-input-row{display:flex;gap:8px;margin-top:10px}.agent-input-row textarea{border:1px solid #e8d5b7;border-radius:8px;flex:1 1;font-size:14px;line-height:1.5;padding:8px;resize:vertical}.agent-send-btn{background:#8a1a1a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:0 16px}.agent-send-btn:disabled{background:#c8b8a0;cursor:not-allowed}@media (max-width:768px){.agent-input-row{flex-direction:column}.agent-send-btn{padding:10px}}.agent-chat-page{background:radial-gradient(circle at 18% 20%,#7ab8c81f,#0000 28%),radial-gradient(circle at 78% 72%,#d6a84f29,#0000 26%),linear-gradient(135deg,#fffdf7,beige);display:flex;flex-direction:column;min-height:100vh;padding:16px}.agent-chat-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.agent-chat-back{background:#fff;border:1px solid #e8d5b7;border-radius:999px;color:#8a1a1a;cursor:pointer;flex-shrink:0;font-size:14px;padding:8px 14px}.agent-chat-title{align-items:center;display:flex;gap:12px}.agent-chat-mascot{display:block;flex-shrink:0;height:52px;width:44px}.agent-chat-title h1{color:#8a1a1a;font-family:KaiTi,serif;font-family:var(--font-poem,"KaiTi",serif);font-size:22px;margin:0}.agent-chat-title p{color:#666;font-size:13px;margin:2px 0 0}.agent-chat-main{display:flex;flex:1 1;flex-direction:column;min-height:0}@media (max-width:768px){.agent-chat-page{padding:12px 12px 16px}.agent-chat-header{align-items:flex-start;flex-direction:column}}.game-container{background-color:beige;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path fill="%23e8d5b7" d="M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z"/></svg>');min-height:100vh;padding:20px}.game-header{align-items:center;background-color:#fff;border:1px solid #e8d5b7;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px;position:relative}.game-header h2{color:#8a1a1a;font-size:20px;margin:0}.game-content{display:flex;gap:20px;min-height:600px}.sidebar-title{border-bottom:2px solid #e8d5b7;color:#8a1a1a;font-size:18px;font-weight:700;margin-bottom:15px;padding-bottom:10px;text-align:center}.category-list{display:flex;flex-direction:column;gap:10px;margin-bottom:30px}.category-item{background:none;background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:16px;padding:12px;text-align:left;transition:all .3s ease}.category-item:hover{background-color:#f0f0f0;border-color:#8a1a1a}.category-item.active{background-color:#8a1a1a;border-color:#8a1a1a;color:#fff}.sub-category{margin-top:20px}.sub-category h4{border-left:3px solid #8a1a1a;color:#8a1a1a;font-size:14px;font-weight:700;margin-bottom:10px;padding-left:5px}.sub-category-list{display:flex;flex-wrap:wrap;gap:8px}.sub-category-item{background:none;background-color:#f9f9f9;border:1px solid #ddd;border-radius:16px;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .3s ease}.sub-category-item:hover{background-color:#f0f0f0;border-color:#8a1a1a}.sub-category-item.active{background-color:#8a1a1a;border-color:#8a1a1a;color:#fff}.sub-category-hint{animation:fadeIn .3s ease-in;background-color:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;color:#856404;font-size:13px;margin-top:10px;padding:10px}.game-main{display:flex;flex:1 1;flex-direction:column;gap:20px;min-width:0}.challenge-display{background-color:#fff;border:1px solid #e8d5b7;border-radius:8px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;flex:1 1;min-height:100%;overflow:hidden;padding:20px;position:relative}.challenge-display h3{color:#8a1a1a;font-size:18px;margin-bottom:20px;text-align:center}.challenge-container{flex-wrap:wrap;justify-content:center}.challenge-container,.challenge-scroll-container{align-items:center;display:flex;gap:15px;min-height:400px}.challenge-scroll-container{flex-direction:column;max-height:600px;overflow-y:auto;padding-right:10px;scrollbar-color:#ffd699 #fff9f0;scrollbar-width:thin}.challenge-hidden-list,.challenge-visible-list{align-items:center;display:flex;flex-direction:column;gap:15px;width:100%}.challenge-hidden-list{border-top:2px dashed #ffd699;margin-top:10px;padding-top:15px}.challenge-scroll-container::-webkit-scrollbar{width:8px}.challenge-scroll-container::-webkit-scrollbar-track{background:#fff9f0;border-radius:4px}.challenge-scroll-container::-webkit-scrollbar-thumb{background-color:#ffd699;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.challenge-scroll-container::-webkit-scrollbar-thumb:hover{background-color:#ffb84d}@keyframes fallIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}60%{opacity:1;transform:translateY(5px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.challenge-fall-in{animation:fallIn .6s cubic-bezier(.34,1.56,.64,1) forwards;opacity:0}.challenge-more-hint{animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#e8f4fd,#d1e9ff);border-radius:8px;color:#1976d2;font-size:14px;font-weight:500;margin:10px auto;max-width:400px;padding:12px 20px;text-align:center}.empty-challenge{background:linear-gradient(135deg,#fff9f0,#fff5e6);border:2px dashed #ffd699;border-radius:16px;padding:60px 20px;text-align:center}.empty-icon{animation:bounce 2s ease-in-out infinite;font-size:48px;margin-bottom:15px}.empty-title{color:#ff8c00!important;font-size:20px!important;font-weight:700;margin-bottom:10px!important}.empty-hint{color:#f93!important;font-size:16px!important}.challenge-item{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:12px;max-width:600px;min-width:300px;padding:15px;position:relative;transition:all .3s ease;width:fit-content}.challenge-item:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-3px)}.challenge-decoration{align-items:center;animation:decorationPulse 2s ease-in-out infinite;border-radius:50%;display:flex;flex-shrink:0;font-size:36px;height:50px;justify-content:center;width:50px}@keyframes decorationPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.textbook-style{background:linear-gradient(135deg,#fff9e6,#fffbf0);border-left:4px solid #d4a574}.decoration-book{background:linear-gradient(135deg,#f39c12,#e67e22);box-shadow:0 2px 8px #f39c124d}.textbook-style .poem-text{color:#8b6914}.textbook-style .user-nickname{color:#d4a574}.spring-style{background:linear-gradient(135deg,#e8f5e9,#f1f8f4);border-left:4px solid #66bb6a}.decoration-leaf{animation:leafSway 3s ease-in-out infinite;background:linear-gradient(135deg,#66bb6a,#43a047);box-shadow:0 2px 8px #66bb6a4d}@keyframes leafSway{0%,to{transform:rotate(0deg)}25%{transform:rotate(10deg)}75%{transform:rotate(-10deg)}}.spring-style .poem-text{color:#2e7d32}.spring-style .user-nickname{color:#66bb6a}.rain-style{background:linear-gradient(135deg,#e3f2fd,#f0f7fc);border-left:4px solid #42a5f5}.decoration-raindrop{animation:rainDrop 1.5s ease-in-out infinite;background:linear-gradient(135deg,#42a5f5,#1e88e5);box-shadow:0 2px 8px #42a5f54d}@keyframes rainDrop{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.rain-style .poem-text{color:#1565c0}.rain-style .user-nickname{color:#42a5f5}.wind-style{background:linear-gradient(135deg,#fce4ec,#fef7f9);border-left:4px solid #ec407a}.decoration-wind{animation:windBlow 2s ease-in-out infinite;background:linear-gradient(135deg,#ec407a,#d81b60);box-shadow:0 2px 8px #ec407a4d}@keyframes windBlow{0%,to{transform:translateX(0) rotate(0deg)}25%{transform:translateX(3px) rotate(5deg)}75%{transform:translateX(-3px) rotate(-5deg)}}.wind-style .poem-text{color:#ad1457}.wind-style .user-nickname{color:#ec407a}.flower-style{background:linear-gradient(135deg,#fdf2f8,#fef5fa);border-left:4px solid #f06292}.decoration-flower{animation:flowerBloom 2s ease-in-out infinite;background:linear-gradient(135deg,#f06292,#e91e63);box-shadow:0 2px 8px #f062924d}@keyframes flowerBloom{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.flower-style .poem-text{color:#c2185b}.flower-style .user-nickname{color:#f06292}.snow-style{background:linear-gradient(135deg,#eceff1,#f5f7f9);border-left:4px solid #78909c}.decoration-snow{animation:snowFall 2s ease-in-out infinite;background:linear-gradient(135deg,#90a4ae,#607d8b);box-shadow:0 2px 8px #78909c4d}@keyframes snowFall{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(3px) rotate(180deg)}}.snow-style .poem-text{color:#455a64}.snow-style .user-nickname{color:#78909c}.moon-style{background:linear-gradient(135deg,#ede7f6,#f5f0fa);border-left:4px solid #9575cd}.decoration-moon{animation:moonGlow 3s ease-in-out infinite;background:linear-gradient(135deg,#9575cd,#673ab7);box-shadow:0 2px 8px #9575cd4d}@keyframes moonGlow{0%,to{box-shadow:0 2px 8px #9575cd4d;opacity:1}50%{box-shadow:0 4px 16px #9575cd99;opacity:.8}}.moon-style .poem-text{color:#512da8}.moon-style .user-nickname{color:#9575cd}.solar-style{background:linear-gradient(135deg,#fff8e1,#fffbf0);border-left:4px solid #ffa726}.decoration-sun{animation:sunRotate 4s linear infinite;background:linear-gradient(135deg,#ffa726,#ff9800);box-shadow:0 2px 8px #ffa7264d}@keyframes sunRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.solar-style .poem-text{color:#ef6c00}.solar-style .user-nickname{color:#ffa726}.object-style{background:linear-gradient(135deg,#efebe9,#f5f1ef);border-left:4px solid #8d6e63}.decoration-scroll{background:linear-gradient(135deg,#8d6e63,#6d4c41);box-shadow:0 2px 8px #8d6e634d}.object-style .poem-text{color:#5d4037}.object-style .user-nickname{color:#8d6e63}.scenery-style{background:linear-gradient(135deg,#e0f2f1,#e8f5f3);border-left:4px solid #26a69a}.decoration-mountain{background:linear-gradient(135deg,#26a69a,#00897b);box-shadow:0 2px 8px #26a69a4d}.scenery-style .poem-text{color:#00695c}.scenery-style .user-nickname{color:#26a69a}.farewell-style{background:linear-gradient(135deg,#fbe9e7,#fef1ef);border-left:4px solid #ef5350}.decoration-path{background:linear-gradient(135deg,#ef5350,#e53935);box-shadow:0 2px 8px #ef53504d}.farewell-style .poem-text{color:#c62828}.farewell-style .user-nickname{color:#ef5350}.story-style{background:linear-gradient(135deg,#e3f2fd,#eff7fe);border-left:4px solid #5c6bc0}.decoration-book-open{background:linear-gradient(135deg,#5c6bc0,#3f51b5);box-shadow:0 2px 8px #5c6bc04d}.story-style .poem-text{color:#283593}.story-style .user-nickname{color:#5c6bc0}.frontier-style{background:linear-gradient(135deg,#efebe9,#f5f1ef);border-left:4px solid #8d6e63}.decoration-horse{animation:horseGallop .5s ease-in-out infinite;background:linear-gradient(135deg,#8d6e63,#6d4c41);box-shadow:0 2px 8px #8d6e634d}@keyframes horseGallop{0%,to{transform:translateX(0)}25%{transform:translateX(2px)}75%{transform:translateX(-2px)}}.frontier-style .poem-text{color:#5d4037}.frontier-style .user-nickname{color:#8d6e63}.poet-style{background:linear-gradient(135deg,#fafafa,#fff);border-left:4px solid #424242}.decoration-brush{animation:brushWrite 1.5s ease-in-out infinite;background:linear-gradient(135deg,#424242,#212121);box-shadow:0 2px 8px #4242424d}@keyframes brushWrite{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.poet-style .poem-text{color:#212121}.poet-style .user-nickname{color:#424242}.challenge-content{flex:1 1;min-width:0;overflow:hidden;text-align:left}.poem-text{word-wrap:break-word;color:#333;font-size:16px;font-style:italic;line-height:1.8;margin-bottom:10px;max-height:150px;overflow-x:auto;overflow-y:auto;white-space:pre-wrap}.challenge-meta{align-items:center;border-top:1px solid #f0f0f0;color:#666;display:flex;font-size:13px;gap:10px;justify-content:space-between;padding-top:8px}.user-nickname{color:#8a1a1a;font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.challenge-time{color:#999}.challenge-input{background-color:#fff;border:1px solid #e8d5b7;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.input-group{display:flex;gap:10px;margin-bottom:15px}.input-group input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:16px;padding:12px}.voice-btn{background-color:#8a1a1a;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:18px;padding:0 15px;transition:background-color .3s ease}.voice-btn:hover{background-color:#6a1a1a}.btn{background-color:#8a1a1a;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:12px 30px;transition:all .3s ease}.submit-btn{background:linear-gradient(135deg,#8a1a1a,#c41e3a);border-radius:8px;font-size:18px;font-weight:700;padding:14px;width:100%}.btn:hover,.submit-btn:hover{background-color:#6a1a1a;box-shadow:0 4px 12px #8a1a1a66;transform:translateY(-2px)}@media (max-width:768px){.game-content{flex-direction:column}.category-sidebar{margin-bottom:20px;width:100%}.category-list{flex-direction:row;flex-wrap:wrap}.category-item{flex:1 1;min-width:120px;text-align:center}.challenge-container{align-items:stretch;flex-direction:column}.challenge-item{max-width:100%}.game-container{padding:10px}.category-sidebar,.challenge-display,.challenge-input,.game-header{padding:15px}}.modal-overlay{background-color:#00000080;height:100%;width:100%}.lively-modal{animation:modalSlideIn .3s ease-out;box-shadow:0 10px 40px #0000004d;max-width:450px;padding:30px;position:relative;width:90%}.modal-title{color:#333;font-size:20px}.voice-modal-body{padding:20px 0;text-align:center}.recording-animation{align-items:center;display:flex;justify-content:center;margin-bottom:20px}.recording-pulse{animation:pulse 1.5s ease-in-out infinite;background:linear-gradient(135deg,#8a1a1a,#c41e3a);border-radius:50%;height:80px;position:relative;width:80px}.recording-pulse:after,.recording-pulse:before{background:#8a1a1a4d;border-radius:50%;content:"";position:absolute}.recording-pulse:before{animation:pulseRing 1.5s ease-out infinite;height:100%;width:100%}.recording-pulse:after{animation:pulseRing 1.5s ease-out .5s infinite;height:100%;width:100%}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulseRing{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)}}.voice-status{color:#666;font-size:16px;line-height:1.6;margin:15px 0;min-height:24px}.voice-status.recording{color:#8a1a1a;font-size:18px;font-weight:700}.confirm-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;cursor:pointer;display:block;font-size:16px;margin:20px auto 0;padding:10px 40px;transition:all .3s ease}.confirm-btn:hover{box-shadow:0 4px 12px #28a74566}.close-modal-btn{background:none;color:#999;font-size:24px;height:30px;right:15px;top:15px;transition:all .3s ease;width:30px}.close-modal-btn:hover{background-color:#f0f0f0;color:#666}.result-modal{max-width:400px}.result-modal.success{border-top:4px solid #28a745}.result-modal.error{border-top:4px solid #dc3545}.result-modal-body{padding:20px 0;text-align:center}.result-message{font-size:16px;line-height:1.6;margin:15px 0;min-height:24px}.result-message.success-msg{color:#28a745;font-size:18px;font-weight:700}.result-message.error-msg{color:#dc3545;font-weight:700}.result-modal.special-achievement{background:linear-gradient(135deg,#fff9e6,#fff3cd);border-top:4px solid gold;box-shadow:0 8px 32px #ffd7004d}.result-modal.special-achievement .modal-title{-webkit-text-fill-color:#0000;animation:goldenGlow 2s ease-in-out infinite;background:linear-gradient(135deg,gold,#ffed4e);-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:700}@keyframes goldenGlow{0%,to{filter:drop-shadow(0 0 10px rgba(255,215,0,.5));transform:scale(1)}50%{filter:drop-shadow(0 0 20px rgba(255,215,0,.8));transform:scale(1.02)}}.result-message.special-msg{color:#d4a017;font-size:18px;font-weight:700;text-shadow:1px 1px 2px #d4a0174d}.poem-info-card{background:linear-gradient(135deg,#fff9e6,#fffbf0);border:2px solid gold;border-radius:12px;box-shadow:0 4px 16px #ffd70033;margin-top:15px;padding:15px}.poem-info-title{color:#d4a017;font-size:16px;font-weight:700;margin-bottom:10px}.poem-info-detail{color:#8a6d00;font-size:15px;line-height:1.6}.confidence-score{color:#b8860b;font-size:14px;font-style:italic;margin-top:8px}.result-modal.failure-external{background:linear-gradient(135deg,#f0f9ff,#e6f7ff);border-top:4px solid #17a2b8}.result-modal.failure-external .modal-title{color:#17a2b8}.result-message.gentle-error-msg{color:#138496;font-size:17px;font-weight:500}.result-modal.uncertain{background:linear-gradient(135deg,#fffbea,#fff8dc);border-top:4px solid #ffc107}.result-modal.uncertain .modal-title{color:#856404}.result-message.uncertain-msg{color:#856404;font-size:17px;font-weight:500}.uncertain-notice{background:#fff3cd;border-left:4px solid #ffc107;border-radius:6px;color:#856404;font-size:14px;line-height:1.6;margin-top:15px;padding:12px}.result-modal.encouragement{background:linear-gradient(135deg,#f0fff0,#f5fff5);border-top:4px solid #90ee90}.result-modal.encouragement .modal-title{color:#228b22}.result-message.encouragement-msg{color:#228b22;font-size:17px;font-style:italic;font-weight:500}.error-details{background:#f8f9fa;border-radius:8px;margin-top:20px;max-height:300px;overflow-y:auto;padding:15px;text-align:left}.error-details-title{color:#495057;font-size:15px;font-weight:700;margin-bottom:12px}.error-list{list-style:none;margin:0;padding:0}.error-item{align-items:center;background:#fff;border-left:4px solid #dc3545;border-radius:6px;box-shadow:0 2px 4px #0000000d;display:flex;flex-wrap:wrap;font-size:14px;gap:8px;margin-bottom:10px;padding:12px}.error-item.char{border-left-color:#e74c3c}.error-item.word{border-left-color:#f39c12}.error-item.sentence{border-left-color:#3498db}.error-type{font-size:18px;margin-right:5px}.error-position{color:#2c3e50;font-weight:700}.error-expected{background:#e8f5e9;color:#27ae60}.error-actual,.error-expected{border-radius:4px;padding:2px 6px}.error-actual{background:#fce4ec;color:#e74c3c}.error-suggestion{border-top:1px dashed #ddd;color:#666;font-size:13px;margin-top:5px;padding-top:8px;width:100%}.confirm-btn.btn-success{background:linear-gradient(135deg,#28a745,#34ce57);box-shadow:0 4px 12px #28a7454d}.confirm-btn.btn-success:hover{box-shadow:0 6px 16px #28a74566;transform:translateY(-2px)}.confirm-btn.btn-error{background:linear-gradient(135deg,#dc3545,#e74c3c);box-shadow:0 4px 12px #dc35454d}.confirm-btn.btn-error:hover{box-shadow:0 6px 16px #dc354566;transform:translateY(-2px)}.game-container{background:radial-gradient(circle at 10% 14%,#2f8f8329,#0000 28%),radial-gradient(circle at 86% 20%,#d6a84f33,#0000 22%),linear-gradient(135deg,var(--color-paper),var(--color-paper-deep))}.challenge-display,.challenge-input,.game-header,.page-sidebar{background:#fffdf6f2;border:var(--border-scroll);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.challenge-display h3,.game-header h2,.sidebar-title{color:var(--color-cinnabar-dark);font-family:var(--font-poem);letter-spacing:1px}.category-item,.sub-category-item{background:#fff9ec;border-color:#b878303d;border-radius:16px;color:var(--color-ink);font-weight:700;min-height:42px}.category-item.active,.sub-category-item.active{background:linear-gradient(135deg,var(--color-cinnabar),var(--color-gold));border-color:#0000;box-shadow:0 8px 18px #b8322a33}.empty-challenge{background:linear-gradient(135deg,#fffdf6eb,#fff0c994);border:1px dashed #b878306b;border-radius:26px}.empty-icon{background:linear-gradient(135deg,var(--color-jade),var(--color-sky));border-radius:50%;box-shadow:0 12px 24px #2f8f8342;color:#fff;font-size:38px;height:86px;line-height:86px;margin:0 auto 14px;width:86px}.challenge-item{background:linear-gradient(180deg,#fffdf7,#fff8e8);border:1px solid #b878303d;border-radius:22px;box-shadow:0 8px 18px #6036121a}.challenge-poem{color:var(--color-ink);font-family:var(--font-poem)}.challenge-input textarea{background:#fffdf7;border:2px solid #b8783042;border-radius:20px;font-family:var(--font-poem);font-size:20px}.confirm-btn,.submit-btn,.voice-btn{background:linear-gradient(135deg,var(--color-cinnabar),var(--color-gold));border-radius:999px;box-shadow:0 8px 18px #b8322a38}.lively-modal{background:linear-gradient(180deg,#fffdf7,#fff8e8);border:2px solid #d6a84f57;border-radius:28px}.modal-title{font-family:var(--font-poem)}.result-modal.special-achievement{background:radial-gradient(circle at 50% 0,#ffe09bbd,#0000 34%),linear-gradient(180deg,#fffdf7,#ffe9ad);border-color:#d6a84fb8}@media (max-width:768px){.game-container{padding-bottom:96px}.game-content{flex-direction:column}.category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.exchange-container{background-color:beige;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path fill="%23e8d5b7" d="M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z"/></svg>');min-height:100vh;padding:20px}.exchange-header{align-items:center;background-color:#fff;border:1px solid #e8d5b7;border-radius:12px;box-shadow:0 4px 12px #00000014;display:flex;justify-content:space-between;margin-bottom:24px;padding:20px 24px;position:relative}.exchange-header h2{color:#8a1a1a;font-size:22px;font-weight:700;margin:0}.header-right{align-items:center;display:flex;gap:20px}.score-info{color:#333;font-size:16px;font-weight:600}.score{color:#d4af37;font-size:20px;font-weight:700;margin:0 5px}.products-section{background-color:#fff;border:1px solid #e8d5b7;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:80px;padding:24px}.section-title{color:#8a1a1a;font-size:20px;margin-bottom:24px;padding-bottom:12px;position:relative;text-align:center}.section-title:after{background:linear-gradient(90deg,#8a1a1a,#d4af37);border-radius:2px;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.product-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.product-card{background-color:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000000f;cursor:pointer;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.product-card:hover{border-color:#8a1a1a;box-shadow:0 8px 24px #8a1a1a26;transform:translateY(-8px)}.card-image-wrapper{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);height:220px;overflow:hidden;position:relative}.product-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.product-card:hover .product-image{transform:scale(1.05)}.image-overlay{align-items:center;background:#8a1a1ad9;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.product-card:hover .image-overlay{opacity:1}.view-details-btn{background:#fff;border-radius:25px;color:#8a1a1a;font-size:14px;font-weight:600;letter-spacing:.5px;padding:10px 24px;transform:translateY(10px);transition:all .3s ease}.product-card:hover .view-details-btn{transform:translateY(0)}.card-body{padding:16px}.product-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#333;display:-webkit-box;font-size:17px;font-weight:600;line-height:1.3;margin-bottom:12px;min-height:44px;overflow:hidden}.product-meta{align-items:center;display:flex;gap:10px;justify-content:space-between}.product-price{color:#8a1a1a;font-size:22px;font-weight:700}.product-price small{color:#666;font-size:14px;font-weight:500}.product-stock{border-radius:12px;font-size:13px;font-weight:500;padding:4px 10px}.product-stock.in-stock{background:#e8f5e9;color:#2e7d32}.product-stock.out-stock{background:#ffebee;color:#c62828}.empty-products{color:#999;font-size:16px;padding:60px 20px;text-align:center}.product-detail-modal{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.modal-content{animation:modalSlideUp .4s cubic-bezier(.4,0,.2,1);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:85vh;max-width:650px;position:relative;width:92%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.close-modal-btn{align-items:center;background:#ffffffe6;border:none;border-radius:50%;box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s;width:36px;z-index:10}.close-modal-btn:hover{background:#ff4757;color:#fff;transform:rotate(90deg)}.detail-gallery{background:#f5f5f5;display:flex;flex-direction:column;min-height:300px;position:relative}.gallery-main-image,.gallery-single-image{background:#fff;max-height:400px;object-fit:contain;width:100%}.gallery-thumbs{background:#fafafa;border-top:1px solid #eee;display:flex;gap:8px;overflow-x:auto;padding:12px}.thumb-image{border:2px solid #0000;border-radius:6px;cursor:pointer;flex-shrink:0;height:70px;object-fit:cover;transition:all .2s;width:70px}.thumb-image.active,.thumb-image:hover{border-color:#8a1a1a}.thumb-image.active{box-shadow:0 0 0 2px #8a1a1a33}.detail-info{padding:24px}.detail-info h2{color:#333;font-size:24px;line-height:1.3;margin-bottom:16px}.detail-price-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.detail-price{color:#8a1a1a;font-size:32px;font-weight:800}.price-unit{color:#666;font-size:16px;font-weight:500}.stock-badge{border-radius:20px;font-size:13px;font-weight:600;padding:6px 14px}.stock-badge.available{background:#e8f5e9;color:#2e7d32}.stock-badge.unavailable{background:#ffebee;color:#c62828}.detail-description{background:#f9f9f9;border-radius:8px;margin-bottom:24px;padding:16px}.detail-description h4{color:#555;font-size:15px;margin-bottom:10px}.detail-description p{color:#666;font-size:14px;line-height:1.7;margin:0}.add-to-cart-btn{background:linear-gradient(135deg,#8a1a1a,brown);border:none;border-radius:10px;box-shadow:0 4px 16px #8a1a1a4d;color:#fff;cursor:pointer;font-size:17px;font-weight:700;padding:16px;transition:all .3s;width:100%}.add-to-cart-btn:hover:not(:disabled){box-shadow:0 6px 20px #8a1a1a66;transform:translateY(-2px)}.add-to-cart-btn:disabled{background:#ccc;box-shadow:none;cursor:not-allowed}@media (max-width:768px){.exchange-container{padding:12px}.exchange-header{flex-direction:column;gap:12px;padding:16px;text-align:center}.product-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.modal-content{max-height:90vh;width:96%}.detail-info{padding:16px}.detail-price{font-size:28px}.gallery-main-image,.gallery-single-image{max-height:280px}}.modal-overlay{background:#00000080;z-index:10000}.lively-modal{box-shadow:0 10px 40px #0003;min-width:300px;padding:30px 40px}.toast-icon{margin-bottom:16px}.toast-message{font-size:18px}.exchange-container{background:radial-gradient(circle at 14% 16%,#d6a84f38,#0000 26%),radial-gradient(circle at 88% 14%,#7ab8c826,#0000 24%),linear-gradient(135deg,var(--color-paper),var(--color-paper-deep))}.exchange-header,.product-detail-content,.products-section{background:#fffdf6f5;border:var(--border-scroll);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.exchange-header h2,.section-title{color:var(--color-cinnabar-dark);font-family:var(--font-poem);letter-spacing:1px}.score-info{background:#fff0c9;border-radius:999px;color:var(--color-ink);padding:8px 14px}.score{color:var(--color-cinnabar)}.product-card{background:linear-gradient(180deg,#fffdf7,#fff8e8);border:1px solid #b8783038;border-radius:22px}.product-card:hover{border-color:var(--color-gold);box-shadow:0 14px 28px #60361229}.card-image-wrapper{background:radial-gradient(circle at 30% 20%,#fffc,#0000 24%),linear-gradient(135deg,#fff0c9,#d9efe9)}.product-name{color:var(--color-ink)}.product-price{color:var(--color-cinnabar)}.product-stock{border:1px solid #2f8f832e}.empty-products{background:linear-gradient(135deg,#fffdf6eb,#fff0c994);border:1px dashed #b878306b;border-radius:26px;color:var(--color-muted)}.add-to-cart-btn,.checkout-btn,.toast-modal .confirm-btn{background:linear-gradient(135deg,var(--color-cinnabar),var(--color-gold));border-radius:999px}.toast-modal{background:linear-gradient(180deg,#fffdf7,#fff8e8);border:var(--border-scroll);border-radius:24px}@media (max-width:768px){.exchange-container{padding-bottom:96px}.exchange-header{align-items:flex-start;gap:12px}}.cart-icon{align-items:center;background:linear-gradient(135deg,#8a1a1a,brown);border-radius:50%;bottom:20px;box-shadow:0 4px 12px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:28px;height:60px;justify-content:center;position:fixed;right:20px;transition:all .3s ease;width:60px;z-index:1000}.cart-icon:hover{box-shadow:0 6px 16px #0006;transform:scale(1.1)}.cart-icon-emoji{pointer-events:none}.cart-badge{align-items:center;background:#ff4757;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:12px;font-weight:700;height:24px;justify-content:center;position:absolute;right:-5px;top:-5px;width:24px}.cart-icon.empty{opacity:.3}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.cart-icon.not-empty{animation:bounce 2s infinite}.cart-overlay{animation:fadeIn .3s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.cart-panel{background:#fff;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;height:100vh;position:fixed;right:-380px;top:0;transition:right .3s cubic-bezier(.4,0,.2,1);width:380px;z-index:1001}.cart-panel.open{right:0}.cart-header{align-items:center;background:linear-gradient(135deg,#8a1a1a,brown);border-bottom:2px solid #f0f0f0;color:#fff;display:flex;justify-content:space-between;padding:20px}.cart-header h3{font-size:18px;font-weight:600;margin:0}.close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;transition:all .2s;width:32px}.close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.cart-body{flex:1 1;overflow-y:auto;padding:16px}.empty-cart{color:#999;padding:60px 20px;text-align:center}.empty-cart p{font-size:24px;margin-bottom:10px}.empty-cart span{font-size:14px}.cart-items{display:flex;flex-direction:column;gap:12px}.cart-item{align-items:flex-start;background:#fafafa;border:2px solid #e8e8e8;border-radius:8px;display:flex;gap:12px;padding:12px;transition:all .2s}.cart-item:hover{border-color:#d0d0d0;box-shadow:0 2px 8px #00000014}.cart-item.selected{background:#fff5f5;border-color:#8a1a1a}.item-checkbox{accent-color:#8a1a1a;cursor:pointer;height:18px;margin-top:24px;width:18px}.item-image{border:1px solid #eee;border-radius:6px;flex-shrink:0;height:60px;object-fit:cover;width:60px}.item-info{flex:1 1;min-width:0}.item-name{color:#333;font-size:14px;font-weight:600;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-desc{color:#888;font-size:12px;line-height:1.4;margin:0 0 6px}.item-price{color:#666;font-size:13px}.item-price strong{color:#8a1a1a;font-size:14px}.item-actions{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.quantity-control{background:#f5f5f5;border-radius:6px;gap:6px;padding:4px}.qty-btn,.quantity-control{align-items:center;display:flex}.qty-btn{background:#fff;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:16px;font-weight:700;height:26px;justify-content:center;transition:all .2s;width:26px}.qty-btn:hover:not(:disabled){background:#8a1a1a;color:#fff}.qty-btn:disabled{cursor:not-allowed;opacity:.3}.qty-value{color:#333;font-size:14px;font-weight:600;min-width:28px;text-align:center}.remove-btn{background:none;border:none;border-radius:4px;color:#ff4757;cursor:pointer;font-size:16px;padding:4px 8px;transition:all .2s}.remove-btn:hover{background:#ffe0e0;transform:scale(1.1)}.cart-footer{background:#fafafa;border-top:2px solid #f0f0f0;padding:16px 20px}.footer-summary{align-items:center;color:#666;display:flex;font-size:14px;justify-content:space-between;margin-bottom:12px}.total-price{color:#8a1a1a;font-size:16px}.total-price strong{font-size:20px}.checkout-btn{background:linear-gradient(135deg,#8a1a1a,brown);border:none;border-radius:8px;box-shadow:0 4px 12px #8a1a1a4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:all .3s;width:100%}.checkout-btn:hover:not(.disabled){box-shadow:0 6px 16px #8a1a1a66;transform:translateY(-2px)}.checkout-btn.disabled{background:#ccc;box-shadow:none;cursor:not-allowed}.cart-section-title{align-items:center;border-bottom:1px solid #eee;color:#555;display:flex;font-size:13px;font-weight:600;justify-content:space-between;margin-bottom:8px;padding:8px 4px}.off-stock-title{border-bottom-color:#f0f0f0;color:#999;margin-top:16px}.section-count{color:#999;font-size:12px;font-weight:400}.cart-item.off-stock-item{background:#f9f9f9;border-color:#e0e0e0;opacity:.55}.cart-item.off-stock-item:hover{border-color:#e0e0e0;box-shadow:none}.off-stock-image-wrapper{flex-shrink:0;position:relative}.off-stock-image{filter:grayscale(100%);opacity:.6}.off-stock-badge{background:#0009;border-radius:4px 0 4px 0;color:#fff;font-size:10px;left:0;padding:2px 6px;position:absolute;top:0}.off-stock-info{opacity:.7}.off-stock-name{color:#999!important;text-decoration:line-through}.off-stock-price{color:#bbb!important}.disabled-checkbox{cursor:not-allowed;opacity:.3}.address-overlay{animation:fadeIn .3s ease;background:#0009;bottom:0;left:0;position:fixed;right:0;top:0;z-index:2000}.address-modal{animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;left:50%;max-height:90vh;max-width:500px;overflow-y:auto;position:fixed;top:50%;transform:translate(-50%,-50%) scale(1);width:90%;z-index:2001}@keyframes modalSlideIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.modal-header{align-items:center;background:linear-gradient(135deg,#8a1a1a,brown);border-bottom:2px solid #f0f0f0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{font-size:20px;font-weight:600;margin:0}.modal-header .close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;transition:all .2s;width:32px}.modal-header .close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.order-summary{background:#fff9e6;border-bottom:1px solid #ffe8b3;padding:16px 24px}.order-summary h4{color:#856404;font-size:15px;margin:0 0 12px}.summary-items{margin-bottom:8px}.summary-item{border-bottom:1px dashed #e0e0e0;color:#666;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.summary-item:last-child{border-bottom:none}.summary-total{border-top:2px solid gold;color:#333;font-size:15px;padding-top:8px;text-align:right}.summary-total strong{color:#8a1a1a;font-size:18px}.address-form{padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group .required{color:#ff4757;margin-left:2px}.form-group input,.form-group textarea{border:2px solid #ddd;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#8a1a1a;box-shadow:0 0 0 3px #8a1a1a1a;outline:none}.form-group.has-error input,.form-group.has-error textarea{background:#fff5f5;border-color:#ff4757}.error-msg{color:#ff4757;display:block;font-size:12px;margin-top:4px}.form-actions{border-top:1px solid #eee;display:flex;gap:12px;margin-top:28px;padding-top:20px}.cancel-btn,.submit-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s}.cancel-btn{background:#f5f5f5}.cancel-btn:hover{background:#e8e8e8}.submit-btn{background:linear-gradient(135deg,#8a1a1a,brown);box-shadow:0 4px 12px #8a1a1a4d;color:#fff}.submit-btn:hover{box-shadow:0 6px 16px #8a1a1a66;transform:translateY(-2px)}.admin-container{background-color:beige;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path fill="%23e8d5b7" d="M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z"/></svg>');min-height:100vh;padding:20px}.admin-header{align-items:center;background-color:#fff;border:1px solid #e8d5b7;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:center;margin-bottom:20px;padding:20px;position:relative}.admin-header h2{color:#8a1a1a;font-size:24px}.admin-content{background-color:#fff;border:1px solid #e8d5b7;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.admin-tabs{background-color:#f9f9f9;border-bottom:1px solid #e8d5b7;display:flex}.admin-tab{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:16px;padding:15px;transition:all .3s ease}.admin-tab:hover{background-color:#f0f0f0;color:#8a1a1a}.admin-tab.active{background-color:#fff;border-bottom-color:#8a1a1a;color:#8a1a1a;font-weight:700}.admin-tab-content{padding:20px}.poems-section h3,.store-section h3,.users-section h3{color:#8a1a1a;font-size:18px;margin-bottom:20px}.poems-table,.store-table,.users-table{margin-bottom:20px;overflow-x:auto}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid #e8d5b7;padding:12px;text-align:left}th{color:#333;font-weight:700}th,tr:hover{background-color:#f9f9f9}.delete-btn{background-color:#ff6b6b;color:#fff}.delete-btn:hover{background-color:#ff5252}.下架-btn{background-color:#ff6b6b;color:#fff}.下架-btn:hover{background-color:#ff5252}.上架-btn{background-color:#4caf50;color:#fff}.上架-btn:hover{background-color:#45a049}.poem-actions,.store-actions{display:flex;gap:10px;margin-top:20px}@media (max-width:768px){.admin-container{padding:10px}.admin-header,.admin-tab-content{padding:15px}.admin-tabs{flex-direction:column}.admin-tab{text-align:center}.admin-tab,.admin-tab.active{border-bottom:1px solid #e8d5b7}.admin-tab.active{background-color:#f9f9f9}table{font-size:14px}td,th{padding:8px}.poem-actions,.store-actions{flex-direction:column}.poem-actions button,.store-actions button{width:100%}}.form-container{display:flex;flex-direction:column;gap:12px}.form-container input,.form-container textarea{border:1px solid #e8d5b7;border-radius:4px;font-size:14px;padding:10px}.form-container textarea{min-height:100px;resize:vertical}.form-container button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:10px 16px;transition:background-color .3s}.form-container button:first-of-type{background-color:#8a1a1a;color:#fff}.form-container button:first-of-type:hover{background-color:#7a1515}.form-container button:last-of-type{background-color:#f0f0f0;color:#666}.form-container button:last-of-type:hover{background-color:#e0e0e0}.add-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-bottom:12px;padding:10px 16px;transition:background-color .3s}.add-btn:hover{background-color:#45a049}.view-btn{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-right:5px;padding:5px 10px;transition:background-color .3s}.view-btn:hover{background-color:#1e88e5}.back-btn{background-color:#9e9e9e;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-bottom:12px;padding:8px 16px;transition:background-color .3s}.back-btn:hover{background-color:#757575}.edit-btn{background-color:#ff9800;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-right:5px;padding:5px 10px;transition:background-color .3s}.edit-btn:hover{background-color:#f57c00}.reset-btn{background-color:#673ab7;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:5px 10px;transition:background-color .3s}.reset-btn:hover{background-color:#5e35b1}.categories-table,.grades-table,.subitems-table,.textbooks-table,.units-table{border-collapse:collapse;margin-top:12px;width:100%}.modal-overlay{animation:fadeIn .3s ease;background-color:#0009;z-index:1000}.modal-content{background-color:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:80vh;max-width:500px;overflow-y:auto;padding:24px;width:90%}.lively-modal{animation:slideIn .4s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(135deg,#fff,#f8f9ff);max-width:600px;padding:32px}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#8a1a1a,#c43c3c);-webkit-background-clip:text;background-clip:text;color:#8a1a1a;font-size:22px;font-weight:700;margin-bottom:20px;margin-top:0;text-align:center}.cascade-section{background:#8a1a1a0d;border:1px solid #8a1a1a1a;border-radius:8px;margin-top:16px;padding:16px}.cascade-section h4{color:#8a1a1a;font-size:16px;margin-bottom:12px;margin-top:0}.cascade-section select{background-color:#fff;border:1px solid #e8d5b7;border-radius:6px;cursor:pointer;font-size:14px;margin-bottom:8px;padding:10px;transition:all .3s ease;width:100%}.cascade-section select:hover{border-color:#8a1a1a}.cascade-section select:focus{border-color:#8a1a1a;box-shadow:0 0 0 2px #8a1a1a33;outline:none}.cascade-section select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.cascade-divider{margin:16px 0;position:relative;text-align:center}.cascade-divider:before{background:linear-gradient(90deg,#0000,#e8d5b7,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.cascade-divider span{background:#f8f9ff;color:#8a1a1a;font-size:14px;font-weight:700;padding:0 12px;position:relative}.modal-actions{display:flex;gap:12px;justify-content:center;margin-top:16px}.lively-btn{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;min-width:100px;padding:12px 24px;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.confirm-btn{background:linear-gradient(135deg,#8a1a1a,#c43c3c);color:#fff}.confirm-btn:hover{background:linear-gradient(135deg,#7a1515,#b33535);box-shadow:0 4px 12px #8a1a1a4d;transform:translateY(-2px)}.cancel-btn{background:#f0f0f0;color:#666}.cancel-btn:hover{background:#e0e0e0;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.reset-password-modal{max-width:400px}.reset-user-info{color:#666;font-size:15px;text-align:center}.reset-user-info strong{color:#8a1a1a;font-weight:700}.reset-confirm-modal{max-width:450px}.confirm-message{color:#666;font-size:16px;line-height:1.6;text-align:center}.confirm-message strong{color:#8a1a1a;font-weight:700}.validation-modal{max-width:400px}.validation-message{color:#333;font-size:16px;line-height:1.6;padding:10px 0;text-align:center}.modal-actions .lively-btn{min-width:120px;text-align:center}.form-label{color:#666;font-size:14px;font-weight:600;margin-top:8px}.poem-tree{padding:10px}.tree-row{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:flex;padding:10px 12px;transition:all .2s}.tree-row:hover{background-color:#f9f9f9;border-color:#e8d5b7}.tree-row-textbook{background:linear-gradient(135deg,#f0f4ff,#e8edf8);font-weight:700}.tree-row-grade{background-color:#f8f8f8;font-weight:500}.tree-row-unit{background-color:#fff8f0}.tree-row-category{background:linear-gradient(135deg,#f0fff4,#e8f8ed);font-weight:700}.tree-row-subitem{background-color:#f8f8f8;font-weight:500}.tree-toggle{color:#888;font-size:12px;text-align:center;width:20px}.tree-icon{font-size:16px;margin-right:8px}.tree-label{border-radius:8px;font-size:11px;font-weight:600;margin-right:8px;padding:2px 6px;white-space:nowrap}.tree-row-grade .tree-label,.tree-row-textbook .tree-label,.tree-row-unit .tree-label{background-color:#e3f2fd;color:#1565c0}.tree-row-category .tree-label,.tree-row-subitem .tree-label{background-color:#f3e5f5;color:#6a1b9a}.tree-name{flex:1 1;font-size:14px}.tree-count{color:#888;font-size:12px;margin-left:8px}.tree-child{margin-left:24px}.tree-grandchild{margin-left:48px}.tree-poems{border-left:2px solid #e8d5b7;margin-left:24px;padding-left:16px}.tree-poem-row{align-items:center;border-radius:4px;display:flex;gap:12px;padding:8px 12px}.tree-poem-row:hover{background-color:beige}.tree-poem-title{flex:1 1;font-weight:500}.tree-poem-author{color:#888;font-size:13px}.tree-poem-actions{display:flex;gap:8px}.tree-poem-actions .small{font-size:12px;padding:3px 8px}.status-badge{border-radius:12px;font-size:12px;font-weight:700;padding:4px 8px}.status-on{background-color:#e8f5e9;color:#2e7d32}.status-off{background-color:#ffebee;color:#c62828}.status-btn{background-color:#673ab7;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;margin-right:5px;padding:5px 10px}.status-btn:hover{background-color:#5e35b1}.product-modal{max-width:450px}.modal-content input[type=number],.modal-content input[type=text],.modal-content textarea{border:1px solid #e8d5b7;border-radius:4px;box-sizing:border-box;font-size:14px;padding:10px;width:100%}.modal-content textarea{min-height:80px;resize:vertical}.delete-confirm-modal{max-width:400px}.delete-message{color:#333;font-size:16px;line-height:1.6;padding:10px 0;text-align:center}.lively-btn.confirm-btn.danger{background:linear-gradient(135deg,#e53935,#c62828);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.lively-btn.confirm-btn.danger:hover{background:linear-gradient(135deg,#c62828,#b71c1c);box-shadow:0 4px 12px #e539354d;transform:translateY(-2px)}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lively-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 15px 50px #0000004d;max-width:420px;min-width:360px;padding:35px 40px;text-align:center}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-modal{border-top:5px solid #8a1a1a}.login-icon{font-size:52px;margin-bottom:12px}.login-modal .modal-title{color:#333;font-size:22px;font-weight:700;margin:0 0 6px}.login-subtitle{color:#888;font-size:14px;margin:0 0 24px}.login-form{display:flex;flex-direction:column;gap:18px}.login-field{text-align:left}.login-field label{color:#555;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.login-field input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:15px;padding:12px 14px;transition:all .3s ease;width:100%}.login-field input:focus{border-color:#8a1a1a;box-shadow:0 0 0 3px #8a1a1a1a;outline:none}.login-btn{background:linear-gradient(135deg,#8a1a1a,brown);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:4px;padding:14px;transition:all .3s ease;width:100%}.login-btn:hover:not(:disabled){box-shadow:0 6px 20px #8a1a1a66;transform:translateY(-2px)}.login-btn:disabled{cursor:not-allowed;opacity:.7}.toast-modal.success{border-top:4px solid #4caf50}.toast-modal.error{border-top:4px solid #f44336}.toast-icon{font-size:48px;margin-bottom:12px}.toast-message{color:#333;font-size:17px;line-height:1.6;margin:0}.logout-btn{background:linear-gradient(135deg,#ff5722,#e64a19);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;position:absolute;right:20px;top:50%;transform:translateY(-50%);transition:all .3s ease}.logout-btn:hover{box-shadow:0 4px 12px #ff57224d;transform:translateY(-50%) scale(1.05)}.admin-login-wrapper{align-items:center;display:flex;justify-content:center;min-height:60vh}.admin-login-card{animation:slideUp .4s ease-out;background:#fff;border:1px solid #e8d5b7;border-radius:16px;box-shadow:0 10px 40px #00000026;max-width:400px;padding:40px;width:100%}.admin-login-title{color:#8a1a1a;font-size:24px;font-weight:700;margin:0 0 28px;text-align:center}.admin-login-form{display:flex;flex-direction:column;gap:16px}.admin-login-form input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:15px;padding:12px 14px;transition:all .3s ease;width:100%}.admin-login-form input:focus{border-color:#8a1a1a;box-shadow:0 0 0 3px #8a1a1a1a;outline:none}.admin-login-btn{background:linear-gradient(135deg,#8a1a1a,brown);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:2px;padding:14px;transition:all .3s ease;width:100%}.admin-login-btn:hover:not(:disabled){box-shadow:0 6px 20px #8a1a1a66;transform:translateY(-2px)}.admin-login-btn:disabled{cursor:not-allowed;opacity:.7}.admin-logout-btn{background:linear-gradient(135deg,#ff5722,#e64a19);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;position:absolute;right:20px;top:50%;transform:translateY(-50%);transition:all .3s ease}.admin-logout-btn:hover{box-shadow:0 4px 12px #ff57224d;transform:translateY(-50%) scale(1.05)}.admin-toast{animation:toastSlideIn .3s ease-out;border-radius:8px;box-shadow:0 4px 16px #00000026;font-size:15px;font-weight:600;left:50%;padding:12px 28px;position:fixed;top:20px;transform:translateX(-50%);z-index:10000}.admin-toast-success{background:linear-gradient(135deg,#4caf50,#43a047);color:#fff}.admin-toast-error{background:linear-gradient(135deg,#f44336,#e53935);color:#fff}@keyframes toastSlideIn{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.product-image-upload{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.product-image-file-input{display:none}.product-image-upload-btn{cursor:pointer;font-size:14px;margin:0;padding:8px 16px}.product-image-upload-btn.disabled,.product-image-upload-btn:disabled{cursor:not-allowed;opacity:.6}.product-image-upload-hint{color:#888;font-size:12px}.image-preview{margin-top:8px;text-align:center}.product-image-preview{border:2px solid #e8d5b7;border-radius:8px;max-height:150px;max-width:200px;object-fit:cover}.detail-images-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.detail-image-preview{border:2px solid #e8d5b7;border-radius:6px;height:80px;object-fit:cover;width:80px}.custom-confirm-modal{max-width:400px}.order-management{margin-top:20px}.order-management h3{color:#8a1a1a;margin-bottom:16px}.orders-table{border-collapse:collapse;width:100%}.ship-btn{background-color:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;margin-right:5px;padding:5px 10px;transition:background-color .3s}.ship-btn:hover{background-color:#1e88e5}.ship-modal{max-width:450px}.ship-order-info{color:#666;font-size:15px;margin-bottom:12px;text-align:center}.ship-order-info strong{color:#8a1a1a}.order-status-pending{background-color:#fff3e0;color:#f57c00}.order-status-pending,.order-status-shipped{border-radius:12px;font-size:12px;font-weight:700;padding:4px 8px}.order-status-shipped{background-color:#e3f2fd;color:#1976d2}.order-status-completed{background-color:#e8f5e9;border-radius:12px;color:#388e3c;font-size:12px;font-weight:700;padding:4px 8px}.bottom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffbeff0;border:1px solid #b8783047;border-radius:24px;box-shadow:0 12px 30px #6036122e;display:flex;gap:4px;left:50%;padding:8px;position:fixed;transform:translateX(-50%);z-index:1100}.bottom-nav--desktop{bottom:auto;top:14px;width:min(92vw,640px)}.bottom-nav--mobile{bottom:14px;top:auto;width:min(94vw,460px)}.bottom-nav-item{background:#0000;border:none;border-radius:18px;color:#5f3b1c;color:var(--color-ink,#5f3b1c);cursor:pointer;flex:1 1;font-size:12px;font-weight:700;min-height:56px;transition:transform .2s ease,background .2s ease,color .2s ease}.bottom-nav-item:active{transform:scale(.96)}.bottom-nav-item.active{background:linear-gradient(135deg,#b8322a,#d6a84f);background:linear-gradient(135deg,var(--color-cinnabar,#b8322a),var(--color-gold,#d6a84f));box-shadow:0 8px 18px #b8322a3d;color:#fff}.bottom-nav-icon{background:#ffffff8c;border-radius:50%;display:block;font-family:KaiTi,STKaiti,serif;font-family:var(--font-poem,KaiTi,STKaiti,serif);font-size:16px;height:28px;line-height:28px;margin:0 auto 3px;width:28px}@media (min-width:769px){body{padding-top:86px}}@media (max-width:768px){body{padding-bottom:86px}}.shutong-fab{align-items:center;background:#0000;border:none;cursor:grab;display:flex;flex-direction:column;gap:2px;height:88px;justify-content:flex-end;padding:0;position:fixed;touch-action:none;-webkit-user-select:none;user-select:none;width:72px;z-index:1000}.shutong-fab:active{cursor:grabbing}.shutong-fab-character{display:block;filter:drop-shadow(0 6px 12px rgba(184,50,42,.28));height:72px;transition:transform .2s ease;width:60px}.shutong-fab:hover .shutong-fab-character{transform:translateY(-3px) scale(1.04)}.shutong-fab-label{background:linear-gradient(135deg,#b8322a,#d6a84f);border-radius:999px;box-shadow:0 2px 8px #b8322a40;color:#fff8e8;font-size:11px;font-weight:700;line-height:1;padding:3px 8px}.App{display:flex;flex-direction:column;min-height:100vh}.page-title{border-bottom:2px solid #e8d5b7;color:var(--color-cinnabar-dark);font-size:24px;font-weight:700;margin-bottom:20px;padding:20px 0;text-align:center}.navbar{align-items:center;background:linear-gradient(135deg,var(--color-cinnabar),var(--color-cinnabar-dark));box-shadow:0 2px 4px #0000004d;color:#fff;display:flex;justify-content:space-between;padding:10px 20px}.navbar-brand{font-family:var(--font-poem);font-size:20px;font-weight:700}.navbar-links{display:flex;gap:20px}.navbar-link{color:#fff;font-size:16px;text-decoration:none;transition:color .3s ease}.navbar-link:hover{color:#ffe7a3}.main-content{flex:1 1;padding:20px}.footer{background:linear-gradient(135deg,var(--color-cinnabar),var(--color-cinnabar-dark));color:#fff;margin-top:auto;padding:10px 0;text-align:center}@media (max-width:768px){.navbar-links{display:none}.main-content{padding:10px}.page-title{font-size:20px;padding:15px 0}}
/*# sourceMappingURL=main.22280799.css.map*/