.app-card{display:flex;flex-direction:column;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a;transition:all .3s ease;cursor:pointer}.app-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.app-card:active{transform:translateY(-2px);box-shadow:0 2px 8px #0000001f}.app-card-image{position:relative;width:100%;padding-top:100%;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden}.app-card-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.app-card-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:3rem;font-weight:700}.app-card-badge{position:absolute;top:8px;right:8px;padding:4px 8px;background-color:#0009;color:#fff;border-radius:4px;font-size:.75rem;font-weight:500}.app-card-badge.paid{background-color:#faad14}.app-card-badge.login-required{background-color:#1890ff}.app-card-content{flex:1;padding:12px;display:flex;flex-direction:column}.app-card-title{margin:0 0 8px;font-size:.95rem;font-weight:600;color:var(--text-color, #262626);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-card-description{margin:0 0 8px;font-size:.8rem;color:var(--text-muted, #8c8c8c);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.app-card-footer{display:flex;gap:4px;margin-top:auto}.app-card-category{display:inline-block;padding:2px 6px;background-color:#f0f0f0;border-radius:3px;font-size:.7rem;color:var(--text-muted, #8c8c8c)}@media (max-width: 480px){.app-card-title{font-size:.85rem}.app-card-description{font-size:.75rem;-webkit-line-clamp:1}}.app-list{padding:1rem;background-color:var(--bg-color, #f5f5f5);min-height:100%}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;max-width:1200px;margin:0 auto}.loading-container,.error-container,.empty-container{display:flex;align-items:center;justify-content:center;min-height:300px;font-size:1rem;color:var(--text-muted, #8c8c8c)}.error-container{color:#ff4d4f}@media (min-width: 768px){.app-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1.5rem;padding:1.5rem}.app-list{padding:0}}@media (min-width: 1024px){.app-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2rem;padding:2rem}}@media (max-width: 480px){.app-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}.app-list{padding:.75rem}}@media (max-width: 360px){.app-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.app-list{padding:.5rem}}.stats-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.back-btn{padding:.5rem 1rem;background:#fff3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;margin-bottom:2rem}.stats-page h1{color:#fff;text-align:center;margin-bottom:2rem}.stats-loading,.stats-error{color:#fff;text-align:center;font-size:1.2rem;margin-top:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:#fff;padding:2rem;border-radius:12px;text-align:center;box-shadow:0 4px 15px #0000001a}.stat-value{font-size:2.5rem;font-weight:700;color:#667eea;margin-bottom:.5rem}.stat-label{font-size:1rem;color:#666}.app-stats{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 15px #0000001a}.app-stats h2{margin:0 0 1.5rem;color:#333}.app-stats-list{display:flex;flex-direction:column;gap:1rem}.app-stat-item{display:flex;justify-content:space-between;padding:1rem;background:#f5f5f5;border-radius:8px}.app-name{font-weight:600;color:#333}.app-count{color:#667eea;font-weight:700}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:2rem}}.help-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.help-modal-content{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.help-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.help-modal-header h2{margin:0;font-size:20px;color:#333}.help-modal-close{background:none;border:none;font-size:32px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1}.help-modal-close:hover{color:#333}.help-modal-body{padding:20px;overflow-y:auto;line-height:1.6;color:#555}.help-modal-body h3{color:#333;margin-top:20px;margin-bottom:10px;font-size:18px}.help-modal-body h3:first-child{margin-top:0}.help-modal-body p{margin:10px 0}.help-modal-body ul,.help-modal-body ol{margin:10px 0;padding-left:24px}.help-modal-body li{margin:5px 0}.help-modal-body strong{color:#333;font-weight:600}.help-modal-body code{background:#f5f5f5;padding:2px 6px;border-radius:3px;font-family:monospace;font-size:.9em}.hand-drawing{display:flex;flex-direction:column;height:100vh;background-color:#000}.drawing-container{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.canvas-wrapper{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.drawing-canvas,.drawing-canvas-overlay{width:100%;height:100%;cursor:crosshair;display:block;object-fit:contain;position:absolute;top:0;left:0}.hidden-video{display:none}.pinch-indicator{position:absolute;top:20px;right:20px;background-color:#000000b3;color:#fff;padding:10px 20px;border-radius:20px;font-size:.9rem;font-weight:600;z-index:100;transition:all .2s ease;border:2px solid #666}.pinch-indicator.active{background-color:#4caf50cc;border-color:#4caf50;box-shadow:0 0 10px #4caf5080}.debug-info{position:absolute;top:70px;right:20px;background-color:#000000b3;color:#fff;padding:10px 15px;border-radius:8px;font-size:.85rem;z-index:100;line-height:1.5}.debug-info p{margin:2px 0}.loading-message,.error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;text-align:center;padding:2rem}.error-message{color:#ff6b6b}.error-hint{font-size:.9rem;margin-top:1rem;color:#ffb3b3}.color-palette{background-color:#000000e6;padding:1rem;border-top:1px solid #333;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.color-palette label{color:#fff;font-weight:600;white-space:nowrap}.color-options{display:flex;gap:.5rem;flex-wrap:wrap}.color-btn{width:30px;height:30px;border:2px solid transparent;border-radius:4px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.color-btn:hover{transform:scale(1.1);border-color:#fff}.color-btn.selected{border-color:#fff;box-shadow:0 0 8px #ffffff80;transform:scale(1.15)}.brush-size-control{display:flex;align-items:center;gap:.5rem}.brush-size-control label{color:#fff;font-weight:600;white-space:nowrap;font-size:.9rem}.brush-slider{width:100px;height:6px;border-radius:3px;background:linear-gradient(to right,#ff4d4f,#1890ff);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.brush-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 2px 4px #0000004d}.brush-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;cursor:pointer;border:none;box-shadow:0 2px 4px #0000004d}.drawing-controls{background-color:#000c;padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid #333;flex-wrap:wrap}.clear-btn{padding:.5rem 1rem;background-color:#ff4d4f;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .3s ease;white-space:nowrap}.clear-btn:hover{background-color:#ff7875;transform:translateY(-2px)}.save-btn{padding:.5rem 1rem;background-color:#52c41a;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .3s ease;white-space:nowrap}.save-btn:hover{background-color:#73d13d;transform:translateY(-2px)}.back-btn{padding:.5rem 1rem;background-color:#1890ff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .3s ease;white-space:nowrap}.back-btn:hover{background-color:#40a9ff;transform:translateY(-2px)}.help-btn{padding:.5rem 1rem;background-color:#faad14;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .3s ease;white-space:nowrap}.help-btn:hover{background-color:#ffc53d;transform:translateY(-2px)}.drawing-info{color:#fff;font-size:.9rem;flex:1}.hint{color:#aaa;font-size:.85rem}@media (max-width: 768px){.color-palette{flex-direction:column;align-items:flex-start;gap:.5rem}.color-options{width:100%}.brush-size-control{width:100%;flex-direction:column;align-items:flex-start}.brush-slider{width:100%}.drawing-controls{flex-direction:column;align-items:stretch}.clear-btn,.save-btn,.back-btn,.drawing-info{width:100%}}.drawing-info p{margin:.25rem 0}.hint{color:#999;font-size:.8rem}@media (max-width: 768px){.drawing-controls{flex-direction:column;align-items:stretch}.clear-btn{width:100%}.drawing-info{text-align:center}.drawing-info p{font-size:.8rem}}@media (max-width: 480px){.drawing-controls{padding:.75rem}.clear-btn{padding:.4rem .8rem;font-size:.9rem}.drawing-info{font-size:.75rem}.hint{font-size:.7rem}}.toolbar{background-color:#000000e6;padding:1rem;border-top:1px solid #333;z-index:4;position:relative;max-height:40vh;overflow-y:auto}.draw-mode-selector{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #444}.draw-mode-selector label{color:#fff;font-weight:600;white-space:nowrap}.mode-options{display:flex;gap:.5rem}.mode-btn{padding:.5rem 1rem;background-color:#ffffff1a;color:#fff;border:2px solid transparent;border-radius:4px;cursor:pointer;font-weight:600;transition:all .2s ease;white-space:nowrap}.mode-btn:hover{background-color:#fff3;transform:translateY(-2px)}.mode-btn.selected{background-color:#1890ff;border-color:#40a9ff;box-shadow:0 0 8px #1890ff80}.eraser-btn{background:linear-gradient(135deg,#f0f0f0,#d0d0d0)!important;font-size:18px;display:flex;align-items:center;justify-content:center;border:2px solid #999!important}.eraser-btn.selected{background:linear-gradient(135deg,#fff,#e0e0e0)!important;border-color:#fff!important;box-shadow:0 0 8px #fffc!important}.stencils{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.stencils label{color:#fff;font-weight:600;white-space:nowrap}.stencil-options{display:flex;gap:.5rem;flex-wrap:wrap}.stencil-btn{width:40px;height:40px;background-color:#ffffff1a;border:2px solid transparent;border-radius:4px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:#fff;padding:5px}.stencil-btn:hover{transform:scale(1.1);border-color:#fff;background-color:#fff3}.stencil-btn.selected{border-color:#1890ff;box-shadow:0 0 8px #1890ff80;transform:scale(1.15);background-color:#1890ff4d}.stencil-btn svg{width:100%;height:100%}.feedback-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.feedback-modal-content{background:#fff;padding:2rem;border-radius:12px;max-width:500px;width:90%;position:relative}.feedback-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999}.feedback-modal-content h2{margin:0 0 1rem;color:#333}.feedback-textarea{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;resize:vertical;margin-bottom:1rem;font-family:inherit}.feedback-submit-btn{width:100%;padding:.75rem;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}.feedback-submit-btn:disabled{opacity:.5;cursor:not-allowed}.share-modal{max-width:500px;width:90%}.share-info{text-align:center;padding:1.5rem 0}.share-icon{width:80px;height:80px;margin:0 auto 1rem;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.share-icon img{width:100%;height:100%;object-fit:cover}.default-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(135deg,#667eea,#764ba2)}.share-info h3{margin:0 0 .5rem;color:#333;font-size:1.5rem}.share-description{color:#666;margin:0;line-height:1.6}.share-description strong{color:gold;font-weight:700}.share-actions{display:flex;gap:1rem;margin:1.5rem 0}.share-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:.9rem}.share-btn .btn-icon{font-size:2rem}.wechat-btn{background:linear-gradient(135deg,#07c160,#00d976);color:#fff}.wechat-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #07c1604d}.copy-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.copy-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.share-link{margin:1rem 0}.share-link input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;text-align:center;background:#f5f5f5;color:#666}.share-link input:focus{outline:none;border-color:#667eea;background:#fff}.share-tips{margin-top:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.share-tips h4{margin:0 0 .75rem;color:#333;font-size:1rem}.share-tips ul{margin:0;padding-left:1.5rem;color:#666;font-size:.9rem;line-height:1.8}.share-tips li{margin-bottom:.5rem}@media (max-width: 768px){.share-modal{max-width:95%}.share-icon{width:60px;height:60px}.share-info h3{font-size:1.2rem}.share-actions{flex-direction:column}.share-btn{flex-direction:row;justify-content:center}.share-btn .btn-icon{font-size:1.5rem}}.goal-pledge{min-height:100vh;background:linear-gradient(135deg,#ffecd2,#fcb69f);color:#333;position:relative}.back-button{position:absolute;top:20px;left:20px;padding:12px 24px;background:#ff6b6b;color:#fff;border:none;border-radius:25px;font-size:16px;font-weight:700;cursor:pointer;z-index:100;box-shadow:0 4px 15px #ff6b6b4d;transition:all .3s}.back-button:hover{background:#ff5252;transform:translateY(-2px);box-shadow:0 6px 20px #ff6b6b66}.feedback-button{position:absolute;top:20px;right:140px;padding:12px 24px;background:#2196f3;color:#fff;border:none;border-radius:25px;font-size:16px;font-weight:700;cursor:pointer;z-index:100;box-shadow:0 4px 15px #2196f34d;transition:all .3s}.feedback-button:hover{background:#1976d2;transform:translateY(-2px);box-shadow:0 6px 20px #2196f366}.help-button{position:absolute;top:20px;right:20px;padding:12px 24px;background:#4caf50;color:#fff;border:none;border-radius:25px;font-size:16px;font-weight:700;cursor:pointer;z-index:100;box-shadow:0 4px 15px #4caf504d;transition:all .3s}.help-button:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:20px;padding:40px;max-width:600px;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 10px 40px #0003}.modal-close{position:absolute;top:15px;right:15px;width:35px;height:35px;background:#ff6b6b;color:#fff;border:none;border-radius:50%;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}.modal-close:hover{background:#ff5252;transform:scale(1.1)}.modal-title{font-size:24px;font-weight:700;margin-bottom:20px;color:#ff6b6b;text-align:center}.help-content{text-align:left}.help-content section{margin-bottom:25px}.help-content h3{font-size:18px;font-weight:700;margin-bottom:12px;color:#333}.help-content p{font-size:15px;line-height:1.8;color:#666;margin-bottom:10px}.help-content ol,.help-content ul{padding-left:20px;margin:10px 0}.help-content li{font-size:14px;line-height:1.8;color:#666;margin-bottom:8px}.help-content strong{color:#333;font-weight:600}.pledge-container{max-width:800px;margin:0 auto;padding:80px 20px 40px;text-align:center}.main-title{font-size:48px;font-weight:900;margin:0 0 60px;letter-spacing:-1px;color:#ff6b6b;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.step-wrapper{position:relative;min-height:400px;margin-bottom:60px;display:flex;justify-content:center;align-items:flex-start}.step-back{position:absolute;left:-60px;top:50%;transform:translateY(-50%);width:50px;height:50px;background:#ff8a80;color:#fff;border:none;font-size:24px;cursor:pointer;border-radius:50%;box-shadow:0 4px 15px #ff8a804d;transition:all .3s}.step-back:hover{background:#ff6b6b;transform:translateY(-50%) scale(1.1)}.step-card{position:absolute;left:0;top:0;width:100%;max-width:500px;margin:0 auto;background:#fff;padding:40px;border:none;border-radius:30px;box-shadow:0 10px 40px #0000001a;transition:all .5s ease;opacity:0;pointer-events:none}.step-card.active{opacity:1;pointer-events:all;position:relative}.step-card.left{transform:translate(-150%);opacity:0}.step-card.right{transform:translate(50%);opacity:0}.goal-input,.date-input,.amount-select,.supervisor-select,.contact-input,.refund-select,.account-input{width:100%;padding:15px 20px;font-size:18px;border:2px solid #ffd4d4;border-radius:15px;margin-bottom:20px;font-family:inherit;background:#fff;transition:all .3s}.goal-input:focus,.date-input:focus,.amount-select:focus,.supervisor-select:focus,.contact-input:focus,.refund-select:focus,.account-input:focus{outline:none;border-color:#ff8a80;box-shadow:0 0 0 3px #ff8a801a}.goal-input::placeholder,.contact-input::placeholder,.account-input::placeholder{color:#999}.confirm-btn{width:100%;padding:18px;background:linear-gradient(135deg,#ff6b6b,#ff8a80);color:#fff;border:none;border-radius:15px;font-size:20px;font-weight:700;cursor:pointer;box-shadow:0 6px 20px #ff6b6b4d;transition:all .3s}.confirm-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ff6b6b66}.days-remaining{margin-top:10px;font-size:16px;color:#666}.refund-notice{font-size:16px;font-weight:700;margin-bottom:20px;line-height:1.5}.payment-options{display:flex;gap:10px;margin-bottom:20px}.payment-btn{flex:1;padding:15px;background:#fff;border:2px solid #ffd4d4;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s}.payment-btn:hover{background:#fff5f5;border-color:#ff8a80;transform:translateY(-2px)}.summary{text-align:left;margin-bottom:30px}.summary h3{font-size:24px;margin-bottom:20px;text-align:center}.summary p{font-size:16px;margin:10px 0;line-height:1.6}.success-message{padding:20px}.success-message h2{font-size:28px;margin-bottom:20px}.notice{font-size:16px;line-height:1.8;margin:20px 0}.done-btn{padding:15px 40px;background:linear-gradient(135deg,#ff6b6b,#ff8a80);color:#fff;border:none;border-radius:25px;font-size:18px;font-weight:700;cursor:pointer;margin-top:20px;box-shadow:0 6px 20px #ff6b6b4d;transition:all .3s}.done-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ff6b6b66}.examples-section,.pledges-section{margin:60px 0;text-align:left}.examples-section h3,.pledges-section h3{font-size:24px;font-weight:700;margin-bottom:20px}.examples-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.example-item{padding:15px;background:#fff;border:2px solid #ffd4d4;border-radius:15px;font-size:16px;transition:all .3s;box-shadow:0 2px 10px #0000000d}.example-item:hover{background:#fff5f5;border-color:#ff8a80;transform:translateY(-3px);box-shadow:0 6px 20px #ff6b6b33}.pledge-item{padding:20px;background:#fff;border-left:4px solid #ff8a80;border-radius:12px;margin-bottom:15px;font-size:16px;box-shadow:0 2px 10px #0000000d;transition:all .3s}.pledge-item:hover{background:#fff5f5;transform:translate(5px);box-shadow:0 4px 15px #ff6b6b26}.stats-section{margin-top:60px;padding:20px;background:linear-gradient(135deg,#ff6b6b,#ff8a80);color:#fff;border-radius:15px;font-size:18px;font-weight:700;box-shadow:0 6px 20px #ff6b6b4d}.my-pledges-section{margin:-20px 0 40px;text-align:left}.my-pledges-section h3{font-size:24px;font-weight:700;margin-bottom:20px;text-align:center}.pledges-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.pledge-card{background:#fff;border-radius:15px;padding:20px;box-shadow:0 4px 15px #00000014;transition:all .3s;position:relative}.pledge-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #ff6b6b33}.pledge-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.status-actions{display:flex;gap:8px;align-items:center}.pay-btn{padding:4px 12px;background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;border:none;border-radius:12px;font-size:12px;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 2px 6px #4caf504d}.pay-btn:hover{background:linear-gradient(135deg,#45a049,#5cb85c);transform:translateY(-1px);box-shadow:0 3px 10px #4caf5066}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700}.status-badge.paid{background:#d4edda;color:#155724}.status-badge.pending{background:#fff3cd;color:#856404}.delete-icon-btn{width:26px;height:26px;background:#ff6b6b;color:#fff;border:none;border-radius:50%;font-size:18px;line-height:1;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.delete-icon-btn:hover{background:#ff5252;transform:scale(1.1)}.pledge-card-content p{font-size:14px;margin:8px 0;line-height:1.6;color:#333}.pledge-card-content p strong{color:#666}@media (max-width: 768px){.back-button{top:10px;left:10px;padding:6px 12px;font-size:13px}.feedback-button{top:10px;right:90px;padding:6px 12px;font-size:13px}.help-button{top:10px;right:10px;padding:6px 12px;font-size:13px}.main-title{font-size:28px;margin-bottom:30px}.step-wrapper{min-height:320px;margin-top:20px}.step-back{left:5px;top:50%;transform:translateY(-50%);width:36px;height:36px;font-size:20px;z-index:10}.step-card{padding:20px 15px;max-width:85%}.modal-content{padding:20px 15px;max-width:90%;max-height:75vh}.goal-input,.date-input,.amount-select,.supervisor-select,.contact-input,.refund-select,.account-input{padding:10px 12px;font-size:15px;margin-bottom:12px}.confirm-btn{padding:12px;font-size:15px}.examples-list{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.payment-options{flex-direction:column}.pledges-grid{grid-template-columns:1fr}}.verify-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f5f5;padding:20px}.verify-loading,.verify-error{font-size:24px;color:#666}.verify-card{background:#fff;padding:40px;border:3px solid #000;max-width:600px;width:100%;text-align:center}.verify-card h1{font-size:32px;font-weight:900;margin:0 0 30px}.pledge-info{text-align:left;background:#f5f5f5;padding:20px;margin:20px 0;border-left:4px solid #000}.pledge-info p{margin:10px 0;font-size:16px;line-height:1.6}.verify-question{font-size:24px;font-weight:700;margin:30px 0 20px}.verify-buttons{display:flex;gap:20px;margin:30px 0}.btn-completed,.btn-failed{flex:1;padding:20px;font-size:20px;font-weight:700;border:3px solid #000;cursor:pointer;transition:all .3s}.btn-completed{background:#4caf50;color:#fff}.btn-completed:hover{background:#45a049;transform:translateY(-2px)}.btn-failed{background:#f44336;color:#fff}.btn-failed:hover{background:#da190b;transform:translateY(-2px)}.verify-notice{font-size:14px;color:#666;line-height:1.6;margin-top:20px}.verify-success{padding:40px}.success-icon{font-size:80px;margin-bottom:20px}.verify-success h2{font-size:28px;margin-bottom:20px}.verify-success p{font-size:18px;color:#666}@media (max-width: 768px){.verify-card{padding:30px 20px}.verify-card h1{font-size:24px}.verify-buttons{flex-direction:column}.btn-completed,.btn-failed{padding:15px;font-size:18px}}.dictation-app{display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.dictation-main{display:flex;flex:1;overflow:hidden;min-height:0}.dictation-content-area{flex:1;overflow-y:auto}.dictation-header{display:flex;align-items:center;padding:1rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);gap:1rem}.dictation-header h1{flex:1;text-align:center;color:#fff;margin:0;font-size:1.5rem}.header-actions{display:flex;gap:.5rem}.back-btn,.mode-btn,.settings-btn,.help-btn{padding:.5rem 1rem;background:#fff3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;white-space:nowrap}.dictation-loading{flex:1;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}.dictation-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.dictation-empty h2{color:#fff;margin:0}.dictation-empty textarea{width:100%;max-width:500px;padding:1rem;border-radius:8px;border:none;font-size:1rem;resize:vertical}.add-btn,.start-btn,.auto-play-btn,.stop-btn,.submit-btn{padding:.75rem 2rem;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer}.start-btn{background:#2196f3}.stop-btn{background:#f44336}.dictation-content{display:flex;flex-direction:column;padding:2rem;gap:2rem;min-height:100%}.dictation-display{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem}.word-counter{color:#fff;font-size:1.2rem;font-weight:600}.word-display{width:300px;height:300px;background:#fff;border-radius:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 30px #0000004d;transition:transform .2s}.word-display:active{transform:scale(.95)}.word-text{font-size:3rem;font-weight:700;color:#333;text-align:center;padding:2rem;word-break:break-all}.speaker-icon{font-size:6rem}.toggle-btn{padding:.75rem 2rem;background:#ffffff4d;color:#fff;border:2px solid white;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer}.dictation-controls{display:flex;gap:1rem;justify-content:center}.nav-btn{padding:.75rem 2rem;background:#fff3;color:#fff;border:2px solid white;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.auto-play-controls{display:flex;justify-content:center}.review-mode,.library-mode{padding:2rem;overflow-y:auto}.library-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.library-header h2{margin:0}.date-filter{background:#ffffff1a;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.date-inputs{display:flex;align-items:center;gap:.75rem;flex-wrap:nowrap}.date-inputs span{color:#fff;font-weight:600}.date-input{padding:.5rem;border:2px solid rgba(255,255,255,.3);border-radius:4px;background:#ffffffe6;font-size:.9rem;flex:1;min-width:120px}.add-task-btn{padding:.5rem 1rem;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:600;white-space:nowrap;flex-shrink:0}.close-btn{padding:.5rem 1rem;background:#fff3;color:#fff;border:2px solid white;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600}.review-mode h2,.library-mode h2{color:#fff;text-align:center;margin-bottom:2rem}.library-list{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}.library-item{background:#fff;padding:1rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:1rem}.library-word-info{display:flex;flex-direction:column;gap:.25rem}.library-date{font-size:.8rem;color:#999}.library-item.today-task{border-left:4px solid #2196f3;background:#e3f2fd}.today-badge{padding:.25rem .5rem;background:#2196f3;color:#fff;border-radius:4px;font-size:.8rem;font-weight:600}.library-actions{display:flex;gap:.5rem;align-items:center}.review-dots{display:flex;gap:3px;align-items:center}.review-dots .dot{width:8px;height:8px;border-radius:50%;display:inline-block}.review-dots .dot.unmastered{background:#ffc107}.review-dots .dot.mastered{background:#4caf50}.delete-btn{padding:.25rem .75rem;background:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.mastery-percent{font-size:.9rem;color:#666;font-weight:600}.library-word{font-size:1.1rem;color:#333}.library-status{padding:.25rem .75rem;border-radius:4px;font-size:.9rem;background:#ff9800;color:#fff}.library-status.mastered{background:#4caf50}.schedule-panel{width:280px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem;overflow-y:auto;border-left:1px solid rgba(255,255,255,.2)}.schedule-panel h3{color:#fff;margin:0 0 1rem;font-size:1.2rem}.schedule-list{display:flex;flex-direction:column;gap:.75rem}.schedule-item{background:#ffffff26;padding:.75rem;border-radius:6px;border-left:3px solid #4caf50;cursor:pointer;transition:background .2s}.schedule-item:hover{background:#ffffff40}.schedule-date{color:#fff;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.schedule-count{color:#ffffffe6;font-size:.85rem}.schedule-empty{color:#ffffffb3;text-align:center;padding:2rem 0;font-size:.9rem}.review-list{max-width:600px;margin:0 auto 2rem;display:flex;flex-direction:column;gap:1rem}.review-item{background:#fff;padding:1rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.review-word{font-size:1.2rem;font-weight:600;color:#333}.review-actions{display:flex;gap:.5rem}.review-btn{padding:.5rem 1rem;border:2px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:.9rem}.review-btn.active{background:#ff9800;color:#fff;border-color:#ff9800}.review-btn.mastered.active{background:#4caf50;border-color:#4caf50}.submit-btn{display:block;margin:0 auto}.submit-btn:disabled{opacity:.5;cursor:not-allowed;background:#9e9e9e}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:12px;max-width:400px;width:90%}.settings-modal h2{margin:0 0 1.5rem;color:#333;text-align:center}.setting-group{margin-bottom:1.5rem}.setting-group label{display:block;margin-bottom:.5rem;color:#666;font-weight:600}.setting-group select{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:4px;font-size:1rem}.modal-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.confirm-btn{padding:.75rem 2rem;background:#2196f3;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}@media (max-width: 768px){.dictation-app{min-height:100vh}.dictation-main{flex-direction:column;flex:1;min-height:0}.dictation-content-area{flex:1;min-height:0;overflow-y:auto}.dictation-empty{min-height:200px}.dictation-content{min-height:400px}.schedule-panel{width:100%;max-height:200px;border-left:none;border-top:1px solid rgba(255,255,255,.2)}.word-display{width:200px;height:200px}.word-text{font-size:1.5rem}.speaker-icon{font-size:3rem}.dictation-header{padding:.75rem;flex-wrap:wrap}.dictation-header h1{font-size:1.2rem}.back-btn,.mode-btn,.settings-btn,.help-btn{padding:.4rem .8rem;font-size:.85rem}.review-item,.library-item{flex-direction:column;gap:.5rem;align-items:stretch}.review-actions,.library-actions{justify-content:center}}@media (max-width: 768px){.dictation-header{flex-wrap:wrap;padding:.75rem}.dictation-header h1{font-size:1.2rem}.header-actions{flex-wrap:wrap;gap:.3rem}.voice-select,.token-balance,.back-btn,.mode-btn,.settings-btn,.help-btn{padding:.4rem .8rem;font-size:.85rem}}@media (max-width: 375px){.dictation-header{padding:.5rem}.dictation-header h1{font-size:1rem;width:100%;order:-1}.header-actions{width:100%;justify-content:space-between}.voice-select,.token-balance{font-size:.8rem;padding:.3rem .6rem}}.single-column{flex-direction:column}.single-column .dictation-content-area{width:100%;max-width:1200px;margin:0 auto}.scene-title{text-align:center;color:#fff;padding:2rem 1rem 1rem}.scene-title h2{margin:0 0 .5rem;font-size:2rem}.scene-subtitle{margin:0;font-size:1.1rem;opacity:.9}.scenes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;padding:2rem;max-width:1200px;margin:0 auto}.scene-card{background:#fff;border-radius:12px;padding:1.5rem;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #0000001a}.scene-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.scene-card.locked{opacity:.6;cursor:not-allowed}.scene-card.locked:hover{transform:none}.scene-card.completed{border:2px solid #4caf50}.scene-emoji{font-size:3rem;text-align:center;margin-bottom:1rem}.scene-info h3{margin:0 0 .5rem;font-size:1.3rem;color:#333;text-align:center}.scene-location{color:#666;font-size:.95rem;text-align:center;margin-bottom:1rem}.scene-stats{display:flex;justify-content:center;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.9rem}.status-badge{padding:.25rem .75rem;background:#ff9800;color:#fff;border-radius:4px;font-size:.85rem}.status-badge.completed{background:#4caf50}.locked-badge{padding:.25rem .75rem;background:#9e9e9e;color:#fff;border-radius:4px;font-size:.85rem}.stars-display{color:#fff;font-size:1.1rem;font-weight:600;padding:.5rem 1rem;background:#fff3;border-radius:4px}.stars-display.clickable{cursor:pointer;transition:all .2s}.stars-display.clickable:hover{background:#ffffff4d;transform:scale(1.05)}.model-select{padding:.5rem 1rem;border:2px solid rgba(255,255,255,.3);border-radius:4px;background:#ffffffe6;font-size:.9rem;cursor:pointer;color:#333;font-weight:600}.model-select:focus{outline:none;border-color:#2196f3}.conversation-container{position:relative;height:calc(100vh - 280px);min-height:400px;max-height:600px;overflow:hidden;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin:0 auto 1rem;max-width:600px;width:100%}.conversation-area{height:100%;overflow-y:auto;overflow-x:hidden;padding:2rem;scroll-behavior:smooth}.conversation-area::-webkit-scrollbar{width:8px}.conversation-area::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.conversation-area::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.conversation-area::-webkit-scrollbar-thumb:hover{background:#555}.welcome-message{text-align:center;color:#999;font-size:1.1rem;padding:4rem 2rem}.message{margin-bottom:1rem;padding:1rem;border-radius:8px;line-height:1.6}.user-message{background:#e3f2fd;border-left:4px solid #2196f3}.ai-message{background:#f1f8e9;border-left:4px solid #4caf50}.message strong{display:block;margin-bottom:.5rem;color:#666;font-size:.9rem}.unknown-words{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.1)}.unknown-words-title{font-size:.85rem;color:#666;margin-bottom:.5rem;font-weight:600}.unknown-words-list{display:flex;flex-wrap:wrap;gap:.5rem}.unknown-word-item{display:inline-block;padding:.25rem .75rem;background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:4px;font-size:.85rem;color:#333}.unknown-word-item strong{display:inline;color:#ff9800;font-weight:600;margin:0}.highlighted-word{background:linear-gradient(to bottom,transparent 50%,rgba(255,152,0,.3) 50%);font-weight:600;color:#ff6f00;padding:0 2px;cursor:help;position:relative;transition:all .2s}.highlighted-word:hover{background:#ff980066;color:#e65100}.voice-controls-fixed{position:sticky;bottom:0;left:0;right:0;display:flex;justify-content:center;padding:1.5rem;background:linear-gradient(to top,#fff 80%,#fff0);z-index:10}.voice-btn{padding:1.5rem 3rem;background:#2196f3;color:#fff;border:none;border-radius:50px;font-size:1.3rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #2196f34d}.voice-btn:hover:not(:disabled){background:#1976d2;transform:scale(1.05)}.voice-btn:disabled{opacity:.6;cursor:not-allowed}.voice-btn.listening{background:#f44336;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 4px 12px #f443364d}50%{transform:scale(1.05);box-shadow:0 6px 20px #f4433680}}.star-animation{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:starBounce 2s ease-out;pointer-events:none;z-index:100}.message.partial{opacity:.7;font-style:italic;border-left:3px solid #2196f3;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:.7;transform:translateY(0)}}.star-icon{font-size:4rem;animation:starRotate 2s ease-out}.star-text{font-size:2rem;font-weight:700;color:#ff9800;animation:starFade 2s ease-out}@keyframes starBounce{0%{transform:translate(-50%,-50%) scale(0);opacity:0}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}to{transform:translate(-50%,-100%) scale(1);opacity:0}}@keyframes starRotate{0%{transform:rotate(0) scale(0)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(360deg) scale(1)}}@keyframes starFade{0%,50%{opacity:1}to{opacity:0}}@media (min-width: 769px) and (max-width: 1024px){.scenes-grid{grid-template-columns:repeat(2,1fr);padding:1.5rem}.scene-title h2{font-size:1.8rem}.conversation-container{max-width:500px;height:calc(100vh - 260px)}}@media (max-width: 768px){.scenes-grid{grid-template-columns:1fr;padding:.75rem;gap:.75rem}.scene-title{padding:.75rem}.scene-title h2{font-size:1.3rem}.scene-subtitle{font-size:.95rem}.scene-card{padding:1rem}.scene-emoji{font-size:2.5rem}.scene-info h3{font-size:1.1rem}.dictation-header{padding:.5rem .75rem}.dictation-header h1{font-size:1.1rem}.back-btn,.help-btn{padding:.4rem .75rem;font-size:.9rem}.stars-display{font-size:.9rem;padding:.4rem .75rem}.single-column .dictation-content-area{padding:.25rem}.conversation-container{border-radius:8px;max-width:100%}.conversation-area{padding:.75rem}.message{padding:.6rem;font-size:.9rem;margin-bottom:.5rem}.message strong{font-size:.85rem}.unknown-words{margin-top:.5rem;padding-top:.5rem}.unknown-words-title{font-size:.8rem}.unknown-word-item{font-size:.8rem;padding:.2rem .6rem}.highlighted-word{font-size:.9rem}.single-column .voice-controls-fixed{padding:.5rem}.voice-btn{padding:.9rem 2rem;font-size:1rem;width:100%;max-width:300px}.welcome-message{padding:1.5rem .75rem;font-size:.95rem}.star-stats-modal{width:95%;max-height:70vh}.modal-header{padding:1rem}.modal-header h2{font-size:1.2rem}.modal-body{padding:1rem}.daily-stat-item{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem}.stat-date{font-size:.9rem}.stat-details{width:100%;justify-content:space-between;font-size:.85rem}}@media (min-width: 1025px){.scenes-grid{grid-template-columns:repeat(3,1fr)}.conversation-container{max-width:700px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s}.modal-content{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s}.star-stats-modal{width:500px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.modal-close{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:#f5f5f5;color:#333}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.empty-stats{text-align:center;color:#999;padding:3rem 1rem;font-size:1.1rem}.daily-stats-list{display:flex;flex-direction:column;gap:.75rem}.daily-stat-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px;transition:all .2s}.daily-stat-item:hover{background:#e9ecef;transform:translate(4px)}.stat-date{font-weight:600;color:#333;font-size:.95rem}.stat-details{display:flex;gap:1rem;align-items:center}.stat-stars{color:#ff9800;font-weight:600}.stat-conversations{color:#2196f3;font-size:.9rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.star-stats-modal{width:95%;max-height:70vh}.modal-header{padding:1rem}.modal-header h2{font-size:1.2rem}.modal-body{padding:1rem}.daily-stat-item{flex-direction:column;align-items:flex-start;gap:.5rem}.stat-details{width:100%;justify-content:space-between}}.single-column .dictation-content-area{padding:.25rem .5rem}.single-column .dictation-content,.single-column .dictation-display{flex:1;display:flex;flex-direction:column;overflow:hidden}.single-column .scene-location{color:#666;font-size:.85rem;text-align:center;margin:.25rem 0;padding:0}.single-column .conversation-container{margin-top:0;margin-bottom:.5rem}.single-column .voice-controls-fixed{padding:.5rem}@media (max-width: 375px){.dictation-header h1{font-size:1rem}.back-btn,.help-btn{padding:.35rem .6rem;font-size:.85rem}.stars-display{font-size:.85rem;padding:.35rem .6rem}.scene-title h2{font-size:1.2rem}.scene-card{padding:.75rem}.scene-emoji{font-size:2rem}.message{padding:.5rem;font-size:.85rem}.voice-btn{padding:.8rem 1.5rem;font-size:.95rem}.unknown-word-item{font-size:.75rem;padding:.15rem .5rem}}@media (max-height: 600px) and (orientation: landscape){.dictation-header{padding:.4rem .75rem}.dictation-header h1{font-size:1rem}.conversation-area{padding:.5rem}.message{padding:.5rem;margin-bottom:.4rem}.voice-btn{padding:.7rem 1.5rem;font-size:.95rem}.single-column .voice-controls-fixed{padding:.4rem}}.voice-select{padding:.5rem 1rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.voice-select:hover{background:#ffffff4d}.voice-select option{background:#667eea;color:#fff}.token-balance{display:inline-flex;align-items:center;padding:.5rem 1rem;background:#ffd70033;color:gold;border:1px solid rgba(255,215,0,.3);border-radius:4px;font-weight:700;font-size:.9rem}@media (max-width: 768px){.voice-select,.token-balance{padding:.4rem .8rem;font-size:.85rem}}@media (max-width: 375px){.voice-select,.token-balance{font-size:.8rem;padding:.3rem .6rem}}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-color, #f5f5f5)}.header{background-color:var(--primary-color, #1890ff);color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.header-title{margin:0;font-size:1.3rem;font-weight:600;flex:1}.user-info{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.user-name{font-size:.9rem}.token-balance{font-size:.9rem;padding:.4rem .8rem;background-color:#fff3;border-radius:4px}.stats-btn{padding:.4rem .8rem;border:none;border-radius:4px;background-color:#4caf50;color:#fff;cursor:pointer;font-weight:500;transition:background-color .3s ease}.stats-btn:hover{background-color:#45a049}.logout-btn{padding:.4rem .8rem;border:none;border-radius:4px;background-color:#fff3;color:#fff;cursor:pointer;font-weight:500;transition:background-color .3s ease}.logout-btn:hover{background-color:#ffffff4d}.main-content{flex:1;display:flex;flex-direction:column}.login-btn{padding:.6rem 1.2rem;border:none;border-radius:4px;background-color:var(--primary-color, #1890ff);color:#fff;cursor:pointer;font-weight:500;transition:all .3s ease;font-size:.95rem}.login-btn:hover:not(:disabled){opacity:.9;transform:translateY(-2px);box-shadow:0 2px 8px #1890ff4d}.toggle-mode-btn{margin-top:1rem;padding:.6rem 1.2rem;border:1px solid var(--primary-color, #1890ff);border-radius:4px;background-color:transparent;color:var(--primary-color, #1890ff);cursor:pointer;font-weight:500;transition:all .3s ease;font-size:.9rem;width:100%}.toggle-mode-btn:hover{background-color:var(--primary-color, #1890ff);color:#fff}.login-form{width:100%}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-color, #262626);font-weight:500}.form-input{width:100%;padding:.75rem;border:1px solid var(--border-color, #d9d9d9);border-radius:4px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--primary-color, #1890ff);box-shadow:0 0 0 2px #1890ff33}.error-message{color:#ff4d4f;padding:.75rem;margin-bottom:1.5rem;background-color:#fff1f0;border:1px solid #ffccc7;border-radius:4px;font-size:.95rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:8px;padding:2rem;max-width:400px;width:100%;position:relative;box-shadow:0 4px 16px #00000026}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted, #8c8c8c);transition:color .3s ease}.modal-close:hover{color:var(--text-color, #262626)}.modal-title{margin:0 0 .5rem;font-size:1.3rem;font-weight:600;color:var(--text-color, #262626)}.modal-subtitle{margin:0 0 1.5rem;color:var(--text-muted, #8c8c8c)}@media (max-width: 768px){.header{flex-direction:column;gap:.75rem;padding:.75rem 1rem}.header-title{font-size:1.2rem;width:100%;text-align:center;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.2)}.user-info{width:100%;justify-content:space-between;gap:.4rem;flex-wrap:nowrap}.user-name{font-size:.75rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.token-balance{font-size:.75rem;padding:.3rem .5rem}.logout-btn{padding:.3rem .5rem;font-size:.75rem}}@media (max-width: 480px){.header{padding:.6rem .8rem;gap:.6rem}.header-title{font-size:1.1rem;padding-bottom:.4rem}.user-info{gap:.3rem}.user-name{font-size:.7rem}.token-balance{font-size:.7rem;padding:.25rem .4rem}.logout-btn{padding:.25rem .4rem;font-size:.7rem}.modal-content{padding:1.5rem;max-width:90%}.modal-title{font-size:1.1rem}}:root{--primary-color: #1890ff;--success-color: #52c41a;--error-color: #ff4d4f;--warning-color: #faad14;--text-color: #262626;--text-light: #8c8c8c;--border-color: #d9d9d9;--bg-color: #fafafa}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-color);background-color:var(--bg-color)}#root{min-height:100vh;display:flex;flex-direction:column}.app{display:flex;flex-direction:column;min-height:100vh}.header{background-color:#fff;padding:1rem 2rem;box-shadow:0 1px 4px #00000014;display:flex;justify-content:space-between;align-items:center}.header h1{font-size:1.5rem;font-weight:600;color:var(--primary-color)}.user-info{display:flex;align-items:center;gap:1rem}.user-name{color:var(--text-light);font-size:.875rem}.token-balance{background-color:var(--primary-color);color:#fff;padding:.5rem 1rem;border-radius:4px;font-size:.875rem;font-weight:500}.login-btn,.logout-btn{padding:.5rem 1.5rem;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease}.login-btn{background-color:var(--primary-color);color:#fff}.login-btn:hover:not(:disabled){background-color:#0050b3}.login-btn:disabled{opacity:.6;cursor:not-allowed}.logout-btn{background-color:var(--error-color);color:#fff}.logout-btn:hover{background-color:#d9363e}.main-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.dashboard,.login-prompt{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 1px 4px #00000014}.dashboard h2,.login-prompt h2{color:var(--text-color);margin-bottom:1rem;font-size:1.25rem}.dashboard p,.login-prompt p{color:var(--text-light);line-height:1.6}.footer{background-color:#fff;padding:1.5rem 2rem;text-align:center;border-top:1px solid var(--border-color);color:var(--text-light);font-size:.875rem}@media (max-width: 768px){.header{flex-direction:column;gap:1rem;align-items:flex-start}.header h1{font-size:1.25rem}.user-info{width:100%;justify-content:space-between}.main-content{padding:1rem}.dashboard,.login-prompt{padding:1.5rem}}
