:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--page-bg:#f0f2f5;--card-bg:#ebf3fb;--tab-active-text:#0366d6;--tab-text:#555;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--page-bg:#101115;--card-bg:#1e293b;--tab-active-text:#60a5fa;--tab-text:#9ca3af}#social .button-icon{filter:invert()brightness(2)}}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;margin:0;display:flex}body{touch-action:manipulation;margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.brand-highlight{color:var(--accent);font-weight:700}.vm-header h1,.sh-header h1,.sa-header h1,.gw-header h1,.pd-header h1,.det-header h1,.bh-header h1{letter-spacing:-.5px!important;font-size:1.8rem!important;font-weight:800!important}.vm-shell-container{--primary:#3b82f6;--primary-dark:#2563eb;--secondary:#1cb0f6;--secondary-dark:#1185ba;--warning:#ffc800;--warning-dark:#e5b400;--danger:#ff4b4b;--danger-dark:#d33131;--neutral:#e5e5e5;--text:#4b4b4b;--white:#fff;--bg:#f0f2f5;color:var(--text);background:var(--white);-webkit-user-select:none;user-select:none;border-radius:20px;flex-direction:column;flex-grow:1;width:100%;max-width:600px;min-height:90vh;margin:20px auto;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000001a}@media (width<=600px){.vm-shell-container{min-height:100vh;box-shadow:none;border-radius:0;max-width:none;margin:0}}.vm-screen{flex-direction:column;flex-grow:1;height:100%;padding:20px;display:flex}.vm-header{text-align:center;margin-bottom:20px;position:relative}.vm-header h1{color:var(--primary);margin:0;font-size:1.8rem}@media (width<=480px){.vm-header h1{font-size:1.4rem}}.vm-header h2{color:#999;margin-top:5px;font-size:1.1rem;font-weight:400}.vm-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s ease-out forwards vmModalFadeIn;display:flex;position:fixed;inset:0}.vm-modal-content{background:var(--white);border-radius:16px;width:90%;max-width:280px;max-height:80vh;padding:25px;animation:.25s cubic-bezier(.34,1.56,.64,1) forwards vmModalPop;overflow-y:auto;box-shadow:0 10px 25px #0003}.vm-modal-overlay.closing{animation:.2s ease-in forwards vmModalFadeOut}.vm-modal-content.closing{animation:.2s ease-in forwards vmModalPopOut}@keyframes vmModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes vmModalPop{0%{opacity:0;transform:scale(.9)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes vmModalFadeOut{0%{opacity:1}to{opacity:0}}@keyframes vmModalPopOut{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.9)translateY(12px)}}.vm-modal-title{margin-top:0;margin-bottom:20px;font-size:1.3rem}.vm-history-list{margin:0;padding:0;list-style:none}.vm-history-item{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.vm-history-item:last-child{border-bottom:none}.vm-history-date{color:#666;font-size:.9rem}.vm-history-score{font-size:1.1rem;font-weight:700}.vm-start-btn{transition:transform .1s}.vm-start-btn:active{border-bottom-width:1px;transform:translateY(2px)}.vm-close-btn{cursor:pointer;color:#ccc;background:0 0;border:none;flex-shrink:0;width:30px;font-size:1.5rem}.vm-progress-container{background-color:var(--neutral);border-radius:6px;flex-grow:1;height:12px;display:flex;overflow:hidden}.vm-progress-segment{border-right:1px solid var(--white);flex-grow:1}.vm-progress-segment.green{background-color:var(--primary)}.vm-progress-segment.yellow{background-color:var(--warning)}.vm-progress-segment.red{background-color:var(--danger)}.vm-progress-segment.redemption{background-color:var(--secondary);opacity:.8}.vm-progress-segment.active{z-index:10;border-bottom:3px solid var(--primary-dark);border-radius:4px;animation:1.5s ease-in-out infinite breathing}.vm-question-area{flex-direction:column;flex-grow:1;justify-content:center;display:flex;position:relative}.vm-prompt-container{text-align:center;margin-bottom:20px}.vm-prompt-type{color:#aaa;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;font-size:.8rem;font-weight:700}.vm-prompt-val{color:#333;margin-bottom:5px;font-size:1.8rem;font-weight:700;line-height:1.2}.vm-prompt-hint-btn{cursor:pointer;color:var(--warning);filter:drop-shadow(0 2px 2px #0000001a);background:0 0;border:none;font-size:1.2rem;transition:transform .2s}.vm-prompt-hint-btn:hover{transform:scale(1.1)}.vm-hint-text{color:#666;visibility:hidden;min-height:1.2em;margin-top:5px;font-size:.9rem;font-style:italic}.vm-hint-text.visible{visibility:visible;animation:.3s fadeIn}.vm-options-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.vm-option-btn{background:var(--white);border:2px solid var(--neutral);border-bottom:4px solid var(--neutral);cursor:pointer;color:var(--text);text-align:center;border-radius:16px;justify-content:center;align-items:center;min-height:70px;padding:15px 10px;font-size:1.1rem;transition:all .1s;display:flex;position:relative}.vm-option-marker{color:#aaa;background:#f0f2f5;border:1px solid #e5e5e5;border-radius:6px;padding:1px 5px;font-family:monospace;font-size:.75rem;font-weight:800;line-height:1;position:absolute;top:10px;left:12px}.vm-option-btn:active{border-bottom-width:2px;transform:translateY(2px)}.vm-option-btn.selected{border-color:var(--secondary);border-bottom-color:var(--secondary-dark);color:var(--secondary-dark);background:#ddf4ff}.vm-option-btn.correct{border-color:var(--primary);border-bottom-color:var(--primary-dark);color:var(--primary-dark);background-color:#d7ffb8}.vm-option-btn.wrong{border-color:var(--danger);border-bottom-color:var(--danger-dark);color:var(--danger-dark);background-color:#ffdfe0}.vm-option-btn:disabled{cursor:default}.vm-option-btn:disabled:active{border-bottom-width:4px;transform:none}.vm-play-btn{background:var(--white);border:2px solid var(--neutral);border-bottom:4px solid var(--neutral);cursor:pointer;vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-right:8px;transition:all .1s;display:inline-flex}.vm-play-btn:active{border-bottom-width:2px;transform:translateY(2px)}.vm-play-btn svg{width:20px;height:20px;fill:var(--primary)}.vm-footer-action{border-top:2px solid var(--neutral);padding-top:20px}.vm-check-btn{color:#fff;background-color:var(--primary);border:none;border-bottom:5px solid var(--primary-dark);cursor:pointer;text-transform:uppercase;border-radius:16px;width:100%;margin-bottom:15px;padding:15px;font-size:1.2rem;font-weight:700}.vm-check-btn:active{border-bottom-width:3px;transform:translateY(2px)}.vm-check-btn:disabled{background-color:var(--neutral);color:#999;cursor:not-allowed;border-bottom-color:#ccc;transform:none}.vm-check-btn.wrong{background-color:var(--danger);border-bottom-color:var(--danger-dark);animation:.5s shake}.vm-check-btn.correct{background-color:var(--primary);animation:.5s bounce}.vm-check-btn.continue{background-color:var(--secondary);border-bottom-color:var(--secondary-dark)}.vm-feedback-area{text-align:center;visibility:hidden;border-radius:12px;flex-direction:column;justify-content:center;min-height:100px;margin-bottom:10px;padding:15px;display:flex}.vm-feedback-area.visible{visibility:visible}.vm-feedback-area.correct{background-color:#d7ffb8}.vm-feedback-area.wrong{background-color:#ffdfe0}.vm-feedback-title{margin:0 0 5px}.vm-feedback-msg{margin:0;font-size:1.1rem;font-weight:700}.vm-feedback-sentence{color:#666;margin-top:5px;font-size:.9rem;font-style:italic}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes breathing{0%{opacity:.8;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.4);box-shadow:0 0 5px #0003}to{opacity:.8;transform:scaleY(1)}}.countdown-ring-wrapper{z-index:20;pointer-events:none;justify-content:center;align-items:center;width:36px;display:flex;position:absolute;top:48px;left:0}.countdown-ring-svg{filter:drop-shadow(0 1px 3px #00000026);width:36px;height:36px;transform:rotate(-90deg)}.countdown-ring-bg{fill:none;stroke:#e5e5e5;stroke-width:3px}.countdown-ring-fg{fill:none;stroke-width:3px;stroke-linecap:round;transition:stroke-dashoffset .95s linear,stroke .3s}.countdown-ring-text{color:#555;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex;position:absolute;inset:0}.countdown-ring-wrapper.urgent .countdown-ring-text{color:#ff4b4b;animation:.6s ease-in-out infinite countdown-pulse}@keyframes countdown-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.practice-active-header{align-items:flex-start;gap:15px;width:100%;margin-bottom:20px;display:flex;position:relative}.practice-header-left-col{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:40px;display:flex}.practice-timer-wrapper{justify-content:center;align-items:center;display:flex}.practice-header-right-col{flex-grow:1;align-items:center;padding-top:14px;display:flex}@media (width<=768px){.practice-header-right-col{padding-right:50px}}.shell-challenge-grid{gap:15px;padding-bottom:80px;display:grid;overflow-y:auto}.shell-challenge-card{background:var(--white);border:2px solid var(--neutral);border-bottom:4px solid var(--neutral);border-radius:16px;padding:15px;transition:border-color .1s}.shell-challenge-card:hover{background-color:#fafafa;border-color:#ccc}.shell-challenge-card.flicker-active{animation:.5s ease-in-out infinite alternate shellCardFlicker}@keyframes shellCardFlicker{0%{border-color:var(--neutral);box-shadow:none}to{border-color:var(--primary);box-shadow:0 0 12px #4f46e533}}.shell-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.shell-card-title{margin:0;font-size:1.1rem;font-weight:700}.shell-card-stats{color:#777;background:#f8f9fa;border:1px solid #eee;border-radius:10px;justify-content:space-between;align-items:center;margin-top:8px;padding:6px 10px;font-size:.8rem;display:flex}.shell-stat-row{flex-direction:column;align-items:flex-start;display:flex}.shell-stat-row:last-child{align-items:flex-end}.shell-stat-label{color:#aaa;letter-spacing:.5px;text-transform:uppercase;margin-bottom:2px;font-size:.7rem;font-weight:700}.shell-stat-val{color:var(--text);font-size:.9rem;font-weight:600}.shell-start-btn{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-bottom:4px solid var(--primary-dark);border-radius:8px;padding:6px 16px;font-size:.9rem;font-weight:700}.rm-shell{background-color:var(--page-bg);width:100vw;height:100vh;color:var(--text-main);z-index:1000;flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.rm-header{background-color:var(--card-bg);z-index:10;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex;position:relative;box-shadow:0 2px 8px #0000001a}.rm-header-left{align-items:center;gap:1rem;display:flex}.rm-back-btn{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;min-height:40px;font-size:1.2rem;transition:all .2s;display:flex;box-shadow:0 2px 4px #0000000d}.rm-back-btn:hover{background:var(--code-bg);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.rm-titles h1{color:var(--text-h);margin:0;font-size:1.1rem}.rm-titles p{color:var(--text-p);opacity:.8;margin:0;font-size:.75rem}.rm-controls{gap:.75rem;display:flex}.rm-ctrl-btn{background:var(--card-bg);border:1px solid var(--border);cursor:pointer;width:44px;height:44px;color:var(--text-main);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:all .2s;display:flex;box-shadow:0 2px 4px #0000000d}.rm-ctrl-btn:hover:not(:disabled){background:var(--bg);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.rm-ctrl-btn:disabled{opacity:.4;cursor:not-allowed}.rm-ctrl-btn.next{background-color:var(--tab-active-text);color:#fff;border-color:var(--tab-active-text)}.rm-progress-bg{background:var(--border);width:100%;height:3px;position:absolute;bottom:0;left:0}.rm-progress-bar{background:var(--tab-active-text);height:100%;transition:width .3s}.rm-mode-slider{background:var(--card-bg);border:1px solid var(--border);z-index:5;opacity:.6;border-radius:12px;flex-direction:column;gap:8px;width:180px;padding:10px 15px;transition:opacity .3s;display:flex;position:absolute;top:80px;right:20px;box-shadow:0 4px 12px #0000001a}.rm-mode-slider:hover{opacity:1}.rm-mode-labels{color:var(--text-p);justify-content:space-between;font-size:.7rem;font-weight:700;display:flex}.rm-mode-labels span{cursor:pointer}.rm-mode-labels span.active{color:var(--tab-active-text)}.rm-mode-slider input[type=range]{width:100%;accent-color:var(--tab-active-text);cursor:pointer}.rm-container{scroll-behavior:smooth;flex-direction:column;flex:1;align-items:flex-start;padding:40px;display:flex;overflow:auto}.rm-node-wrapper{align-items:center;display:flex}.rm-node-box{white-space:nowrap;background-color:var(--card-bg);border:2px solid #0000;border-radius:12px;align-items:center;gap:8px;min-height:24px;padding:12px 20px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 6px #0000000f}.rm-node-box.active{box-shadow:0 0 0 3px rgba(var(--tab-active-text-rgb,79, 70, 229), .3);transform:scale(1.02)}.rm-node-box.empty{background-color:var(--code-bg);border:2px dashed var(--border);opacity:.6;min-width:60px}.rm-node-box.emoji{background-color:#fef9c3;border-color:#facc15;justify-content:center;min-width:40px}.rm-node-box.keywords{color:#1e40af;background-color:#dbeafe;border-color:#3b82f6;font-weight:700}.rm-node-box.full{background-color:var(--card-bg);border-color:var(--node-border,var(--tab-active-text))}.rm-node-box.collapsible{cursor:pointer}.rm-node-box.collapsible:hover{border-color:var(--tab-active-text);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.rm-emoji{font-size:1.3rem}.rm-collapsed-indicator{background:var(--code-bg);color:var(--text-p);border-radius:8px;margin-left:6px;padding:2px 8px;font-size:.75rem;font-weight:700}.rm-node-box.level-0{--node-border:#6366f1;padding:14px 24px;font-size:1.25rem;font-weight:700}.rm-node-box.level-1{--node-border:#10b981;font-size:1.1rem;font-weight:600}.rm-node-box.level-2{--node-border:#0ea5e9;font-size:1rem}.rm-node-box.level-3{--node-border:#8b5cf6;font-size:.95rem}.rm-children-container{flex-direction:column;margin-left:40px;padding-left:40px;display:flex;position:relative}.rm-children-container:before{content:"";background-color:var(--border);z-index:1;width:40px;height:2px;position:absolute;top:50%;left:-40px;transform:translateY(-50%)}.rm-child-row{align-items:center;padding:12px 0;display:flex;position:relative}.rm-child-row:before{content:"";background-color:var(--border);z-index:1;width:40px;height:2px;position:absolute;top:50%;left:-40px;transform:translateY(-50%)}.rm-child-row:after{content:"";background-color:var(--border);z-index:1;width:2px;position:absolute;top:0;bottom:0;left:-40px}.rm-child-row:first-child:after{top:50%}.rm-child-row:last-child:after{bottom:50%}.rm-child-row:first-child:last-child:after{display:none}@media (width<=768px){.rm-header{padding:.5rem 1rem}.rm-titles h1{font-size:1rem}.rm-controls{z-index:1001;background:var(--card-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:30px;padding:6px 12px;position:fixed;bottom:20px;left:20px;box-shadow:0 4px 20px #00000026}.rm-mode-slider{z-index:1001;background:var(--card-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);opacity:.95;border-radius:12px;width:150px;margin:0;padding:8px 12px;position:fixed;top:auto;bottom:20px;right:20px;box-shadow:0 4px 20px #00000026}.rm-container{padding:20px 20px 300px;padding-bottom:calc(300px + env(safe-area-inset-bottom,0px));display:block}.rm-node-wrapper{flex-direction:column;align-items:flex-start;width:100%}.rm-children-container{margin-top:10px;margin-left:20px;padding-left:0;position:relative}.rm-children-container:before{display:none}.rm-child-row{width:100%;padding:8px 0;position:relative}.rm-child-row:before{content:"";background-color:var(--border);z-index:1;width:12px;height:2px;position:absolute;top:24px;left:-12px;transform:none}.rm-child-row:after{content:"";background-color:var(--border);z-index:1;width:2px;display:block;position:absolute;top:0;bottom:0;left:-12px}.rm-child-row:first-child:after{top:-10px}.rm-child-row:last-child:after{height:24px;bottom:auto}.rm-child-row:first-child:last-child:after{height:34px;display:block;top:-10px}.rm-node-box{white-space:normal;word-break:break-word;max-width:calc(100vw - 80px);padding:8px 14px;font-size:.9rem}}.vg-shell{color:#333;box-sizing:border-box;background-color:#fff;flex-direction:column;width:100%;font-family:Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}body.vg-active{overflow-x:hidden}.vg-header-main{text-align:center;margin-bottom:5px}.vg-header-top{justify-content:center;align-items:center;min-height:50px;display:flex;position:relative}.vg-back-btn{cursor:pointer;background:0 0;border:none;font-size:1.5rem;position:absolute;left:0}.vg-header-main h1{color:#2c3e50!important;text-align:center!important;letter-spacing:normal!important;margin:0!important;font-size:1.8em!important;font-weight:700!important}.vg-header-main h2{color:#7f8c8d!important;text-align:center!important;letter-spacing:normal!important;border-bottom:2px solid #3498db!important;margin:5px 0 0!important;padding-bottom:15px!important;font-size:1.2em!important;font-weight:400!important}.vg-stats-bar-wrapper{z-index:1100;pointer-events:none;justify-content:center;width:100%;display:flex;position:sticky;top:12px}.vg-stats-bar{text-align:center;color:#666;-webkit-backdrop-filter:blur(8px);white-space:nowrap;pointer-events:auto;background:#f8f9faf2;border:1px solid #00000014;border-radius:20px;align-self:center;align-items:center;gap:12px;margin:15px auto;padding:6px 18px;font-size:.9em;display:inline-flex;box-shadow:0 4px 12px #0000001f}.vg-stats-bar b{color:#2c3e50}.vg-play-cards-btn{color:#fff;cursor:pointer;transform-origin:50%;background:#3498db;border:none;border-radius:12px;align-items:center;gap:4px;padding:2px 10px;font-size:.8em;font-weight:700;transition:all .2s;animation:5s ease-in-out infinite vg-shake;display:flex;box-shadow:0 2px 4px #0000001a}.vg-play-cards-btn.no-shake{animation:none}.vg-play-cards-btn:hover{background:#2980b9;animation:none;transform:translateY(-1px)}.vg-play-cards-btn:active{transform:translateY(0)}@keyframes vg-shake{0%,to{transform:rotate(0)scale(1)}2%{transform:rotate(-8deg)scale(1.05)}4%{transform:rotate(8deg)scale(1.05)}6%{transform:rotate(-8deg)scale(1.05)}8%{transform:rotate(8deg)scale(1.05)}10%{transform:rotate(0)scale(1)}}.desktop-only{display:flex!important}.mobile-only{display:none!important}@media (width<=600px){.desktop-only{display:none!important}.mobile-only{display:flex!important}}.vg-controls-container.desktop-only{z-index:1200;flex-direction:column;gap:10px;display:flex;position:fixed;top:80px;right:20px}.vg-control-btn{color:#fff;cursor:pointer;border:none;border-radius:25px;justify-content:center;align-items:center;min-width:110px;padding:10px 15px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 10px #0003}.vg-control-btn:hover{transform:scale(1.05)}.vg-control-btn:active{transform:scale(.95)}#sort-toggle{background:#3498db}#sort-toggle:hover{background:#2980b9}#toggle-cn{background:#e91e63}#toggle-cn:hover{background:#d81b60}#show-hidden-toggle{background:#9b59b6}#show-hidden-toggle:hover{background:#8e44ad}#show-hidden-toggle.active{background:#2c3e50}#refresh-cache{background:#1abc9c}#refresh-cache:hover{background:#16a085}#refresh-cache.loading{opacity:.7;cursor:wait}#reset-hidden{background:#e67e22}#reset-hidden:hover{background:#d35400}.vg-grid{flex-direction:column;width:100%;display:flex}@media (width>=600px){.vg-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}}.vg-item{background-color:#fafafa;border:1px solid #eee;border-radius:10px;flex-direction:column;margin-bottom:15px;padding:15px;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 4px #0000000d}@media (width>=600px){.vg-item{margin-bottom:0}}.vg-item.is-hidden{opacity:.4;filter:grayscale(.8)}.vg-word-header{border-bottom:1px dashed #ddd;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:5px;display:flex}.vg-word-title{color:#2980b9;align-items:center;gap:8px;margin:0;font-size:1.3em;font-weight:700;display:flex}.vg-word-text{cursor:pointer;transition:color .2s}.vg-word-text:hover{color:#3498db;text-decoration:underline}.vg-ipa{color:#7f8c8d;font-family:Lucida Sans Unicode,Arial Unicode MS,sans-serif;font-size:.7em;font-weight:400}.vg-ipa-container{align-items:center;gap:4px;display:flex}.vg-word-play-btn{cursor:pointer;background:#f0f7ff;border:1px solid #d0e5ff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:all .2s;display:flex}.vg-word-play-btn:hover{background:#e1f0ff;border-color:#b8d9ff;transform:scale(1.1)}.vg-word-play-btn:active{transform:scale(.95)}.vg-word-play-btn svg{fill:#3498db;width:12px;height:12px}.vg-word-play-btn.playing{background:#3498db;animation:1s infinite pulse}.vg-word-play-btn.playing svg{fill:#fff}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.vg-item-actions{align-items:center;gap:8px;display:flex}.vg-page{color:#999;background:#eee;border-radius:4px;padding:2px 6px;font-size:.6em}.vg-unit{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:2px 6px;font-size:.6em;font-weight:700}.vg-item-actions input[type=checkbox]{cursor:pointer;width:16px;height:16px}.vg-details{align-items:baseline;margin-bottom:6px;font-size:14px;display:flex}.vg-label{color:#555;flex-shrink:0;width:85px;font-size:.9em;font-weight:700}.vg-value{flex-grow:1}.vg-placeholder{color:#3498db;cursor:pointer;font-size:.9em;font-style:italic;text-decoration:underline}.vg-context{color:#555;background-color:#fff;border-left:4px solid #f39c12;border-radius:0 4px 4px 0;align-items:flex-start;gap:8px;margin:10px 0;padding:8px 12px;font-size:1.1em;font-style:italic;display:flex}.vg-play-btn{cursor:pointer;background:#fff;border:1px solid #eee;border-bottom:3px solid #ddd;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .1s;display:flex}.vg-play-btn:active{border-bottom-width:1px;transform:translateY(2px)}.vg-play-btn svg{fill:#1cb0f6;width:14px;height:14px}.vg-hook{background-color:#e8f8f5;border-left:4px solid #1abc9c;border-radius:0 4px 4px 0;margin-top:auto;padding:8px 12px;font-size:.95em}.vg-hook-label{color:#16a085;margin-right:6px;font-weight:700;display:inline}.vg-scroll-btns{z-index:1000;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.vg-scroll-btn{color:#fff;cursor:pointer;opacity:.5;background:#3498db;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;transition:all .2s;display:flex;box-shadow:0 4px 10px #0003}.vg-scroll-btn:hover{opacity:1;background:#2980b9;transform:scale(1.1)}.vg-mobile-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2000;background:#fffffff2;border-top:1px solid #eee;justify-content:space-around;gap:8px;padding:8px 12px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000000d}.vg-mobile-btn{color:#555;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;font-size:10px;display:flex}.vg-mobile-btn span{font-size:18px}@media (width<=600px){.vg-shell{padding-bottom:80px}.vg-scroll-btns{bottom:110px;right:15px}.vg-header-main h1{font-size:1.4em}.vg-header-main h2{font-size:1.1em}}.vg-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3000;background-color:#0000008c;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.vg-flashcard-modal{box-sizing:border-box;background:#fff;border-radius:16px;flex-direction:column;width:90%;max-width:480px;height:508px;padding:24px;animation:.3s cubic-bezier(.34,1.56,.64,1) scaleIn;display:flex;position:relative;box-shadow:0 10px 30px #00000026}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.vg-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.vg-card-header-title{color:var(--text-h);font-size:1.1rem;font-weight:700}.vg-flashcard-modal .vg-card-header-title{color:#2c3e50}.vg-modal-close-btn{cursor:pointer;color:#95a5a6;background:0 0;border:none;font-size:1.5rem;line-height:1;transition:color .2s}.vg-modal-close-btn:hover{color:#2c3e50}.vg-card-progress-container{background-color:#f1f2f6;border-radius:4px;width:100%;height:6px;margin-bottom:20px;overflow:hidden}.vg-card-progress-bar{background-color:#2ecc71;height:100%;transition:width .3s ease-out}.vg-card-container{perspective:1000px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;height:330px;margin-bottom:24px;transition:opacity .3s ease-in-out,transform .3s ease-in-out}.vg-card-container.clickable{cursor:pointer}.vg-card-container.slide-next{opacity:0;transform:translate(-60px)}.vg-card-inner{text-align:center;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.vg-card-container.is-flipped .vg-card-inner{transform:rotateY(180deg)}.vg-card-front,.vg-card-back{backface-visibility:hidden;box-sizing:border-box;border:1px solid #00000014;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:absolute;box-shadow:0 4px 12px #0000000d}.vg-card-front{color:#333;background-color:#fafbfd}.vg-card-back{color:#333;background-color:#f5fcfb;transform:rotateY(180deg)}.vg-card-index{color:#95a5a6;font-size:.75rem;position:absolute;top:12px;left:16px}.vg-card-top-right{align-items:center;gap:12px;display:flex;position:absolute;top:12px;right:16px}.vg-card-page{color:#bdc3c7;background-color:#ecf0f1;border-radius:4px;padding:2px 6px;font-size:.7rem}.vg-card-meta{align-items:center;gap:8px;display:flex}.vg-card-unit{color:#64748b;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700}.vg-card-detail{justify-content:space-between;width:100%;max-width:280px;margin-bottom:8px;font-size:.9rem;display:flex}.vg-card-label{color:#7f8c8d;font-weight:700}.vg-card-value{color:#2c3e50;text-align:right}.font-ipa{color:#e67e22;font-family:Lucida Sans Unicode,Arial Unicode MS,sans-serif}.vg-card-context{color:#555;text-align:left;box-sizing:border-box;background:#fff;border-left:4px solid #f39c12;border-radius:0 6px 6px 0;align-items:flex-start;gap:8px;width:100%;margin-top:15px;padding:10px 14px;font-size:1rem;font-style:italic;display:flex}.vg-card-word-title{color:#2980b9;align-items:center;gap:8px;margin:0;font-size:1.2rem;font-weight:700;display:flex}.vg-card-meaning{color:#2c3e50;margin-bottom:15px;font-size:1.25rem;font-weight:700}.vg-card-hook{text-align:left;box-sizing:border-box;background-color:#e8f8f5;border-left:4px solid #1abc9c;border-radius:0 6px 6px 0;width:100%;padding:10px 14px;font-size:.9rem}.vg-card-hook .vg-hook-label{color:#16a085;margin-bottom:2px;font-weight:700;display:block}.vg-card-hook .vg-hook-text{color:#333}.vg-modal-footer{justify-content:space-between;gap:12px;margin-top:auto;display:flex}.vg-modal-footer button{cursor:pointer;border:none;border-radius:25px;flex:1;justify-content:center;align-items:center;padding:12px;font-size:.95rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 6px #0000001a}.vg-modal-footer button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none!important}.vg-btn-know{color:#fff;background-color:#2ecc71}.vg-btn-know:hover:not(:disabled){background-color:#27ae60}.vg-btn-dont-know{color:#fff;background-color:#e74c3c}.vg-btn-dont-know:hover:not(:disabled){background-color:#c0392b}.vg-btn-next{color:#fff;background-color:#34495e}.vg-btn-next:hover:not(:disabled){background-color:#2c3e50}.vg-card-container.is-flipped.is-peeking .vg-card-inner{animation:.4s ease-in-out vg-card-peek}@keyframes vg-card-peek{0%{transform:rotateY(180deg)}25%{transform:rotateY(171deg)}50%{transform:rotateY(180deg)}75%{transform:rotateY(189deg)}to{transform:rotateY(180deg)}}.vg-print-table{border-collapse:collapse;width:100%}.vg-print-table>thead>tr>td,.vg-print-table>tbody>tr>td{border:none;padding:0}.vg-print-page-num,.vg-item-watermark{display:none}.vg-stats-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.vg-stats-buttons{align-items:center;gap:8px;display:flex}.vg-dictation-btn{color:#fff;cursor:pointer;transform-origin:50%;background:#2ecc71;border:none;border-radius:12px;align-items:center;gap:4px;padding:2px 10px;font-size:.8em;font-weight:700;transition:all .2s;animation:5s ease-in-out 2.5s infinite vg-shake;display:flex;box-shadow:0 2px 4px #0000001a}.vg-dictation-btn:hover{background:#27ae60;animation:none;transform:translateY(-1px)}.vg-dictation-btn:active{transform:translateY(0)}.vg-dictation-setup-modal,.vg-dictation-modal{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow-lg);color:var(--text);box-sizing:border-box;border-radius:16px;flex-direction:column;margin:16px;padding:24px;animation:.3s cubic-bezier(.175,.885,.32,1.275) scaleIn;display:flex;overflow:hidden}.vg-dictation-setup-modal{width:90%;max-width:520px}.vg-dictation-modal{width:90%;max-width:440px}.vg-modal-body{max-height:70vh;padding:16px 0;overflow-y:auto}.vg-modal-section{margin-bottom:20px}.vg-modal-section-title{color:var(--text-h);margin-bottom:10px;font-weight:700;display:block}.vg-dictation-groups-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:12px;display:grid}.vg-dictation-checkbox-label{border:1px solid var(--border);cursor:pointer;color:var(--text);background:#00000005;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:.9em;transition:background .15s,border-color .15s;display:flex}.vg-dictation-checkbox-label:hover{background:var(--accent-bg);border-color:var(--accent)}.vg-dictation-checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px;margin:0}.settings-options{border-top:1px dashed var(--border);flex-direction:column;gap:8px;padding-top:15px;display:flex}.vg-modal-actions-small{gap:8px;margin-top:8px;display:flex}.vg-btn-secondary-sm{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:4px 8px;font-size:.8em;transition:all .15s}.vg-btn-secondary-sm:hover{border-color:var(--text);background:#0000000d}.vg-btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-weight:700;transition:background .15s}.vg-btn-primary:hover{background:var(--accent-hover,#2980b9)}.vg-btn-primary:disabled{opacity:.5;cursor:not-allowed}.vg-btn-secondary{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:10px 20px;transition:background .15s}.vg-btn-secondary:hover{background:#0000000d}.vg-dictation-progress-container{background:var(--border);width:100%;height:5px}.vg-dictation-progress-bar{background:#2ecc71;height:100%;transition:width .3s}.vg-dictation-body{padding:16px 0}.vg-dictation-stats{text-align:center;color:var(--text-muted,#7f8c8d);margin-bottom:12px;font-size:.9em}.vg-dictation-card{border:1px dashed var(--border);background:#00000005;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:180px;padding:24px;display:flex}.vg-dictation-status{flex-direction:column;align-items:center;display:flex}.vg-dictation-wave-animation{align-items:center;gap:4px;height:28px;margin-bottom:12px;display:flex}.vg-dictation-wave-animation span{background-color:var(--accent);border-radius:2px;width:4px;height:100%;animation:1.2s ease-in-out infinite bounce-wave;display:inline-block}.vg-dictation-wave-animation span:nth-child(2){animation-delay:-1.1s}.vg-dictation-wave-animation span:nth-child(3){animation-delay:-1s}.vg-dictation-wave-animation span:nth-child(4){animation-delay:-.9s}@keyframes bounce-wave{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.read-count-dots{gap:8px;margin-top:15px;display:flex}.read-count-dots .dot{background:var(--border);border-radius:50%;width:8px;height:8px;transition:background .3s,transform .3s}.read-count-dots .dot.active{background:var(--accent);transform:scale(1.3)}.status-text{color:var(--text-h);font-size:1.2em;font-weight:700}.vg-dictation-bottom-area{justify-content:center;align-items:center;min-height:50px;margin-top:15px;display:flex}.vg-dictation-countdown-small{color:#2ecc71;background:var(--card-bg);border:2px solid #2ecc71;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;font-weight:700;transition:filter .3s,opacity .3s;display:flex}.vg-dictation-countdown-small.blurred{filter:blur(2px);opacity:.5}.vg-dictation-hint-area{justify-content:center;align-items:center;min-height:36px;margin-top:20px;display:flex}.vg-btn-hint-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:20px;padding:6px 12px;font-size:.85em}.vg-btn-hint-toggle:hover{background:var(--accent-bg);border-color:var(--accent)}.cn-hint-text{color:#e67e22;background:#fef5ec;border:1px solid #fadbd8;border-radius:8px;padding:8px 16px;font-size:.95em}.vg-btn-exit{color:#ff4b4b;cursor:pointer;background:0 0;border:1px solid #ff4b4b;border-radius:8px;padding:10px 20px}.vg-btn-exit:hover{background:#fff0f0}.vg-btn-pause{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:10px 20px;font-weight:700}.vg-btn-pause:hover{background:var(--accent-bg)}.vg-btn-pause:disabled{border-color:var(--border,#bdc3c7);color:var(--text-muted,#7f8c8d);cursor:not-allowed;opacity:.5}.vg-btn-next-dictation{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:8px;padding:10px 20px;font-weight:700}.vg-btn-next-dictation:hover{background:#2980b9}.vg-btn-next-dictation:disabled{background:var(--border,#bdc3c7);color:var(--text-muted,#7f8c8d);cursor:not-allowed;opacity:.6}.vg-dictation-results-body,.vg-flashcard-results-body{padding:16px 0}.vg-dictation-success-hero,.vg-flashcard-success-hero{text-align:center;margin-bottom:20px}.vg-flashcard-success-hero h3{color:#2c3e50;margin-top:12px;margin-bottom:6px;font-size:1.8em}.vg-modal-footer.vertical{flex-direction:column;align-items:center;gap:20px;width:100%;display:flex}.vg-modal-footer.vertical button{flex:none;width:220px;max-width:100%}.hero-emoji{margin-bottom:8px;font-size:3em}.vg-dictation-results-list{border:1px solid var(--border);border-radius:12px;max-height:280px;margin-bottom:24px;overflow-y:auto}.vg-dictation-result-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex}.vg-dictation-result-item:last-child{border-bottom:none}.result-num{color:var(--text-muted,#7f8c8d);min-width:24px;font-weight:700}.result-detail{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.result-word{color:var(--accent);font-size:1.1em;font-weight:700}.result-ipa{color:var(--text-muted,#7f8c8d);font-family:monospace;font-size:.85em}.result-meaning{color:var(--text);font-size:.9em}@keyframes pop-animation{0%{transform:scale(1)}50%{color:#e74c3c;transform:scale(1.3)}to{transform:scale(1)}}.vg-dictation-pop-number{color:#3498db;font-weight:700;animation:.25s ease-out pop-animation;display:inline-block}@media print{@page{size:A4;margin:12mm 8mm 8mm;@top-right{content:"Page " counter(page);font-size:11px;color:#555;font-family:Microsoft YaHei,Arial,sans-serif;line-height:48px}}body{color:#000!important;background:#fff!important;padding:0!important;font-size:11px!important;line-height:1.2!important}.vg-shell{background:#fff!important;max-width:none!important;padding:0!important}.vg-word-num{display:none!important}.vg-item-watermark{color:#0000000d!important;z-index:1!important;pointer-events:none!important;font-family:Arial,sans-serif!important;font-size:3.5em!important;font-weight:900!important;line-height:1!important;display:block!important;position:absolute!important;bottom:-8px!important;right:4px!important}.vg-print-header-group{display:table-header-group!important}.vg-print-page-num{display:none!important}.vg-header-main{text-align:center!important;border-bottom:1px solid #3498db!important;margin-bottom:10px!important;padding-bottom:5px!important;position:relative!important}.vg-back-btn{display:none!important}.vg-header-top{min-height:0!important;margin:0!important;display:inline!important}.vg-header-main h1{margin:0!important;font-size:1.4em!important;display:inline!important}.vg-header-main h2{border:none!important;margin-left:15px!important;padding:0!important;font-size:1.2em!important;display:inline!important}.vg-grid{grid-template-columns:repeat(4,1fr)!important;gap:6px!important;display:grid!important}.vg-item{box-shadow:none!important;page-break-inside:avoid!important;break-inside:avoid!important;opacity:1!important;filter:none!important;background:#fff!important;border:.5pt solid #bbb!important;border-radius:5px!important;flex-direction:column!important;min-height:0!important;padding:6px 8px!important;display:flex!important;position:relative!important;overflow:hidden!important}.vg-item.is-hidden{display:none!important}.vg-word-title{color:#000!important;margin-bottom:4px!important;padding-bottom:2px!important;font-size:1.25em!important}.vg-ipa-container{font-size:.8em!important}.vg-ipa{font-size:.9em!important}.vg-page{padding:1px 4px!important;font-size:.7em!important}.vg-details{margin-bottom:2px!important;font-size:.95em!important;line-height:1.2!important}.vg-label{color:#444!important;width:auto!important;margin-right:3px!important;font-size:.85em!important}.vg-value{font-weight:400!important}.vg-placeholder{display:none!important}.vg-context{background-color:#fdfaf5!important;border-left:2pt solid #f39c12!important;border-radius:0 4px 4px 0!important;margin:2px 0!important;padding:3px 6px!important;font-size:.95em!important}.vg-hook{background-color:#f5fdfc!important;border-left:2pt solid #1abc9c!important;border-radius:0 4px 4px 0!important;margin-top:1px!important;padding:3px 6px!important;font-size:.95em!important}.vg-hook-label{font-size:.85em!important}.vg-stats-bar-wrapper,.vg-stats-bar,.vg-controls-container,.vg-scroll-btns,.vg-mobile-nav,.vg-word-play-btn,.vg-play-btn,.vg-item-actions input[type=checkbox],.vg-unit,.vg-modal-backdrop{display:none!important}}.vt-modal-overlay{z-index:3000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;animation:.2s ease-out vtFadeIn;display:flex;position:fixed;inset:0}@keyframes vtFadeIn{0%{opacity:0}to{opacity:1}}.vt-modal-container{background:#fff;border:1px solid #fffc;border-radius:16px;flex-direction:column;gap:20px;width:90%;max-width:800px;padding:24px;display:flex;position:relative;box-shadow:0 10px 30px #00000040}.vt-header{border-bottom:2px solid #f0f0f0;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.vt-header h3{color:#2c3e50;margin:0;font-family:Inter,system-ui,sans-serif;font-size:1.5rem}.vt-word-info{text-align:center;color:#7f8c8d;margin-top:4px;font-size:1.1rem}.vt-close-btn{cursor:pointer;color:#95a5a6;background:0 0;border:none;font-size:1.5rem;transition:color .2s}.vt-close-btn:hover{color:#c0392b}.vt-board-outer{background:#f7f9fa;border:2px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;padding:20px 10px;display:flex;position:relative;overflow-x:auto}.vt-board-svg{max-width:100%;height:auto;display:block}.vt-line-top{stroke:#ff7675;stroke-width:1.5px}.vt-line-mid{stroke:#0984e3;stroke-width:1px;stroke-dasharray:4 4}.vt-line-base{stroke:#0984e3;stroke-width:1.5px}.vt-line-bottom{stroke:#b2bec3;stroke-width:1px;stroke-dasharray:2 2}.vt-letter-stroke{fill:none;stroke:#2d3436;stroke-linecap:round;stroke-linejoin:round;transition:stroke-dashoffset .15s linear}.vt-letter-stroke.secondary-stroke{stroke:#7f8c8d}.vt-letter-stroke-bg{fill:none;stroke:#dfe6e9;stroke-linecap:round;stroke-linejoin:round;opacity:.5}.vt-start-dot{fill:#27ae60;stroke:#fff;stroke-width:1.5px}.vt-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:10px;display:flex}.vt-btn-group{align-items:center;gap:10px;display:flex}.vt-btn{color:#2f3542;cursor:pointer;background:#f1f2f6;border:none;border-radius:8px;justify-content:center;align-items:center;padding:10px 20px;font-family:inherit;font-size:1.5rem;font-weight:600;transition:all .2s;display:flex}.vt-btn:hover{background:#dfe4ea}.vt-btn:disabled{opacity:.5;cursor:not-allowed}.vt-btn.primary{color:#fff;background:#3498db}.vt-btn.primary:hover{background:#2980b9}.vt-speed-select{color:#2f3542;cursor:pointer;background-color:#fff;border:1px solid #ced4da;border-radius:8px;padding:8px 12px;font-weight:500}@media (width<=600px){.vt-controls{flex-direction:column;align-items:stretch}.vt-btn-group{justify-content:space-between}}.sh-container{--primary:#58cc02;--primary-dark:#46a302;--secondary:#1cb0f6;--secondary-dark:#1185ba;--warning:#ffc800;--warning-dark:#e5b400;--danger:#ff4b4b;--danger-dark:#d33131;--neutral:#e5e5e5;--text:#4b4b4b;--white:#fff;--bg:#f0f2f5;color:var(--text);background:var(--white);-webkit-user-select:none;user-select:none;border-radius:20px;flex-direction:column;flex-grow:1;width:100%;max-width:600px;min-height:90vh;margin:20px auto;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000001a}@media (width<=600px){.sh-container{min-height:100vh;box-shadow:none;border-radius:0;max-width:none;margin:0}}.sh-screen{flex-direction:column;flex-grow:1;height:100%;padding:20px;display:flex}.sh-header{text-align:center;margin-bottom:20px;position:relative}.sh-header h1{color:var(--primary);margin:0;font-size:1.8rem}@media (width<=480px){.sh-header h1{font-size:1.4rem}}.sh-header h2{color:#999;margin-top:5px;font-size:1.1rem;font-weight:400}.sh-close-btn{cursor:pointer;color:#ccc;background:0 0;border:none;flex-shrink:0;width:30px;font-size:1.5rem}.sh-progress-container{background-color:var(--neutral);border-radius:6px;flex-grow:1;height:12px;display:flex;overflow:hidden}.sh-progress-segment{border-right:1px solid var(--white);flex-grow:1;transition:background-color .3s}.sh-progress-segment.green{background-color:var(--primary)}.sh-progress-segment.red{background-color:var(--danger)}.sh-progress-segment.active{z-index:10;border-bottom:3px solid var(--primary-dark);border-radius:4px;animation:1.5s ease-in-out infinite sh-breathing}.sh-question-area{flex-direction:column;flex-grow:1;justify-content:center;display:flex}.sh-prompt-cn{color:#333;text-align:center;margin-bottom:25px;font-size:1.8rem;font-weight:700}.sh-type-badge{text-align:center;color:#aaa;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-size:.75rem;font-weight:700}.sh-slots-container{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:25px;display:flex}.sh-slot{border:3px solid var(--neutral);cursor:pointer;background:var(--white);border-radius:12px;justify-content:center;align-items:center;min-width:52px;height:56px;padding:0 6px;font-size:1.2rem;font-weight:700;transition:all .2s;display:flex}.sh-slot.active{border-color:var(--secondary);background:#f0f9ff;transform:scale(1.08)}.sh-slot.filled{border-color:var(--primary);color:var(--primary-dark)}.sh-slot.correct{border-color:var(--primary);color:var(--primary-dark);background:#d7ffb8}.sh-slot.wrong{border-color:var(--danger);color:var(--danger-dark);background:#ffdfe0}.sh-options-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.sh-option-btn{border:2px solid var(--neutral);border-bottom:4px solid var(--neutral);cursor:pointer;color:var(--text);text-align:center;background:#fff;border-radius:12px;padding:18px 8px 12px;font-size:1.15rem;font-weight:700;transition:all .1s;position:relative}.sh-option-btn:active{border-bottom-width:2px;transform:translateY(2px)}.sh-option-btn.selected{background:var(--secondary);color:#fff;border-color:var(--secondary-dark)}.sh-option-btn.selected .sh-option-marker{background:var(--secondary-dark);border-color:var(--secondary-dark);color:#fff}.sh-option-marker{color:#aaa;background:#f0f2f5;border:1px solid #e5e5e5;border-radius:4px;padding:1px 4px;font-family:monospace;font-size:.65rem;font-weight:800;line-height:1;position:absolute;top:6px;left:8px}.sh-soup-answer{border:2px solid var(--neutral);background:#fafafa;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:70px;margin-bottom:20px;padding:12px;display:flex}.sh-soup-answer.shake{animation:.4s sh-shake}.sh-brick-pool{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;margin-bottom:10px;display:flex}.sh-brick{background:var(--white);border:2px solid var(--neutral);border-bottom:4px solid var(--neutral);cursor:pointer;color:var(--text);border-radius:12px;padding:10px 16px 10px 32px;font-size:1.2rem;font-weight:700;transition:all .1s;position:relative}.sh-brick:active{border-bottom-width:2px;transform:translateY(2px)}.sh-brick.used{background:var(--neutral);color:#0000;pointer-events:none;border-color:#0000}.sh-brick-answer{background:var(--white);border:2px solid var(--secondary);border-bottom:4px solid var(--secondary-dark);color:var(--secondary-dark);cursor:pointer;border-radius:12px;padding:10px 16px;font-size:1.2rem;font-weight:700;transition:all .1s}.sh-brick-answer:hover{transform:translateY(-3px)}.sh-feedback-area{text-align:center;visibility:hidden;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:80px;margin-bottom:10px;padding:12px 15px;display:flex}.sh-feedback-area.visible{visibility:visible}.sh-feedback-area.correct{background-color:#d7ffb8}.sh-feedback-area.wrong{background-color:#ffdfe0}.sh-feedback-title{margin:0 0 4px;font-size:1.1rem}.sh-feedback-word{margin:0;font-size:1.6rem;font-weight:700}.sh-play-btn{background:var(--white);border:2px solid var(--neutral);border-bottom:4px solid var(--neutral);cursor:pointer;vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-right:8px;transition:all .1s;display:inline-flex}.sh-play-btn:active{border-bottom-width:2px;transform:translateY(2px)}.sh-play-btn svg{width:20px;height:20px;fill:var(--secondary)}.sh-footer-action{border-top:2px solid var(--neutral);padding-top:15px}.sh-check-btn{color:#fff;background-color:var(--primary);border:none;border-bottom:5px solid var(--primary-dark);cursor:pointer;text-transform:uppercase;border-radius:16px;width:100%;padding:15px;font-size:1.2rem;font-weight:700}.sh-check-btn:active{border-bottom-width:3px;transform:translateY(2px)}.sh-check-btn:disabled{background-color:var(--neutral);color:#999;cursor:not-allowed;border-bottom-color:#ccc;transform:none}.sh-check-btn.continue{background-color:var(--secondary);border-bottom-color:var(--secondary-dark)}.sh-check-btn.wrong{background-color:var(--danger);border-bottom-color:var(--danger-dark);animation:.4s sh-shake}.sh-complete-screen{text-align:center;flex-direction:column;flex-grow:1;justify-content:center;align-items:center;padding:40px 20px;display:flex}.sh-score-display{color:var(--primary);margin:0;font-size:4rem;font-weight:700}.sh-complete-subtitle{color:#999;margin:10px 0 30px;font-size:1.2rem}.sh-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sh-modal-content{background:var(--white);border-radius:16px;width:90%;max-width:320px;max-height:80vh;padding:25px;overflow-y:auto;box-shadow:0 10px 25px #0003}.sh-modal-header{border-bottom:2px solid #eee;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;display:flex}.sh-modal-title{margin:0;font-size:1.2rem}.sh-modal-close{cursor:pointer;color:#666;background:0 0;border:none;font-size:1.4rem}.sh-history-list{margin:0;padding:0;list-style:none}.sh-history-item{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.sh-history-item:last-child{border-bottom:none}.sh-history-date{color:#666;font-size:.85rem}.sh-history-score{font-size:1.05rem;font-weight:700}@keyframes sh-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes sh-breathing{0%{opacity:.8;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.4);box-shadow:0 0 5px #0003}to{opacity:.8;transform:scaleY(1)}}@keyframes sh-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.mm-shell{background-color:var(--page-bg);width:100vw;height:100dvh;color:var(--text-main);z-index:1000;flex-direction:column;font-family:Outfit,Inter,-apple-system,sans-serif;display:flex;position:fixed;top:0;left:0;overflow:hidden}.mm-header{background-color:var(--card-bg);z-index:10;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex;position:relative;box-shadow:0 4px 20px #0000000d}.mm-header-left{align-items:center;gap:1rem;display:flex}.mm-home-link{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.25rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 5px #0000000d}.mm-home-link:hover{background:var(--code-bg);transform:translateY(-2px)scale(1.05);box-shadow:0 6px 12px #00000014}.mm-header-titles h1{color:var(--text-h);align-items:center;gap:8px;margin:0;font-size:1.15rem;font-weight:700;display:flex}.mm-section-title{color:var(--tab-active-text);background-color:rgba(var(--tab-active-text-rgb,79, 70, 229), .1);border-radius:20px;padding:2px 10px;font-size:.95rem;font-weight:600}.mm-header-titles p{color:var(--text-p);opacity:.8;margin:2px 0 0;font-size:.75rem}.mm-controls{align-items:center;gap:.75rem;margin-right:4.5rem;display:flex}.mm-ctrl-btn{background:var(--card-bg);border:1px solid var(--border);cursor:pointer;width:44px;height:44px;color:var(--text-main);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 4px #0000000d}.mm-ctrl-btn:hover:not(:disabled){background:var(--bg);transform:translateY(-2px);box-shadow:0 6px 12px #0000001a}.mm-ctrl-btn:disabled{opacity:.4;cursor:not-allowed}.mm-ctrl-btn.next{background-color:var(--tab-active-text);color:#fff;border-color:var(--tab-active-text)}.mm-ctrl-btn.play-all{color:#fff;background-color:#10b981;border-color:#10b981}.mm-ctrl-btn.play-all:hover{background-color:#059669}.mm-ctrl-btn.cn-toggle{background-color:var(--tab-active-text);color:#fff;border-color:var(--tab-active-text);font-size:.95rem;font-weight:700}.mm-ctrl-btn.cn-toggle:hover{opacity:.9}.mm-ctrl-btn.prompt{color:#fff;background-color:#f59e0b;border-color:#f59e0b}.mm-ctrl-btn.prompt:hover{background-color:#d97706}.mm-btn-separator{background-color:var(--border);width:1px;height:24px;margin:0 4px}.mm-progress-container{background:var(--border);width:100%;height:3px;position:absolute;bottom:0;left:0}.mm-progress-bar{background:var(--tab-active-text);height:100%;transition:width .3s}.mm-sliders-wrapper{z-index:99;box-sizing:border-box;flex-direction:row-reverse;align-items:flex-start;gap:12px;display:flex;position:absolute;top:85px;left:auto;right:24px}.mm-slider-container{background:var(--card-bg);border:1px solid var(--border);opacity:.55;border-radius:16px;flex-direction:column;gap:8px;width:290px;padding:12px 16px;transition:opacity .3s,transform .3s;display:flex;box-shadow:0 10px 25px -5px #00000014}.mm-slider-container.disabled{pointer-events:none;cursor:not-allowed;opacity:.25!important}.mm-slider-container:hover{opacity:1;transform:translateY(-2px)}.mm-slider-container.depth{background:var(--card-bg)}.mm-slider-labels{color:var(--text-p);justify-content:space-between;font-size:.72rem;font-weight:700;display:flex}.mm-slider-labels span{cursor:pointer;white-space:nowrap;border-radius:6px;padding:2px 6px;transition:color .2s}.mm-slider-labels span.active{color:var(--tab-active-text);background-color:rgba(var(--tab-active-text-rgb,79, 70, 229), .1)}.mm-range-slider{appearance:none;background:var(--border);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px}.mm-range-slider::-webkit-slider-thumb{appearance:none;background:var(--tab-active-text);cursor:pointer;border:2px solid var(--card-bg);border-radius:50%;width:18px;height:18px;transition:transform .1s;box-shadow:0 2px 6px #00000026}.mm-range-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.mm-container{scroll-behavior:smooth;background:radial-gradient(circle at 10% 20%,#eff6ff66 0%,#fff0 90%);flex-direction:column;flex:1;align-items:flex-start;padding:2.5rem 3rem;display:flex;overflow:auto}.mm-node-wrapper{align-items:center;display:flex}.mm-node-box{white-space:normal;word-break:break-word;background-color:var(--card-bg);-webkit-user-select:none;user-select:none;border:2px solid #0000;border-radius:14px;align-items:center;gap:10px;min-height:28px;padding:12px 20px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 4px 12px #0000000a}.mm-node-box.active{box-shadow:0 0 0 3px rgba(var(--tab-active-text-rgb,79, 70, 229), .3);transform:scale(1.03)}.mm-node-box.playing{border-color:#10b981;animation:1.5s infinite alternate pulse-border}@keyframes pulse-border{0%{box-shadow:0 0 #10b98166}to{box-shadow:0 0 0 6px #10b9811a}}.mm-node-box.empty{background-color:var(--code-bg);border:2px dashed var(--border);opacity:.65;min-width:70px;animation:.3s ease-out pop-in}.mm-node-box.emoji{background-color:#fef9c3;border-color:#facc15;justify-content:center;min-width:44px;animation:.4s cubic-bezier(.175,.885,.32,1.275) bounce-in;box-shadow:0 4px 10px #facc1526}.mm-node-box.keywords{color:#1e40af;background-color:#dbeafe;border-color:#3b82f6;font-weight:700;animation:.3s ease-out pop-in;box-shadow:0 4px 10px #3b82f626}.mm-node-box.full{background-color:var(--card-bg);border-color:var(--node-border,var(--tab-active-text));cursor:pointer}.mm-node-box.collapsible{cursor:pointer}.mm-node-box.collapsible:hover{border-color:var(--tab-active-text);transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.mm-node-content-emoji{flex-shrink:0;font-size:1.3rem}.mm-node-content-keywords{font-weight:700}.mm-node-content-text{color:var(--text-h)}.mm-highlight{color:#1d4ed8;background-color:#fef9c3;border-radius:4px;padding:0 4px;font-weight:700}.mm-collapsed-indicator{background:var(--tab-active-text);color:#fff;border-radius:12px;margin-left:8px;padding:2px 8px;font-size:.72rem;font-weight:700;box-shadow:0 2px 4px #0000001a}.mm-node-box.level-0{--node-border:#6366f1;max-width:380px;padding:14px 24px;font-size:1.25rem;font-weight:700}.mm-node-box.level-1{--node-border:#10b981;max-width:320px;font-size:1.1rem;font-weight:600}.mm-node-box.level-2{--node-border:#0ea5e9;max-width:280px;font-size:1rem}.mm-node-box.level-3{--node-border:#8b5cf6;max-width:280px;font-size:.95rem}.mm-node-box.level-4{--node-border:#f59e0b;max-width:280px;font-size:.9rem}.mm-children-container{flex-direction:column;margin-left:24px;padding-left:24px;display:flex;position:relative}.mm-children-container:before{content:"";background-color:var(--border);z-index:1;width:24px;height:2.5px;position:absolute;top:50%;left:-24px;transform:translateY(-50%)}.mm-child-row{align-items:center;padding:14px 0;display:flex;position:relative}.mm-child-row:before{content:"";background-color:var(--border);z-index:1;width:24px;height:2.5px;position:absolute;top:50%;left:-24px;transform:translateY(-50%)}.mm-child-row:after{content:"";background-color:var(--border);z-index:1;width:2.5px;position:absolute;top:0;bottom:0;left:-24px}.mm-child-row:first-child:after{top:50%}.mm-child-row:last-child:after{bottom:50%}.mm-child-row:first-child:last-child:after{display:none}.mm-node-actions{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;box-sizing:border-box;background-color:#ffffffe6;border-radius:12px;flex-direction:row;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;padding:0 8px;animation:.2s ease-out fade-in;display:flex;position:absolute;top:0;left:0}.mm-action-btn{background:var(--bg);border:1px solid var(--border);cursor:pointer;color:var(--text-main);border-radius:8px;justify-content:center;align-items:center;padding:6px 12px;font-size:.95rem;font-weight:600;transition:all .2s;display:flex;position:relative;box-shadow:0 2px 4px #00000005}.mm-action-btn:hover{background-color:var(--code-bg);color:var(--tab-active-text);border-color:var(--tab-active-text);transform:translateY(-1px)}.mm-tooltip{color:#fff;white-space:normal;z-index:9999;pointer-events:none;text-align:left;background-color:#1e293b;border-radius:10px;min-width:180px;max-width:320px;padding:10px 14px;font-size:.85rem;font-weight:400;line-height:1.5;animation:.2s ease-out slide-up;display:none;position:absolute;bottom:130%;left:50%;transform:translate(-50%);box-shadow:0 10px 25px -5px #0003}.mm-tooltip.visible{display:block}.mm-tooltip:after{content:"";border:6px solid #0000;border-top-color:#1e293b;margin-left:-6px;position:absolute;top:100%;left:50%}.mm-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#00000073;justify-content:center;align-items:center;animation:.25s ease-out fade-in;display:flex;position:fixed;inset:0}.mm-modal-content{background-color:var(--card-bg);border:1px solid var(--border);border-radius:20px;width:90%;max-width:520px;max-height:80vh;padding:2.2rem;animation:.3s cubic-bezier(.16,1,.3,1) scale-up;position:relative;overflow-y:auto;box-shadow:0 25px 50px -12px #00000026}.mm-modal-content.prompt{max-width:700px}.mm-modal-close{cursor:pointer;color:var(--text-p);background:0 0;border:none;font-size:1.8rem;line-height:1;transition:color .2s;position:absolute;top:1.2rem;right:1.2rem}.mm-modal-close:hover{color:var(--text-main)}.mm-modal-body h3{color:var(--text-h);border-bottom:2px solid var(--border);margin-top:0;margin-bottom:1.5rem;padding-bottom:.75rem;font-size:1.3rem}.mm-modal-statement{color:var(--text-h);text-align:center;background-color:var(--code-bg);border-radius:12px;margin-bottom:2rem;padding:10px;font-size:1.2rem;font-weight:600;line-height:1.5}.mm-modal-choices{gap:1rem;width:100%;display:flex}.mm-choice-btn{border:2px solid var(--border);cursor:pointer;text-align:center;background:var(--card-bg);border-radius:14px;flex:1;padding:14px;font-size:1rem;font-weight:700;transition:all .2s}.mm-choice-btn.true{color:#10b981;border-color:#10b9814d}.mm-choice-btn.true:hover{background-color:#10b98114;border-color:#10b981}.mm-choice-btn.false{color:#ef4444;border-color:#ef44444d}.mm-choice-btn.false:hover{background-color:#ef444414;border-color:#ef4444}.mm-modal-feedback{border:1px solid #0000;border-radius:14px;margin-top:1.5rem;padding:1.2rem;animation:.3s ease-out slide-up}.mm-modal-feedback.correct{color:#065f46;background-color:#10b98114;border-color:#10b98133}.mm-modal-feedback.incorrect{color:#991b1b;background-color:#ef444414;border-color:#ef444433}.mm-feedback-heading{margin-bottom:.5rem;font-size:1.05rem;font-weight:700}.mm-feedback-explanation{font-size:.92rem;line-height:1.5}.mm-prompt-text{color:var(--text-main);max-height:50vh;padding-right:8px;font-size:1.05rem;line-height:1.7;overflow-y:auto}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{opacity:.9;transform:scale(1.1)}80%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up-centered{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes scale-up{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (width<=1024px){.mm-container{padding:3rem 8rem 3rem 2rem}.mm-sliders-wrapper{left:auto;right:16px}}@media (width<=768px){.mm-header{padding:.5rem 1rem}.mm-header-titles h1{font-size:.95rem}.mm-section-title{padding:1px 6px;font-size:.8rem}.mm-sliders-wrapper{bottom:calc(74px + env(safe-area-inset-bottom,0px));box-sizing:border-box;flex-direction:column-reverse;align-items:stretch;gap:6px;width:auto;display:flex;position:fixed;top:auto;left:16px;right:16px}.mm-slider-container{opacity:.95;background-color:var(--card-bg);box-sizing:border-box;gap:4px;width:100%;padding:8px 10px;box-shadow:0 4px 15px #0000001a}.mm-slider-labels{font-size:.65rem}.mm-slider-labels span{padding:2px 4px}.mm-slider-container:hover{transform:none}.mm-controls{background-color:var(--card-bg);padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:100;border-top:1px solid var(--border);justify-content:center;gap:12px;margin-right:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 15px #0000000d}.mm-ctrl-btn{width:42px;height:42px;font-size:1.05rem}.mm-container{padding:20px 20px 340px;padding-bottom:calc(340px + env(safe-area-inset-bottom,0px));display:block}.mm-node-wrapper{flex-direction:column;align-items:flex-start;width:100%}.mm-children-container{margin-top:10px;margin-left:20px;padding-left:0;position:relative}.mm-children-container:before{display:none}.mm-child-row{width:100%;padding:8px 0;position:relative}.mm-child-row:before{content:"";background-color:var(--border);z-index:1;width:12px;height:2px;position:absolute;top:24px;left:-12px}.mm-child-row:after{content:"";background-color:var(--border);z-index:1;width:2px;display:block;position:absolute;top:0;bottom:0;left:-12px}.mm-child-row:first-child:after{top:-10px}.mm-child-row:last-child:after{height:24px;bottom:auto}.mm-child-row:first-child:last-child:after{height:34px;display:block;top:-10px}.mm-node-box{white-space:normal;word-break:break-word;max-width:calc(100vw - 80px);padding:8px 14px;font-size:.9rem}.mm-node-actions{padding:0 4px}.mm-action-btn{padding:4px 8px;font-size:.85rem}}@media (width>=769px){.mm-container.vertical-layout{padding:2.5rem;display:block}.mm-container.vertical-layout .mm-node-wrapper{flex-direction:column;align-items:flex-start;width:100%}.mm-container.vertical-layout .mm-children-container{margin-top:10px;margin-left:20px;padding-left:0;position:relative}.mm-container.vertical-layout .mm-children-container:before{display:none}.mm-container.vertical-layout .mm-child-row{width:100%;padding:8px 0;position:relative}.mm-container.vertical-layout .mm-child-row:before{content:"";background-color:var(--border);z-index:1;width:12px;height:2px;position:absolute;top:24px;left:-12px}.mm-container.vertical-layout .mm-child-row:after{content:"";background-color:var(--border);z-index:1;width:2px;display:block;position:absolute;top:0;bottom:0;left:-12px}.mm-container.vertical-layout .mm-child-row:first-child:after{top:-10px}.mm-container.vertical-layout .mm-child-row:last-child:after{height:24px;bottom:auto}.mm-container.vertical-layout .mm-child-row:first-child:last-child:after{height:34px;display:block;top:-10px}.mm-container.vertical-layout .mm-node-box{white-space:normal;word-break:break-word;max-width:calc(100vw - 80px);padding:8px 14px;font-size:.9rem}}.sa-shell-container{--primary:#3b82f6;--primary-dark:#2563eb;--secondary:#1cb0f6;--secondary-dark:#1185ba;--warning:#ffc800;--warning-dark:#e5b400;--danger:#ff4b4b;--danger-dark:#d33131;--neutral:#e5e5e5;--text:#4b4b4b;--white:#fff;--bg:#f0f2f5;color:var(--text);background:var(--white);-webkit-user-select:none;user-select:none;border-radius:20px;flex-direction:column;flex-grow:1;width:100%;max-width:600px;min-height:90vh;margin:20px auto;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000001a}@media (width<=600px){.sa-shell-container{min-height:100vh;box-shadow:none;border-radius:0;max-width:none;margin:0}}.sa-screen{flex-direction:column;flex-grow:1;height:100%;padding:20px;display:flex}.sa-header{text-align:center;margin-bottom:20px;position:relative}.sa-header h1{color:var(--primary);margin:0;font-size:1.8rem}@media (width<=480px){.sa-header h1{font-size:1.4rem}}.sa-header h2{color:#999;margin-top:5px;font-size:1.1rem;font-weight:400}.sa-settings-toggle{cursor:pointer;background:0 0;border:none;padding:5px;font-size:1.5rem;transition:transform .2s;position:absolute;top:0;right:0}.sa-settings-toggle:hover{transform:rotate(45deg)}.sa-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s ease-out forwards saModalFadeIn;display:flex;position:fixed;inset:0}.sa-modal-content{background:var(--white);border-radius:16px;width:90%;max-width:300px;max-height:80vh;padding:25px;animation:.25s cubic-bezier(.34,1.56,.64,1) forwards saModalPop;overflow-y:auto;box-shadow:0 10px 25px #0003}.sa-modal-overlay.closing{animation:.2s ease-in forwards saModalFadeOut}.sa-modal-content.closing{animation:.2s ease-in forwards saModalPopOut}@keyframes saModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes saModalPop{0%{opacity:0;transform:scale(.9)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes saModalFadeOut{0%{opacity:1}to{opacity:0}}@keyframes saModalPopOut{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.9)translateY(12px)}}.sa-modal-title{text-align:center;margin-top:0;margin-bottom:20px;font-size:1.3rem}.sa-history-list{margin:0;padding:0;list-style:none}.sa-history-item{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.sa-history-item:last-child{border-bottom:none}.sa-history-date{color:#666;font-size:.9rem}.sa-history-score{font-size:1.1rem;font-weight:700}.sa-settings-row{justify-content:space-between;align-items:center;margin-bottom:15px;font-size:1.1rem;display:flex}.sa-settings-row input[type=checkbox]{cursor:pointer;width:20px;height:20px}.sa-top-bar{justify-content:space-between;align-items:center;height:40px;margin-bottom:20px;display:flex}.sa-close-btn{cursor:pointer;color:#ccc;background:0 0;border:none;flex-shrink:0;width:30px;font-size:1.5rem}.sa-progress-container{background-color:var(--neutral);border-radius:6px;flex-grow:1;height:12px;margin:0 15px;display:flex;overflow:hidden}.sa-progress-segment{border-right:1px solid var(--white);flex-grow:1}.sa-progress-segment.green{background-color:#58cc02}.sa-progress-segment.yellow{background-color:var(--warning)}.sa-progress-segment.red{background-color:var(--danger)}.sa-progress-segment.redemption{background-color:var(--secondary);opacity:.8}.sa-progress-segment.active{z-index:10;border-bottom:3px solid var(--primary-dark);border-radius:4px;animation:1.5s ease-in-out infinite sa-breathing}.sa-question-area{flex-direction:column;flex-grow:1;justify-content:center;display:flex;position:relative}.sa-prompt-container{text-align:center;margin-bottom:20px}.sa-prompt-type{color:#aaa;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;font-size:.8rem;font-weight:700}.sa-prompt-val{color:#333;margin-bottom:5px;font-size:1.8rem;font-weight:700;line-height:1.2}.sa-prompt-hint-btn{cursor:pointer;color:var(--warning);filter:drop-shadow(0 2px 2px #0000001a);background:0 0;border:none;font-size:1.2rem;transition:transform .2s}.sa-prompt-hint-btn:hover{transform:scale(1.1)}.sa-hint-text{color:#666;visibility:hidden;min-height:1.2em;margin-top:5px;font-size:.9rem;font-style:italic}.sa-hint-text.visible{visibility:visible;animation:.3s sa-fadeIn}.sa-answer-area{border-top:2px solid var(--neutral);border-bottom:2px solid var(--neutral);background:#fafafa;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:70px;margin-bottom:30px;padding:15px;display:flex}.sa-word-pool{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:20px;display:flex}.sa-word-btn{background:var(--white);border:2px solid var(--neutral);border-bottom:4px solid var(--neutral);cursor:pointer;color:var(--text);border-radius:12px;flex-direction:column;align-items:center;padding:10px 14px;font-size:1.1rem;transition:all .1s;display:flex;position:relative}.sa-word-btn:active:not(:disabled){border-bottom-width:2px;transform:translateY(2px)}.sa-word-btn.selected{background:var(--neutral);color:#0000;pointer-events:none;border-color:#0000}.sa-word-btn.selected .sa-ipa{display:none}.sa-word-btn-answer{background:var(--white);border:2px solid var(--secondary);border-bottom:4px solid var(--secondary-dark);cursor:pointer;color:var(--secondary-dark);border-radius:12px;padding:10px 14px;font-size:1.1rem;transition:all .1s}.sa-word-btn-answer:active{border-bottom-width:2px;transform:translateY(2px)}.sa-ipa{color:#999;margin-top:2px;font-size:.75rem;font-weight:400}.sa-feedback-area{text-align:center;visibility:hidden;border-radius:12px;flex-direction:column;justify-content:center;min-height:100px;margin-bottom:10px;padding:15px;display:flex}.sa-feedback-area.visible{visibility:visible}.sa-feedback-area.correct{background-color:#d7ffb8}.sa-feedback-area.wrong{background-color:#ffdfe0}.sa-feedback-title{margin:0 0 5px}.sa-feedback-msg{color:#333;margin:0;font-size:1.25rem;font-weight:700}.sa-feedback-sentence{color:#666;margin-top:5px;font-size:.9rem;font-style:italic}.sa-play-btn{background:var(--white);border:2px solid var(--neutral);border-bottom:4px solid var(--neutral);cursor:pointer;vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-right:8px;transition:all .1s;display:inline-flex}.sa-play-btn:active{border-bottom-width:2px;transform:translateY(2px)}.sa-play-btn svg{width:20px;height:20px;fill:var(--primary)}.sa-footer-action{border-top:2px solid var(--neutral);padding-top:20px}.sa-check-btn{color:#fff;background-color:var(--primary);border:none;border-bottom:5px solid var(--primary-dark);cursor:pointer;text-transform:uppercase;border-radius:16px;width:100%;margin-bottom:15px;padding:15px;font-size:1.2rem;font-weight:700;transition:all .1s}.sa-check-btn:active:not(:disabled){border-bottom-width:3px;transform:translateY(2px)}.sa-check-btn:disabled{background-color:var(--neutral);color:#999;cursor:not-allowed;border-bottom-color:#ccc;transform:none}.sa-check-btn.continue:disabled{opacity:.6;cursor:not-allowed}.sa-mistakes-review-box{text-align:left;border:2px solid var(--neutral);background:#fff;border-radius:12px;width:100%;max-height:250px;margin:20px 0;padding:15px;overflow-y:auto}.sa-mistakes-review-title{color:var(--danger);border-bottom:1px solid #eee;margin-top:0;padding-bottom:5px;font-size:1.1rem}.sa-mistake-review-item{border-bottom:1px solid #f0f0f0;margin-bottom:10px;padding-bottom:5px}.sa-mistake-review-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.sa-mistake-review-cn{color:#555;font-size:.95rem;font-weight:700}.sa-mistake-review-en{color:var(--primary-dark);margin-top:2px;font-size:.95rem;font-weight:700}.sa-perfect-run-badge{color:var(--primary);margin:20px 0;font-size:1.2rem;font-weight:700}@keyframes sa-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes sa-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes sa-fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes sa-breathing{0%{opacity:.8;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.4);box-shadow:0 0 5px #0003}to{opacity:.8;transform:scaleY(1)}}.gw-shell-container{--primary:#8b5cf6;--primary-dark:#6d28d9;--secondary:#1cb0f6;--secondary-dark:#1185ba;--warning:#ffc800;--warning-dark:#e5b400;--danger:#ff4b4b;--danger-dark:#d33131;--neutral:#e5e5e5;--text:#4b4b4b;--white:#fff;--bg:#f0f2f5;color:var(--text);background:var(--white);-webkit-user-select:none;user-select:none;border-radius:20px;flex-direction:column;flex-grow:1;width:100%;max-width:600px;min-height:90vh;margin:20px auto;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000001a}@media (width<=600px){.gw-shell-container{min-height:100vh;box-shadow:none;border-radius:0;max-width:none;margin:0}}.gw-screen{flex-direction:column;flex-grow:1;height:100%;padding:20px;display:flex}.gw-header{text-align:center;margin-bottom:20px;position:relative}.gw-header h1{color:var(--primary);margin:0;font-size:1.8rem}@media (width<=480px){.gw-header h1{font-size:1.4rem}}.gw-header h2{color:#999;margin-top:5px;font-size:1.1rem;font-weight:400}.gw-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s ease-out forwards gwModalFadeIn;display:flex;position:fixed;inset:0}.gw-modal-content{background:var(--white);border-radius:16px;width:90%;max-width:280px;max-height:80vh;padding:25px;animation:.25s cubic-bezier(.34,1.56,.64,1) forwards gwModalPop;overflow-y:auto;box-shadow:0 10px 25px #0003}@keyframes gwModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes gwModalPop{0%{opacity:0;transform:scale(.9)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.gw-modal-title{margin-top:0;margin-bottom:20px;font-size:1.3rem}.gw-history-list{margin:0;padding:0;list-style:none}.gw-history-item{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.gw-history-item:last-child{border-bottom:none}.gw-history-date{color:#666;font-size:.9rem}.gw-history-score{font-size:1.1rem;font-weight:700}.gw-top-bar{justify-content:space-between;align-items:center;height:40px;margin-bottom:20px;display:flex}.gw-close-btn{cursor:pointer;color:#ccc;background:0 0;border:none;flex-shrink:0;width:30px;font-size:1.5rem}.gw-progress-container{background-color:var(--neutral);border-radius:6px;flex-grow:1;height:12px;margin:0 15px;display:flex;overflow:hidden}.gw-progress-segment{border-right:1px solid var(--white);flex-grow:1}.gw-progress-segment.green{background-color:var(--primary)}.gw-progress-segment.yellow{background-color:var(--warning)}.gw-progress-segment.red{background-color:var(--danger)}.gw-progress-segment.redemption{background-color:var(--secondary);opacity:.8}.gw-progress-segment.active{z-index:10;border-bottom:3px solid var(--primary-dark);border-radius:4px;animation:1.5s ease-in-out infinite breathing}.gw-question-area{flex-direction:column;flex-grow:1;justify-content:center;display:flex;position:relative}.gw-prompt-container{text-align:center;margin-bottom:25px}.gw-prompt-category{color:var(--primary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px;font-size:.85rem;font-weight:800}.gw-prompt-val{color:#222;margin-bottom:8px;padding:0 10px;font-size:1.45rem;font-weight:700;line-height:1.35}.gw-prompt-hint-btn{cursor:pointer;color:var(--warning);filter:drop-shadow(0 2px 2px #0000001a);background:0 0;border:none;font-size:1.2rem;transition:transform .2s}.gw-prompt-hint-btn:hover{transform:scale(1.1)}.gw-hint-text{color:#666;visibility:hidden;min-height:1.2em;margin-top:5px;font-size:.95rem;font-style:italic}.gw-hint-text.visible{visibility:visible;animation:.3s fadeIn}.gw-options-list{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.gw-option-btn{background:var(--white);border:2px solid var(--neutral);border-bottom:4px solid var(--neutral);cursor:pointer;color:var(--text);text-align:left;border-radius:16px;justify-content:flex-start;align-items:center;min-height:56px;padding:14px 20px;font-size:1.05rem;line-height:1.35;transition:all .1s;display:flex}.gw-option-btn:active{border-bottom-width:2px;transform:translateY(2px)}.gw-option-btn.selected{border-color:var(--primary);border-bottom-color:var(--primary-dark);color:var(--primary-dark);background:#f5f3ff}.gw-option-btn.correct{color:#047857;background-color:#ecfdf5;border-color:#10b981 #10b981 #047857}.gw-option-btn.wrong{color:#b91c1c;background-color:#fef2f2;border-color:#ef4444 #ef4444 #b91c1c}.gw-option-btn:disabled{cursor:default}.gw-option-btn:disabled:active{border-bottom-width:4px;transform:none}.gw-option-marker{opacity:.6;flex-shrink:0;margin-right:12px;font-family:monospace;font-size:1.1rem;font-weight:700}.gw-option-btn.selected .gw-option-marker,.gw-option-btn.correct .gw-option-marker,.gw-option-btn.wrong .gw-option-marker{opacity:1}.gw-option-text{flex-grow:1}.gw-footer-action{border-top:2px solid var(--neutral);padding-top:20px}.gw-check-btn{color:#fff;background-color:var(--primary);border:none;border-bottom:5px solid var(--primary-dark);cursor:pointer;text-transform:uppercase;border-radius:16px;width:100%;margin-bottom:15px;padding:15px;font-size:1.2rem;font-weight:700}.gw-check-btn:active{border-bottom-width:3px;transform:translateY(2px)}.gw-check-btn:disabled{background-color:var(--neutral);color:#999;cursor:not-allowed;border-bottom-color:#ccc;transform:none}.gw-check-btn.wrong{background-color:var(--danger);border-bottom-color:var(--danger-dark);animation:.5s shake}.gw-check-btn.correct{background-color:var(--primary);animation:.5s bounce}.gw-check-btn.continue{background-color:var(--secondary);border-bottom-color:var(--secondary-dark)}.gw-feedback-area{text-align:left;visibility:hidden;box-sizing:border-box;border-radius:12px;flex-direction:column;justify-content:center;min-height:120px;margin-bottom:10px;padding:15px;display:flex}.gw-feedback-area.visible{visibility:visible}.gw-feedback-area.correct{background-color:#ecfdf5;border:1px solid #10b981}.gw-feedback-area.wrong{background-color:#fef2f2;border:1px solid #ef4444}.gw-feedback-title{text-align:center;margin:0 0 5px;font-size:1.2rem}.gw-feedback-msg{text-align:center;margin:0 0 8px;font-size:1.05rem;font-weight:700}.gw-feedback-explanation{color:#555;border-top:1px dashed #0000001a;padding-top:8px;font-size:.92rem;line-height:1.4}.gw-modal-overlay.closing{animation:.2s ease-in forwards gwModalFadeOut}.gw-modal-content.closing{animation:.2s ease-in forwards gwModalPopOut}@keyframes gwModalFadeOut{0%{opacity:1}to{opacity:0}}@keyframes gwModalPopOut{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.9)translateY(12px)}}.pd-shell-container{--primary:#4f46e5;--primary-dark:#3730a3;--secondary:#1cb0f6;--secondary-dark:#1185ba;--warning:#ffc800;--warning-dark:#e5b400;--danger:#ff4b4b;--danger-dark:#d33131;--neutral:#e5e5e5;--text:#4b4b4b;--white:#fff;--bg:#f0f2f5;color:var(--text);background:var(--white);-webkit-user-select:none;user-select:none;border-radius:20px;flex-direction:column;width:100%;max-width:600px;height:calc(100vh - 40px);max-height:calc(100vh - 40px);margin:20px auto;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000001a}@media (width<=600px){.pd-shell-container{height:100vh;max-height:100vh;box-shadow:none;border-radius:0;max-width:none;margin:0}}.pd-screen{flex-direction:column;flex-grow:1;height:100%;padding:20px;display:flex;overflow-y:auto}.pd-screen.gameplay{height:100%;padding:15px;overflow:hidden}.pd-header{text-align:center;margin-bottom:20px;position:relative}.pd-header h1{color:var(--primary);margin:0;font-size:1.8rem}@media (width<=480px){.pd-header h1{font-size:1.4rem}}.pd-header h2{color:#999;margin-top:5px;font-size:1.1rem;font-weight:400}.pd-top-bar{justify-content:space-between;align-items:center;height:30px;margin-bottom:15px;display:flex}.pd-close-btn{cursor:pointer;color:#ccc;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:30px;font-size:1.5rem;display:flex}.pd-close-btn:hover{color:#888}.pd-progress-container{background-color:var(--neutral);border-radius:5px;flex-grow:1;height:10px;margin-left:10px;display:flex;overflow:hidden}.pd-progress-segment{border-right:1px solid var(--white);flex-grow:1}.pd-progress-segment.green{background-color:#58cc02}.pd-progress-segment.red{background-color:var(--danger)}.pd-progress-segment.redemption{background-color:var(--secondary);opacity:.8}.pd-progress-segment.active{z-index:10;border-bottom:3px solid var(--primary-dark);border-radius:3px;animation:1.5s ease-in-out infinite tpBreathing}.pd-split-viewport{flex-direction:column;flex-grow:1;height:100%;display:flex;overflow:hidden}.pd-upper-viewport{border:2px solid var(--neutral);color:#4b5563;background-color:#f9fafb;border-radius:16px;flex:0 0 40%;max-height:40%;margin-bottom:15px;padding:15px;font-size:1.15rem;line-height:1.7;overflow-y:auto}.pd-sentence{cursor:default;border-radius:4px;padding:1px 3px;transition:all .3s;display:inline}.pd-sentence.active{color:#111827;background-color:#fde04766;border-bottom:2px solid #eab308;font-weight:600;box-shadow:0 0 6px #eab30840}.pd-sentence.completed{color:#cbd5e1}.pd-lower-viewport{flex-direction:column;flex:60%;justify-content:space-between;padding-bottom:5px;display:flex;overflow-y:auto}.pd-think-area{text-align:center;flex-direction:column;flex-grow:1;justify-content:center;align-items:center;padding:20px 10px;display:flex}.pd-think-prompt{color:#1f2937;margin:0 0 8px;font-size:1.3rem;font-weight:700}.pd-think-sub{color:#6b7280;margin:0 0 25px;font-size:.95rem;font-style:italic}.pd-reveal-btn{color:#fff;background-color:var(--primary);border:none;border-bottom:4px solid var(--primary-dark);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;gap:10px;width:80%;max-width:280px;padding:14px;font-size:1.15rem;font-weight:700;transition:transform .1s;display:flex}.pd-reveal-btn:active{border-bottom-width:2px;transform:translateY(2px)}.pd-options-area{flex-direction:column;flex-grow:1;justify-content:space-between;display:flex}.pd-options-grid{flex-direction:column;gap:10px;display:flex}.pd-option-btn{background:var(--white);border:2px solid var(--neutral);border-bottom:4px solid var(--neutral);cursor:pointer;color:var(--text);text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;padding:12px 16px;transition:all .1s;display:flex}.pd-option-btn:active:not(:disabled){border-bottom-width:2px;transform:translateY(2px)}.pd-option-num{color:#6b7280;border:1px solid var(--neutral);background-color:#f3f4f6;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.85rem;font-weight:700;display:flex}.pd-option-text{font-size:.98rem;font-weight:500;line-height:1.4}.pd-option-btn.selected{border-color:var(--primary);border-bottom-color:var(--primary-dark);color:var(--primary-dark);background:#e0e7ff}.pd-option-btn.correct{color:#46a302;background-color:#d7ffb8;border-color:#58cc02 #58cc02 #46a302}.pd-option-btn.correct .pd-option-num{color:#fff;background-color:#58cc02;border-color:#46a302}.pd-option-btn.wrong{border-color:var(--danger);border-bottom-color:var(--danger-dark);color:var(--danger-dark);background-color:#ffdfe0}.pd-option-btn.wrong .pd-option-num{background-color:var(--danger);color:#fff;border-color:var(--danger-dark)}.pd-option-btn:disabled{cursor:default}.pd-shortcut-tag{text-transform:uppercase;background-color:#ffffff40;border-radius:4px;padding:2px 6px;font-size:.75rem}.pd-footer-action{margin-top:5px}.pd-continue-btn{color:#fff;background-color:var(--primary);border:none;border-bottom:5px solid var(--primary-dark);cursor:pointer;text-transform:uppercase;border-radius:16px;width:100%;padding:14px;font-size:1.15rem;font-weight:700;transition:all .1s}.pd-continue-btn:active:not(:disabled){border-bottom-width:3px;transform:translateY(2px)}.pd-continue-btn:disabled{background-color:var(--neutral);color:#999;cursor:not-allowed;border-bottom-color:#ccc;transform:none}@keyframes tpBreathing{0%{opacity:.8;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.4);box-shadow:0 0 5px #0003}to{opacity:.8;transform:scaleY(1)}}.pd-paragraph{margin:0 0 12px;line-height:1.6;display:block}.pd-speaker-prefix{color:var(--primary);margin-right:6px;font-weight:700}.pd-timer-container{justify-content:center;align-items:center;height:40px;margin-bottom:12px;display:flex;position:relative}.pd-timer-container .countdown-ring-wrapper{margin:0 auto;position:relative;top:0;left:auto}.pd-check-btn{color:#fff;background-color:var(--primary);border:none;border-bottom:5px solid var(--primary-dark);cursor:pointer;text-transform:uppercase;border-radius:16px;width:100%;padding:14px;font-size:1.15rem;font-weight:700;transition:all .1s}.pd-check-btn:active{border-bottom-width:3px;transform:translateY(2px)}.pd-remark-banner{color:#92400e;background-color:#fef3c7;border:1px solid #fcd34d;border-radius:12px;align-items:flex-start;gap:8px;margin-top:10px;margin-bottom:10px;padding:10px 14px;font-size:.9rem;line-height:1.5;animation:.3s ease-in-out fadeIn;display:flex}.pd-remark-icon{font-size:1.1rem;line-height:1.3}.pd-remark-text{flex-grow:1}.pd-section-card.flicker-active{animation:.6s ease-in-out 3 pdFlicker}@keyframes pdFlicker{0%,to{border-color:var(--neutral);background-color:var(--white)}50%{border-color:var(--primary);background-color:color-mix(in srgb, var(--primary) 8%, white);box-shadow:0 0 10px color-mix(in srgb, var(--primary) 30%, transparent)}}.pd-highlight{color:var(--primary);border-bottom:1px dashed #4f46e566;font-weight:600;transition:all .2s}.pd-highlight.clickable{cursor:pointer}.pd-highlight.clickable:hover{border-bottom:1px solid var(--primary);background-color:#4f46e526}.pd-sentence.active .pd-highlight{color:var(--primary-dark);border-bottom:2px solid var(--primary);background-color:#4f46e51f;border-radius:4px;padding:0 3px;font-weight:700;box-shadow:0 1px 3px #4f46e51a}.pd-sentence.completed .pd-highlight{color:#94a3b8;border-bottom:1px dashed #cbd5e1;font-weight:500}.pd-word-detail-modal{background:var(--white);border:1px solid #0000000d;border-radius:24px;width:90%;max-width:400px;padding:24px;animation:.3s cubic-bezier(.16,1,.3,1) pdModalSlideUp;position:relative;box-shadow:0 20px 40px #00000026}@keyframes pdModalSlideUp{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.pd-word-modal-close{cursor:pointer;color:#64748b;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.pd-word-modal-close:hover{color:#334155;background:#e2e8f0}.pd-word-detail-header{border-bottom:1.5px solid #f1f5f9;margin-bottom:20px;padding-bottom:12px}.pd-word-detail-title{color:var(--primary);letter-spacing:-.5px;margin:0 0 4px;font-size:1.6rem;font-weight:800}.pd-word-detail-ipa{color:#64748b;font-family:Inter,system-ui,sans-serif;font-size:.95rem;font-weight:500}.pd-word-detail-body{flex-direction:column;gap:16px;display:flex}.pd-word-detail-row{flex-direction:column;gap:4px;display:flex}.pd-word-detail-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:700}.pd-word-detail-val{color:#334155;font-size:1rem;font-weight:500}.pd-word-detail-val.font-chinese{font-family:system-ui,-apple-system,sans-serif;line-height:1.5}.pd-word-detail-row.hook{border-left:4px solid var(--warning);background:#f8fafc;border-radius:12px;padding:12px 16px}.pd-word-detail-row.hook .pd-word-detail-label{color:var(--warning-dark)}.pd-word-detail-context{flex-direction:column;gap:6px;display:flex}.pd-word-detail-sentence-box{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.pd-word-detail-sentence{color:#475569;font-size:.95rem;font-style:italic;font-weight:500}.pd-word-play-btn{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex;box-shadow:0 2px 4px #4f46e533}.pd-word-play-btn svg{fill:currentColor;width:14px;height:14px;margin-left:2px}.pd-word-play-btn:hover{background-color:var(--primary-dark);transform:scale(1.05)}.pd-word-play-btn.playing{animation:1s infinite alternate pdAudioPlaying}@keyframes pdAudioPlaying{0%{opacity:1;transform:scale(1)}to{opacity:.8;transform:scale(1.1)}}.pd-sentence-play-btn{cursor:pointer;vertical-align:middle;opacity:.75;background:0 0;border:none;align-items:center;margin-left:6px;padding:0 4px;font-size:.95rem;transition:opacity .2s,transform .1s;display:inline-flex}.pd-sentence-play-btn:hover{opacity:1;transform:scale(1.15)}.pd-sentence-play-btn:active{transform:scale(.95)}.pd-autoplay-toggle-container{justify-content:flex-end;align-items:center;margin-bottom:8px;padding:0 4px;display:flex}.pd-autoplay-toggle-label{color:#64748b;cursor:pointer;background:#f1f5f9;border-radius:99px;align-items:center;gap:6px;padding:4px 8px;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.pd-autoplay-toggle-label:hover{color:#334155;background:#e2e8f0}.pd-autoplay-toggle-label input{cursor:pointer;accent-color:var(--primary);width:14px;height:14px}.ts-shell-container,.ts-shell-container *,.ts-shell-container :before,.ts-shell-container :after{box-sizing:border-box}.ts-shell-container{color:#1e293b;background-color:#f8fafc;flex-direction:column;min-height:100vh;font-family:system-ui,-apple-system,sans-serif;display:flex}.ts-header{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#6366f1 100%);padding:16px 24px;box-shadow:0 4px 6px -1px #0000001a}.ts-header-nav{align-items:center;gap:20px;width:100%;max-width:900px;margin:0 auto;display:flex}.ts-home-btn{background:#fff3;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.8rem;text-decoration:none;transition:all .2s;display:flex}.ts-home-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.ts-title-wrapper h1{letter-spacing:-.5px;margin:0;font-size:1.3rem;font-weight:800}.ts-title-wrapper h2{opacity:.9;margin:2px 0 0;font-size:.85rem;font-weight:500}.ts-layout{flex-direction:column;flex:1;gap:24px;width:100%;max-width:900px;margin:24px auto;padding:0 24px;display:flex}.ts-content-area{flex-direction:column;gap:20px;display:flex}.ts-sidebar{flex-direction:column;flex-shrink:0;gap:20px;width:100%;display:flex}.ts-sidebar h3{text-transform:uppercase;color:#64748b;letter-spacing:1px;margin:0;font-size:.9rem;font-weight:700}.ts-section-tabs{z-index:50;white-space:nowrap;scrollbar-width:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-flow:row;gap:8px;width:100%;padding:10px 0;display:flex;position:sticky;top:0;overflow-x:auto}.ts-section-tabs::-webkit-scrollbar{display:none}.ts-section-tabs:active{cursor:grabbing}.ts-section-tab{text-align:left;cursor:pointer;color:#475569;background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;flex-shrink:0;align-items:center;gap:12px;padding:12px 16px;font-family:inherit;font-weight:600;transition:all .2s;display:flex}.ts-section-tab:hover{background:#f1f5f9;border-color:#cbd5e1}.ts-section-tab.active{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6;box-shadow:0 4px 6px -1px #3b82f61a}.ts-tab-num{color:#64748b;white-space:nowrap;background:#f1f5f9;border-radius:8px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 6px;font-size:.9rem;transition:all .2s;display:flex}.ts-section-tab.active .ts-tab-num{color:#fff;background:#3b82f6}.ts-score-summary{text-align:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:20px;box-shadow:0 4px 6px -1px #0000000d}.ts-score-summary h4{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:.85rem}.ts-score-badge{border:5px solid;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;margin:0 auto 16px;display:flex}.ts-score-num{font-size:1.8rem;font-weight:800}.ts-retry-btn{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:12px;width:100%;padding:10px 16px;font-family:inherit;font-weight:700;transition:all .2s}.ts-retry-btn:hover{background:#1e293b;transform:translateY(-1px)}.ts-sheet-paper{background:#fff;border:1.5px solid #e2e8f0;border-radius:24px;flex-direction:column;flex:1;min-width:0;padding:20px;display:flex;box-shadow:0 10px 15px -3px #0000000d}.ts-section-header{border-bottom:2px dashed #f1f5f9;margin-bottom:24px;padding-bottom:16px}.ts-section-header h2{color:#0f172a;margin:0 0 8px;font-size:1.15rem;font-weight:800}.ts-instruction{color:#64748b;margin:0;font-size:.95rem;line-height:1.5}.ts-wordbank-pool{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:16px;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:24px;padding:16px;display:flex}.ts-wordbank-chip{color:#334155;background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;padding:6px 12px;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #00000005}.ts-wordbank-chip.used{color:#94a3b8;box-shadow:none;opacity:.6;background:#f1f5f9;border-style:dashed;border-color:#cbd5e1}.ts-questions-list{flex-direction:column;gap:20px;display:flex}.ts-question-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;padding:16px;transition:all .2s}.ts-question-card:hover{border-color:#cbd5e1;box-shadow:0 4px 6px -1px #00000005}.ts-question-card.correct{background:#f0fdf4;border-color:#86efac}.ts-question-card.wrong{background:#fef2f2;border-color:#fca5a5}.ts-question-header{color:#1e293b;font-size:1.05rem;font-weight:500;display:block}.ts-question-num{color:#64748b;margin-right:8px;font-weight:700}.ts-question-prompt{line-height:1.8}.ts-wordbank-select{color:#1e293b;cursor:pointer;background-color:#fff;border:1.5px solid #cbd5e1;border-radius:8px;outline:none;margin:0 6px;padding:4px 8px;font-family:inherit;font-size:.95rem;font-weight:700;transition:border-color .2s}.ts-wordbank-select:focus{border-color:#3b82f6}.ts-wordbank-select:disabled{cursor:not-allowed;background:#f1f5f9}.ts-blank-input{color:#0f172a;text-align:left;background-color:#fff;border:1.5px solid #cbd5e1;border-radius:8px;outline:none;width:130px;margin:0 4px;padding:4px 6px;font-family:inherit;font-size:.95rem;font-weight:700;transition:all .25s;box-shadow:inset 0 1px 2px #0000000d}.ts-blank-input:hover{border-color:#94a3b8}.ts-blank-input:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626,inset 0 1px 2px #0000000d}.ts-blank-input:disabled{color:#94a3b8;cursor:not-allowed;box-shadow:none;background-color:#f1f5f9;border-color:#e2e8f0}.ts-options-container{grid-template-columns:1fr;gap:10px;margin-top:14px;display:grid}@media (width>=640px){.ts-options-container{grid-template-columns:repeat(3,1fr)}}.ts-option-btn{color:#475569;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.ts-option-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.ts-option-btn.selected{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6}.ts-option-btn.correct-reveal{color:#065f46;background:#ecfdf5;border-color:#10b981;box-shadow:0 0 0 2px #10b981}.ts-option-btn.wrong-reveal{color:#991b1b;background:#fef2f2;border-color:#ef4444}.ts-option-letter{color:#64748b;font-weight:700}.ts-option-btn.selected .ts-option-letter{color:inherit}.ts-feedback-detail{border-top:1px dashed #e2e8f0;margin-top:14px;padding-top:12px}.ts-correct-ans-reveal{color:#dc2626;margin:0 0 6px;font-size:.9rem}.ts-reveal-word{background:#fee2e2;border-radius:4px;padding:2px 6px}.ts-translation{color:#475569;margin:0 0 6px;font-size:.9rem;font-weight:500}.ts-explanation{color:#64748b;margin:0;font-size:.85rem;line-height:1.4}.ts-footer-actions{border-top:2px solid #f1f5f9;margin-top:32px;padding-top:24px}.ts-submit-btn{color:#fff;cursor:pointer;background:#8b5cf6;border:none;border-radius:16px;width:100%;max-width:320px;margin:0 auto;padding:14px 28px;font-size:1.1rem;font-weight:800;transition:all .2s;display:block;box-shadow:0 4px 6px -1px #8b5cf64d}.ts-submit-btn:hover{background:#7c3aed;transform:translateY(-1.5px);box-shadow:0 6px 8px -1px #8b5cf666}.ts-prev-btn,.ts-next-btn{width:auto;margin:0;display:inline-block}.ts-prev-btn{background:#3b82f6;box-shadow:0 4px 6px -1px #3b82f64d}.ts-prev-btn:hover{background:#2563eb;box-shadow:0 6px 8px -1px #3b82f666}.ts-next-btn{background:#10b981;box-shadow:0 4px 6px -1px #10b9814d}.ts-next-btn:hover{background:#059669;box-shadow:0 6px 8px -1px #10b98166}.ts-results-dashboard{text-align:center;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:20px;max-width:500px;margin:0 auto;padding:20px}.ts-results-dashboard h3{color:#1e293b;margin:0 0 16px;font-size:1.25rem;font-weight:800}.ts-rewards-grid{justify-content:center;gap:16px;display:flex}.ts-reward-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;align-items:center;gap:8px;padding:10px 16px;display:flex;box-shadow:0 2px 4px #00000005}.ts-reward-emoji{font-size:1.3rem}.ts-reward-val{color:#334155;font-size:.95rem;font-weight:700}@media (width<=768px){.ts-layout{flex-direction:column;gap:16px;margin:12px auto;padding:0 12px}.ts-sidebar{gap:12px;width:100%}.ts-sidebar h3{font-size:.8rem}.ts-section-tab{border-radius:10px;flex:1;justify-content:center;gap:6px;padding:8px 12px;font-size:.85rem}.ts-tab-num{width:22px;height:22px;font-size:.8rem}.ts-sheet-paper{border-radius:18px;padding:16px}.ts-section-header h2{font-size:1.05rem}.ts-instruction{font-size:.85rem}.ts-question-card{border-radius:12px;padding:12px}.ts-question-header{font-size:.95rem}.ts-wordbank-select,.ts-blank-input{margin:0 4px;padding:3px 6px;font-size:.85rem}.ts-blank-input{width:90px}}.ts-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172abf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ts-modal-card{text-align:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:24px;width:100%;max-width:440px;padding:32px;animation:.25s cubic-bezier(.34,1.56,.64,1) modalPop;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes modalPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.ts-modal-title{color:#0f172a;margin:0 0 16px;font-size:1.5rem;font-weight:800}.ts-modal-text{color:#334155;margin:0 0 12px;font-size:1.05rem;line-height:1.6}.ts-modal-subtext{color:#64748b;margin:0 0 24px;font-size:.95rem;font-weight:500}.ts-modal-buttons{justify-content:center;gap:12px;display:flex}.ts-modal-btn{cursor:pointer;border:none;border-radius:12px;flex:1;padding:12px 20px;font-family:inherit;font-size:.95rem;font-weight:700;transition:all .2s}.ts-modal-btn.yes{color:#fff;background:#3b82f6;box-shadow:0 4px 6px -1px #3b82f633}.ts-modal-btn.yes:hover{background:#2563eb;transform:translateY(-1px)}.ts-modal-btn.no{color:#475569;background:#f1f5f9;border:1.5px solid #e2e8f0}.ts-modal-btn.no:hover{color:#1e293b;background:#e2e8f0}.ts-modal-btn.back{color:#fff;background:#0f172a;width:100%}.ts-modal-btn.back:hover{background:#1e293b}.ts-passage-sentence.highlighted{background:#fef9c3;outline:2px solid #facc15}.ts-passage-sentence:hover{background:#fefce8}.ts-inline-select{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.ts-inline-select.dialogue-type{max-width:450px}@media (width<=768px){.ts-inline-select{max-width:150px;padding:2px 4px;font-size:.85rem}.ts-inline-select.dialogue-type{max-width:260px}}.ts-passage-table-wrapper{border:1px solid #e2e8f0;border-radius:8px;width:100%;margin:1.5rem 0;overflow-x:auto;box-shadow:0 1px 3px #0000000d}.ts-passage-table{border-collapse:collapse;background-color:#fff;width:100%;font-size:.95rem;font-style:normal}.ts-passage-table th{color:#334155;text-align:left;background-color:#f8fafc;border-bottom:2px solid #e2e8f0;font-weight:600}.ts-passage-table th,.ts-passage-table td{border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;padding:12px 16px}.ts-passage-table th:last-child,.ts-passage-table td:last-child{border-right:none}.ts-passage-table tr:last-child td{border-bottom:none}.ts-passage-table tr:hover td{background-color:#f8fafc}.det-shell-container{--primary:#4f46e5;--primary-dark:#3730a3;--secondary:#0ea5e9;--secondary-dark:#0284c7;--warning:#eab308;--warning-dark:#ca8a04;--danger:#ef4444;--danger-dark:#dc2626;--neutral:#e2e8f0;--text:#334155;--white:#fff;--bg:#f8fafc;--card-bg:#f1f5f9;color:var(--text);background:var(--white);-webkit-user-select:none;user-select:none;border-radius:20px;flex-direction:column;flex-grow:1;width:100%;max-width:600px;min-height:90vh;margin:20px auto;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000014}@media (width<=600px){.det-shell-container{min-height:100vh;box-shadow:none;border-radius:0;max-width:none;margin:0}}.det-screen{flex-direction:column;flex-grow:1;height:100%;padding:24px;display:flex}.det-screen.gameplay{flex-direction:column;justify-content:space-between;padding:20px;display:flex}.det-header{text-align:center;margin-bottom:24px;position:relative}.det-header h1{color:var(--primary);letter-spacing:-.5px;margin:0;font-size:1.8rem;font-weight:800}.det-header h2{color:#64748b;margin-top:6px;font-size:1rem;font-weight:500}.det-mode-switch{background:var(--bg);border:1px solid var(--neutral);border-radius:12px;justify-content:center;align-items:center;width:fit-content;margin:0 auto 20px;padding:10px 16px;display:flex}.det-mode-switch label{color:#475569;cursor:pointer;align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}.det-mode-switch input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.det-top-bar{justify-content:space-between;align-items:center;height:40px;margin-bottom:20px;display:flex}.det-close-btn{cursor:pointer;color:#ccc;background:0 0;border:none;flex-shrink:0;width:30px;font-size:1.5rem}.det-progress-container{background-color:var(--neutral);border-radius:6px;flex-grow:1;height:12px;margin:0 15px;display:flex;overflow:hidden}@media (width<=600px){.det-progress-container{margin-right:45px}}.det-progress-segment{border-right:1px solid var(--white);flex-grow:1}.det-progress-segment.green{background-color:var(--primary)}.det-progress-segment.yellow{background-color:var(--warning)}.det-progress-segment.red{background-color:var(--danger)}.det-progress-segment.redemption{background-color:var(--secondary);opacity:.8}.det-progress-segment.active{z-index:10;border-bottom:3px solid var(--primary-dark);border-radius:4px;animation:1.5s ease-in-out infinite adBreathing}@keyframes adBreathing{0%{opacity:.8;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.4);box-shadow:0 0 5px #0003}to{opacity:.8;transform:scaleY(1)}}.det-countdown-wrapper{justify-content:center;align-items:center;display:flex}.det-question-card{background:var(--card-bg);text-align:center;border:1px solid var(--neutral);border-radius:16px;flex-direction:column;align-items:center;gap:16px;margin-bottom:20px;padding:24px;display:flex}.det-detective-avatar{font-size:3.5rem;animation:2.5s ease-in-out infinite adPulse}@keyframes adPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.det-audio-control-card{flex-direction:column;align-items:center;gap:8px;display:flex}.det-play-counter{color:#64748b;font-size:.8rem;font-weight:600}.det-detective-audio-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-bottom:4px solid var(--primary-dark);border-radius:50px;align-items:center;gap:10px;padding:12px 28px;font-size:1.1rem;font-weight:700;transition:all .15s;display:flex;box-shadow:0 4px 15px #4f46e533}.det-detective-audio-btn:active:not(:disabled){border-bottom-width:0;transform:translateY(2px)}.det-detective-audio-btn.playing{background:var(--secondary);border-color:var(--secondary-dark);animation:1s infinite alternate adAudioPulsing;box-shadow:0 0 20px #0ea5e966}@keyframes adAudioPulsing{0%{transform:scale(1)}to{transform:scale(1.05)}}.det-detective-audio-btn.disabled{color:#64748b;cursor:not-allowed;box-shadow:none;background:#cbd5e1;border-bottom-color:#94a3b8}.det-revealed-sentence{box-sizing:border-box;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:auto;min-height:60px;margin:15px 0;padding:12px 16px;transition:opacity .3s}.det-revealed-sentence.hidden{visibility:hidden;opacity:0}.det-revealed-sentence.revealed{visibility:visible;opacity:1;animation:.3s ease-out adFadeIn}.det-revealed-speaker{color:var(--primary);margin:0 0 4px;font-size:.9rem;font-weight:700}.det-revealed-text{color:#0f172a;margin:0;font-size:1.15rem;font-weight:700}@keyframes adFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.det-options-container{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.det-option-btn{text-align:left;background:var(--white);border:2px solid var(--neutral);border-bottom:4px solid var(--neutral);color:var(--text);cursor:pointer;border-radius:12px;align-items:center;padding:14px 18px;font-size:1rem;font-weight:600;transition:all .1s;display:flex}.det-option-btn:hover:not(:disabled){background:#fafafa;border-color:#cbd5e1}.det-option-number{border:1.5px solid var(--neutral);color:#64748b;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-right:12px;font-size:.85rem;font-weight:700;display:flex}.det-option-text{color:#334155;flex-grow:1;line-height:1.4}.det-option-btn.selected-answer{border-color:var(--secondary);border-bottom-color:var(--secondary-dark);background:#f0f9ff}.det-option-btn.selected-answer .det-option-number{background:var(--secondary);color:#fff;border-color:var(--secondary)}.det-option-btn.correct-answer{color:#065f46;background:#ecfdf5;border-color:#10b981 #10b981 #059669}.det-option-btn.correct-answer .det-option-number{color:#fff;background:#10b981;border-color:#10b981}.det-option-btn.wrong-answer{border-color:var(--danger);border-bottom-color:var(--danger-dark);color:#991b1b;background:#fef2f2}.det-option-btn.wrong-answer .det-option-number{background:var(--danger);color:#fff;border-color:var(--danger)}.det-option-btn.disabled-answer{opacity:.6;cursor:not-allowed}.det-game-footer{justify-content:center;padding-top:10px;display:flex}.det-action-btn{cursor:pointer;border:none;border-radius:12px;width:100%;padding:14px;font-size:1.05rem;font-weight:700;transition:all .15s}.det-action-btn.primary{background:var(--primary);color:#fff;border-bottom:4px solid var(--primary-dark)}.det-action-btn.primary:hover:not(:disabled){background:#4338ca}.det-action-btn.primary:disabled{color:#94a3b8;cursor:not-allowed;background:#cbd5e1;border-bottom:none}.det-action-btn.secondary{color:#475569;background:#e2e8f0;border-bottom:4px solid #cbd5e1}.det-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.det-modal-content{background:var(--white);border-radius:16px;width:90%;max-width:320px;max-height:80vh;padding:25px;overflow-y:auto;box-shadow:0 10px 25px #0003}.det-modal-title{margin-top:0;margin-bottom:20px;font-size:1.3rem}.det-history-list{margin:0;padding:0;list-style:none}.det-history-item{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:10px 0;font-size:.9rem;display:flex}.det-history-date{color:#666}.det-history-score{font-weight:700}.det-check-btn{cursor:pointer;background:var(--primary);color:#fff;border:none;border-bottom:4px solid var(--primary-dark);border-radius:8px;width:100%;padding:10px;font-size:1rem;font-weight:700}.det-check-btn:disabled{background-color:var(--neutral);color:#999;cursor:not-allowed;border-bottom-color:#ccc;transform:none}.det-screen.completed{text-align:center;justify-content:center;align-items:center;gap:20px}.det-score-circle{border:8px solid var(--primary);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:160px;height:160px;margin:20px 0;display:flex}.det-score-number{color:var(--primary);font-size:2.8rem;font-weight:800}.det-score-label{color:#64748b;margin-top:4px;font-size:.9rem;font-weight:600}.det-rewards-summary{gap:20px;display:flex}.det-reward-item{background:var(--bg);border:1px solid var(--neutral);border-radius:12px;align-items:center;gap:6px;padding:8px 16px;font-weight:700;display:flex}.det-reward-icon{font-size:1.2rem}.det-reward-val{color:#475569;font-size:.95rem}.det-new-high{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:8px 16px;font-weight:700}.det-mistakes-review{text-align:left;border:1px solid var(--neutral);background:var(--bg);border-radius:12px;width:100%;max-height:200px;padding:12px;overflow-y:auto}.det-mistakes-review h3{color:#475569;margin:0 0 10px;font-size:.95rem;font-weight:700}.det-mistake-list{flex-direction:column;gap:8px;display:flex}.det-mistake-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px}.det-mistake-en{color:#1e293b;margin:0;font-size:.9rem;font-weight:700}.det-mistake-cn{color:#64748b;margin:4px 0 0;font-size:.85rem}.det-play-audio-btn.small{cursor:pointer;background:0 0;border:none;font-size:1rem}.det-actions{flex-direction:column;gap:12px;width:100%;margin-top:10px;display:flex}.bh-shell-container{--primary:#f59e0b;--primary-dark:#d97706;--secondary:#1cb0f6;--secondary-dark:#1185ba;--spelling-color:#8b5cf6;--spelling-dark:#6d28d9;--grammar-color:#10b981;--grammar-dark:#047857;--warning:#ffc800;--warning-dark:#e5b400;--danger:#ff4b4b;--danger-dark:#d33131;--neutral:#e5e5e5;--text:#4b4b4b;--white:#fff;--bg:#f0f2f5;color:var(--text);background:var(--white);-webkit-user-select:none;user-select:none;border-radius:20px;flex-direction:column;flex-grow:1;width:100%;max-width:600px;min-height:90vh;margin:20px auto;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000001a}@media (width<=600px){.bh-shell-container{min-height:100vh;box-shadow:none;border-radius:0;max-width:none;margin:0}}.bh-screen{flex-direction:column;flex-grow:1;height:100%;padding:20px;display:flex}.bh-header{text-align:center;margin-bottom:20px;position:relative}.bh-header h1{color:var(--primary);margin:0;font-size:1.8rem}@media (width<=480px){.bh-header h1{font-size:1.4rem}}.bh-header h2{color:#999;margin-top:5px;font-size:1rem;font-weight:400}.bh-section-group{margin-bottom:22px}.bh-section-label{text-transform:uppercase;letter-spacing:1.2px;color:#aaa;margin-bottom:8px;padding-left:4px;font-size:.75rem;font-weight:800}.bh-challenge-grid{gap:10px;padding-bottom:80px;display:grid;overflow-y:auto}.bh-section-cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.bh-challenge-card{background:var(--white);border:2px solid var(--neutral);border-bottom:4px solid var(--neutral);cursor:pointer;border-radius:16px;padding:14px 12px;transition:transform .1s,border-color .1s}.bh-challenge-card:hover{background-color:#fafafa;border-color:#ccc}.bh-challenge-card.spelling-type{border-color:color-mix(in srgb, var(--spelling-color) 30%, transparent);border-bottom-color:color-mix(in srgb, var(--spelling-dark) 40%, transparent)}.bh-challenge-card.grammar-type{border-color:color-mix(in srgb, var(--grammar-color) 30%, transparent);border-bottom-color:color-mix(in srgb, var(--grammar-dark) 40%, transparent)}.bh-challenge-card.flicker-active{animation:.6s ease-in-out 3 bhFlicker}@keyframes bhFlicker{0%,to{border-color:var(--neutral);background-color:var(--white)}50%{border-color:var(--primary);background-color:color-mix(in srgb, var(--primary) 8%, white);box-shadow:0 0 10px color-mix(in srgb, var(--primary) 30%, transparent)}}.bh-card-type-badge{text-transform:uppercase;letter-spacing:.8px;border-radius:20px;align-items:center;gap:4px;margin-bottom:8px;padding:3px 8px;font-size:.65rem;font-weight:800;display:inline-flex}.bh-card-type-badge.spelling{background:color-mix(in srgb, var(--spelling-color) 12%, white);color:var(--spelling-dark)}.bh-card-type-badge.grammar{background:color-mix(in srgb, var(--grammar-color) 12%, white);color:var(--grammar-dark)}.bh-card-title{margin:0 0 8px;font-size:.95rem;font-weight:700;line-height:1.2}.bh-card-stats{color:#777;background:#f8f9fa;border:1px solid #eee;border-radius:8px;padding:6px 8px;font-size:.75rem}.bh-stat-row{flex-direction:column;align-items:flex-start;margin-bottom:3px;display:flex}.bh-stat-row:last-child{margin-bottom:0}.bh-stat-label{color:#bbb;letter-spacing:.5px;text-transform:uppercase;font-size:.65rem;font-weight:700}.bh-stat-val{color:var(--text);font-size:.8rem;font-weight:600}.bh-start-btn{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-bottom:3px solid var(--primary-dark);border-radius:8px;width:100%;margin-top:10px;padding:7px 0;font-size:.85rem;font-weight:700;transition:transform .1s}.bh-start-btn:active{border-bottom-width:1px;transform:translateY(2px)}.bh-start-btn.spelling{background-color:var(--spelling-color);border-bottom-color:var(--spelling-dark)}.bh-start-btn.grammar{background-color:var(--grammar-color);border-bottom-color:var(--grammar-dark)}.bh-top-bar{justify-content:space-between;align-items:center;height:40px;margin-bottom:16px;display:flex}.bh-close-btn{cursor:pointer;color:#ccc;background:0 0;border:none;flex-shrink:0;width:30px;font-size:1.5rem}.bh-progress-container{background-color:var(--neutral);border-radius:6px;flex-grow:1;height:12px;margin:0 12px;display:flex;overflow:hidden}.bh-progress-segment{border-right:1px solid var(--white);flex-grow:1}.bh-progress-segment.green{background-color:#10b981}.bh-progress-segment.yellow{background-color:var(--warning)}.bh-progress-segment.red{background-color:var(--danger)}.bh-progress-segment.active{z-index:10;border-radius:4px;animation:1.5s ease-in-out infinite bhBreathing}@keyframes bhBreathing{0%{opacity:.7}50%{opacity:1;box-shadow:0 0 4px #0003}to{opacity:.7}}.bh-mode-badge{text-transform:uppercase;letter-spacing:1px;border-radius:20px;align-items:center;gap:6px;margin-bottom:12px;padding:4px 14px;font-size:.75rem;font-weight:800;display:inline-flex}.bh-mode-badge.spelling{background:color-mix(in srgb, var(--spelling-color) 12%, white);color:var(--spelling-dark)}.bh-mode-badge.grammar{background:color-mix(in srgb, var(--grammar-color) 12%, white);color:var(--grammar-dark)}.bh-question-area{flex-direction:column;flex-grow:1;justify-content:flex-start;align-items:stretch;min-height:480px;display:flex}.bh-sentence-wrapper{text-align:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;min-height:84px;margin-top:10px;margin-bottom:24px;padding:24px 18px;font-size:1.25rem;line-height:1.9;display:flex}.bh-word{cursor:pointer;white-space:nowrap;border-radius:6px;padding:2px 6px;transition:background .15s,transform .1s;display:inline-block}.bh-word:hover{background:#e0e7ff;transform:scale(1.05)}.bh-word.buggy-selected{background:color-mix(in srgb, var(--warning) 20%, white);color:#92400e;border-bottom:2px solid var(--warning-dark);font-weight:700}.bh-word.buggy-fixed{color:#065f46;cursor:default;background:#dbf5ec;border-bottom:2px solid #10b981;font-weight:700}.bh-word.buggy-wrong{background:color-mix(in srgb, var(--danger) 15%, white);color:var(--danger-dark);border-bottom:2px dashed var(--danger);cursor:pointer;font-weight:700}@keyframes bhWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.bh-error-indicators{justify-content:center;gap:12px;margin-bottom:16px;display:flex}.bh-error-dot{border:2px solid var(--neutral);color:#aaa;background:#f8f9fa;border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:.8rem;font-weight:700;transition:all .2s;display:flex}.bh-error-dot.active{border-color:var(--warning);background:color-mix(in srgb, var(--warning) 12%, white);color:#92400e}.bh-error-dot.fixed{color:#065f46;background:#e2f7f0;border-color:#10b981}.bh-error-dot.wrong{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, white);color:var(--danger-dark)}.bh-options-panel{background:#fff;border:2px solid #e2e8f0;border-radius:16px;flex:1;min-width:0;margin-bottom:16px;padding:14px;animation:.2s ease-out bhSlideUp}@keyframes bhSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bh-options-label{text-transform:uppercase;letter-spacing:1px;color:#94a3b8;text-align:center;margin-bottom:10px;font-size:.75rem;font-weight:800}.bh-error-type-tag{background:color-mix(in srgb, var(--primary) 12%, white);color:var(--primary-dark);text-transform:uppercase;letter-spacing:.8px;border-radius:20px;margin-bottom:10px;padding:2px 10px;font-size:.7rem;font-weight:800;display:inline-block}.bh-options-grid{flex-direction:column;gap:8px;display:flex}.bh-option-btn{background:var(--white);border:2px solid var(--neutral);border-bottom:4px solid var(--neutral);cursor:pointer;color:var(--text);text-align:center;border-radius:14px;min-height:52px;padding:12px 8px;font-size:1rem;font-weight:600;transition:all .1s}.bh-option-btn:active{border-bottom-width:2px;transform:translateY(2px)}.bh-option-btn.selected{border-color:var(--warning);border-bottom-color:var(--warning-dark);color:#92400e;background:#fffbeb}.bh-option-btn.correct{color:#065f46;background:#ecfdf5;border-color:#10b981 #10b981 #047857}.bh-option-btn.wrong{color:#b91c1c;background:#fef2f2;border-color:#ef4444 #ef4444 #b91c1c}.bh-option-btn:disabled{cursor:default}.bh-option-btn:disabled:active{border-bottom-width:4px;transform:none}.bh-tap-hint{text-align:center;color:#94a3b8;margin-bottom:12px;padding:12px;font-size:.9rem;font-style:italic;animation:.3s fadeIn}.bh-feedback-area{visibility:hidden;box-sizing:border-box;border-radius:12px;flex-direction:column;justify-content:center;min-height:80px;margin-bottom:10px;padding:12px 14px;display:flex}.bh-feedback-area.visible{visibility:visible}.bh-feedback-area.correct{background:#ecfdf5;border:1px solid #10b981}.bh-feedback-area.wrong{background:#fef2f2;border:1px solid #ef4444}.bh-feedback-title{text-align:center;margin:0 0 4px;font-size:1.1rem}.bh-feedback-msg{text-align:center;color:#555;margin:0;font-size:.9rem}.bh-footer-action{border-top:2px solid var(--neutral);padding-top:14px}.bh-check-btn{color:#fff;background-color:var(--primary);border:none;border-bottom:5px solid var(--primary-dark);cursor:pointer;text-transform:uppercase;border-radius:16px;width:100%;margin-bottom:10px;padding:14px;font-size:1.1rem;font-weight:700;transition:background-color .15s}.bh-check-btn:active{border-bottom-width:3px;transform:translateY(2px)}.bh-check-btn:disabled{background-color:var(--neutral);color:#999;cursor:not-allowed;border-bottom-color:#ccc;transform:none}.bh-check-btn.wrong{background-color:var(--danger);border-bottom-color:var(--danger-dark);animation:.5s shake}.bh-check-btn.correct{animation:.5s bounce}.bh-check-btn.continue{background-color:var(--secondary);border-bottom-color:var(--secondary-dark)}.bh-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s ease-out forwards bhModalFadeIn;display:flex;position:fixed;inset:0}.bh-modal-content{background:var(--white);border-radius:16px;width:90%;max-width:320px;max-height:80vh;padding:25px;animation:.25s cubic-bezier(.34,1.56,.64,1) forwards bhModalPop;overflow-y:auto;box-shadow:0 10px 25px #0003}@keyframes bhModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes bhModalPop{0%{opacity:0;transform:scale(.9)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.bh-modal-title{margin-top:0;margin-bottom:16px;font-size:1.2rem}.bh-history-list{margin:0;padding:0;list-style:none}.bh-history-item{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.bh-history-item:last-child{border-bottom:none}.bh-history-date{color:#666;font-size:.9rem}.bh-history-score{font-size:1rem;font-weight:700}body.taking-test .pet-float-wrapper{display:none!important}.pet-float-wrapper{z-index:1000;-webkit-user-select:none;user-select:none;opacity:.5;flex-direction:column;align-items:center;transition:opacity .2s;display:flex;position:fixed;bottom:24px;right:24px}.pet-float-wrapper:hover,.pet-float-wrapper.active{opacity:1}.pet-float-close{border:1px solid var(--border);background:var(--card-bg);width:20px;height:20px;color:var(--text);cursor:pointer;opacity:0;box-shadow:var(--shadow);z-index:1002;border-radius:50%;justify-content:center;align-items:center;font-size:10px;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:-8px;right:-8px}.pet-float-wrapper:hover .pet-float-close{opacity:1}.pet-float-close:hover{color:#fff;background:#ff4b4b;border-color:#ff4b4b;transform:scale(1.1)}.pet-float-minimized{z-index:1000;background:var(--card-bg);border:1px solid var(--border);cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:20px;transition:transform .2s,background-color .2s;animation:3s ease-in-out infinite floatMini;display:flex;position:fixed;bottom:24px;right:24px}.pet-float-minimized:hover{background:var(--accent-bg);transform:scale(1.1)}@keyframes floatMini{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.pet-float-streak-badge{color:#fff;z-index:1003;white-space:nowrap;background:linear-gradient(135deg,#f97316,#ea580c);border-radius:999px;padding:2px 6px;font-size:10px;font-weight:800;line-height:1.3;animation:2s ease-in-out infinite streakBadgePulse;position:absolute;top:-6px;left:-6px;box-shadow:0 2px 6px #f9731666}@keyframes streakBadgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.pet-float-avatar-container{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid var(--accent);cursor:pointer;background:#ffffffbf;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:68px;height:68px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:visible;box-shadow:0 8px 24px #aa3bff33}@media (prefers-color-scheme:dark){.pet-float-avatar-container{background:#1e293bbf}}.pet-float-avatar-container:hover{transform:scale(1.08);box-shadow:0 12px 32px #aa3bff59}.pet-float-stage-baby{border-color:#fbbf24;box-shadow:0 6px 20px #fbbf2440}.pet-float-stage-baby:hover{box-shadow:0 10px 28px #fbbf2459}.pet-float-stage-teen{border-color:#34d399;box-shadow:0 6px 20px #34d39940}.pet-float-stage-teen:hover{box-shadow:0 10px 28px #34d39959}.pet-float-stage-adult{border-color:#60a5fa;box-shadow:0 6px 20px #60a5fa40}.pet-float-stage-adult:hover{box-shadow:0 10px 28px #60a5fa59}.pet-float-stage-legendary{border-color:#c084fc;animation:2.5s ease-in-out infinite floatLegendaryGlow;box-shadow:0 6px 24px #c084fc66}.pet-float-stage-legendary:hover{box-shadow:0 12px 36px #c084fc99}@keyframes floatLegendaryGlow{0%,to{border-color:#c084fc;box-shadow:0 6px 24px #c084fc4d}50%{border-color:#a855f7;box-shadow:0 8px 32px #c084fc8c}}.pet-float-daily-ring-svg{pointer-events:none;width:80px;height:80px;position:absolute;top:-6px;left:-6px}.pet-float-emoji{font-size:34px;line-height:1;transition:transform .1s;display:inline-block}.pet-float-avatar-container:active .pet-float-emoji{transform:scale(.9)}.pet-float-speech{background:var(--card-bg);color:var(--text-h);border:1px solid var(--border);width:max-content;max-width:170px;box-shadow:var(--shadow);text-align:center;z-index:1001;border-radius:12px;padding:8px 12px;font-size:13px;font-weight:500;animation:.2s cubic-bezier(.175,.885,.32,1.275) scaleIn;position:absolute;bottom:88px;right:0}.pet-float-speech-arrow{background:var(--card-bg);border-right:1px solid var(--border);border-bottom:1px solid var(--border);width:10px;height:10px;position:absolute;bottom:-6px;right:28px;transform:rotate(45deg)}.pet-float-particle{pointer-events:none;z-index:2001;white-space:nowrap;font-size:14px;font-weight:700;animation:3s ease-out forwards floatUpAndFade;position:fixed}.pet-float-stats-summary{border:1px solid var(--border);box-sizing:content-box;background:#ffffffe6;border-radius:4px;flex-direction:column;gap:2px;width:50px;height:8px;padding:2px;display:flex;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}@media (prefers-color-scheme:dark){.pet-float-stats-summary{background:#0f172ae6}}.pet-float-stat-bar-micro{border-radius:2px;height:3px;transition:width .3s}.pet-float-stat-bar-micro.food{background:linear-gradient(90deg,#f97316,#ea580c)}.pet-float-stat-bar-micro.love{background:linear-gradient(90deg,#ec4899,#db2777)}@keyframes floatUpAndFade{0%{opacity:0;transform:translateY(0)scale(.6)}15%{opacity:1;transform:translateY(-5vh)scale(1.1)}to{opacity:0;transform:translateY(-33.3vh)scale(.8)}}.pet-float-avatar-container.bounce{animation:.6s petBounce}@keyframes petBounce{0%,to{transform:scale(1)translateY(0)}30%{transform:scale(1.2,.8)translateY(0)}45%{transform:scale(.9,1.2)translateY(-14px)}60%{transform:scale(1.1,.9)translateY(0)}75%{transform:scale(.95,1.05)translateY(-4px)}}.pet-float-avatar-container.level-up{animation:1.5s levelUpGlow}@keyframes levelUpGlow{0%{transform:scale(1);box-shadow:0 0 #facc15b3}20%{transform:scale(1.15);box-shadow:0 0 30px 10px #facc1580}40%{transform:scale(.95);box-shadow:0 0 15px 5px #facc154d}60%{transform:scale(1.08);box-shadow:0 0 20px 8px #facc1566}80%{transform:scale(1.02);box-shadow:0 0 8px 3px #facc1533}to{transform:scale(1);box-shadow:0 0 #facc1500}}.pet-float-wrapper.in-practice{left:24px;right:auto}.pet-float-wrapper.in-practice .pet-float-speech{left:0;right:auto}.pet-float-wrapper.in-practice .pet-float-speech-arrow{border-right:none;border-left:1px solid var(--border);left:28px;right:auto}.pet-float-minimized.in-practice{left:24px;right:auto}.iv-modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2000;box-sizing:border-box;background:#0a0a0a99;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.iv-modal-content{background:var(--card-bg,#fff);border:1px solid var(--border,#00000014);width:100%;max-width:900px;max-height:85vh;color:var(--text-h,#222);border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #0000004d}.iv-modal-header{border-bottom:1px solid var(--border,#00000014);background:var(--card-bg,#fff);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.iv-modal-title{color:var(--text-h,#222);align-items:center;gap:8px;margin:0;font-size:1.25rem;font-weight:700;display:flex}.iv-modal-close-btn{cursor:pointer;color:var(--text,#666);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;transition:background .2s,color .2s;display:flex}.iv-modal-close-btn:hover{background:var(--border,#00000014);color:var(--text-h,#222)}.iv-filters-row{border-bottom:1px solid var(--border,#00000014);background:var(--bg,#fbfbfb);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:16px 24px;display:flex}.iv-search-input{border:1px solid var(--border,#00000026);background:var(--card-bg,#fff);color:var(--text-h,#222);border-radius:8px;outline:none;flex:200px;padding:10px 14px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.iv-search-input:focus{border-color:var(--accent,#0366d6);box-shadow:0 0 0 3px var(--accent-bg,#0366d61a)}.iv-filter-select{border:1px solid var(--border,#00000026);background:var(--card-bg,#fff);color:var(--text-h,#222);cursor:pointer;border-radius:8px;outline:none;min-width:140px;padding:10px 14px;font-size:.9rem;transition:border-color .2s}.iv-filter-select:focus{border-color:var(--accent,#0366d6)}.iv-stats-badge{background:var(--accent-bg,#0366d614);color:var(--accent,#0366d6);white-space:nowrap;border-radius:20px;margin-left:auto;padding:6px 12px;font-size:.8rem;font-weight:600}.iv-table-area{flex-grow:1;padding:0;position:relative;overflow-y:auto}.iv-table{border-collapse:collapse;text-align:left;width:100%;color:var(--text-h,#333);font-size:.9rem}.iv-table th{background:var(--bg,#f4f6f8);text-transform:uppercase;color:var(--text,#666);border-bottom:1px solid var(--border,#00000014);z-index:2;white-space:nowrap;padding:12px 16px;font-size:.85rem;font-weight:600;position:sticky;top:0}.iv-table td{border-bottom:1px solid var(--border,#0000000d);vertical-align:middle;padding:14px 16px;line-height:1.4}.iv-table tbody tr{transition:background .15s}.iv-table tbody tr:hover{background:var(--border,#00000008)}.iv-verb-cell{color:var(--text-h,#111);font-family:Inter,system-ui,sans-serif;font-weight:700}.iv-pat-badge{background:var(--border,#eee);color:var(--text,#555);border-radius:4px;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-block}.iv-group-badge{background:var(--accent-bg,#0366d614);color:var(--accent,#0366d6);white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-block}.iv-hook-text{color:var(--text,#555);font-size:.82rem}.iv-state-container{text-align:center;color:var(--text,#666);padding:60px 40px;font-size:.95rem}.iv-spinner{border:3px solid var(--border,#00000014);border-top:3px solid var(--accent,#0366d6);border-radius:50%;width:28px;height:28px;margin:0 auto 16px;animation:.8s linear infinite iv-spin}@keyframes iv-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=768px){.iv-filters-row{padding:12px 16px}.iv-modal-content{max-height:90vh}.iv-table th,.iv-table td{padding:10px 12px;font-size:.85rem}.iv-stats-badge{text-align:center;width:100%;margin-left:0}}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.nav-container{z-index:9999;position:fixed;top:16px;right:16px}.nav-btn{cursor:pointer;color:#333;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:.5;background:#f6f8faf2;border:1px solid #00000014;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:all .2s;display:flex;box-shadow:0 4px 12px #00000014}.nav-btn.active,.nav-btn:hover{opacity:1;background:#fff;transform:scale(1.05);box-shadow:0 6px 16px #0000001f}.nav-btn:active{transform:scale(.95)}.nav-btn svg{fill:currentColor;width:20px;height:20px}.nav-menu{z-index:1000;transform-origin:100% 0;background:#f6f8fa;border:1px solid #00000014;border-radius:12px;flex-direction:column;gap:2px;min-width:220px;margin-top:12px;padding:8px;animation:.2s ease-out forwards navFadeIn;display:flex;position:absolute;top:100%;right:0;box-shadow:0 10px 30px #0000001f}@keyframes navFadeIn{0%{opacity:0;transform:scale(.96)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}.nav-item{color:#444;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item:hover{color:#0366d6;background:#f4f6f8}.nav-item.danger{color:#d73a49}.nav-item.danger:hover{color:#cb2431;background:#ffeef0}.nav-divider{border-top:1px solid #0000000f;margin:6px 0}.nav-user-info{color:#666;background:#fafbfc;border-radius:8px;margin-bottom:4px;padding:8px 14px;font-size:.85rem;line-height:1.4}.nav-user-info strong{color:#24292e;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;display:block;overflow:hidden}.nav-btn-progress-ring{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px!important;height:56px!important}.nav-btn-icon{fill:currentColor;z-index:1;width:20px;height:20px;position:relative}.nav-progress-circle-fill{stroke-dasharray:213.6;stroke-dashoffset:213.6px;animation:5s linear forwards fill-ring}.nav-progress-circle-drain{stroke-dasharray:213.6;stroke-dashoffset:0;animation:5s linear forwards drain-ring}@keyframes fill-ring{0%{stroke-dashoffset:213.6px}to{stroke-dashoffset:0}}@keyframes drain-ring{0%{stroke-dashoffset:0}to{stroke-dashoffset:-213.6px}}@media print{.nav-container,.nav-btn,.nav-btn-progress-ring{display:none!important}}
