*{box-sizing:border-box}html,body,#root{height:100%}html,body{touch-action:manipulation;-webkit-text-size-adjust:100%}body{margin:0}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:#f5f7fa;min-height:100vh;margin:0;padding:24px 16px;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif}#root{justify-content:center;display:flex}.app{width:100%;max-width:560px}.app-header{text-align:center;margin-bottom:20px}h1{color:#2c3e50;margin:0 0 16px;font-size:24px}.tabs{background:#fff;border-radius:14px;gap:6px;padding:6px;display:flex;box-shadow:0 2px 8px #0000000f}.tab{color:#7f8c8d;cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:10px 16px;font-size:15px;font-weight:600;transition:all .2s}.tab.active{color:#fff;background:#3498db}.tab:hover:not(.active){background:#ecf0f1}.badge{color:#fff;vertical-align:middle;background:#e74c3c;border-radius:10px;margin-left:4px;padding:1px 7px;font-size:12px;display:inline-block}.card{background:#fff;border-radius:20px;padding:32px 24px;box-shadow:0 4px 16px #0000000f}.score{text-align:center;color:#7f8c8d;margin-bottom:24px;font-size:14px}.question{text-align:center;color:#2c3e50;letter-spacing:1px;word-break:break-word;margin:20px 0;font-size:clamp(16px,2.4vw,22px);font-weight:600;line-height:1.4}.input-area{justify-content:center;align-items:center;gap:12px;display:flex}input{text-align:center;-webkit-user-select:text;user-select:text;border:2px solid #e0e6ed;border-radius:12px;outline:none;width:clamp(110px,28vw,150px);padding:12px;font-size:clamp(18px,3.5vw,24px);transition:border-color .2s}input:focus{border-color:#3498db}button{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:12px;padding:12px 28px;font-size:18px;font-weight:600;transition:background .2s}button:hover{background:#2980b9}button:active{transform:scale(.97)}.feedback{text-align:center;min-height:26px;margin-top:20px;font-size:18px;font-weight:500}.feedback.correct{color:#27ae60}.feedback.wrong{color:#e74c3c}.card.empty{text-align:center;padding:60px 24px}.empty-icon{margin-bottom:16px;font-size:60px}.card.empty p{color:#95a5a6;margin:0;font-size:16px}.wrong-header{color:#7f8c8d;border-bottom:1px solid #ecf0f1;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;font-size:15px;display:flex}.clear-btn{color:#7f8c8d;background:#ecf0f1;padding:6px 14px;font-size:13px}.clear-btn:hover{color:#fff;background:#e74c3c}.wrong-list{flex-direction:column;gap:14px;display:flex}.wrong-item{background:#f8f9fb;border-radius:14px;flex-direction:column;gap:8px;padding:16px;display:flex}.wrong-question{color:#2c3e50;font-size:22px;font-weight:600}.wrong-detail{flex-wrap:wrap;gap:16px;font-size:14px;display:flex}.wrong-user{color:#e74c3c}.wrong-correct{color:#27ae60;font-weight:600}.remove-btn{background:#27ae60;align-self:flex-start;margin-top:4px;padding:8px 16px;font-size:13px}.remove-btn:hover{background:#219a52}.type-tabs{background:#f4f6f9;border-radius:12px;gap:6px;margin-bottom:20px;padding:5px;display:flex}.type-btn{color:#7f8c8d;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 4px;font-size:14px;font-weight:600;transition:all .2s}.type-btn.active{color:#3498db;background:#fff;box-shadow:0 2px 6px #3498db26}.type-btn:hover:not(.active){color:#2c3e50}.wrong-top{align-items:center;gap:10px;display:flex}.type-tag{border-radius:8px;flex-shrink:0;padding:2px 10px;font-size:12px;font-weight:600}.type-tag.mul{color:#1976d2;background:#e3f2fd}.type-tag.div{color:#7b1fa2;background:#f3e5f5}.type-tag.decimal{color:#e65100;background:#fff3e0}.type-tag.mixed{color:#2e7d32;background:#e8f5e9}.retry-banner{text-align:center;color:#3498db;background:#ebf5fb;border-radius:10px;margin-bottom:20px;padding:8px;font-size:14px;font-weight:600}.wrong-top{align-items:center;gap:8px;margin-bottom:8px;display:flex}.type-tag{color:#1976d2;background:#e3f2fd;border-radius:8px;padding:2px 10px;font-size:12px;font-weight:600}.retry-tag{color:#e65100;background:#fff3e0;border-radius:8px;padding:2px 10px;font-size:11px;font-weight:600}.wrong-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.retry-btn{background:#3498db;flex:1;padding:8px 16px;font-size:13px}.retry-btn:hover{background:#2980b9}.wrong-actions .remove-btn{flex:1;margin-top:0}.tabs-3 .tab{padding:10px 8px;font-size:14px}.report{flex-direction:column;gap:16px;display:flex}.report-section{background:#fff;border-radius:20px;padding:24px;box-shadow:0 4px 16px #0000000f}.section-title{color:#2c3e50;margin:0 0 16px;font-size:16px;font-weight:600}.stat-row{gap:12px;display:flex}.stat-box{text-align:center;background:#f8f9fb;border-radius:14px;flex:1;padding:16px}.stat-num{color:#3498db;font-size:32px;font-weight:700;line-height:1.2}.stat-label{color:#7f8c8d;margin-top:4px;font-size:13px}.type-row{align-items:center;gap:10px;margin-bottom:10px;font-size:13px;display:flex}.type-name{color:#2c3e50;width:50px;font-weight:600}.type-bar-wrap{background:#ecf0f1;border-radius:4px;flex:1;height:8px;overflow:hidden}.type-bar{background:linear-gradient(90deg,#3498db,#52b8e8);border-radius:4px;height:100%;transition:width .4s}.type-rate{text-align:right;color:#2c3e50;width:42px;font-weight:600}.type-count{text-align:right;color:#95a5a6;width:50px;font-size:12px}.advice{background:linear-gradient(135deg,#fff9e6,#fff);border:1px solid #ffeaa7}.advice-text{color:#7d6608;margin:0;font-size:14px;line-height:1.6}.wrong-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.wrong-total{color:#e74c3c;font-size:22px;font-weight:700}.wrong-dist{flex-wrap:wrap;gap:10px;display:flex}.wrong-dist-item{color:#7f8c8d;background:#ecf0f1;border-radius:8px;padding:4px 10px;font-size:12px}.type-groups{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.type-group{background:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 2px 8px #0000000a}.type-group-name{color:#7f8c8d;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:600}.type-group .type-tabs{scrollbar-width:none;-ms-overflow-style:none;background:#f4f6f9;border-radius:12px;gap:6px;margin-bottom:0;padding:4px;display:flex;overflow-x:auto}.type-group .type-tabs::-webkit-scrollbar{display:none}.type-group .type-btn{flex:1;min-width:60px;padding:8px 10px;font-size:13px}.lock-card{text-align:center;padding:48px 24px}.lock-icon{margin-bottom:12px;font-size:56px}.lock-title{color:#2c3e50;margin:0 0 6px;font-size:20px}.lock-hint{color:#95a5a6;margin:0 0 24px;font-size:13px}.lock-input-area{justify-content:center;align-items:center;gap:10px;display:flex}.lock-input-area input{letter-spacing:4px;width:140px;padding:10px;font-size:18px}.lock-input-area input[type=password]{font-size:22px}.lock-error{color:#e74c3c;margin-top:14px;font-size:13px}.parent-wrong-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.parent-wrong-item{background:#f8f9fb;border-radius:12px;padding:12px 14px}.parent-wrong-question{color:#2c3e50;align-items:center;gap:8px;margin-bottom:6px;font-size:15px;font-weight:600;display:flex}.type-tag.small{padding:1px 8px;font-size:11px}.parent-wrong-answers{flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.parent-wrong-answers .wrong-user{color:#e74c3c}.parent-wrong-answers .wrong-correct{color:#27ae60;font-weight:600}.parent-header{background:#fff;border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:14px 18px;display:flex;box-shadow:0 2px 8px #0000000a}.parent-info{flex-direction:column;gap:2px;display:flex}.parent-name{color:#2c3e50;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.parent-role{color:#3498db;background:#ebf5fb;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600}.parent-id{color:#95a5a6;font-size:12px}.parent-actions{gap:8px;display:flex}.parent-btn{color:#7f8c8d;background:#ecf0f1;padding:6px 12px;font-size:12px;font-weight:600}.parent-btn:hover{color:#fff;background:#3498db}.reg-form{text-align:left;flex-direction:column;gap:14px;max-width:340px;margin:0 auto;display:flex}.reg-row{flex-direction:column;gap:6px;display:flex}.reg-row label{color:#7f8c8d;font-size:13px;font-weight:500}.reg-row .required{color:#e74c3c}.reg-row input{text-align:left;border:2px solid #e0e6ed;border-radius:10px;width:100%;padding:10px 14px;font-family:inherit;font-size:15px}.reg-row input:focus{border-color:#3498db}.role-btns{gap:8px;display:flex}.role-btn{color:#7f8c8d;background:#f4f6f9;border-radius:10px;flex:1;padding:8px 12px;font-size:14px;font-weight:600}.role-btn.active{color:#fff;background:#3498db}.primary-btn{color:#fff;background:#3498db;border-radius:12px;width:100%;margin-top:6px;padding:12px;font-size:16px;font-weight:600}.primary-btn:hover{background:#2980b9}.lock-links{margin-top:18px}.link-btn{color:#3498db;background:0 0;padding:4px 8px;font-size:13px;text-decoration:underline}.link-btn:hover{color:#2980b9;background:0 0}.link-btn.danger{color:#e74c3c}.link-btn.danger:hover{color:#c0392b}.reset-box{color:#7f8c8d;background:#fef5f5;border-radius:10px;margin-top:14px;padding:14px;font-size:13px}.reset-box p{margin:0 0 10px}.reset-actions{justify-content:center;gap:10px;display:flex}.lock-success{color:#27ae60;margin-top:14px;font-size:13px}.pwd-form{flex-direction:column;gap:10px;display:flex}.pwd-form input{text-align:left;border:2px solid #e0e6ed;border-radius:10px;padding:10px 14px;font-size:15px}.pwd-form input:focus{border-color:#3498db}.pwd-actions{gap:10px;margin-top:6px;display:flex}.pwd-actions .primary-btn{flex:1;margin-top:0}.export-section{background:linear-gradient(135deg,#f0f8ff,#fff);border:1px solid #d6eaff}.export-hint{color:#7f8c8d;margin:0 0 14px;font-size:13px}.export-btns{gap:10px;display:flex}.export-btn{color:#2c3e50;background:#ecf0f1;border-radius:10px;flex:1;padding:12px;font-size:15px;font-weight:600}.export-btn:hover{background:#d5dbde}.export-btn.primary{color:#fff;background:#3498db}.export-btn.primary:hover{background:#2980b9}.parent-btn.primary{color:#fff;background:#27ae60}.parent-btn.primary:hover{background:#219a52}.hint-box{color:#7d6608;background:#fff8e1;border-left:4px solid #ffb454;border-radius:10px;align-items:flex-start;gap:8px;margin-top:16px;padding:12px 14px;font-size:14px;line-height:1.6;animation:.25s fadeIn;display:flex}.hint-icon{flex-shrink:0;font-size:18px;line-height:1.4}.hint-text{flex:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.practice-wrongbook{margin-top:20px}.practice-wrongbook-title{color:#2c3e50;align-items:center;gap:8px;margin:0 0 10px;padding-left:4px;font-size:15px;font-weight:600;display:flex}.practice-wrongbook-title .badge{font-size:12px}.tabs .tab{font-size:15px}.wrong-manage-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.clear-all-btn{color:#7f8c8d;background:#ecf0f1;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600}.clear-all-btn:hover{color:#fff;background:#e74c3c}.wrong-manage-hint{color:#95a5a6;margin:0 0 14px;font-size:12px}.parent-wrong-retry{color:#e67e22;background:#fff3e0;border-radius:6px;margin-top:6px;padding:2px 8px;font-size:11px;display:inline-block}.parent-wrong-actions{gap:8px;margin-top:10px;display:flex}.pw-btn{border-radius:8px;flex:1;padding:8px 10px;font-size:13px;font-weight:600}.pw-retry{color:#fff;background:#3498db}.pw-retry:hover{background:#2980b9}.pw-remove{color:#7f8c8d;background:#ecf0f1}.pw-remove:hover{color:#fff;background:#27ae60}.wrong-empty-hint{color:#27ae60;text-align:center;padding:20px 0;font-size:14px}.pet-card{background:linear-gradient(135deg,#e8f5ff,#f0f8ff);border-radius:16px;margin-bottom:14px;transition:all .3s;overflow:hidden;box-shadow:0 2px 10px #3498db14}.pet-bar{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;padding:14px 16px;display:flex}.pet-bar:active{background:#3498db0d}.pet-emoji{flex-shrink:0;font-size:38px;line-height:1;transition:transform .3s}@keyframes petBounce{0%{transform:scale(1)}30%{transform:scale(1.3)rotate(-8deg)}60%{transform:scale(1.15)rotate(8deg)}to{transform:scale(1)rotate(0)}}.pet-info{flex:1;min-width:0}.pet-name-row{align-items:center;gap:8px;margin-bottom:2px;display:flex}.pet-name{color:#2c3e50;font-size:15px;font-weight:700}.pet-level{color:#fff;background:#3498db;border-radius:8px;padding:1px 8px;font-size:11px;font-weight:600}.pet-message{color:#7f8c8d;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.pet-stars{background:#fff;border-radius:12px;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;display:flex;box-shadow:0 1px 4px #0000000d}.star-icon{font-size:16px}.star-num{color:#f39c12;font-size:15px;font-weight:700}.pet-toggle{color:#95a5a6;flex-shrink:0;font-size:12px}.pet-panel{border-top:1px dashed #3498db26;padding:0 16px 16px;animation:.25s fadeIn}.pet-bars{flex-direction:column;gap:8px;margin:14px 0;display:flex}.pet-bar-row{align-items:center;gap:10px;font-size:13px;display:flex}.bar-label{color:#7f8c8d;flex-shrink:0;width:60px}.bar-wrap{background:#ecf0f1;border-radius:5px;flex:1;height:10px;overflow:hidden}.bar-fill{border-radius:5px;height:100%;transition:width .4s}.bar-fill.hungry{background:linear-gradient(90deg,#f39c12,#f1c40f)}.bar-fill.mood{background:linear-gradient(90deg,#e91e63,#ff6b9d)}.bar-num{text-align:right;color:#2c3e50;width:32px;font-size:12px;font-weight:600}.pet-stats{gap:10px;margin-bottom:12px;display:flex}.pet-stat{text-align:center;background:#fff;border-radius:12px;flex:1;padding:10px}.pet-stat-num{color:#3498db;font-size:22px;font-weight:700;line-height:1.1}.pet-stat-label{color:#95a5a6;margin-top:2px;font-size:11px}.feed-btn{color:#fff;background:linear-gradient(135deg,#f39c12,#e67e22);border-radius:12px;width:100%;padding:12px;font-size:15px;font-weight:600}.feed-btn:disabled{color:#95a5a6;cursor:not-allowed;background:#ecf0f1}.feed-btn:not(:disabled):hover{background:linear-gradient(135deg,#e67e22,#d35400)}.confetti-layer{pointer-events:none;z-index:9999;width:0;height:0;position:fixed;top:55%;left:50%}.confetti-piece{width:var(--size);height:var(--size);background:var(--color);opacity:0;animation:confettiBurst 1.8s cubic-bezier(.15, .6, .4, 1) var(--delay) forwards;border-radius:50%;position:absolute;top:0;left:0}@keyframes confettiBurst{0%{opacity:0;transform:translate(0)scale(0)}15%{opacity:1;transform:translate(calc(var(--x) * .3), calc(var(--y) * .3)) scale(1.2)}to{transform:translate(var(--x), calc(var(--y) + 280px)) scale(.4);opacity:0}}.celebration-toast{color:#fff;z-index:10000;pointer-events:none;white-space:nowrap;background:linear-gradient(135deg,#f39c12,#e74c3c);border-radius:30px;padding:12px 26px;font-size:17px;font-weight:700;animation:2.2s forwards celebratePop;position:fixed;top:18%;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #e74c3c66}@keyframes celebratePop{0%{opacity:0;transform:translate(-50%)scale(.5)translateY(20px)}15%{opacity:1;transform:translate(-50%)scale(1.1)translateY(0)}25%{transform:translate(-50%)scale(1)translateY(0)}85%{opacity:1;transform:translate(-50%)scale(1)translateY(0)}to{opacity:0;transform:translate(-50%)scale(.95)translateY(-15px)}}.score-row{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.score-row .score{margin-bottom:0}.streak-badge{color:#e67e22;background:#fff3e0;border-radius:12px;padding:4px 12px;font-size:13px;font-weight:700;animation:.4s streakPulse}@keyframes streakPulse{0%{transform:scale(.8)}50%{transform:scale(1.15)}to{transform:scale(1)}}.levelup-overlay{-webkit-backdrop-filter:blur(6px);z-index:99999;cursor:pointer;background:#0f1117d9;flex-direction:column;justify-content:center;align-items:center;animation:.35s overlayFadeIn;display:flex;position:fixed;inset:0}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.levelup-content{z-index:2;flex-direction:column;align-items:center;gap:14px;animation:.5s cubic-bezier(.2,1.4,.5,1) levelupPop;display:flex}@keyframes levelupPop{0%{opacity:0;transform:scale(.3)translateY(40px)}60%{transform:scale(1.08)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}.levelup-badge{letter-spacing:4px;color:#ffd93d;background:#ffd93d26;border:1px solid #ffd93d66;border-radius:20px;padding:6px 18px;font-size:13px;font-weight:800;animation:1.8s ease-in-out infinite badgeGlow}@keyframes badgeGlow{0%,to{box-shadow:0 0 #ffd93d00}50%{box-shadow:0 0 24px #ffd93d99}}.levelup-emoji{filter:drop-shadow(0 8px 30px #ffd93d80);font-size:130px;line-height:1;animation:1.2s ease-in-out infinite emojiBounce}@keyframes emojiBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-12px)scale(1.05)}}.levelup-title{background:linear-gradient(90deg,#ffd93d,#ffb454,#ff6b6b);-webkit-text-fill-color:transparent;letter-spacing:2px;-webkit-background-clip:text;background-clip:text;font-size:34px;font-weight:900}.levelup-pet-name{color:#fff;font-size:17px;font-weight:600}.levelup-lv{color:#fff;background:linear-gradient(135deg,#f39c12,#e74c3c);border-radius:12px;margin-left:4px;padding:3px 12px;font-weight:800;animation:1.2s ease-in-out infinite badgePulse;display:inline-block}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.levelup-sub{color:#b0b5c0;font-size:14px}.levelup-hint{color:#fff6;font-size:13px;animation:2s ease-in-out infinite hintBlink;position:absolute;bottom:60px}@keyframes hintBlink{0%,to{opacity:.4}50%{opacity:.8}}.pet-progress{color:#f39c12;letter-spacing:.3px;margin-top:3px;font-size:11px;font-weight:600}.egg-ready{text-align:center}.egg-ready-header{padding:18px 16px 10px}.egg-animation{font-size:72px;line-height:1;animation:1.4s ease-in-out infinite hatchBounce;display:inline-block}@keyframes hatchBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.05)}}.egg-ready-title{color:#2c3e50;margin:10px 0 4px;font-size:18px;font-weight:700}.egg-ready-hint{color:#7f8c8d;margin:0 0 14px;font-size:13px}.route-grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:0 16px 18px;display:grid}.route-option{background:#fff;border:2px solid #ecf0f1;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;transition:all .15s;display:flex}.route-option:hover{border-color:#f39c12;transform:translateY(-2px);box-shadow:0 4px 14px #f39c1226}.route-option-theme{font-size:28px;line-height:1}.route-option-preview{align-items:center;gap:4px;font-size:22px;display:flex}.route-arrow{color:#bdc3c7;font-size:14px}.route-option-desc{color:#95a5a6;text-align:center;font-size:12px}.pet-stage{color:#2e7d32;background:#e8f5e9;border-radius:8px;padding:1px 8px;font-size:11px;font-weight:600}.evolve-chain{justify-content:space-between;margin:14px 0 4px;display:flex}.evolve-step{opacity:.4;flex-direction:column;align-items:center;gap:4px;transition:all .3s;display:flex}.evolve-step.current{opacity:1;transform:scale(1.15)}.evolve-step.done{opacity:.85}.evolve-emoji{font-size:26px;line-height:1}.evolve-label{color:#7f8c8d;font-size:10px}.change-pet-btn{color:#7f8c8d;background:#ecf0f1;border-radius:12px;width:100%;margin-top:10px;padding:11px;font-size:14px;font-weight:600}.change-pet-btn:hover{background:#d5dbde}.pet-picker{background:#f8f9fb;border-radius:12px;margin-top:10px;padding:12px}.pet-picker-title{color:#7f8c8d;text-align:center;margin-bottom:10px;font-size:13px;font-weight:600}.pet-picker-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.pet-option{color:#2c3e50;background:#fff;border:2px solid #ecf0f1;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:10px;font-size:13px;font-weight:600;display:flex}.pet-option.active{background:#ebf5fb;border-color:#3498db}.pet-option-emoji{font-size:26px;line-height:1}.pet-option-name{font-size:12px}.pet-picker-cancel{color:#95a5a6;background:0 0;width:100%;margin-top:8px;padding:8px;font-size:13px}.hatch-preview{font-size:72px;line-height:1;animation:1.4s ease-in-out infinite hatchBounce;display:inline-block}.naming-panel{padding:0 16px 18px}.naming-input{text-align:center;color:#2c3e50;letter-spacing:1px;box-sizing:border-box;background:#fff;border:2px solid #f39c12;border-radius:12px;width:100%;padding:14px 16px;font-size:17px;font-weight:600}.naming-input:focus{border-color:#e67e22;outline:none;box-shadow:0 0 0 4px #f39c1226}.naming-suggest-title{color:#7f8c8d;text-align:center;margin:14px 0 8px;font-size:12px;font-weight:600}.naming-suggestions{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:16px;display:flex}.suggest-chip{color:#7f8c8d;background:#fff;border:1px solid #ecf0f1;border-radius:18px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .15s}.suggest-chip:hover{color:#e67e22;border-color:#f39c12}.suggest-chip.active{color:#fff;background:#f39c12;border-color:#f39c12;box-shadow:0 3px 10px #f39c1259}.naming-actions{gap:10px;display:flex}.naming-cancel{color:#7f8c8d;background:#ecf0f1;border-radius:12px;flex:1;padding:12px;font-size:14px;font-weight:600}.naming-cancel:hover{background:#d5dbde}.naming-confirm{color:#fff;background:linear-gradient(135deg,#f39c12,#e67e22);border-radius:12px;flex:1.5;padding:12px;font-size:15px;font-weight:700;box-shadow:0 4px 14px #f39c1266}.naming-confirm:hover{background:linear-gradient(135deg,#e67e22,#d35400)}.hatching-stage{justify-content:center;align-items:center;height:140px;display:flex;position:relative}.hatching-egg{filter:drop-shadow(0 4px 12px #f39c1280);font-size:80px;animation:.55s ease-in-out infinite eggShake;position:absolute}@keyframes eggShake{0%,to{transform:rotate(-10deg)scale(1)}50%{transform:rotate(10deg)scale(1.05)}}.hatching-pet{opacity:0;filter:drop-shadow(0 0 24px #ffc850e6);font-size:92px;animation:1.4s forwards petAppear;position:absolute}@keyframes petAppear{0%,55%{opacity:0;transform:scale(.2)rotate(-20deg)}70%{opacity:1;transform:scale(1.35)rotate(5deg)}85%{transform:scale(1.1)rotate(-3deg)}to{opacity:1;transform:scale(1)rotate(0)}}.hatching-text{text-align:center;color:#f39c12;letter-spacing:2px;padding:12px 0 20px;font-size:16px;font-weight:700;animation:1s ease-in-out infinite hatchTextPulse}@keyframes hatchTextPulse{0%,to{opacity:.55}50%{opacity:1}}.hatch-confirm-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0000008c;justify-content:center;align-items:center;padding:20px;animation:.2s hatchOverlayFadeIn;display:flex;position:fixed;inset:0}@keyframes hatchOverlayFadeIn{0%{opacity:0}to{opacity:1}}.hatch-confirm-box{text-align:center;background:#fff;border-radius:22px;width:100%;max-width:340px;padding:28px 24px;animation:.35s cubic-bezier(.2,1.4,.5,1) confirmPop;box-shadow:0 20px 60px #0000004d}@keyframes confirmPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.hatch-confirm-emoji{margin-bottom:14px;font-size:68px;line-height:1;animation:1.2s ease-in-out infinite hatchEmojiBounce}@keyframes hatchEmojiBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.06)}}.hatch-confirm-title{color:#2c3e50;margin-bottom:6px;font-size:20px;font-weight:800}.hatch-confirm-sub{color:#7f8c8d;margin-bottom:16px;font-size:13px}.hatch-confirm-hint{color:#d35400;background:#fff8e1;border-radius:10px;margin-bottom:18px;padding:10px 12px;font-size:13px;font-weight:500}.hatch-confirm-actions{gap:10px;display:flex}.hatch-cancel{color:#7f8c8d;background:#ecf0f1;border-radius:12px;flex:1;padding:12px;font-size:14px;font-weight:600}.hatch-cancel:hover{background:#d5dbde}.hatch-go{color:#fff;background:linear-gradient(135deg,#f39c12,#e67e22);border-radius:12px;flex:1.4;padding:12px;font-size:15px;font-weight:700;box-shadow:0 4px 14px #f39c1266}.hatch-go:hover{background:linear-gradient(135deg,#e67e22,#d35400)}.route-emoji.mystery{color:#bdc3c7;opacity:.55;font-weight:300}.daily-done-card{text-align:center;background:linear-gradient(135deg,#fff8e1,#ffeaa7);border-radius:20px;margin-bottom:16px;padding:40px 24px;animation:.5s cubic-bezier(.2,1.4,.5,1) dailyDonePop;box-shadow:0 4px 16px #f39c1226}@keyframes dailyDonePop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.daily-done-icon{margin-bottom:12px;font-size:64px;animation:1.4s ease-in-out infinite dailyDoneBounce}@keyframes dailyDoneBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.06)}}.daily-done-title{color:#d35400;margin:0 0 12px;font-size:22px;font-weight:800}.daily-done-sub{color:#7d6608;margin:0 0 20px;font-size:14px;line-height:1.8}.daily-done-btns{justify-content:center;gap:10px;display:flex}.daily-done-more{color:#e67e22;background:#fff;border-radius:12px;padding:10px 24px;font-size:14px;font-weight:600;box-shadow:0 2px 8px #f39c1233}.daily-done-more:hover{background:#fef5e7}.pet-emoji{transform-origin:bottom;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;animation:3.2s ease-in-out infinite petIdle}@keyframes petIdle{0%,to{transform:translateY(0)rotate(-3deg)scale(1)}25%{transform:translateY(-4px)rotate(0)scale(1.02)}50%{transform:translateY(-6px)rotate(3deg)scale(1.03)}75%{transform:translateY(-3px)rotate(0)scale(1.01)}}.pet-emoji.stage-0{animation:3.6s ease-in-out infinite eggIdle}@keyframes eggIdle{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.04)}}.pet-emoji.stage-1{animation:1.8s ease-in-out infinite babyIdle}@keyframes babyIdle{0%,to{transform:translateY(0)rotate(-5deg)scale(1)}25%{transform:translateY(-5px)rotate(0)scale(1.03)}50%{transform:translateY(-7px)rotate(5deg)scale(1.05)}75%{transform:translateY(-3px)rotate(0)scale(1.02)}}.pet-emoji.stage-4{animation:4s ease-in-out infinite finalIdle,2.5s ease-in-out infinite finalGlow}@keyframes finalIdle{0%,to{transform:scale(1)rotate(-2deg)}50%{transform:scale(1.05)rotate(2deg)}}@keyframes finalGlow{0%,to{filter:drop-shadow(0 0 8px #ffc85066)}50%{filter:drop-shadow(0 0 22px #ffc850e6)}}.pet-emoji.cheering{animation:1.25s cubic-bezier(.3,1.5,.4,1) petCheer}@keyframes petCheer{0%{transform:translateY(0)scale(1)rotate(0)}15%{transform:translateY(-20px)scale(1.18)rotate(-12deg)}30%{transform:translateY(-8px)scale(1.1)rotate(10deg)}45%{transform:translateY(-16px)scale(1.15)rotate(-8deg)}60%{transform:translateY(-5px)scale(1.08)rotate(6deg)}75%{transform:translateY(-10px)scale(1.1)rotate(-4deg)}to{transform:translateY(0)scale(1)rotate(0)}}.pet-emoji.feeding{animation:.6s petBounce!important}.pet-emoji.tapping{animation:.2s petTap!important}@keyframes petTap{0%{transform:scale(1)}50%{transform:scale(.85)}to{transform:scale(1)}}.hatch-preview.stage-1{animation:1.4s ease-in-out infinite hatchBounce}.egg-animation.stage-0{animation:2s ease-in-out infinite eggWiggle}@keyframes eggWiggle{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}.pet-avatar{vertical-align:middle;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;display:inline-block;overflow:visible}.pet-avatar.pet-egg .egg-body{transform-origin:60px 100px;animation:3.6s ease-in-out infinite eggIdle2}@keyframes eggIdle2{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.pet-avatar.pet-body .body-group{transform-origin:60px 100px;animation:3.2s ease-in-out infinite petBreath}@keyframes petBreath{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.025)}}.pet-avatar .eye{transform-origin:50%;transform-box:fill-box;animation:5s ease-in-out infinite petBlink}.pet-avatar .eye-right{animation-delay:.12s}@keyframes petBlink{0%,88%,to{transform:scaleY(1)}92%,95%{transform:scaleY(.1)}}.pet-avatar .tail{transform-origin:88px 78px;animation:1.6s ease-in-out infinite tailWag}@keyframes tailWag{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}.pet-avatar .ear-left{transform-origin:44px 40px;animation:3.2s ease-in-out infinite earTwitch}.pet-avatar .ear-right{transform-origin:76px 40px;animation:3.2s ease-in-out .4s infinite earTwitch}@keyframes earTwitch{0%,82%,to{transform:rotate(0)}88%{transform:rotate(-8deg)}94%{transform:rotate(6deg)}}.pet-avatar.stage-1 .body-group{animation:2.2s ease-in-out infinite babyBreath}@keyframes babyBreath{0%,to{transform:translateY(0)scale(1)rotate(0)}25%{transform:translateY(-3px)scale(1.03)rotate(-1deg)}50%{transform:translateY(-5px)scale(1.05)rotate(0)}75%{transform:translateY(-2px)scale(1.02)rotate(1deg)}}.pet-avatar.stage-4 .body-group{filter:drop-shadow(0 0 8px #ffc85080);animation:3.6s ease-in-out infinite petBreath,2.4s ease-in-out infinite finalGlow2}@keyframes finalGlow2{0%,to{filter:drop-shadow(0 0 6px #ffc85066)}50%{filter:drop-shadow(0 0 20px #ffc850e6)}}.pet-avatar.cheering{animation:.9s cubic-bezier(.3,1.5,.4,1) petCheerJump}@keyframes petCheerJump{0%{transform:translateY(0)rotate(0)}20%{transform:translateY(-16px)rotate(-8deg)}40%{transform:translateY(-6px)rotate(6deg)}60%{transform:translateY(-12px)rotate(-5deg)}80%{transform:translateY(-3px)rotate(3deg)}to{transform:translateY(0)rotate(0)}}.pet-avatar.feeding{animation:.65s petFeeding}@keyframes petFeeding{0%{transform:scale(1)rotate(0)}30%{transform:scale(1.18)rotate(-8deg)}60%{transform:scale(1.12)rotate(8deg)}to{transform:scale(1)rotate(0)}}.pet-avatar.sleeping .body-group{animation:4s ease-in-out infinite petSleep}@keyframes petSleep{0%,to{transform:translateY(1px)rotate(-2deg)}50%{transform:translateY(3px)rotate(1deg)}}.pet-avatar.sleeping .tail{animation:3.2s ease-in-out infinite tailWagSlow}@keyframes tailWagSlow{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.pet-avatar.sleeping .eye{animation:none}.zzz-group text{opacity:0;transform-box:fill-box;animation:2.6s ease-in-out infinite zzzFloat}.zzz-group text:first-child{animation-delay:0s}.zzz-group text:nth-child(2){animation-delay:.7s}.zzz-group text:nth-child(3){animation-delay:1.4s}@keyframes zzzFloat{0%{opacity:0;transform:translate(0)scale(.8)}30%{opacity:1;transform:translate(2px,-4px)scale(1)}to{opacity:0;transform:translate(8px,-22px)scale(1.1)}}.pet-avatar.playing .body-group{transform-origin:60px 100px;animation:.9s ease-in-out infinite petPlay}@keyframes petPlay{0%{transform:translateY(0)rotate(0)}20%{transform:translateY(-9px)rotate(-7deg)}40%{transform:translateY(-2px)rotate(0)}60%{transform:translateY(-9px)rotate(7deg)}80%{transform:translateY(-2px)rotate(0)}to{transform:translateY(0)rotate(0)}}.pet-avatar.playing .tail{animation:.5s ease-in-out infinite tailWagFast}@keyframes tailWagFast{0%,to{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}.sparkle-group text{transform-box:fill-box;transform-origin:50%;animation:1.5s ease-in-out infinite sparkleSpin}.sparkle-group text:nth-child(2){animation-delay:.5s}.sparkle-group text:nth-child(3){animation-delay:1s}@keyframes sparkleSpin{0%,to{opacity:.4;transform:scale(.6)rotate(0)}50%{opacity:1;transform:scale(1.4)rotate(180deg)}}.pet-avatar.sad .body-group{transform-origin:60px 100px;animation:2.4s ease-in-out infinite petSadSway}@keyframes petSadSway{0%,to{transform:translateY(2px)rotate(-1.5deg)}50%{transform:translateY(3px)rotate(1.5deg)}}.pet-avatar.sad .tail{transition:transform .4s;animation:none;transform:rotate(-15deg)}.pet-avatar.sad .ear-left,.pet-avatar.sad .ear-right{transition:transform .4s;animation:none;transform:rotate(-25deg)translateY(2px)}.pet-avatar.sad .tear{transform-box:fill-box;transform-origin:top;animation:1.6s ease-in-out infinite tearDrop}.pet-avatar.sad .tear-right{animation-delay:.5s}@keyframes tearDrop{0%{opacity:.9;transform:translateY(0)scale(1)}60%{opacity:1;transform:translateY(6px)scale(1.1)}to{opacity:0;transform:translateY(14px)scale(.7)}}.pet-avatar.cheering .hearts-group text{transform-box:fill-box;animation:1.2s ease-in-out infinite heartFloat}.hearts-group text:nth-child(2){animation-delay:.4s}@keyframes heartFloat{0%{opacity:.6;transform:translateY(0)scale(.9)}50%{opacity:1;transform:translateY(-8px)scale(1.15)}to{opacity:0;transform:translateY(-18px)scale(1)}}@media (width>=768px){.app{max-width:940px}.type-groups{grid-template-columns:repeat(2,1fr);align-items:start;gap:14px;display:grid}.route-grid{grid-template-columns:repeat(3,1fr)}.question{font-size:40px}input{width:160px}}@media (width>=1100px){.app{max-width:1050px}.type-groups{grid-template-columns:repeat(3,1fr)}.route-grid{grid-template-columns:repeat(4,1fr)}}.scratchpad-wrap{margin-top:12px}.scratchpad-wrap:has(.scratchpad){margin-top:8px}.scratchpad-toggle{color:#7f8c8d;background:#f4f6f9;border:none;border-radius:12px;width:100%;padding:10px;font-size:14px;font-weight:600}.scratchpad-toggle:hover{color:#2c3e50;background:#e8ecf1}.scratchpad{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#fafbfd;border:2px dashed #d6e0ec;border-radius:14px;margin-top:10px;padding:10px}.scratchpad-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.scratchpad-hint{color:#95a5a6;font-size:12px}.scratchpad-clear{color:#7f8c8d;background:#fff;border:1px solid #ecf0f1;border-radius:8px;padding:5px 12px;font-size:12px;font-weight:600}.scratchpad-clear:hover{color:#fff;background:#e74c3c;border-color:#e74c3c}.scratchpad-canvas{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:contain;background:#fff;border:1px solid #ecf0f1;border-radius:10px;width:100%;height:55vh;min-height:320px;max-height:520px;display:block}.question-row{align-items:center;gap:10px;margin:24px 0;display:flex}.question-row .question{overflow-wrap:break-word;flex:auto;min-width:0;margin:0}.speak-btn{color:#3498db;background:#ebf5fb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;padding:0;font-size:20px;transition:all .2s;display:flex}.speak-btn:hover{color:#fff;background:#3498db}.speak-btn.speaking{color:#fff;background:#3498db;animation:.8s ease-in-out infinite speakPulse}@keyframes speakPulse{0%,to{transform:scale(1);box-shadow:0 0 #3498db80}50%{transform:scale(1.08);box-shadow:0 0 0 12px #3498db00}}.variant-banner{color:#e65100;background:linear-gradient(135deg,#fff3e0,#ffe0b2);font-weight:600}.pw-variant{color:#fff;background:linear-gradient(135deg,#f39c12,#e67e22)}.pw-variant:hover{background:linear-gradient(135deg,#e67e22,#d35400)}.today-card{background:linear-gradient(135deg,#e8f5ff,#f0f9ff);border-radius:18px;margin-bottom:14px;padding:18px 20px;animation:.4s cubic-bezier(.2,1.4,.5,1) todayCardPop;box-shadow:0 4px 14px #3498db1a}@keyframes todayCardPop{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.today-holiday,.today-skipped,.today-done{text-align:center;padding:24px 20px}.today-holiday{background:linear-gradient(135deg,#fff8e1,#ffecb3)}.today-skipped{background:linear-gradient(135deg,#f5f5f5,#eee)}.today-done{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.today-holiday-icon,.today-skip-icon,.today-done-icon{margin-bottom:10px;font-size:42px;line-height:1}.today-holiday-title,.today-skip-title,.today-done-title{color:#2c3e50;margin-bottom:6px;font-size:17px;font-weight:700}.today-holiday-title{color:#d35400}.today-done-title{color:#2e7d32}.today-holiday-sub,.today-skip-sub,.today-done-sub{color:#7f8c8d;margin-bottom:16px;font-size:13px}.today-header{margin-bottom:14px}.today-title-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.today-title{color:#2c3e50;font-size:15px;font-weight:700}.today-progress-num{color:#3498db;font-size:14px;font-weight:700}.today-progress-bar{background:#3498db26;border-radius:4px;height:8px;overflow:hidden}.today-progress-fill{background:linear-gradient(90deg,#3498db,#52b8e8);border-radius:4px;height:100%;transition:width .5s}.today-missed{cursor:pointer;color:#e65100;background:#fff3e0;border-radius:10px;align-items:center;gap:6px;margin-bottom:12px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.today-missed:active{background:#ffe0b2}.missed-icon{font-size:14px}.missed-text{flex:1}.missed-toggle{color:#e65100;opacity:.6;font-size:10px}.today-segments{gap:8px;margin-bottom:14px;display:flex}.segment{text-align:center;background:#fff;border-radius:12px;flex:1;padding:10px 6px;box-shadow:0 2px 6px #0000000a}.segment-icon{margin-bottom:2px;font-size:18px}.segment-label{color:#7f8c8d;margin-bottom:2px;font-size:11px}.segment-count{color:#2c3e50;font-size:14px;font-weight:700}.today-detail{background:#fff;border-radius:10px;margin-bottom:12px;padding:10px 12px;animation:.25s fadeIn}.detail-row{gap:8px;padding:4px 0;font-size:12px;line-height:1.5;display:flex}.detail-label{color:#95a5a6;flex-shrink:0}.detail-value{color:#2c3e50;font-weight:600}.today-start-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:12px;width:100%;margin-bottom:8px;padding:14px;font-size:16px;font-weight:700;transition:all .2s;box-shadow:0 4px 14px #3498db59}.today-start-btn:hover{background:linear-gradient(135deg,#2980b9,#21618c);box-shadow:0 6px 18px #3498db73}.today-start-btn:active{transform:scale(.98)}.today-free-btn,.today-free-link{color:#7f8c8d;cursor:pointer;background:0 0;border:none;width:100%;padding:8px;font-size:13px;font-weight:500}.today-free-btn:hover,.today-free-link:hover{color:#3498db}.today-free-link{text-decoration:underline}.today-skip-card{color:#2c3e50;background:linear-gradient(135deg,#e8f5ff,#f0f9ff);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:12px 16px;font-size:14px;display:flex}.today-skip-card.skipped{color:#7f8c8d;background:linear-gradient(135deg,#f5f5f5,#eee)}.today-skip-status{font-weight:600}.today-skip-btn{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:8px;flex-shrink:0;padding:7px 16px;font-size:13px;font-weight:600;transition:background .2s}.today-skip-btn:hover{background:#2980b9}.today-skip-card.skipped .today-skip-btn{background:#7f8c8d}.today-skip-card.skipped .today-skip-btn:hover{background:#6c7a89}.task-banner{color:#1565c0;background:linear-gradient(135deg,#e3f2fd,#bbdefb);font-weight:700}.segment-transition{color:#fff;z-index:9999;white-space:nowrap;background:linear-gradient(135deg,#f39c12,#e74c3c);border-radius:20px;padding:20px 40px;font-size:20px;font-weight:800;animation:1.8s forwards transitionPop;position:fixed;top:20%;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #e74c3c66}@keyframes transitionPop{0%{opacity:0;transform:translate(-50%)scale(.5)}20%{opacity:1;transform:translate(-50%)scale(1.1)}30%{transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%)scale(.95)}}.task-complete-overlay{-webkit-backdrop-filter:blur(8px);z-index:99999;background:#0f1117eb;justify-content:center;align-items:center;animation:.4s overlayFadeIn;display:flex;position:fixed;inset:0}.task-complete-content{z-index:2;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:380px;padding:30px;animation:.6s cubic-bezier(.2,1.4,.5,1) levelupPop;display:flex}.task-complete-emoji{font-size:90px;animation:1.4s ease-in-out infinite emojiBounce}.task-complete-title{background:linear-gradient(90deg,#ffd93d,#ffb454,#ff6b6b);-webkit-text-fill-color:transparent;letter-spacing:1px;-webkit-background-clip:text;background-clip:text;font-size:26px;font-weight:900}.task-complete-rate{color:#e4e7ee;font-size:15px}.task-complete-rate strong{color:#4fd6a0;margin:0 4px;font-size:26px}.task-complete-stats{gap:12px;width:100%;margin:16px 0;display:flex}.tc-stat{text-align:center;background:#ffffff14;border-radius:14px;flex:1;padding:12px 8px}.tc-stat-label{color:#9499a8;margin-bottom:4px;font-size:12px}.tc-stat-num{color:#fff;font-size:18px;font-weight:700}.task-complete-hint{color:#ffd93d;margin-bottom:8px;font-size:16px;font-weight:600}.task-complete-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4fd6a0,#2ecc71);border:none;border-radius:14px;padding:14px 40px;font-size:16px;font-weight:700;transition:all .2s;box-shadow:0 6px 20px #4fd6a066}.task-complete-btn:hover{background:linear-gradient(135deg,#2ecc71,#27ae60)}.task-banner-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.task-exit-btn{color:#1565c0;cursor:pointer;background:#ffffff80;border:1px solid #1565c04d;border-radius:8px;flex-shrink:0;padding:5px 12px;font-size:13px;font-weight:600}.task-exit-btn:hover{color:#fff;background:#1565c0}.export-groups{flex-direction:column;gap:14px;margin-top:12px;display:flex}.export-group{background:#fff;border:1px solid #ecf0f1;border-radius:12px;padding:12px 14px}.export-group-title{color:#2c3e50;margin-bottom:8px;font-size:13px;font-weight:700}.export-message{color:#27ae60;text-align:center;background:#e8f5e9;border-radius:8px;margin-top:12px;padding:8px;font-size:13px;font-weight:600}.brief-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0000008c;justify-content:center;align-items:center;padding:20px;animation:.2s overlayFadeIn;display:flex;position:fixed;inset:0}.brief-box{background:#fff;border-radius:18px;flex-direction:column;width:100%;max-width:480px;max-height:80vh;animation:.35s cubic-bezier(.2,1.4,.5,1) confirmPop;display:flex;box-shadow:0 20px 60px #0000004d}.brief-header{border-bottom:1px solid #ecf0f1;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.brief-header h3{color:#2c3e50;margin:0;font-size:16px;font-weight:700}.brief-close{color:#95a5a6;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:20px}.brief-content{color:#2c3e50;white-space:pre-wrap;word-break:break-word;background:#f8f9fb;flex:1;margin:0;padding:16px 20px;font-family:-apple-system,PingFang SC,Microsoft YaHei,monospace;font-size:13px;line-height:1.7;overflow-y:auto}.brief-actions{border-top:1px solid #ecf0f1;gap:10px;padding:14px 20px;display:flex}.brief-copy-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:10px;flex:1.5;padding:12px;font-size:14px;font-weight:700}.brief-copy-btn:hover{background:linear-gradient(135deg,#2980b9,#21618c)}.brief-cancel-btn{color:#7f8c8d;cursor:pointer;background:#ecf0f1;border:none;border-radius:10px;flex:1;padding:12px;font-size:14px;font-weight:600}.brief-cancel-btn:hover{background:#d5dbde}.adopt-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4fd6a0,#2ecc71);border:none;border-radius:12px;width:100%;margin-top:10px;padding:12px;font-size:15px;font-weight:700;box-shadow:0 4px 14px #4fd6a059}.adopt-btn:hover{background:linear-gradient(135deg,#2ecc71,#27ae60)}.graduated-btn{color:#7f8c8d;cursor:pointer;background:#f8f9fb;border:1px solid #ecf0f1;border-radius:10px;width:100%;margin-top:10px;padding:10px;font-size:13px;font-weight:600}.graduated-btn:hover{color:#3498db;background:#e8f0f7}.graduated-list{background:#fafbfd;border:2px dashed #d6e0ec;border-radius:12px;flex-direction:column;gap:10px;margin-top:12px;padding:12px;animation:.3s fadeIn;display:flex}.graduated-item{background:#fff;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex;box-shadow:0 1px 4px #0000000a}.graduated-emoji{filter:drop-shadow(0 2px 4px #0000001a);font-size:36px;line-height:1}.graduated-info{flex:1}.graduated-name{color:#2c3e50;margin-bottom:2px;font-size:15px;font-weight:700}.graduated-meta{color:#7f8c8d;margin-bottom:2px;font-size:12px}.graduated-date{color:#95a5a6;font-size:11px}.protractor-wrap{flex-direction:column;align-items:center;margin:12px 0;display:flex}.protractor-hint{color:#7f8c8d;text-align:center;margin-bottom:8px;padding:0 16px;font-size:13px}.protractor-svg{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;cursor:grab;background:#fafbfd;border-radius:12px;width:100%;max-width:480px;height:auto}.protractor-svg:active{cursor:grabbing}.protractor-layer{cursor:move}.protractor-actions{margin-top:8px}.protractor-reset{color:#7f8c8d;cursor:pointer;background:#ecf0f1;border:none;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:600}.protractor-reset:hover{color:#fff;background:#3498db}.back-to-types-btn{color:#7f8c8d;cursor:pointer;background:#f4f6f9;border:none;border-radius:10px;align-items:center;gap:6px;margin-bottom:14px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.back-to-types-btn:hover{color:#fff;background:#3498db}.back-to-types-btn:active{transform:scale(.97)}.daily-done-exit{color:#7f8c8d;cursor:pointer;background:0 0;border:1px solid #ecf0f1;border-radius:12px;padding:10px 20px;font-size:13px;font-weight:500}.daily-done-exit:hover{color:#2c3e50;background:#f4f6f9}.choice-options{flex-direction:column;gap:10px;margin-top:4px;display:flex}.choice-btn{color:#2c3e50;cursor:pointer;text-align:left;background:#fafbfd;border:2px solid #eef1f5;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;font-size:18px;font-weight:600;transition:all .15s;display:flex}.choice-btn:hover{background:#f2f7fd;border-color:#bcd9f5}.choice-btn.selected{background:#eaf3fc;border-color:#3498db;box-shadow:0 0 0 2px #3498db26}.choice-num{color:#7f8c8d;background:#dfe6ee;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:700;display:flex}.choice-btn.selected .choice-num{color:#fff;background:#3498db}.choice-text{font-variant-numeric:tabular-nums}.choice-submit{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:12px;margin-top:4px;padding:12px 24px;font-size:16px;font-weight:700;transition:background .2s}.choice-submit:hover{background:#2c81ba}.choice-submit:active{transform:scale(.98)}.type-groups-collapsed{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.type-group-collapsed{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px #0000000a}.type-group-header{color:#2c3e50;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:14px 18px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.type-group-header:hover{background:#f8f9fb}.type-group-header.expanded{color:#3498db;background:#f0f8ff}.type-group-title{flex:1}.type-group-toggle{color:#95a5a6;margin-left:8px;font-size:11px}.type-group-header.expanded .type-group-toggle{color:#3498db}.type-tabs-expanded{background:#f8f9fb;flex-wrap:wrap;gap:6px;padding:10px 14px 14px;animation:.2s fadeIn;display:flex}.type-tabs-expanded .type-btn{flex:auto;min-width:80px;padding:8px 12px;font-size:13px}.wrong-status-summary{color:#7f8c8d;background:#f4f6f9;border-radius:8px;margin:0 0 10px;padding:6px 10px;font-size:12px}.wrong-status-tag{vertical-align:middle;border-radius:999px;margin-right:6px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.wrong-status-tag.new{color:#e67e22;background:#fef0e6}.wrong-status-tag.reviewing{color:#3498db;background:#eaf3fc}.wrong-status-tag.mastered{color:#27ae60;background:#e8f6ee}.parent-wrong-item.mastered{opacity:.75;background:#f4f6f9}.parent-wrong-item.mastered .pw-btn.pw-remove{opacity:1}.due-section{background:linear-gradient(135deg,#fff8e1,#ffecb3);border:1px solid #ffd54f}.due-hint{color:#7d6608;margin:0 0 14px;font-size:13px;line-height:1.6}.due-list{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.due-item{background:#fff;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;display:flex}.due-item-label{color:#2c3e50;font-weight:600}.due-item-time{color:#95a5a6;font-size:12px}.due-more{color:#95a5a6;text-align:center;padding:4px;font-size:12px}.due-push-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f39c12,#e67e22);border:none;border-radius:12px;width:100%;padding:12px;font-size:15px;font-weight:700;box-shadow:0 4px 14px #f39c1259}.due-push-btn:hover{background:linear-gradient(135deg,#e67e22,#d35400)}
