.app-nav{-webkit-backdrop-filter:none;z-index:100;-webkit-app-region:no-drag;background:#fffcf7;border-bottom:1px solid #e6e1d8;flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 24px;display:flex;position:relative}.app-nav-left{align-items:center;gap:20px;display:flex}.app-nav-logo{font-size:var(--text-base);font-weight:600;font-family:var(--font-math), "Songti SC", "STSong", Georgia, serif;color:var(--text-primary);letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:8px;text-decoration:none;display:flex}.app-nav-logo:hover{color:var(--text-primary)}.app-nav-logo-icon{color:#121212;border-radius:2px;flex-shrink:0;width:22px;height:22px}.app-nav-links{align-items:center;gap:2px;display:flex}.app-nav-link{font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;touch-action:manipulation;background:0 0;border:none;border-radius:0;padding:6px 12px;font-family:inherit;font-weight:450;text-decoration:none;transition:color .15s,opacity .12s,transform .12s;position:relative}.app-nav-link:hover{color:var(--text-primary);background:0 0}.app-nav-link:active{opacity:.7;transform:scale(.98)}.app-nav-link.active{color:var(--text-primary);font-weight:550}.app-nav-link.active:after{content:"";background:var(--text-primary);border-radius:0;width:auto;height:1px;position:absolute;bottom:0;left:12px;right:12px;transform:none}.app-nav-right{align-items:center;gap:4px;display:flex}.app-nav-link--quiet{color:var(--text-muted)}.app-nav-theme-btn{appearance:none;border:1px solid var(--border-subtle,#e6e1d8);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;border-radius:999px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:550}.app-nav-theme-btn:hover{color:var(--text-primary);border-color:var(--text-muted);background:#00000008}.app-nav-plan-badge{border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:4px;padding:3px 10px;font-family:inherit;font-size:11px;font-weight:550;display:inline-flex}.app-nav-plan-badge.free{color:var(--text-muted);border:1px solid var(--border-subtle);background:#0000000a}.app-nav-plan-badge.free:hover{color:var(--accent);background:#6366f114;border-color:#6366f14d}.app-nav-plan-badge.pro{color:var(--accent);background:linear-gradient(135deg,#4a90e21f,#6ba3e81f);border:1px solid #4a90e240}.app-nav-plan-badge.teacher{color:#f59e0b;background:linear-gradient(135deg,#f973161f,#eab3081f);border:1px solid #f9731640}.app-nav-auth-btn{border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:5px 12px;font-family:inherit;font-weight:450}.app-nav-auth-btn:hover{color:var(--text-primary);background:var(--accent-subtle)}.app-nav-pricing{border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);color:var(--text-muted);border:1px solid var(--border-subtle);background:#0000000a;align-items:center;gap:4px;padding:4px 12px;font-family:inherit;font-size:11px;font-weight:550;text-decoration:none;display:inline-flex;position:relative}.app-nav-pricing:hover{color:var(--accent);background:#6366f114;border-color:#6366f14d}.app-nav-pricing.is-pro{color:var(--accent);background:linear-gradient(135deg,#4a90e21f,#6ba3e81f);border-color:#4a90e240}.app-nav-pricing.is-pro:hover{background:linear-gradient(135deg,#4a90e22e,#6ba3e829)}.app-nav-upgrade-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite upgrade-pulse}@keyframes upgrade-pulse{0%,to{opacity:1}50%{opacity:.4}}.app-nav-subject-dropdown{align-items:center;display:flex;position:relative}.app-nav-subject-dropdown:after{content:"";pointer-events:auto;height:10px;position:absolute;bottom:-10px;left:0;right:0}.app-nav-subject-btn{border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-weight:500;display:flex}.app-nav-subject-btn:hover{background:var(--accent-subtle)}.app-nav-subject-arrow{width:12px;height:12px;color:var(--text-muted);transition:transform var(--transition-fast)}.app-nav-subject-dropdown:hover .app-nav-subject-arrow{transform:rotate(180deg)}.app-nav-subject-menu{background:var(--bg-surface);border-radius:var(--radius-lg);min-width:220px;box-shadow:var(--shadow-lg);border:1px solid var(--border-subtle);z-index:200;padding:6px;animation:.15s dropdown-fade-in;position:absolute;top:100%;left:0}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.app-nav-subject-item{border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:10px;padding:8px 12px;text-decoration:none;display:flex}.app-nav-subject-item:hover,.app-nav-subject-item.active{background:var(--accent-subtle);color:var(--text-primary)}.app-nav-subject-item-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.app-nav-subject-item-content{flex:1;min-width:0}.app-nav-subject-item-name{font-size:var(--text-sm);color:inherit;font-weight:500}.app-nav-subject-item-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;overflow:hidden}.app-nav-feedback{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-nav-feedback:hover{color:var(--text-primary);background:var(--accent-subtle)}@media (width<=767px){.app-nav{height:48px;padding:0 16px}.app-nav-links,.app-nav-right .app-nav-link--quiet:first-of-type{display:none}.app-nav-theme-btn{padding:3px 8px;font-size:10px}.app-nav-left{gap:12px}.app-nav-plan-badge{padding:2px 8px;font-size:10px}}.mobile-bottom-nav{min-height:64px;height:calc(64px + env(safe-area-inset-bottom,0px));background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border-subtle);z-index:100;padding:6px 0 env(safe-area-inset-bottom,0);box-sizing:border-box;justify-content:space-around;align-items:stretch;display:none;position:fixed;bottom:0;left:0;right:0}.mb-nav-item{color:var(--text-muted);touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:4px 0;text-decoration:none;transition:color .15s,opacity .1s,transform .12s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.mb-nav-item:active{opacity:.75;transform:scale(.94)}.mb-nav-item.active{color:var(--text-primary)}.mb-nav-item.active:after{content:"";background:var(--accent);border-radius:1px;width:24px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.mb-nav-label{letter-spacing:-.01em;font-size:10px;font-weight:500}.mb-nav-item.active .mb-nav-label{color:var(--text-primary);font-weight:600}.mb-nav-subject-wrapper{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;display:flex}.mb-nav-subject-toggle{cursor:pointer;background:0 0;border:none;margin-top:-2px;padding:0}.mb-subject-overlay{z-index:150;background:#0006;animation:.2s fade-in;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.mb-subject-menu{background:var(--bg-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-xl);z-index:200;max-height:70vh;animation:.25s slide-up;position:fixed;bottom:64px;left:0;right:0;overflow:hidden}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mb-subject-menu-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.mb-subject-menu-title{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.mb-subject-menu-close{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:4px}.mb-subject-menu-close:hover{background:var(--accent-subtle);color:var(--text-primary)}.mb-subject-menu-list{padding:8px 12px 16px}.mb-subject-menu-item{border-radius:var(--radius-lg);color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.mb-subject-menu-item:hover{background:var(--accent-subtle)}.mb-subject-menu-item.active{background:var(--accent-subtle);color:var(--text-primary)}.mb-subject-menu-item-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.mb-subject-menu-item-info{flex:1;min-width:0}.mb-subject-menu-item-name{font-size:var(--text-sm);color:inherit;font-weight:550}.mb-subject-menu-item-desc{color:var(--text-muted);margin-top:1px;font-size:11px}@media (width<=767px){.mobile-bottom-nav{display:flex}}.paywall-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(8px);z-index:1000;justify-content:center;align-items:center;padding:24px;animation:.15s pwFadeIn;display:flex;position:fixed;inset:0}.paywall-modal{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);text-align:center;width:100%;max-width:520px;box-shadow:var(--shadow-xl);max-height:90vh;padding:36px 32px 28px;animation:.25s cubic-bezier(.16,1,.3,1) pwSlideUp;position:relative;overflow-y:auto}.paywall-close{border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:20px;display:flex;position:absolute;top:12px;right:12px}.paywall-close:hover{color:var(--text-primary);background:var(--accent-subtle)}.paywall-header{margin-bottom:20px}.paywall-icon{border-radius:var(--radius-lg);width:48px;height:48px;color:var(--accent);background:linear-gradient(135deg,#6366f11f,#8b5cf61f);justify-content:center;align-items:center;margin-bottom:12px;display:inline-flex}.paywall-title{font-size:var(--text-xl);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:6px;font-weight:650}.paywall-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:8px;line-height:1.5}.paywall-reason{font-size:var(--text-sm);color:var(--color-warning);border-radius:var(--radius-md);background:#f59e0b14;border:1px solid #f59e0b26;margin-top:8px;padding:8px 16px;display:inline-block}.paywall-remaining{font-size:var(--text-sm);color:var(--text-muted);margin-top:6px}.paywall-remaining strong{color:var(--text-primary);font-weight:600}.paywall-toggle-wrap{justify-content:center;gap:6px;margin-bottom:20px;display:flex}.paywall-toggle{border:1px solid var(--border-default);border-radius:var(--radius-full);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary);background:0 0;padding:6px 16px;font-family:inherit;font-weight:500}.paywall-toggle.active{background:var(--accent);color:#fff;border-color:var(--accent)}.paywall-plans{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.paywall-plan{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:center;flex-direction:column;padding:20px 16px;display:flex}.paywall-plan.pro{border-color:#6366f133}.paywall-plan.teacher{border-color:#f59e0b33}.paywall-plan-header{justify-content:center;align-items:center;gap:6px;margin-bottom:12px;display:flex}.paywall-plan-name{font-size:var(--text-base);color:var(--text-primary);letter-spacing:-.01em;font-weight:600}.paywall-plan-save{color:var(--color-success);border-radius:var(--radius-full);background:#22c55e1a;padding:1px 6px;font-size:10px;font-weight:550}.paywall-plan-price{justify-content:center;align-items:baseline;gap:2px;margin-bottom:2px;display:flex}.paywall-plan-currency{font-size:var(--text-sm);color:var(--text-secondary);font-weight:550}.paywall-plan-amount{color:var(--text-primary);letter-spacing:-.03em;font-size:36px;font-weight:650;line-height:1}.paywall-plan-period{font-size:var(--text-xs);color:var(--text-muted)}.paywall-plan-equiv{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:14px}.paywall-plan-features{text-align:left;flex-direction:column;flex:1;gap:6px;margin-bottom:16px;list-style:none;display:flex}.paywall-plan-features li{font-size:var(--text-xs);color:var(--text-secondary);padding-left:16px;position:relative}.paywall-plan-features li:before{content:"✓";color:var(--color-success);font-size:10px;font-weight:600;position:absolute;left:0}.paywall-plan-btn{border-radius:var(--radius-md);background:var(--accent);color:#fff;width:100%;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);border:none;padding:10px;font-family:inherit;font-weight:550}.paywall-plan-btn:hover{background:var(--accent-hover)}.paywall-plan-btn.teacher-btn{background:linear-gradient(135deg,#f59e0b,#d97706)}.paywall-plan-btn.teacher-btn:hover{opacity:.9}.paywall-footer{text-align:center}.paywall-footer-btn{color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);background:0 0;border:none;padding:6px 12px;font-family:inherit}.paywall-footer-btn:hover{color:var(--text-primary);background:var(--accent-subtle)}.paywall-footer-note{color:var(--text-muted);margin-top:4px;font-size:11px}@keyframes pwFadeIn{0%{opacity:0}to{opacity:1}}@keyframes pwSlideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=600px){.paywall-overlay{align-items:flex-end;padding:0}.paywall-modal{padding:20px 16px calc(16px + env(safe-area-inset-bottom,0px));text-align:left;border-radius:16px 16px 0 0;width:100%;max-width:none;max-height:min(92dvh,100%)}.paywall-header{text-align:center}.paywall-plans{grid-template-columns:1fr;gap:10px}.paywall-plan{padding:14px 12px}.paywall-plan-amount{font-size:28px}.paywall-title{font-size:1.15rem}.paywall-plan-btn{min-height:44px;font-size:.9375rem}.paywall-footer-btn{width:100%;min-height:44px}}.auth-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(6px);z-index:1001;justify-content:center;align-items:center;padding:24px;animation:.15s authFadeIn;display:flex;position:fixed;inset:0}.auth-modal{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);text-align:center;width:100%;max-width:380px;box-shadow:var(--shadow-xl);padding:40px 32px 32px;animation:.25s cubic-bezier(.16,1,.3,1) authSlideUp;position:relative}.auth-close{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute;top:12px;right:12px}.auth-close:hover{color:var(--text-primary);background:var(--accent-subtle)}.auth-title{font-size:var(--text-xl);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:4px;font-weight:600}.auth-desc{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:24px}.auth-form{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.auth-input{border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-base);transition:border-color var(--transition-fast);outline:none;padding:10px 14px}.auth-input:focus{border-color:var(--border-focus)}.auth-input::placeholder{color:var(--text-muted)}.auth-input:-webkit-autofill{caret-color:var(--text-primary);-webkit-box-shadow:0 0 0 30px var(--bg-base) inset!important;-webkit-text-fill-color:var(--text-primary)!important}.auth-input:-webkit-autofill:hover{caret-color:var(--text-primary);-webkit-box-shadow:0 0 0 30px var(--bg-base) inset!important;-webkit-text-fill-color:var(--text-primary)!important}.auth-input:-webkit-autofill:focus{caret-color:var(--text-primary);-webkit-box-shadow:0 0 0 30px var(--bg-base) inset!important;-webkit-text-fill-color:var(--text-primary)!important}.auth-error{font-size:var(--text-xs);color:var(--color-error);border-radius:var(--radius-sm);background:#f8514914;border:1px solid #f8514926;padding:8px 12px}.auth-submit{border-radius:var(--radius-md);background:var(--accent);width:100%;color:var(--text-inverse);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);letter-spacing:-.01em;border:none;padding:12px;font-family:inherit;font-weight:550}.auth-submit:hover{background:var(--accent-hover)}.auth-submit:disabled{opacity:.4;cursor:not-allowed}.auth-divider{align-items:center;gap:12px;margin:16px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-subtle);flex:1;height:1px}.auth-divider span{font-size:var(--text-xs);color:var(--text-muted)}.auth-google{border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px;font-family:inherit;font-weight:500;display:flex}.auth-google:hover{border-color:var(--border-emphasis);color:var(--text-primary)}.auth-switch{font-size:var(--text-sm);color:var(--text-muted);margin-top:20px}.auth-switch-btn{color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;margin-left:4px;font-family:inherit;font-weight:500}.auth-switch-btn:hover{color:var(--text-primary)}.auth-icon-row{justify-content:center;margin-bottom:16px;display:flex}.auth-icon-circle{background:var(--accent-subtle);width:56px;height:56px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.auth-input-wrapper{position:relative}.auth-input-hint{font-size:var(--text-xs);color:var(--text-muted);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-offline-icon{color:var(--accent);justify-content:center;margin-bottom:16px;display:flex}.auth-offline-features{text-align:left;flex-direction:column;gap:8px;max-width:240px;margin:16px auto;list-style:none;display:flex}.auth-offline-features li{font-size:var(--text-sm);color:var(--text-secondary);padding-left:20px;position:relative}.auth-offline-features li:before{content:"✓";color:var(--color-success);font-weight:600;font-size:var(--text-xs);position:absolute;left:0}.auth-offline-note{font-size:var(--text-xs);color:var(--text-muted);background:var(--accent-subtle);border-radius:var(--radius-sm);margin-top:4px;padding:8px 12px;line-height:1.5}.auth-actions{margin-top:16px}.auth-code-input{text-align:center;letter-spacing:12px;font-family:SF Mono,Consolas,Courier New,monospace;font-weight:600;font-size:var(--text-xl)!important}.auth-link-btn{color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:8px;font-family:inherit}.auth-link-btn:hover:not(:disabled){color:var(--text-secondary)}.auth-link-btn:disabled{opacity:.4;cursor:not-allowed}.auth-check-badge{font-size:var(--text-xs);color:var(--color-success);background:#56cc491a;border-radius:999px;padding:4px 12px;display:inline-block}.auth-guest-skip{margin-top:12px}.auth-skip-btn{color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;padding:6px 12px;font-family:inherit}.auth-skip-btn:hover{color:var(--text-secondary);background:var(--accent-subtle)}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}@keyframes authSlideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.fb-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(6px);z-index:1001;justify-content:center;align-items:center;padding:24px;animation:.15s fbFadeIn;display:flex;position:fixed;inset:0}.fb-modal{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);text-align:center;width:100%;max-width:440px;box-shadow:var(--shadow-xl);padding:40px 32px 32px;animation:.25s cubic-bezier(.16,1,.3,1) fbSlideUp;position:relative}.fb-close{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute;top:12px;right:12px}.fb-close:hover{color:var(--text-primary);background:var(--accent-subtle)}.fb-title{font-size:var(--text-xl);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:4px;font-weight:600}.fb-desc{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:24px}.fb-form{flex-direction:column;gap:12px;margin-bottom:0;display:flex}.fb-input{border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-base);transition:border-color var(--transition-fast);box-sizing:border-box;outline:none;padding:10px 14px;font-family:inherit}.fb-input:focus{border-color:var(--border-focus)}.fb-input::placeholder,.fb-textarea::placeholder{color:var(--text-muted)}.fb-input:-webkit-autofill{caret-color:var(--text-primary);-webkit-box-shadow:0 0 0 30px var(--bg-base) inset!important;-webkit-text-fill-color:var(--text-primary)!important}.fb-input:-webkit-autofill:hover{caret-color:var(--text-primary);-webkit-box-shadow:0 0 0 30px var(--bg-base) inset!important;-webkit-text-fill-color:var(--text-primary)!important}.fb-input:-webkit-autofill:focus{caret-color:var(--text-primary);-webkit-box-shadow:0 0 0 30px var(--bg-base) inset!important;-webkit-text-fill-color:var(--text-primary)!important}.fb-textarea{border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-base);transition:border-color var(--transition-fast);resize:vertical;box-sizing:border-box;outline:none;min-height:80px;max-height:240px;padding:10px 14px;font-family:inherit;line-height:1.6}.fb-textarea:focus{border-color:var(--border-focus)}.fb-count{text-align:right;color:var(--text-muted);margin-top:-8px;padding-right:2px;font-size:11px;display:block}.fb-error{font-size:var(--text-xs);color:var(--color-error);border-radius:var(--radius-sm);text-align:left;background:#f8514914;border:1px solid #f8514926;padding:8px 12px}.fb-submit{border-radius:var(--radius-md);background:var(--accent);width:100%;color:var(--text-inverse);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);letter-spacing:-.01em;border:none;margin-top:4px;padding:12px;font-family:inherit;font-weight:550}.fb-submit:hover{background:var(--accent-hover)}.fb-submit:disabled{opacity:.4;cursor:not-allowed}.fb-close-btn{margin-top:20px;color:var(--text-secondary)!important;border:1px solid var(--border-default)!important;background:0 0!important}.fb-close-btn:hover{background:var(--accent-subtle)!important;color:var(--text-primary)!important}.fb-type-group{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.fb-type-btn{border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-muted);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:6px 14px;font-family:inherit}.fb-type-btn:hover{color:var(--text-secondary);border-color:var(--border-default);background:var(--accent-subtle)}.fb-type-btn.active{color:var(--accent);background:#6366f114;border-color:#6366f14d}.fb-icon-row{justify-content:center;margin-bottom:16px;display:flex}.fb-icon-circle{background:var(--accent-subtle);width:56px;height:56px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.fb-success{padding:20px 0}.fb-success-icon{color:var(--color-success);justify-content:center;margin-bottom:16px;display:flex}@keyframes fbFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fbSlideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.fb-rating-section{margin-top:4px}.fb-section-label{font-size:var(--text-xs);color:var(--text-secondary);text-align:left;margin-bottom:8px;font-weight:600;display:block}.fb-stars{justify-content:center;align-items:center;gap:4px;display:flex}.fb-star{cursor:pointer;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;border:none;padding:0 2px;font-family:inherit;font-size:28px;line-height:1}.fb-star.active{color:#f59e0b;transform:scale(1.1)}.fb-star:hover{color:#f59e0b;transform:scale(1.15)}.fb-star-label{font-size:var(--text-xs);color:var(--text-secondary);text-align:left;min-width:3em;margin-left:8px}@media (width<=480px){.fb-modal{padding:32px 20px 24px}}.page-layout{background:#f3f1ec;flex-direction:column;min-height:100dvh;display:flex}.page-layout:not(.page-layout--facade){height:100dvh;overflow:hidden}.page-main{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow-x:clip}.page-layout:not(.page-layout--facade) .page-main{overflow:hidden}.page-layout--facade{height:auto;min-height:100dvh;overflow:visible}.page-layout--facade .page-main{flex:1 0 auto;min-height:auto;overflow:visible}.page-layout--facade .page-transition{flex:1 0 auto;height:auto;min-height:auto;animation:none;overflow:visible}@media (width<=767px){.page-layout:not(.page-layout--facade){height:auto;min-height:100dvh;padding-bottom:0;overflow:hidden visible}.page-layout:not(.page-layout--facade) .page-main,.page-layout:not(.page-layout--facade) .page-transition{min-height:0;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));flex:1 0 auto;overflow:visible}.page-layout:not(.page-layout--facade) .page-transition{padding-bottom:0}}@media (width<=900px) and (orientation:landscape){.page-layout:not(.page-layout--facade):has(.workspace-page--solving){height:100dvh;overflow:hidden}:is(.page-layout:not(.page-layout--facade):has(.workspace-page--solving) .page-main,.page-layout:not(.page-layout--facade):has(.workspace-page--solving) .page-transition){flex:1;height:100%;min-height:0;padding-bottom:0;overflow:hidden}}.page-transition{flex-direction:column;flex:1;min-height:0;animation:.22s cubic-bezier(.22,1,.36,1) page-enter;display:flex}.page-layout:not(.page-layout--facade) .page-transition{overflow:hidden}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.page-transition{animation:none}}.landing{--lp-ink:#121212;--lp-paper:#f3f1ec;--lp-muted:#5c574f;--lp-soft:#8a847a;--lp-line:#12121214;--lp-accent:#c2410c;--lp-ember:#ff6a3d;--lp-teal:#7dd3c0;--lp-dark:#0a0a0a;--lp-cream:#fffcf7;--lp-ease:cubic-bezier(.22, 1, .36, 1);--lp-serif:"Songti SC", "STSong", "Noto Serif SC", Georgia, serif;background:var(--lp-paper);width:100%;height:auto;min-height:100dvh;color:var(--lp-ink);display:block;position:relative;overflow:visible}.landing-hero{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);width:100%;min-height:100dvh;display:grid;position:relative}.landing-hero-copy{width:100%;max-width:640px;animation:landing-rise .8s var(--lp-ease) both;flex-direction:column;justify-content:center;justify-self:end;padding:clamp(40px,8vh,80px) clamp(24px,4vw,56px);display:flex}.landing-brand-row{align-items:center;gap:14px;margin-bottom:32px;display:flex}.landing-logo-svg{color:var(--lp-ink);flex-shrink:0}.landing-brand-text{flex-direction:column;gap:3px;display:flex}.landing-brand{font-family:var(--lp-serif);letter-spacing:.06em;margin:0;font-size:clamp(1.7rem,3vw,2.2rem);font-weight:650;line-height:1.1}.landing-brand-en{letter-spacing:.24em;text-transform:uppercase;color:var(--lp-soft);margin:0;font-size:.68rem}.landing-headline{font-family:var(--lp-serif);letter-spacing:-.02em;margin:0 0 18px;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:600;line-height:1.12}.landing-headline em{color:var(--lp-accent);font-style:normal}.landing-support{max-width:30em;color:var(--lp-muted);margin:0 0 36px;font-size:1rem;line-height:1.75}.landing-cta-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.landing-cta-row--center{justify-content:center}.landing-submit{background:var(--lp-ink);color:var(--lp-cream);letter-spacing:.04em;cursor:pointer;transition:transform .18s var(--lp-ease), background .18s ease;touch-action:manipulation;border:none;border-radius:2px;padding:13px 28px;font-family:inherit;font-size:.92rem;font-weight:550}.landing-submit--lg{padding:16px 36px;font-size:1rem}.landing-submit:hover{background:#2a2a2a;transform:translateY(-1px)}.landing-submit:active{transition-duration:80ms;transform:translateY(0)scale(.98)}.landing-ghost{color:#3a3630;cursor:pointer;transition:border-color .18s ease, color .18s ease, transform .18s var(--lp-ease), background .18s ease;touch-action:manipulation;background:0 0;border:1.5px solid #cfc8bc;border-radius:2px;padding:12px 20px;font-family:inherit;font-size:.88rem}.landing-ghost:hover{border-color:var(--lp-ink);color:var(--lp-ink)}.landing-ghost:active{transition-duration:80ms;transform:scale(.98)}.landing-hero-visual{background:var(--lp-dark);justify-content:center;align-items:center;min-height:100%;display:flex;position:relative;overflow:hidden}.landing-hero-glow{pointer-events:none;background:radial-gradient(#c2410c38 0%,#0000 68%);width:70%;height:50%;animation:8s ease-in-out infinite lp-glow;position:absolute;top:22%;left:18%}.landing-hero-visual .landing-story-art{width:min(78%,420px);animation:10s ease-in-out infinite lp-float}.landing-hero-caption{z-index:2;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:32px;left:28px}.landing-hero-caption span:first-child{letter-spacing:.32em;color:#fffcf761;font-size:.68rem}.landing-hero-caption span:last-child{letter-spacing:.2em;color:#fffcf7d1;font-size:.92rem}.landing-scroll-hint{z-index:3;color:var(--lp-soft);cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex-direction:column;align-items:center;gap:10px;padding:8px 12px;animation:1.2s 1s both lp-hint-fade;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.landing-scroll-hint__line{transform-origin:top;background:linear-gradient(#c4bdb0,#0000);width:1px;height:32px;animation:2.2s ease-in-out infinite lp-hint-pulse;display:block}.landing-scroll-hint__label{letter-spacing:.28em;text-transform:uppercase;font-size:.65rem}.landing-manifesto{background:radial-gradient(ellipse 70% 50% at 50% 40%, #c2410c0f, transparent 60%), var(--lp-paper);border-top:1px solid var(--lp-line);justify-content:center;align-items:center;min-height:92vh;padding:clamp(72px,14vh,140px) clamp(24px,6vw,80px);display:flex}.landing-manifesto-inner{text-align:center;max-width:960px}.landing-manifesto-kicker{letter-spacing:.32em;text-transform:uppercase;color:var(--lp-soft);margin:0 0 24px;font-size:.78rem}.landing-manifesto-title{font-family:var(--lp-serif);letter-spacing:-.035em;margin:0 0 32px;font-size:clamp(2.6rem,8vw,5.5rem);font-weight:600;line-height:1.05}.landing-manifesto-title span{color:var(--lp-accent)}.landing-manifesto-lead{max-width:30em;color:var(--lp-muted);margin:0 auto;font-size:clamp(1.02rem,1.6vw,1.2rem);line-height:1.85}.landing-story{background:var(--lp-dark);width:100%;color:var(--lp-cream);position:relative}@media (width>=901px){.landing-story{height:480vh;min-height:480vh}}.landing-story-pin{background:var(--lp-dark);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);width:100%;height:100dvh;display:grid;position:sticky;top:0;overflow:hidden}.landing-story-visual{background:radial-gradient(ellipse 55% 42% at 48% 46%, #ff6a3d29, transparent 65%), var(--lp-dark);flex-direction:column;justify-content:center;align-items:center;padding:48px 32px 56px;display:flex;position:relative}.landing-story-stage-label{letter-spacing:.3em;text-transform:uppercase;color:#fffcf76b;margin:0 0 20px;font-size:.72rem}.landing-story-visual .landing-story-art{will-change:contents;width:min(78%,460px)}.landing-story-track{background:#fffcf71a;border-radius:1px;height:2px;position:absolute;bottom:72px;left:12%;right:12%;overflow:hidden}.landing-story-track-fill{background:linear-gradient(90deg, var(--lp-ember), #ff9a6b);transform-origin:0;will-change:transform;width:100%;height:100%;transform:scaleX(0)}.landing-story-beats{justify-content:center;gap:28px;display:flex;position:absolute;bottom:28px;left:0;right:0}.landing-story-beat{letter-spacing:.16em;color:#fffcf738;transition:color .35s var(--lp-ease), transform .35s var(--lp-ease);font-size:.68rem}.landing-story-beat.is-done{color:#ff6a3d8c}.landing-story-beat.is-active{color:var(--lp-ember);transform:scale(1.12)}.landing-story-copy{background:#0e0e0e;border-left:1px solid #fffcf714;position:relative}.landing-story-slide{background:#0e0e0e;flex-direction:column;justify-content:center;padding:clamp(48px,10vh,96px) clamp(32px,5vw,72px);transition:none;display:flex;position:absolute;inset:0}.landing-story-slide-art{display:none}.landing-story-slide-title{font-family:var(--lp-serif);letter-spacing:-.025em;color:var(--lp-cream);margin:0 0 20px;font-size:clamp(2rem,4vw,3.2rem);font-weight:600;line-height:1.12}.landing-story-slide-body{color:#fffcf794;max-width:28em;margin:0;font-size:1.08rem;line-height:1.85}.landing-eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--lp-soft);margin:0 0 16px;font-size:.72rem}.landing-eyebrow--light{color:#fffcf76b}.landing-story-art{height:auto;display:block}.lp-grid line{stroke:#fffcf70b;stroke-width:1px}.lp-edge{fill:none;stroke:#fffcf7d9;stroke-width:1.7px;stroke-opacity:.45}.lp-slash{fill:none;stroke:var(--lp-ember);stroke-width:3.2px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;opacity:0}.lp-slash--face{stroke:var(--lp-teal);stroke-width:2.5px}.lp-node{fill:var(--lp-ember);opacity:.4}.lp-node-mid{fill:var(--lp-teal);opacity:0}.lp-label{fill:#fffcf7b3;font-size:14px;font-family:var(--lp-serif);opacity:.4}.landing-story-art--hero .lp-slash--diag{animation:5s ease-in-out .6s infinite lp-slash-pulse}.landing-moment{background:radial-gradient(ellipse 55% 40% at 70% 15%, #ff6a3d1f, transparent 55%), var(--lp-dark);color:var(--lp-cream);padding:clamp(80px,14vh,140px) clamp(24px,5vw,64px)}.landing-moment-inner{max-width:1100px;margin:0 auto}.landing-moment-title{font-family:var(--lp-serif);letter-spacing:-.025em;margin:0 0 20px;font-size:clamp(2.1rem,4.8vw,3.6rem);font-weight:600;line-height:1.12}.landing-moment-lead{color:#fffcf794;max-width:34em;margin:0 0 48px;font-size:1.08rem;line-height:1.8}.landing-moment-frame{background:#111;border:1px solid #fffcf71f;overflow:hidden;box-shadow:0 40px 80px #00000059}.landing-moment-chrome{background:#1a1a1a;border-bottom:1px solid #fffcf714;align-items:center;gap:7px;padding:12px 16px;display:flex}.landing-moment-chrome span{background:#fffcf72e;border-radius:50%;width:8px;height:8px}.landing-moment-chrome em{letter-spacing:.12em;color:#fffcf759;margin-left:10px;font-size:.7rem;font-style:normal}.landing-moment-body{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:380px;display:grid}.landing-moment-pane{padding:28px 24px;position:relative}.landing-moment-pane--steps{background:#141414;border-right:1px solid #fffcf714}.landing-moment-pane--viz{background:radial-gradient(50% 50% at 50% 55%,#ff6a3d24,#0000 70%),#0a0a0a;flex-direction:column;justify-content:center;align-items:center;display:flex}.landing-moment-pane--viz .landing-story-art{width:min(88%,360px);margin-top:8px}.landing-moment-chip{letter-spacing:.22em;text-transform:uppercase;color:#fffcf761;align-self:flex-start;margin-bottom:20px;font-size:.68rem;display:inline-block}.landing-moment-pane--steps ol{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.landing-moment-pane--steps li{color:#fffcf759;border:1px solid #0000;align-items:center;gap:12px;padding:14px 12px;font-size:.92rem;line-height:1.45;display:flex}.landing-moment-pane--steps li i{color:#fffcf766;border:1px solid #fffcf733;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:.7rem;font-style:normal;font-weight:600;display:grid}.landing-moment-pane--steps li.is-done{color:#fffcf78c}.landing-moment-pane--steps li.is-done i{color:#fff;background:#fffcf733;border-color:#0000}.landing-moment-pane--steps li.is-current{color:var(--lp-teal);background:#0f6b5c33;border-color:#0f6b5c}.landing-moment-pane--steps li.is-current i{color:#fff;background:#0f6b5c;border-color:#0f6b5c}.landing-friction{background:radial-gradient(ellipse 80% 50% at 50% 0%, #c2410c0d, transparent 55%), var(--lp-paper);border-top:1px solid var(--lp-line);padding:clamp(80px,14vh,140px) clamp(24px,5vw,64px)}.landing-friction-inner{max-width:720px;margin:0 auto}.landing-section-title{font-family:var(--lp-serif);letter-spacing:-.02em;margin:0 0 20px;font-size:clamp(1.9rem,4vw,2.9rem);font-weight:600;line-height:1.18}.landing-section-lead{max-width:32em;color:var(--lp-muted);margin:0 0 40px;font-size:1.05rem;line-height:1.8}.landing-friction-list{border-top:1px solid var(--lp-line);margin:0;padding:0;list-style:none}.landing-friction-list li{border-bottom:1px solid var(--lp-line);color:var(--lp-muted);grid-template-columns:minmax(100px,140px) 1fr;align-items:baseline;gap:16px 28px;padding:24px 0;font-size:.98rem;line-height:1.7;display:grid}.landing-friction-list strong{font-family:var(--lp-serif);letter-spacing:.04em;color:var(--lp-ink);font-size:1.08rem;font-weight:600}.landing-end{text-align:center;background:radial-gradient(ellipse 70% 55% at 50% 85%, #c2410c14, transparent 50%), var(--lp-paper);padding:clamp(96px,20vh,180px) clamp(24px,5vw,64px)}.landing-end-inner{max-width:640px;margin:0 auto}.landing-end-title{font-family:var(--lp-serif);letter-spacing:-.03em;margin:0 0 18px;font-size:clamp(2.4rem,5.5vw,4rem);font-weight:600}.landing-end-lead{color:var(--lp-muted);margin:0 0 40px;font-size:1.08rem;line-height:1.8}.landing-footer{letter-spacing:.18em;color:var(--lp-soft);border-top:1px solid var(--lp-line);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:28px 24px 40px;font-size:.72rem;display:flex}.landing-footer-dot{opacity:.45}.lp-reveal{opacity:0;transition:opacity .9s var(--lp-ease), transform .9s var(--lp-ease);transform:translateY(36px)}.lp-reveal--in{opacity:1;transform:translateY(0)}@keyframes landing-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes lp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes lp-glow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes lp-slash-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes lp-hint-fade{0%{opacity:0}to{opacity:1}}@keyframes lp-hint-pulse{0%,to{opacity:.55;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.2)}}@media (width<=900px){.landing-hero{grid-template-columns:1fr}.landing-hero-visual{order:-1;min-height:42vh;max-height:48vh}.landing-hero-visual .landing-story-art{width:min(62%,280px);animation:none}.landing-hero-copy{justify-self:stretch;max-width:none;padding:28px 20px 64px}.landing-headline{font-size:1.95rem}.landing-scroll-hint{bottom:16px}.landing-story{height:auto;min-height:0}.landing-story-pin{flex-direction:column;height:auto;display:flex;position:relative;overflow:visible}.landing-story-visual{display:none}.landing-story-copy{background:0 0;border-left:none}.landing-story-slide{opacity:1;pointer-events:auto;border-top:1px solid #fffcf714;min-height:auto;padding:48px 24px 56px;position:relative;inset:auto;transform:none}.landing-story-slide-art{background:radial-gradient(60% 60%,#ff6a3d26,#0000 70%),#0a0a0a;border:1px solid #fffcf714;justify-content:center;align-items:center;width:100%;height:220px;margin-bottom:28px;display:flex}.landing-story-slide-art .landing-story-art{width:min(70%,260px)}.landing-moment-body{grid-template-columns:1fr}.landing-moment-pane--steps{border-bottom:1px solid #fffcf714;border-right:none}.landing-friction-list li{grid-template-columns:1fr;gap:6px}}@media (width<=480px){.landing-manifesto{min-height:70vh;padding:56px 20px}.landing-moment,.landing-friction,.landing-end{padding:56px 20px}}@media (prefers-reduced-motion:reduce){.landing-hero-copy,.landing-hero-glow,.landing-hero-visual .landing-story-art,.landing-scroll-hint,.landing-scroll-hint__line,.landing-story-art--hero .lp-slash--diag{animation:none}.lp-reveal{opacity:1;transition:none;transform:none}.landing-submit,.landing-ghost,.landing-story-beat{transition:none}.landing-story-track-fill{transform:scaleX(1)}}.geo-mini-controls{z-index:10;flex-direction:column;gap:4px;display:flex;position:absolute;top:12px;left:12px}.gmc-bar{align-items:center;gap:4px;display:flex}.gmc-btn{min-width:44px;min-height:28px;font-size:var(--text-xs);color:#1a1a1a;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);white-space:nowrap;box-shadow:none;background:#ffffffeb;border:1px solid #cfd6e0;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;padding:5px 10px;font-family:inherit;font-weight:500;display:inline-flex}.gmc-btn:hover{background:#fff;border-color:#1a1a1a}.gmc-btn.active{color:#fff;background:#1a1a1a;border-color:#1a1a1a}.gmc-more{position:relative}.gmc-btn-more{letter-spacing:.08em;min-width:32px}.gmc-menu{background:var(--bg-elevated,var(--bg-surface));border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:110px;box-shadow:var(--shadow-sm);z-index:20;padding:4px;position:absolute;top:calc(100% + 4px);left:0}.gmc-menu-item{width:100%;color:var(--text-primary);font-size:var(--text-xs);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:7px 10px;font-family:inherit;display:block}.gmc-menu-item:hover{background:var(--accent-subtle)}@media (width<=767px){.geo-mini-controls{top:6px;left:6px}.gmc-btn{min-width:40px;min-height:32px;padding:6px 10px;font-size:11px}}.progress-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;min-height:44px;padding:12px 16px}.ph-stage{align-items:center;gap:8px;display:flex}.ph-stage-icon{color:var(--text-secondary);font-size:14px;animation:2s linear infinite phSpin}@keyframes phSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ph-stage-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.ph-dot-pulse{background:var(--text-muted);border-radius:50%;width:4px;height:4px;margin-left:auto;animation:1.2s ease-in-out infinite phPulse}@keyframes phPulse{0%,to{opacity:.2}50%{opacity:1}}.ph-summary{align-items:flex-start;gap:8px;display:flex}.ph-summary-icon{color:var(--color-success);flex-shrink:0;margin-top:3px;font-size:10px}.ph-summary-text{font-size:var(--text-xs);color:var(--text-secondary);margin:0;line-height:1.45}.ph-error{font-size:var(--text-xs);color:var(--color-error);align-items:center;gap:10px;line-height:1.4;display:flex}.ph-error-text{flex:1;min-width:0}.ph-retry-btn{border-radius:var(--radius-full);background:var(--color-error);color:#fff;font-size:var(--text-xs);cursor:pointer;transition:opacity var(--transition-fast);border:none;flex-shrink:0;padding:4px 12px;font-family:inherit;font-weight:550}.ph-retry-btn:hover{opacity:.85}.ph-empty{align-items:center;display:flex}.ph-empty-text{font-size:var(--text-xs);color:var(--text-muted)}.step-card{cursor:pointer;border:1px solid #0000;border-bottom-color:var(--border-subtle);touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:0;gap:14px;padding:14px 8px 14px 4px;transition:background .22s cubic-bezier(.22,1,.36,1),border-color .22s,opacity .22s,transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s;display:flex;position:relative}.step-card:last-child{border-bottom-color:#0000}.step-card:hover{background:var(--accent-subtle)}.step-card:active:not(.pending):not(.locked){transition-duration:80ms;transform:scale(.985)}.step-card.current{background:#e6f2ef;border-color:#0f6b5c;border-radius:2px;margin:2px 0;padding:12px 8px 12px 4px;box-shadow:0 1px #0f6b5c14}.step-card.current .step-title{color:#0f6b5c}.step-card.completed{opacity:.72}.step-card.pending{opacity:.4;cursor:default}.step-card.pending:hover{background:0 0}.step-card.locked{opacity:.4;cursor:not-allowed}.step-timeline{flex-direction:column;flex-shrink:0;align-items:center;width:22px;padding-top:2px;display:flex;position:relative}.step-dot{background:var(--bg-surface);border:1px solid var(--border-default);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:background .22s cubic-bezier(.22,1,.36,1),border-color .22s,transform .22s cubic-bezier(.22,1,.36,1);display:flex}.step-dot-num{color:var(--text-muted);font-size:10px;font-weight:550;line-height:1}.step-card.current .step-dot{background:#e6f2ef;border-color:#0f6b5c;transform:scale(1.06)}.step-card.current .step-dot-num{color:#0f6b5c}.step-dot--done{background:var(--text-muted);border-color:var(--text-muted)}.step-dot-check{color:var(--bg-deep,#fff);font-size:10px;font-weight:700;line-height:1}.step-line{display:none}.step-body{flex:1;min-width:0;padding-top:1px}.step-title{color:var(--text-primary);letter-spacing:-.01em;margin:0 0 6px;font-size:.875rem;font-weight:600;line-height:1.45;transition:color .2s}.step-formula{font-size:.8125rem;font-family:var(--font-math,"Cambria Math", "Times New Roman", serif);color:var(--text-secondary);margin:0 0 8px;line-height:1.5}.step-content{font-size:.9375rem;font-family:var(--font-math,"Cambria Math", "Times New Roman", serif);color:var(--text-primary);white-space:pre-wrap;letter-spacing:.01em;margin:0;line-height:1.75}.step-content--clamped{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.step-card.current .step-content,.step-card.completed .step-content{-webkit-line-clamp:unset;white-space:pre-wrap;display:block}@media (prefers-reduced-motion:reduce){.step-card,.step-dot,.step-title{transition:none}.step-card:active:not(.pending):not(.locked),.step-card.current .step-dot{transform:none}}.step-list{flex-direction:column;flex:1;gap:1px;padding:6px;display:flex;overflow-y:auto}.step-list-item{position:relative}.step-index-anchor{pointer-events:none;width:0;height:0;position:absolute;top:0;left:0;overflow:hidden}.step-list .step-content,.step-list .step-formula{white-space:pre-line}.answer-panel{flex-shrink:0;padding:0 14px 14px}.ap-divider{background:var(--border-subtle);height:1px;margin-bottom:12px}.ap-section{margin-bottom:10px}.ap-section:last-child{margin-bottom:0}.ap-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:10px;font-weight:600;display:block}.ap-formula-row{flex-wrap:wrap;gap:8px;display:flex}.ap-formula{font-family:var(--font-math);font-size:var(--text-sm);color:var(--text-primary);background:var(--accent-subtle);border-radius:var(--radius-sm);letter-spacing:.02em;padding:3px 8px}.ap-result{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.ap-result-highlight{font-family:var(--font-math);font-size:var(--text-lg);color:var(--text-primary);margin-top:4px;padding:4px 0;font-weight:600}.ap-summary{font-size:var(--text-xs);color:var(--text-muted);margin:0;line-height:1.5}@media (width<=767px){.answer-panel{padding:0 10px 10px}}.playback-controls{background:#fff;border-top:1px solid #eef0f4;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:12px 16px;display:flex}.pc-btn{color:#1a1a1a;font-size:var(--text-xs);cursor:pointer;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #1a1a1a;border-radius:2px;align-items:center;gap:4px;min-width:36px;min-height:36px;padding:7px 12px;font-family:inherit;font-weight:550;transition:background .18s cubic-bezier(.22,1,.36,1),color .18s,border-color .18s,transform .18s cubic-bezier(.22,1,.36,1),opacity .15s;display:inline-flex}.pc-btn:hover:not(:disabled){color:#fff;background:#1a1a1a;border-color:#1a1a1a}.pc-btn:active:not(:disabled){transition-duration:80ms;transform:scale(.96)}.pc-btn:disabled{opacity:1;color:#8a847a;cursor:not-allowed;background:#f3f1ec;border-color:#cfc8bc}.pc-btn-icon{font-size:10px;line-height:1;transition:transform .18s cubic-bezier(.22,1,.36,1)}.pc-btn:hover:not(:disabled) .pc-btn-icon{transform:translate(0)}.pc-btn--next:hover:not(:disabled) .pc-btn-icon{transform:translate(2px)}.pc-btn--prev:hover:not(:disabled) .pc-btn-icon{transform:translate(-2px)}.pc-btn-label{font-size:var(--text-xs)}.pc-btn-play{color:#1a1a1a;background:#fff;border-color:#1a1a1a}.pc-btn-play.active{color:#fff;background:#1a1a1a}.pc-btn-play:hover:not(:disabled){background:#f4f6f8}.pc-btn-play.active:hover:not(:disabled){background:#333}.pc-dots-container{flex-direction:column;flex:1;align-items:center;gap:3px;min-width:0;display:flex}.pc-dots{justify-content:center;align-items:center;gap:5px;display:flex}.pc-dot{background:var(--border-default);cursor:default;border:none;border-radius:50%;flex-shrink:0;width:7px;height:7px;padding:0;transition:background .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s,width .22s cubic-bezier(.22,1,.36,1),height .22s cubic-bezier(.22,1,.36,1);display:inline-block}button.pc-dot{cursor:pointer;touch-action:manipulation}button.pc-dot:hover{background:var(--accent);transform:scale(1.35)}button.pc-dot:active{transition-duration:80ms;transform:scale(.9)}.pc-dot--current{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 3px #4a90e22e}.pc-dot--done{background:var(--color-success,#16a34a)}.pc-indicator{color:var(--text-muted);white-space:nowrap;font-size:10px;font-weight:450;transition:color .2s}@media (width<=767px){.playback-controls{gap:4px;padding:8px 10px}.pc-btn{min-width:40px;min-height:40px;padding:8px 10px}.pc-btn-icon{font-size:12px}.pc-dot{width:8px;height:8px}.pc-dot--current{width:10px;height:10px}}@media (prefers-reduced-motion:reduce){.pc-btn,.pc-btn-icon,.pc-dot{transition:none}.pc-btn:active:not(:disabled),button.pc-dot:hover,button.pc-dot:active,.pc-btn--next:hover:not(:disabled) .pc-btn-icon,.pc-btn--prev:hover:not(:disabled) .pc-btn-icon{transform:none}}.explanation-panel{background:#fffcf7;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.ep-problem{background:#fffcf7;border-bottom:1px solid #e4dfd5;padding:18px 22px 14px}.ep-problem-label{color:#5c574e;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:550}.ep-problem-text{color:#1a1a1a;font-size:.95rem;line-height:1.7;font-family:var(--font-math), Georgia, serif;margin:0}.ep-step-timeline-section{flex:1;min-height:0;padding:4px 0;overflow-y:auto}.ep-steps-wrap{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.ep-follow-up{border-top:1px solid var(--border-subtle);margin-top:4px;padding:12px 16px}.ep-follow-up-toggle{border:1px dashed var(--border-default);border-radius:var(--radius-md);width:100%;font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);text-align:center;background:0 0;padding:8px 12px;font-family:inherit;font-weight:500}.ep-follow-up-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.ep-follow-up-body{flex-direction:column;gap:8px;display:flex}.ep-follow-up-input-row{gap:6px;display:flex}.ep-follow-up-input{border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-xs);font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-surface);min-width:0;transition:border-color var(--transition-fast);outline:none;flex:1;padding:7px 10px}.ep-follow-up-input:focus{border-color:var(--border-focus)}.ep-follow-up-input::placeholder{color:var(--text-muted)}.ep-follow-up-submit{border-radius:var(--radius-md);background:var(--accent);color:#fff;font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);border:none;flex-shrink:0;padding:7px 14px;font-family:inherit;font-weight:550}.ep-follow-up-submit:hover:not(:disabled){background:var(--accent-hover)}.ep-follow-up-submit:disabled{opacity:.35;cursor:not-allowed}.ep-follow-up-answer{border-radius:var(--radius-md);background:#6366f10a;border:1px solid #6366f11a;padding:10px 12px}.ep-follow-up-answer-label{color:var(--accent);letter-spacing:.03em;margin-bottom:4px;font-size:10px;font-weight:600;display:block}.ep-follow-up-answer-text{font-size:var(--text-xs);color:var(--text-secondary);margin:0;line-height:1.6}.ep-follow-up-close{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-self:flex-end;padding:3px 8px;font-family:inherit;font-size:10px}.ep-follow-up-close:hover{color:var(--text-primary)}.ep-empty-steps{text-align:center;padding:24px 16px}.ep-empty-text{font-size:var(--text-sm);color:var(--text-muted);margin:0}.core-idea-card{background:0 0;border:none;border-bottom:1px solid #eef0f4;border-radius:0;margin:16px 22px 8px;padding:0 0 14px}.core-idea-card-label{color:#8b95a5;letter-spacing:.1em;margin-bottom:8px;font-size:11px;font-weight:550}.core-idea-card-text{color:#1a1a1a;font-size:.95rem;line-height:1.7;font-family:var(--font-math), Georgia, serif;margin:0}@media (width<=767px){.explanation-panel{border-top:none;border-left:none;flex:1 0 auto;width:100%;height:auto;min-height:0;max-height:none;padding-bottom:8px;overflow:visible}.ep-step-timeline-section,.ep-steps-wrap{flex:1 0 auto;max-height:none;overflow:visible}.ep-problem{padding:12px 14px 10px}.ep-problem-text{word-break:break-word;font-size:.9rem}.playback-controls{bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:15;position:sticky;box-shadow:0 -4px 12px #0000000a}.workspace-page--solving .explanation-panel{-webkit-overflow-scrolling:touch;flex:1;height:100%;min-height:0;max-height:100%;padding-bottom:0;overflow:hidden auto}.workspace-page--solving .progress-header:not(:has(.ph-stage)):not(:has(.ph-error)){display:none}.workspace-page--solving .core-idea-card{display:none}.workspace-page--solving .ep-problem{flex-shrink:0;padding:6px 12px}.workspace-page--solving .ep-problem-label{display:none}.workspace-page--solving .ep-problem-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.workspace-page--solving .ep-steps-wrap{flex-direction:column;flex:1 0 auto;min-height:0;display:flex;overflow:visible}.workspace-page--solving .ep-step-timeline-section{flex:1 0 auto;min-height:0;overflow:visible}.workspace-page--solving .step-list-item:not(:has(.step-card.current)){display:none}.workspace-page--solving .step-card.current{background:0 0;border:none;border-radius:0;margin:0;padding:10px 10px 10px 6px}.workspace-page--solving .playback-controls{background:#fffcf7;flex-shrink:0;padding:8px 10px;position:sticky;bottom:0;box-shadow:0 -2px 8px #0000000f}.workspace-page--solving .ep-practice-more{flex-shrink:0}}@media (width<=900px) and (orientation:landscape){.explanation-panel{height:auto;max-height:none;overflow:visible}.ep-step-timeline-section,.ep-steps-wrap{overflow:visible}.playback-controls{z-index:15;position:sticky;bottom:0}}.wp-streaming-reasoning{border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-secondary);white-space:pre-wrap;max-height:300px;margin:8px 12px;padding:12px 16px;line-height:1.7;overflow-y:auto}.wp-streaming-header{font-size:var(--text-xs);color:var(--accent);align-items:center;gap:6px;margin-bottom:8px;font-weight:550;display:flex}.wp-streaming-cursor{background:var(--accent);width:2px;height:1em;margin-left:2px;animation:.8s infinite blink;display:inline-block}.wp-streaming-line{border-bottom:1px solid var(--border-subtle);margin-bottom:4px;padding:2px 0}.wp-streaming-line:last-child{border-bottom:none}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.ep-practice-more{justify-content:center;padding:4px 16px 16px;display:flex}.ep-practice-btn{border-radius:var(--radius-full);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:10px 24px;font-family:inherit;font-weight:500;display:inline-flex}.ep-practice-btn:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-sm);background:#6366f10f;transform:translateY(-1px)}.ep-practice-btn:active{transform:translateY(0)}.logic-panel{--lp-ink:#1a1a1a;--lp-muted:#5c574e;--lp-line:#e4dfd5;--lp-paper:#fffcf7;--lp-bg:#f3f1ec;--lp-accent:#0f6b5c;--lp-accent-soft:#e6f2ef;--lp-why:#8a4b1a;--lp-font:"Source Han Serif SC", "Noto Serif SC", "Songti SC", Georgia, serif;--lp-sans:"DM Sans", "PingFang SC", "Microsoft YaHei", sans-serif;background:var(--lp-bg);height:100%;min-height:0;color:var(--lp-ink);font-family:var(--lp-sans);flex-direction:column;padding:1.25rem 1.5rem 2rem;display:flex;overflow:auto}.logic-panel-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--lp-muted);margin:0;font-size:.75rem}.logic-panel-title{font-family:var(--lp-font);margin:.35rem 0 1rem;font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:600;line-height:1.25}.logic-compose{margin-bottom:1rem}.logic-compose-input{box-sizing:border-box;resize:vertical;border:1px solid var(--lp-line);background:var(--lp-paper);width:100%;min-height:4.5rem;color:var(--lp-ink);font-family:var(--lp-sans);border-radius:2px;padding:.75rem .9rem;font-size:.95rem;line-height:1.5}.logic-compose-input:focus{outline:2px solid var(--lp-accent-soft);border-color:var(--lp-accent)}.logic-compose-row{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.logic-compose-submit{background:var(--lp-accent);color:#fff;cursor:pointer;border:none;border-radius:2px;padding:.5rem 1.1rem;font-size:.875rem;font-weight:600}.logic-compose-hint{color:var(--lp-muted);font-size:.75rem}.logic-compose-error{color:#8b2e2e;margin:.5rem 0 0;font-size:.8125rem;line-height:1.45}.logic-type-label{color:var(--lp-muted);align-self:center;margin-right:.25rem;font-size:.75rem}.logic-examples-wrap{margin-bottom:.5rem}.logic-examples-wrap .logic-type-label{margin:0 0 .5rem;display:block}.logic-examples-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.65rem;display:grid}@media (width<=720px){.logic-examples-grid{grid-template-columns:1fr}}.logic-example-card{border:1px solid var(--lp-line);background:var(--lp-paper);text-align:left;cursor:pointer;color:var(--lp-muted);border-radius:2px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.65rem .75rem;font-family:inherit;transition:border-color .15s,background .15s,color .15s;display:flex}.logic-example-card:hover,.logic-example-card.is-active{border-color:var(--lp-accent);background:var(--lp-accent-soft);color:var(--lp-accent)}.logic-example-card-label{color:inherit;font-size:.875rem;font-weight:600}.logic-example-card-hint{color:#8a847a;font-size:.75rem;line-height:1.4}.logic-example-card:hover .logic-example-card-hint,.logic-example-card.is-active .logic-example-card-hint{color:#5a8f84}.logic-empty-hint{color:var(--lp-muted);margin:1.5rem 0 0;font-size:.9rem;line-height:1.5}.logic-type-tabs{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.logic-type-tab{border:1px solid var(--lp-line);background:var(--lp-paper);color:var(--lp-muted);cursor:pointer;border-radius:2px;padding:.4rem .85rem;font-size:.875rem}.logic-type-tab.is-active{border-color:var(--lp-accent);color:var(--lp-accent);background:var(--lp-accent-soft)}.logic-goal{background:var(--lp-paper);border-left:3px solid var(--lp-accent);font-family:var(--lp-font);margin:0 0 .75rem;padding:.85rem 1rem;font-size:1.05rem;line-height:1.55}.logic-core{color:var(--lp-muted);margin:0 0 1.25rem;font-size:.95rem;line-height:1.5}.logic-core span{letter-spacing:.04em;color:var(--lp-accent);background:var(--lp-accent-soft);vertical-align:middle;margin-right:.5rem;padding:.1rem .4rem;font-size:.7rem;display:inline-block}.logic-body{grid-template-columns:minmax(280px,1fr) minmax(260px,1fr);align-items:start;gap:1.25rem;min-height:0;display:grid}@media (width<=860px){.logic-body{grid-template-columns:1fr}}.logic-section-title{letter-spacing:.06em;color:var(--lp-muted);margin:0 0 .75rem;font-size:.8rem;font-weight:600}.logic-steps,.logic-viz{background:var(--lp-paper);border:1px solid var(--lp-line);min-height:280px;padding:1rem}.logic-step-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.logic-step{text-align:left;cursor:pointer;width:100%;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;border-radius:2px;gap:.65rem;padding:.65rem .5rem;transition:background .22s cubic-bezier(.22,1,.36,1),border-color .22s,opacity .22s,transform .18s cubic-bezier(.22,1,.36,1);display:flex}.logic-step:hover{background:var(--lp-bg)}.logic-step:active:not(:disabled){transition-duration:80ms;transform:scale(.985)}.logic-step.is-current{border-color:var(--lp-accent);background:var(--lp-accent-soft)}.logic-step.is-done{opacity:.72}.logic-play-btn{border:1px solid var(--lp-accent);background:var(--lp-accent);color:#fff;cursor:pointer;padding:.4rem .85rem;font-size:.8125rem;font-weight:600}.logic-play-btn.is-playing{background:var(--lp-paper);color:var(--lp-accent)}.logic-film-caption{border-left:3px solid var(--lp-why);background:linear-gradient(90deg,#faf6f0,#0000);margin-bottom:.85rem;padding:.75rem .85rem;animation:.45s both logic-film-in}.logic-film-beat{letter-spacing:.06em;color:var(--lp-muted);margin-bottom:.35rem;font-size:.7rem;display:inline-block}.logic-film-why{font-family:var(--lp-font);color:var(--lp-why);margin:0;font-size:1.05rem;line-height:1.45}.logic-film-formula{background:var(--lp-bg);border:1px solid var(--lp-line);margin-top:.4rem;padding:.15rem .45rem;font-size:.85rem;display:inline-block}.logic-grow-strip{background:var(--lp-accent-soft);font-family:var(--lp-font);color:var(--lp-accent);border:1px solid #b7d9d1;flex-wrap:wrap;align-items:baseline;gap:.15rem .25rem;margin-bottom:1rem;padding:.65rem .75rem;font-size:1.35rem;font-weight:600;display:flex}.logic-grow-factor{align-items:baseline;animation:.4s both logic-factor-pop;display:inline-flex}.logic-grow-op{opacity:.7;margin:0 .2rem;font-weight:500}.logic-grow-num{text-align:center;min-width:1.2em}.logic-grow-product{margin-left:.15rem;animation:.45s .1s both logic-factor-pop}@keyframes logic-film-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes logic-factor-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes logic-node-grow{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.logic-step-idx{width:1.5rem;height:1.5rem;color:var(--lp-accent);border:1px solid var(--lp-accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:.75rem;font-weight:600;transition:background .22s cubic-bezier(.22,1,.36,1),color .22s,transform .22s cubic-bezier(.22,1,.36,1);display:grid}.logic-step.is-current .logic-step-idx{background:var(--lp-accent);color:#fff;transform:scale(1.06)}.logic-step-main{flex:1;min-width:0}.logic-step-main strong{margin-bottom:.25rem;font-size:.95rem;display:block}.logic-step-main p{color:var(--lp-ink);margin:0 0 .35rem;font-size:.875rem;line-height:1.45}.logic-step-main .logic-step-why{color:var(--lp-why);font-size:.8125rem}.logic-step-formula{background:var(--lp-bg);border:1px solid var(--lp-line);margin-top:.15rem;padding:.15rem .4rem;font-size:.8rem;display:inline-block}.logic-step-nav{border-top:1px solid var(--lp-line);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;padding-top:.75rem;display:flex}.logic-step-nav button{color:#1a1a1a;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#fffcf7;border:1px solid #1a1a1a;min-height:36px;padding:.45rem .85rem;font-size:.8125rem;font-weight:550;transition:background .18s cubic-bezier(.22,1,.36,1),color .18s,border-color .18s,transform .18s cubic-bezier(.22,1,.36,1)}.logic-step-nav button:hover:not(:disabled){color:#fffcf7;background:#1a1a1a}.logic-step-nav button:active:not(:disabled){transition-duration:80ms;transform:scale(.96)}.logic-step-nav button:disabled{opacity:1;color:#8a847a;cursor:not-allowed;background:#f3f1ec;border-color:#cfc8bc}.logic-step-nav .logic-play-btn{border-color:var(--lp-accent);background:var(--lp-accent);color:#fff;font-weight:600}.logic-step-nav .logic-play-btn:hover:not(:disabled){color:#fff;background:#0b5347;border-color:#0b5347}.logic-step-nav .logic-play-btn:disabled{opacity:1;color:#fff;cursor:not-allowed;background:#9bb8b2;border-color:#9bb8b2}.logic-answer{font-family:var(--lp-font);color:var(--lp-accent);margin-left:auto;font-weight:600}.logic-more-menu{position:relative}.logic-more-menu>summary{cursor:pointer;color:#5c574e;-webkit-user-select:none;user-select:none;background:#fffcf7;border:1px solid #e4dfd5;border-radius:8px;padding:.4rem .7rem;font-size:.82rem;font-weight:500;list-style:none}.logic-more-menu>summary::-webkit-details-marker{display:none}.logic-more-menu[open]>summary{color:#121212;border-color:#cfc8bc}.logic-more-panel{z-index:5;background:#fffcf7;border:1px solid #e4dfd5;border-radius:10px;min-width:160px;padding:.35rem;position:absolute;bottom:calc(100% + 6px);right:0;box-shadow:0 8px 24px #12121214}.logic-more-action{appearance:none;text-align:left;color:#121212;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:.55rem .7rem;font-family:inherit;font-size:.85rem}.logic-more-action:hover:not(:disabled){color:#0f6b5c;background:#0f6b5c14}.logic-more-action:disabled{opacity:.55;cursor:not-allowed}.logic-tree-details{border-top:1px solid #ebe6dc;margin-top:1rem;padding-top:.75rem}.logic-tree-summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.logic-tree-summary::-webkit-details-marker{display:none}.logic-tree-summary:after{content:"展开";color:#8a847a;margin-left:.5rem;font-size:.75rem;font-weight:500}.logic-tree-details[open] .logic-tree-summary:after{content:"收起"}.logic-solving-bar{display:none}.logic-tree-root,.logic-tree-branch{margin:0;padding:0;list-style:none}.logic-tree-branch{border-left:2px solid var(--lp-line);flex-direction:column;gap:.5rem;margin-top:.5rem;margin-left:1rem;padding-left:.85rem;display:flex}.logic-tree-card{border:1px solid var(--lp-line);background:var(--lp-bg);border-radius:2px;padding:.65rem .75rem;transition:border-color .25s,background .25s,opacity .25s,transform .25s}.logic-tree-node.is-pending>.logic-tree-card{opacity:.28;filter:grayscale(.4);transform:scale(.98)}.logic-tree-node.is-revealed>.logic-tree-card{animation:.4s both logic-node-grow}.logic-tree-node.is-on>.logic-tree-card{border-color:var(--lp-accent);background:var(--lp-accent-soft);box-shadow:0 0 0 1px var(--lp-accent);opacity:1;filter:none;transform:scale(1)}.logic-tree-label{font-size:.9rem;font-weight:600}.logic-tree-count{color:var(--lp-accent);margin-left:.4rem;font-size:.8rem}.logic-tree-why{color:var(--lp-why);margin:.35rem 0 0;font-size:.75rem;line-height:1.4}.demo-stage{border:1px solid var(--lp-line);background:linear-gradient(165deg,#fff 0%,#f7f4ee 100%);margin-bottom:1rem;padding:.9rem;animation:.4s both logic-film-in}.demo-stage-title{letter-spacing:.04em;color:var(--lp-muted);margin:0 0 .75rem;font-size:.8rem;font-weight:600}.demo-people{flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:.75rem;display:flex}.demo-person{width:2.25rem;height:2.25rem;color:var(--lp-ink);background:#fff;border:2px solid #c4bdb0;border-radius:50%;place-items:center;font-size:.85rem;font-weight:600;transition:transform .35s,opacity .35s,border-color .35s,background .35s;display:grid}.demo-person.is-idle{opacity:1}.demo-person.is-used{opacity:.25;transform:scale(.85)}.demo-person.is-picked{border-color:var(--lp-accent);background:var(--lp-accent-soft);color:var(--lp-accent);transform:translateY(-4px)}.demo-person.is-folded{transform:scale(.9)}.demo-person--seat{width:2.75rem;height:2.75rem;margin:.35rem auto;font-size:1rem}.demo-person--seat.is-ghost{opacity:.35;border-style:dashed}.demo-person--seat.is-arrive{border-color:var(--lp-accent);background:var(--lp-accent-soft);color:var(--lp-accent);animation:.45s both logic-factor-pop}.demo-seats{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.demo-seat{text-align:center;border:1px solid var(--lp-line);background:var(--lp-paper);border-radius:2px;min-width:5.5rem;padding:.55rem .65rem;transition:border-color .3s,box-shadow .3s}.demo-seat.is-filled{border-color:var(--lp-accent);box-shadow:0 0 0 1px var(--lp-accent-soft)}.demo-seat-role{color:var(--lp-muted);font-size:.75rem;display:block}.demo-seat-hint{color:var(--lp-accent);font-size:.7rem;display:block}.demo-seat-times{font-family:var(--lp-font);color:var(--lp-accent);font-size:1.5rem;font-weight:600}.demo-perm-result{text-align:center;font-family:var(--lp-font);color:var(--lp-accent);margin:.85rem 0 0;font-size:1.15rem;animation:.4s both logic-film-in}.demo-perm-result span{font-family:var(--lp-sans);color:var(--lp-why);margin-top:.25rem;font-size:.75rem;font-weight:400;display:block}.demo-comb-board{min-height:5.5rem;margin-top:.75rem;position:relative}.demo-pair,.demo-set{opacity:0;pointer-events:none;transition:opacity .35s,transform .35s;transform:translateY(8px)}.demo-pair.is-show,.demo-set.is-show{opacity:1;pointer-events:auto;transform:translateY(0)}.demo-pair.is-hide{opacity:0;position:absolute;inset:0}.demo-pair-label{color:var(--lp-muted);text-align:center;margin-bottom:.35rem;font-size:.75rem;display:block}.demo-pair-row{justify-content:center;gap:.5rem;display:flex}.demo-chip{border:1px solid var(--lp-line);background:#fff;padding:.35rem .65rem;font-size:.85rem;animation:.4s both logic-factor-pop}.demo-pair-note{text-align:center;color:var(--lp-why);margin-top:.4rem;font-size:.75rem;display:block}.demo-set-bubble{border:2px solid var(--lp-accent);background:var(--lp-accent-soft);width:fit-content;font-family:var(--lp-font);color:var(--lp-accent);margin:0 auto;padding:.65rem 1.1rem;font-size:1.15rem;animation:.45s both logic-factor-pop}.demo-bag{text-align:center;background:#faf8f4;border:2px dashed #c4bdb0;border-radius:4px;padding:.65rem}.demo-bag-label{color:var(--lp-muted);margin-bottom:.4rem;font-size:.7rem;display:block}.demo-balls{flex-wrap:wrap;justify-content:center;gap:.35rem;min-height:2rem;display:flex}.demo-ball{border:2px solid #0000001f;border-radius:50%;width:1.35rem;height:1.35rem;transition:transform .5s,opacity .45s;display:inline-block}.demo-ball--red{background:#c44536}.demo-ball--white{background:#f5f2ea;border-color:#b0a898}.demo-ball.is-drawn{opacity:0;transform:translateY(-18px)scale(.4)}.demo-ball.is-empty{opacity:.2;background:0 0;border-style:dashed}.demo-draws{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;margin-top:.85rem;display:flex}.demo-draw-slot{text-align:center;border:1px solid var(--lp-line);opacity:.55;background:#fff;min-width:3.5rem;padding:.4rem .55rem;transition:opacity .3s,border-color .3s}.demo-draw-slot.is-filled{opacity:1;border-color:var(--lp-accent)}.demo-draw-label{color:var(--lp-muted);margin-bottom:.25rem;font-size:.65rem;display:block}.demo-draw-frac{color:var(--lp-accent);margin-top:.25rem;font-size:.75rem;font-weight:600;display:block}.demo-draw-mul{font-family:var(--lp-font);color:var(--lp-accent);font-size:1.25rem}.demo-draw-ans{font-family:var(--lp-font);color:var(--lp-accent);font-size:1.25rem;font-weight:700;animation:.4s both logic-factor-pop}@media (width<=767px){.logic-panel{height:auto;min-height:0;padding:.75rem .85rem 1.25rem;overflow:visible}.logic-panel-title{margin:.25rem 0 .75rem;font-size:1.25rem}.logic-compose-input{min-height:4rem;font-size:16px}.logic-compose-row{flex-wrap:wrap;gap:.5rem}.logic-compose-submit{min-height:44px;padding:.55rem 1.15rem}.logic-compose-hint{flex:100%;line-height:1.4}.logic-body{flex-direction:column;align-items:stretch;gap:.85rem;width:100%;display:flex}.logic-viz{box-sizing:border-box;order:-1;width:100%;min-height:0;padding:.75rem}.logic-steps{box-sizing:border-box;width:100%;min-height:0;padding:.75rem}.logic-goal,.logic-core{word-break:break-word;font-size:.9rem}.logic-step-nav{gap:.4rem}.logic-step-nav button{min-height:40px;padding:.45rem .7rem}.logic-answer{width:100%;margin-top:.25rem;margin-left:0}.logic-examples-grid{grid-template-columns:1fr}.wp-upgrade-banner{flex-wrap:wrap;gap:.5rem;margin-bottom:.65rem;padding:.55rem .65rem}.logic-panel:has(.logic-body){height:auto;min-height:0;max-height:none;padding:.55rem .7rem calc(1.25rem + 64px + env(safe-area-inset-bottom,0px));overflow:visible}.logic-panel:has(.logic-body) .logic-solving-bar{border-bottom:1px solid var(--lp-line);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .45rem;padding-bottom:.45rem;display:flex}.logic-solving-back{color:#1a1a1a;cursor:pointer;background:#fffcf7;border:1px solid #1a1a1a;min-height:40px;padding:.4rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:550}.logic-solving-meta{color:var(--lp-accent);font-size:.8rem;font-weight:600;font-family:var(--lp-font)}.logic-panel:has(.logic-body) .logic-panel-head{display:none}.logic-panel:has(.logic-body) .logic-core{display:none}.logic-panel:has(.logic-body) .logic-goal{box-sizing:border-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0;width:100%;margin:0 0 .45rem;font-size:.82rem;line-height:1.4;display:-webkit-box;overflow:hidden}.logic-panel:has(.logic-body) .logic-body{flex-direction:column;flex:1 0 auto;align-items:stretch;gap:.55rem;width:100%;min-height:0;display:flex;overflow:visible}.logic-panel:has(.logic-body) .logic-viz{flex:none;order:-1;width:100%;max-height:none;padding:.65rem .7rem;overflow:visible}.logic-panel:has(.logic-body) .logic-viz>.logic-section-title{display:none}.logic-panel:has(.logic-body) .logic-tree-root{display:none}.logic-panel:has(.logic-body) .logic-film-caption{display:none}.logic-panel:has(.logic-body) .demo-stage{max-height:none;margin:0;overflow:visible}.logic-panel:has(.logic-body) .demo-stage-title{margin-bottom:.4rem;font-size:.75rem}.logic-panel:has(.logic-body) .logic-grow-strip{margin-top:.4rem}.logic-panel:has(.logic-body) .logic-steps{flex-direction:column;flex:none;width:100%;min-height:0;padding:.55rem .65rem;display:flex;overflow:visible}.logic-panel:has(.logic-body) .logic-steps>.logic-section-title{display:none}.logic-panel:has(.logic-body) .logic-step-list{flex:none;gap:0;overflow:visible}.logic-panel:has(.logic-body) .logic-step-list>li:not(:has(.logic-step.is-current)){display:none}.logic-panel:has(.logic-body) .logic-step.is-current{background:0 0;border:none;width:100%;padding:.15rem 0}.logic-panel:has(.logic-body) .logic-step-nav{box-sizing:border-box;border-top:1px solid var(--lp-line);flex-shrink:0;width:100%;margin-top:.45rem;padding:.45rem 0 0}.logic-panel:has(.logic-body) .logic-play-btn{display:none}.logic-panel:has(.logic-body) .logic-answer{width:auto;margin:0 0 0 auto;font-size:.8rem}}.topic-panel .logic-step-why{color:var(--lp-why)}.topic-demo{margin-bottom:.85rem}.topic-svg{width:100%;max-width:320px;height:auto;margin:0 auto .5rem;display:block}.topic-axis{stroke:#c4bdb0;stroke-width:1px}.topic-curve{stroke:#0f6b5c;stroke-width:2.5px;stroke-linecap:round;transition:opacity .35s}.topic-curve.is-dim{opacity:.35}.topic-ellipse{stroke:#0f6b5c;stroke-width:2.5px}.topic-circle-ring{stroke:#0f6b5c;stroke-width:2.5px;transition:r .45s}.topic-circle-ring.is-grow{animation:.4s both logic-factor-pop}.topic-tangent{stroke:#c44536;stroke-width:2.5px;stroke-linecap:round}.topic-seg{stroke:#8a4b1a;stroke-width:2px;opacity:.35;transition:opacity .3s}.topic-seg.is-on{opacity:1}.topic-dot{fill:#c44536}.topic-dot.is-pop,.topic-tangent.is-pop{animation:.4s both logic-factor-pop}.topic-svg-label{fill:#5c574e;font-size:11px}.topic-svg-accent{fill:#0f6b5c;font-weight:700}.topic-demo-caption{text-align:center;color:#8a4b1a;margin:.35rem 0 0;font-size:.8125rem;line-height:1.45;animation:.35s both logic-film-in}.topic-term-row{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:.5rem 0;display:flex}.topic-term{border:1px solid var(--lp-line,#e4dfd5);opacity:.4;background:#fff;align-items:center;gap:.35rem;padding:.55rem .75rem;transition:opacity .3s,border-color .3s;display:flex}.topic-term.is-on{opacity:1;border-color:#0f6b5c}.topic-term-before{font-family:var(--lp-font,Georgia, serif);font-size:1.1rem}.topic-term-arrow{color:#5c574e}.topic-term-after{font-family:var(--lp-font,Georgia, serif);color:#0f6b5c;opacity:0;font-size:1.1rem;font-weight:700;transition:opacity .35s,transform .35s;transform:scale(.8)}.topic-term-after.is-show{opacity:1;transform:scale(1)}.topic-numberline{height:4.5rem;margin:.75rem 1rem .25rem;position:relative}.topic-nl-track{background:#c4bdb0;border-radius:2px;height:3px;position:absolute;top:55%;left:0;right:0}.topic-nl-mark{color:#5c574e;opacity:.35;padding-top:1rem;font-size:.75rem;font-weight:600;transition:opacity .3s,color .3s;position:absolute;top:55%;transform:translate(-50%,-50%)}.topic-nl-mark:before{content:"";background:#c4bdb0;border-radius:50%;width:10px;height:10px;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.topic-nl-mark.is-on{opacity:1;color:#0f6b5c}.topic-nl-mark.is-on:before{background:#0f6b5c;box-shadow:0 0 0 3px #e6f2ef}.topic-nl-arrow{font-size:.75rem;font-weight:600;animation:.4s both logic-film-in;position:absolute;top:8%;transform:translate(-50%)}.topic-nl-arrow.up{color:#0f6b5c}.topic-nl-arrow.down{color:#c44536}.topic-abc-row{font-family:var(--lp-font,Georgia, serif);justify-content:center;align-items:baseline;gap:.35rem;margin:.35rem 0;font-size:1.25rem;display:flex}.topic-abc-row span{opacity:.35;transition:opacity .3s,color .3s}.topic-abc-row span.is-on{opacity:1;color:#0f6b5c;font-weight:700}.topic-abc-op{opacity:.7}.topic-abc-c{color:#c44536}.topic-abc-ans{opacity:1;color:#0f6b5c;margin-left:.35rem;animation:.4s both logic-factor-pop}.phys-newton{justify-content:center;align-items:center;gap:1rem;min-height:4rem;margin:.75rem 0;display:flex}.phys-box{width:3.2rem;height:3.2rem;font-family:var(--lp-font,Georgia, serif);color:#0f6b5c;background:#e6f2ef;border:2px solid #0f6b5c;place-items:center;font-weight:700;display:grid}.phys-force,.phys-acc{color:#5c574e;opacity:.35;flex-direction:column;align-items:center;gap:.15rem;font-weight:700;transition:opacity .3s,color .3s;display:flex}.phys-force.is-on,.phys-acc.is-on{opacity:1;color:#c44536}.phys-arrow{font-size:1.5rem;line-height:1}.phys-work{margin:.75rem 0;padding:.5rem;position:relative}.phys-track{height:3rem;margin-top:.5rem;position:relative}.phys-track-line{background:#c4bdb0;height:3px;position:absolute;top:70%;left:10%;right:10%}.phys-block{color:#0f6b5c;font-size:1.5rem;transition:left .55s;position:absolute;top:20%;left:12%}.phys-block.is-move{left:62%}.phys-s{color:#5c574e;font-size:.8rem;position:absolute;top:78%;right:12%}.phys-s.is-on{color:#0f6b5c;font-weight:600}.phys-track--wide{margin:.75rem .5rem .25rem}.phys-car{color:#0f6b5c;z-index:1;font-size:1.35rem;transition:left .55s;position:absolute;top:8%}.phys-car.is-run{animation:.35s both logic-factor-pop}.phys-pick-cards{flex-wrap:wrap;justify-content:center;gap:.4rem;margin:.75rem 0 .25rem;display:flex}.phys-pick-card{color:#5c574e;background:#fffcf7;border:1px solid #d9d2c6;border-radius:6px;padding:.35rem .55rem;font-size:.75rem;transition:border-color .25s,color .25s,background .25s}.phys-pick-card.is-dim{opacity:.45}.phys-pick-card.is-on{color:#0f6b5c;background:#e6f2ef;border-color:#0f6b5c;font-weight:600}.phys-hang{flex-direction:column;align-items:center;gap:.35rem;margin:.75rem 0 .25rem;display:flex}.phys-hang-mass{color:#0f6b5c;border:2px solid #0f6b5c;border-radius:8px;place-items:center;width:2.5rem;height:2.5rem;font-weight:700;display:grid}.phys-hang-arrow{color:#a39b8f;font-size:1.1rem;transition:color .25s,transform .25s}.phys-hang-arrow.is-on{color:#b45309;font-weight:700;transform:translateY(2px)}.phys-energy{flex-direction:column;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.phys-energy-ball{color:#0f6b5c;font-size:1.75rem;transition:transform .4s}.phys-energy-ball.is-fast{animation:.35s both logic-factor-pop;transform:translate(1.25rem)}.phys-energy-tower{border-bottom:2px solid #c4bdb0;width:4rem;height:3.5rem;position:relative}.phys-energy-block{color:#0f6b5c;background:#fffcf7;border:2px solid #0f6b5c;border-radius:4px;place-items:center;width:1.75rem;height:1.25rem;font-size:.75rem;font-weight:700;transition:bottom .45s;display:grid;position:absolute;bottom:.15rem;left:50%;transform:translate(-50%)}.phys-energy-block.is-up{bottom:1.6rem}.phys-energy-h{color:#5c574e;font-size:.75rem;position:absolute;bottom:.9rem;right:-1.1rem}.phys-w-badge{color:#0f6b5c;width:fit-content;font-family:var(--lp-font,Georgia, serif);background:#e6f2ef;border:1px solid #0f6b5c;margin:.75rem auto 0;padding:.35rem .75rem;font-weight:700}.phys-w-badge.is-pop{animation:.4s both logic-factor-pop}.phys-speed{margin:.5rem 0}.phys-speed-dial{background:#ebe6dc;border-radius:2px;height:1.1rem;margin:.75rem 1.5rem;position:relative;overflow:hidden}.phys-speed-fill{background:linear-gradient(90deg,#0f6b5c,#1a9a82);height:100%;transition:width .55s}.phys-speed-label{color:#fff;font-size:.7rem;font-weight:700;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.phys-speed-eq{font-family:var(--lp-font,Georgia, serif);justify-content:center;gap:.4rem;font-size:1.2rem;display:flex}.phys-speed-eq span{opacity:.35;transition:opacity .3s,color .3s}.phys-speed-eq span.is-on{opacity:1;color:#0f6b5c;font-weight:700}.phys-circuit{justify-content:center;align-items:center;gap:.45rem;margin:.85rem 0 .35rem;display:flex}.phys-circuit-cell{color:#5c574e;opacity:.4;border:2px solid #c4bdb0;border-radius:8px;place-items:center;min-width:2.4rem;height:2.4rem;font-weight:700;transition:opacity .3s,border-color .3s,color .3s,background .3s;display:grid}.phys-circuit-cell.is-on{opacity:1;color:#0f6b5c;background:#e6f2ef;border-color:#0f6b5c}.phys-circuit-u.is-on{color:#b45309;background:#fff7ed;border-color:#b45309}.phys-circuit-op{color:#8a8478;font-weight:700}.phys-circuit-wire{background:#d9d2c6;border-radius:2px;height:3px;margin:.35rem 2rem 0;position:relative;overflow:hidden}.phys-circuit-wire.is-flow:after{content:"";background:linear-gradient(90deg,#0000,#0f6b5c);width:28%;animation:1.1s ease-in-out infinite phys-flow;position:absolute;inset:0 auto 0 0}@keyframes phys-flow{0%{left:-30%}to{left:100%}}.phys-efield{justify-content:center;align-items:center;height:5.5rem;margin:.75rem 1rem .35rem;display:flex;position:relative}.phys-efield-lines{pointer-events:none;justify-content:space-between;display:flex;position:absolute;inset:.4rem 8%}.phys-efield-lines span{opacity:.55;background:linear-gradient(#f0c4b8,#c44536);width:2px;height:100%}.phys-efield-q{color:#0f6b5c;z-index:1;opacity:.45;background:#fffcf7;border:2px solid #0f6b5c;border-radius:50%;place-items:center;width:2.2rem;height:2.2rem;font-weight:700;transition:opacity .3s;display:grid}.phys-efield-q.is-on{opacity:1}.phys-efield-f{color:#c44536;opacity:.25;font-weight:700;transition:opacity .3s,transform .3s;position:absolute;top:42%;right:18%}.phys-efield-f.is-on{opacity:1;transform:translate(.35rem)}.phys-efield-e{color:#0f6b5c;background:#e6f2ef;border:1px solid #0f6b5c;padding:.25rem .55rem;font-size:.85rem;font-weight:700;position:absolute;bottom:.15rem}.phys-efield-e.is-pop{animation:.4s both logic-factor-pop}.phys-bfield{border:1px dashed #c4bdb0;border-radius:10px;height:5.2rem;margin:.75rem 1rem .35rem;position:relative;overflow:hidden}.phys-bfield-x{color:#8a8478;letter-spacing:.2rem;opacity:.7;grid-template-columns:repeat(4,1fr);place-items:center;font-size:1.1rem;display:grid;position:absolute;inset:0}.phys-bfield-dot{color:#0f6b5c;font-size:1.2rem;transition:left .55s,top .55s;position:absolute;top:55%;left:18%}.phys-bfield-dot.is-orbit{animation:1.6s linear infinite phys-orbit}@keyframes phys-orbit{0%{top:55%;left:22%}25%{top:22%;left:48%}50%{top:55%;left:72%}75%{top:78%;left:48%}to{top:55%;left:22%}}.phys-bfield-f{color:#c44536;opacity:.25;font-weight:700;transition:opacity .3s;position:absolute;top:18%;right:14%}.phys-bfield-f.is-on{opacity:1}.phys-flux{background:#fffcf7;border:2px solid #0f6b5c;border-radius:12px;height:5.2rem;margin:.75rem 1.25rem .35rem;position:relative;overflow:hidden}.phys-flux-coil{z-index:1;color:#5c574e;opacity:.55;place-items:center;font-size:.8rem;font-weight:700;transition:opacity .3s,color .3s;display:grid;position:absolute;inset:0}.phys-flux-coil.is-on{opacity:1;color:#0f6b5c}.phys-flux-fill{background:linear-gradient(#c4453626,#c4453673);transition:height .55s;position:absolute;bottom:0;left:0;right:0}.phys-flux-eps{z-index:2;color:#b45309;background:#fff7ed;border:1px solid #b45309;padding:.2rem .45rem;font-size:.8rem;font-weight:700;position:absolute;top:.4rem;right:.45rem}.phys-flux-eps.is-pop{animation:.4s both logic-factor-pop}.phys-live .phys-stage{justify-content:center;align-items:center;min-height:6.2rem;margin:.35rem 0 .15rem;display:flex}.phys-live.is-playing .phys-accel-box,.phys-live.is-playing .phys-work-slider,.phys-live.is-playing .phys-motion-car,.phys-live.is-playing .phys-motion-needle,.phys-live.is-playing .phys-ke-ball,.phys-live.is-playing .phys-pe-lift,.phys-live.is-playing .phys-efield-charge,.phys-live.is-playing .phys-lorentz-orbit,.phys-live.is-playing .phys-faraday-wave{animation-duration:2.4s}.phys-accel-track{border-bottom:2px solid #c4bdb0;width:min(100%,280px);height:4.5rem;position:relative;overflow:hidden}.phys-accel-force{color:#c44536;font-weight:700;position:absolute;top:.35rem;left:8%}.phys-accel-box{color:#0f6b5c;will-change:left, opacity;background:#e6f2ef;border:2px solid #0f6b5c;place-items:center;width:2.4rem;height:2.4rem;font-weight:700;animation:3.6s linear infinite phys-accel-run;display:grid;position:absolute;bottom:.35rem;left:8%}.phys-accel-a{color:#b45309;opacity:.9;font-weight:700;position:absolute;top:.5rem;right:12%}@keyframes phys-accel-run{0%{opacity:1;left:8%}55%{opacity:1;left:72%}72%{opacity:1;left:72%}80%{opacity:0;left:72%}81%{opacity:0;left:8%}90%,to{opacity:1;left:8%}}.phys-work-live{width:min(100%,280px);height:4.8rem;position:relative}.phys-work-f{color:#c44536;font-weight:700;position:absolute;top:.2rem;left:6%}.phys-work-rail{background:#c4bdb0;height:3px;position:absolute;top:2.1rem;left:8%;right:8%}.phys-work-slider{color:#0f6b5c;will-change:left, opacity;font-size:1.4rem;animation:3.6s linear infinite phys-slide;position:absolute;top:-1.05rem;left:0}.phys-work-s{color:#5c574e;font-size:.85rem;position:absolute;bottom:.2rem;right:10%}.phys-work-w{color:#0f6b5c;font-size:.85rem;font-weight:700;position:absolute;bottom:.15rem;left:50%;transform:translate(-50%)}@keyframes phys-slide{0%{opacity:1;left:0%}55%{opacity:1;left:78%}72%{opacity:1;left:78%}80%{opacity:0;left:78%}81%{opacity:0;left:0%}90%,to{opacity:1;left:0%}}.phys-motion-live{width:min(100%,300px)}.phys-motion-rail{border-bottom:2px solid #c4bdb0;height:2.8rem;margin-bottom:.55rem;position:relative;overflow:hidden}.phys-motion-car{color:#0f6b5c;will-change:left, opacity;font-size:1.5rem;animation:3.6s linear infinite phys-car-boost;position:absolute;bottom:.2rem;left:4%}@keyframes phys-car-boost{0%{opacity:1;left:4%}55%{opacity:1;left:82%}72%{opacity:1;left:82%}80%{opacity:0;left:82%}81%{opacity:0;left:4%}90%,to{opacity:1;left:4%}}.phys-motion-meter{background:#ebe6dc;border-radius:999px;height:1.15rem;margin:0 .5rem;position:relative;overflow:hidden}.phys-motion-needle{will-change:width, opacity;background:linear-gradient(90deg,#0f6b5c,#1a9a82);border-radius:999px;width:14%;animation:3.6s linear infinite phys-meter;position:absolute;inset:0 auto 0 0}.phys-motion-meter>span{color:#5c574e;z-index:1;font-size:.7rem;font-weight:700;position:absolute;top:50%;right:.45rem;transform:translateY(-50%)}@keyframes phys-meter{0%{opacity:1;width:14%}55%{opacity:1;width:88%}72%{opacity:1;width:88%}80%{opacity:.35;width:88%}81%{opacity:.35;width:14%}90%,to{opacity:1;width:14%}}.phys-weight-live{flex-direction:column;align-items:center;gap:.35rem;display:flex}.phys-weight-hook{background:#8a8478;width:2px;height:1.2rem}.phys-weight-mass{color:#0f6b5c;border:2px solid #0f6b5c;border-radius:8px;place-items:center;width:2.6rem;height:2.6rem;font-weight:700;display:grid}.phys-weight-g{color:#c44536;font-weight:700}.phys-ke-live{border-bottom:2px solid #c4bdb0;width:min(100%,260px);height:3.2rem;position:relative;overflow:hidden}.phys-ke-ball{will-change:left, opacity;background:#0f6b5c;border-radius:50%;width:1.1rem;height:1.1rem;animation:3.6s linear infinite phys-ke-dash;position:absolute;bottom:.35rem;left:4%}@keyframes phys-ke-dash{0%{opacity:1;left:4%}55%{opacity:1;left:86%}72%{opacity:1;left:86%}80%{opacity:0;left:86%}81%{opacity:0;left:4%}90%,to{opacity:1;left:4%}}.phys-pe-live{border-bottom:2px solid #c4bdb0;border-left:2px solid #c4bdb0;width:5rem;height:4.8rem;position:relative}.phys-pe-lift{color:#0f6b5c;will-change:bottom, opacity;background:#fffcf7;border:2px solid #0f6b5c;border-radius:4px;place-items:center;width:1.8rem;height:1.3rem;font-size:.75rem;font-weight:700;animation:3.6s linear infinite phys-pe-lift;display:grid;position:absolute;bottom:.25rem;left:.55rem}.phys-pe-h{color:#5c574e;font-size:.8rem;position:absolute;top:40%;right:-1.1rem}@keyframes phys-pe-lift{0%{opacity:1;bottom:.25rem}55%{opacity:1;bottom:2.9rem}72%{opacity:1;bottom:2.9rem}80%{opacity:0;bottom:2.9rem}81%{opacity:0;bottom:.25rem}90%,to{opacity:1;bottom:.25rem}}.phys-ohm-live{text-align:center;width:min(100%,260px)}.phys-ohm-svg{width:100%;height:auto;overflow:visible}.phys-ohm-loop{fill:none;stroke:#0f6b5c;stroke-width:3px}.phys-ohm-label{fill:#5c574e;font-size:14px;font-weight:700}.phys-ohm-dot{fill:#c44536}.phys-ohm-eq{color:#0f6b5c;margin-top:.25rem;font-weight:700}.phys-efield-live{background:linear-gradient(90deg,#fff7ed,#fffcf7);border-radius:10px;width:min(100%,280px);height:5rem;position:relative;overflow:hidden}.phys-efield-stream{pointer-events:none;justify-content:space-evenly;display:flex;position:absolute;inset:.4rem 0}.phys-efield-stream span{opacity:.7;background:linear-gradient(#c4453626,#c445368c,#c4453626);width:2px;height:100%}.phys-efield-charge{color:#0f6b5c;z-index:1;will-change:left, opacity;background:#fffcf7;border:2px solid #0f6b5c;border-radius:50%;place-items:center;width:2.2rem;height:2.2rem;font-size:.75rem;font-weight:700;animation:3.8s linear infinite phys-efield-drift;display:grid;position:absolute;top:50%;left:10%;transform:translateY(-50%)}@keyframes phys-efield-drift{0%{opacity:1;left:10%}55%{opacity:1;left:76%}72%{opacity:1;left:76%}80%{opacity:0;left:76%}81%{opacity:0;left:10%}90%,to{opacity:1;left:10%}}.phys-lorentz-live{width:7.5rem;height:7.5rem;position:relative}.phys-lorentz-field{color:#8a8478;letter-spacing:.35rem;opacity:.7;place-items:center;font-size:.95rem;display:grid;position:absolute;inset:0}.phys-lorentz-orbit{border:1.5px dashed #0f6b5c59;border-radius:50%;animation:3.6s linear infinite phys-spin;position:absolute;inset:.85rem}.phys-lorentz-dot{background:#0f6b5c;border-radius:50%;width:.7rem;height:.7rem;margin-left:-.35rem;position:absolute;top:-.35rem;left:50%;box-shadow:0 0 0 3px #0f6b5c26}@keyframes phys-spin{to{transform:rotate(360deg)}}.phys-faraday-live{border:2px solid #0f6b5c;border-radius:12px;width:min(100%,240px);height:5rem;position:relative;overflow:hidden}.phys-faraday-coil{z-index:1;color:#0f6b5c;place-items:center;font-size:.85rem;font-weight:700;display:grid;position:absolute;inset:0}.phys-faraday-wave{will-change:height, opacity;background:linear-gradient(#c445362e,#c4453680);height:22%;animation:3.6s linear infinite phys-flux-breathe;position:absolute;bottom:0;left:0;right:0}@keyframes phys-flux-breathe{0%{opacity:1;height:22%}55%{opacity:1;height:72%}72%{opacity:1;height:72%}80%{opacity:.2;height:72%}81%{opacity:.2;height:22%}90%,to{opacity:1;height:22%}}.topic-demo-caption{transition:opacity .2s}.tmp-classroom-btn{z-index:50;background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-full);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);letter-spacing:-.01em;border:none;padding:8px 18px;font-family:inherit;font-weight:550;position:fixed;bottom:20px;right:20px}.tmp-classroom-btn:hover{background:var(--accent-hover)}.tmp-overlay{z-index:1000;background:#000000f2;flex-direction:column;animation:.25s tmpFadeIn;display:flex;position:fixed;inset:0}.tmp-overlay.tmp-dark{background:#000000fa}@keyframes tmpFadeIn{0%{opacity:0}to{opacity:1}}.tmp-topbar{-webkit-backdrop-filter:blur(16px);background:#ffffff0a;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;min-height:48px;padding:8px 16px;display:flex}.tmp-topbar-left,.tmp-topbar-center,.tmp-topbar-right{align-items:center;gap:8px;display:flex}.tmp-topbar-center{gap:4px}.tmp-step-info{color:var(--text-muted);font-size:var(--text-sm);margin-left:12px}.tmp-btn{color:#ffffffb3;border-radius:var(--radius-md);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;letter-spacing:-.01em;background:#ffffff0f;border:1px solid #ffffff14;padding:6px 14px;font-family:inherit}.tmp-btn:hover{color:#ffffffe6;background:#ffffff1a}.tmp-btn:disabled{opacity:.3;cursor:not-allowed}.tmp-btn.tmp-active{color:#fff;background:#ffffff1f;border-color:#fff3}.tmp-export-btn{background:#ffffff1a;border-color:#ffffff26}.tmp-export-btn:hover{background:#ffffff2e}.tmp-nav{z-index:1010;color:#ffffff80;cursor:pointer;width:48px;height:48px;transition:all var(--transition-fast);-webkit-backdrop-filter:blur(8px);background:#ffffff0a;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;font-size:24px;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.tmp-nav:hover{color:#ffffffe6;background:#ffffff1a}.tmp-nav:disabled{opacity:.15;cursor:not-allowed}.tmp-nav-left{left:16px}.tmp-nav-right{right:16px}.tmp-subtitle-bar{z-index:1010;-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);background:#000c;border:1px solid #ffffff0f;width:90%;max-width:800px;padding:14px 24px;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}.tmp-subtitle-text{color:#fff;font-size:var(--text-base);text-align:center;margin:0;line-height:1.6}.tmp-step-dots{z-index:1010;gap:8px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.tmp-dot{cursor:pointer;width:8px;height:8px;transition:all var(--transition-fast);background:#ffffff1f;border:1px solid #ffffff14;border-radius:50%;padding:0}.tmp-dot:hover{background:#ffffff40}.tmp-dot-active{background:#fffc;border-color:#fffc;transform:scale(1.3)}.tmp-dot-done{background:#ffffff4d;border-color:#fff3}@media (width<=767px){.tmp-topbar{flex-wrap:wrap;gap:4px;min-height:auto;padding:6px 8px}.tmp-topbar-center{order:3;justify-content:center;width:100%}.tmp-btn{padding:4px 10px;font-size:10px}.tmp-nav{width:36px;height:36px;font-size:20px}.tmp-nav-left{left:8px}.tmp-nav-right{right:8px}.tmp-subtitle-bar{padding:10px 16px;bottom:50px}.tmp-subtitle-text{font-size:var(--text-sm)}.tmp-classroom-btn{padding:6px 14px;font-size:11px;bottom:12px;right:12px}}.workspace-page{color:#121212;background:#f3f1ec;flex-direction:column;flex:1;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.wp-main{flex:1;min-height:0;display:flex;overflow:hidden}.wp-topic-chip-bar{background:#fffcf7;border-bottom:1px solid #e4dfd5;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 1rem;display:flex}.wp-topic-chip{letter-spacing:.02em;color:#0f6b5c;background:#0f6b5c14;border:1px solid #0f6b5c2e;border-radius:999px;align-items:center;padding:.28rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.wp-topic-chip-back{appearance:none;color:#5c574e;cursor:pointer;background:#fffcf7;border:1px solid #e4dfd5;border-radius:8px;padding:.35rem .8rem;font-family:inherit;font-size:.82rem;font-weight:500}.wp-topic-chip-back:hover{color:#121212;background:#fff;border-color:#cfc8bc}.wp-domain-bar{background:#f7f4ee;border-bottom:1px solid #e4dfd5;flex-shrink:0;gap:0;padding:0 .75rem;display:flex}.wp-hub-route-hint{color:#8a5a2b;margin:.35rem 0 0;font-size:.82rem}.wp-hub-sample-tag{letter-spacing:.04em;color:#8a847a;margin-bottom:.2rem;font-size:.68rem;display:block}.wp-hub-samples{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width>=720px){.wp-hub-samples{grid-template-columns:repeat(4,minmax(0,1fr))}}.workspace-page--hub .wp-domain-bar,.workspace-page--hub .wp-subject-bar{opacity:.92}.wp-domain-tab{appearance:none;color:#5c574e;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.75rem 1.15rem;font-size:.95rem;font-weight:600}.wp-domain-tab.is-active{color:#0f6b5c;background:#fffcf7;border-bottom-color:#0f6b5c}.wp-subject-bar{background:#fffcf7;border-bottom:1px solid #e4dfd5;flex-wrap:wrap;flex-shrink:0;gap:0;padding:0 .75rem;display:flex}.wp-subject-tab{appearance:none;color:#5c574e;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.55rem .9rem;font-size:.8125rem}.wp-subject-tab.is-active{color:#0f6b5c;border-bottom-color:#0f6b5c;font-weight:600}.wp-subject-bar--sub{background:#f7f4ee;border-bottom-color:#e4dfd5}.wp-subject-bar--sub .wp-subject-tab{color:#6b6560;padding:.45rem .75rem;font-size:.75rem}.wp-subject-bar--sub .wp-subject-tab.is-active{color:#0f6b5c;border-bottom-color:#0f6b5c}.wp-combo-shell{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.wp-explain-col{background:#fffcf7;border-right:1px solid #e4dfd5;width:440px;min-width:320px;max-width:520px;overflow-y:auto}.wp-canvas-col{background:#f3f1ec;flex:1;position:relative;overflow:hidden}.wp-canvas--hidden{display:none}.wp-main--mobile{flex-direction:column}.wp-main--mobile .wp-explain-col{width:100%;min-width:unset;max-width:unset;border-right:none;border-bottom:1px solid var(--border-subtle);-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.wp-main--mobile .wp-canvas-col{flex:0 0 168px;width:100%;height:168px;min-height:168px;max-height:168px;overflow:hidden}.wp-main--mobile .wp-canvas-col:after{content:none;display:none}.wp-upgrade-banner{background:linear-gradient(135deg,#4a90e214,#6ba3e80f);border-bottom:1px solid #4a90e226;flex-shrink:0;justify-content:center;align-items:center;gap:12px;padding:8px 16px;display:flex}.wp-upgrade-banner.danger{background:linear-gradient(135deg,#ef444414,#dc26260d);border-bottom-color:#ef444433}.wp-upgrade-banner-text{font-size:var(--text-xs);color:var(--text-secondary)}.wp-upgrade-banner-text strong{color:var(--accent);font-weight:600}.wp-upgrade-banner.danger .wp-upgrade-banner-text{color:var(--color-error)}.wp-upgrade-banner-btn{border-radius:var(--radius-full);background:var(--brand-gradient);color:#fff;cursor:pointer;white-space:nowrap;transition:opacity var(--transition-fast);border:none;padding:4px 14px;font-family:inherit;font-size:11px;font-weight:550}.wp-upgrade-banner-btn:hover{opacity:.88}.wp-upgrade-banner-btn.secondary{color:var(--text-secondary);border:1px solid var(--border-default);background:0 0}.wp-upgrade-banner-btn.secondary:hover{background:var(--accent-subtle);color:var(--text-primary);opacity:1}.wp-upgrade-banner-actions{align-items:center;gap:8px;display:flex}@media (width<=767px){.wp-upgrade-banner{text-align:center;flex-direction:column;gap:6px;padding:8px 12px}.wp-upgrade-banner-actions{flex-direction:column;width:100%}.wp-upgrade-banner-actions .wp-upgrade-banner-btn{text-align:center;width:100%}}.workspace-page--geometry .wp-explain-col{background:#fffcf7;border-right:1px solid #e4dfd5}.workspace-page--geometry .wp-canvas-col{background:#f3f1ec}.workspace-page--geometry .wp-solve-bar{background:#fffcf7;border-bottom:1px solid #e4dfd5}.wp-main--geo,.workspace-page--compose{background:#f3f1ec}.wp-compose{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px 24px 64px;display:flex;position:relative;overflow:auto}.wp-compose-back{color:#8a847a;letter-spacing:.06em;font-size:.88rem;text-decoration:none;transition:color .2s;position:absolute;top:20px;left:20px}.wp-compose-back:hover{color:#121212}.wp-compose-inner{flex-direction:column;align-items:stretch;width:100%;max-width:640px;animation:.55s both wp-compose-in;display:flex}.wp-compose-kicker{letter-spacing:.08em;text-transform:uppercase;color:#5c574e;margin:0 0 12px;font-size:.75rem}.wp-compose-title{color:#1a1a1a;letter-spacing:-.02em;margin:0 0 12px;font-family:Source Han Serif SC,Noto Serif SC,Songti SC,Georgia,serif;font-size:clamp(1.35rem,2.5vw,1.85rem);font-weight:600;line-height:1.25}.wp-compose-sub{color:#5c574e;margin:0 0 28px;font-size:.95rem;line-height:1.55}.wp-compose-box{background:#fffcf7;border:1px solid #e4dfd5;border-radius:2px;flex-direction:column;gap:0;padding:0;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.wp-compose-box:focus-within{border-color:#0f6b5c;box-shadow:0 0 0 3px #e6f2ef}.wp-compose-preview{background:#ebe6dc;border-radius:2px;max-height:160px;margin:14px 14px 0;position:relative;overflow:hidden}.wp-compose-preview img{object-fit:contain;background:#ebe6dc;width:100%;max-height:160px;display:block}.wp-compose-preview-clear{color:#fffcf7;cursor:pointer;background:#121212b8;border:none;border-radius:2px;width:28px;height:28px;font-size:1.1rem;line-height:1;position:absolute;top:8px;right:8px}.wp-compose-input{resize:none;color:#121212;background:0 0;border:none;outline:none;width:100%;min-height:112px;padding:18px 18px 8px;font-family:inherit;font-size:1.02rem;line-height:1.65}.wp-compose-input::placeholder{color:#b0a99c}.wp-compose-ocr-hint{color:#8a847a;margin:0;padding:0 18px 8px;font-size:.78rem}.wp-compose-ocr-hint.is-busy{color:#c2410c}.wp-compose-toolbar{background:#f3f1ec8c;border-top:1px solid #ebe6dc;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px 12px;display:flex}.wp-compose-tools{align-items:center;gap:4px;display:flex}.wp-compose-tool{color:#5c574f;cursor:pointer;background:0 0;border:none;border-radius:2px;align-items:center;gap:6px;padding:8px 12px;font-family:inherit;font-size:.82rem;transition:color .15s,background .15s;display:inline-flex}.wp-compose-tool:hover:not(:disabled){color:#121212;background:#1212120d}.wp-compose-tool:disabled{opacity:.4;cursor:not-allowed}.wp-compose-submit{color:#fff;letter-spacing:.02em;cursor:pointer;background:#0f6b5c;border:none;border-radius:2px;align-self:auto;padding:10px 20px;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,transform .15s}.wp-compose-submit:hover:not(:disabled){background:#0c584c;transform:translateY(-1px)}.wp-compose-submit:disabled{opacity:.35;cursor:not-allowed}.wp-solve-original{color:#5c574f;cursor:pointer;background:#fffcf7;border:1px solid #e4dfd5;border-radius:2px;align-items:center;gap:8px;margin-left:auto;margin-right:8px;padding:2px 10px 2px 2px;font-family:inherit;font-size:.75rem;display:inline-flex}.wp-solve-original img{object-fit:cover;border-radius:1px;width:28px;height:28px}.wp-solve-original:hover{color:#121212;border-color:#121212}.wp-compose-examples{margin-top:28px}.wp-compose-examples-label{letter-spacing:.18em;color:#8a847a;margin-bottom:12px;font-size:.78rem;display:block}.wp-compose-examples-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.wp-compose-example{text-align:left;cursor:pointer;color:#5c574e;background:#fffcf7;border:1px solid #e4dfd5;border-radius:2px;flex-direction:column;align-items:flex-start;gap:6px;padding:.5rem .85rem;font-family:inherit;transition:border-color .15s,background .15s,color .15s;display:flex}.wp-compose-example:hover{color:#0f6b5c;background:#e6f2ef;border-color:#0f6b5c}.wp-compose-example-label{color:inherit;font-size:.875rem;font-weight:600}.wp-compose-example-hint{color:#8a847a;font-size:.75rem;line-height:1.4}@keyframes wp-compose-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.wp-compose-examples-grid{grid-template-columns:1fr}.wp-compose{justify-content:flex-start;padding:64px 16px 40px}}.wp-empty-state{width:100%;max-width:100%}.wp-empty-examples{margin-top:14px;padding:0 16px}.wp-empty-examples-label{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:8px;font-weight:500;display:block}.wp-empty-examples-row{flex-wrap:wrap;gap:6px;display:flex}.wp-empty-example-btn{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);padding:6px 14px;font-family:inherit;font-weight:500}.wp-empty-example-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.wp-quick-input-bar{border-bottom:1px solid var(--border-subtle);background:var(--bg-base);flex-shrink:0;align-items:center;gap:12px;padding:16px;display:flex}.wp-quick-input{border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-surface);resize:none;transition:border-color var(--transition-fast);outline:none;flex:1;min-height:44px;padding:10px 14px;line-height:1.6}.wp-quick-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #4a90e214}.wp-quick-input::placeholder{color:var(--text-muted);font-size:var(--text-xs)}.wp-quick-submit{border-radius:var(--radius-md);background:var(--accent);color:#fff;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);border:none;flex-shrink:0;min-height:44px;padding:10px 20px;font-family:inherit;font-weight:550}.wp-quick-submit:hover:not(:disabled){background:var(--accent-hover)}.wp-quick-submit:disabled{opacity:.35;cursor:not-allowed}@media (width<=900px) and (width>=768px){.wp-explain-col{width:360px;min-width:280px}}@media (width<=767px){.workspace-page{height:auto;min-height:0;overflow:visible}.workspace-page--solving{top:48px;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:40;background:#f3f1ec;flex-direction:column;height:auto;max-height:none;display:flex;position:fixed;overflow:hidden}.workspace-page--solving .wp-domain-bar,.workspace-page--solving .wp-subject-bar{display:none}.workspace-page--solving .wp-combo-shell{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}.workspace-page--solving .wp-main{flex-direction:column;flex:1;height:100%;min-height:0;overflow:hidden}.workspace-page--solving .wp-main--mobile .wp-explain-col{border-bottom:none;flex:1;width:100%;min-width:0;max-width:none;height:auto;min-height:0;padding-bottom:0;overflow:hidden}.workspace-page--solving .wp-main--mobile.wp-main--geo .wp-canvas-col:not(.wp-canvas--hidden){touch-action:none;border-bottom:1px solid #e4dfd5;flex:0 0 30vh;order:-1;width:100%;height:30vh;min-height:120px;max-height:180px;overflow:hidden}.workspace-page--solving .wp-main--mobile.wp-main--geo .wp-canvas-col:after{content:none;display:none}.workspace-page--solving .wp-solve-bar{z-index:20;background:#fffcf7;flex-shrink:0;gap:8px;padding:6px 10px;position:relative;top:auto}.wp-combo-shell{flex:1 0 auto;height:auto;overflow:visible}.wp-main{flex-direction:column;flex:1 0 auto;height:auto;overflow:visible}.wp-main--mobile .wp-explain-col{flex:1 0 auto;width:100%;min-width:0;max-width:none;height:auto;min-height:0;padding-bottom:88px;overflow:visible}.wp-main--mobile.wp-main--geo .wp-canvas-col:not(.wp-canvas--hidden){touch-action:none;border-bottom:1px solid #e4dfd5;flex:0 0 168px;order:-1;width:100%;height:168px;min-height:168px;max-height:168px;overflow:hidden}.wp-main--mobile.wp-main--geo .wp-canvas-col:after{content:none;display:none}.wp-solve-bar{z-index:20;background:#fffcf7;gap:8px;padding:8px 12px;position:sticky;top:0}.wp-solve-back{min-height:40px;padding:.4rem .75rem;font-size:.8125rem}.wp-quick-input-bar{gap:6px;padding:8px 10px}.wp-quick-input{min-height:40px;padding:8px 10px;font-size:16px}.wp-quick-submit{min-height:40px;padding:8px 12px;font-size:.8125rem}}@media (width<=900px) and (orientation:landscape){.workspace-page--solving .wp-domain-bar,.workspace-page--solving .wp-subject-bar{display:none}.workspace-page--solving{height:100%;overflow:hidden}.workspace-page--solving .wp-main--mobile.wp-main--geo{flex-direction:row;height:calc(100dvh - 48px);overflow:hidden}.workspace-page--solving .wp-main--mobile.wp-main--geo .wp-canvas-col:not(.wp-canvas--hidden){border-bottom:none;border-right:1px solid #e4dfd5;order:0;width:42%;height:100%;min-height:0;max-height:none}.workspace-page--solving .wp-main--mobile.wp-main--geo .wp-canvas-col:after{display:none}.workspace-page--solving .wp-main--mobile.wp-main--geo .wp-explain-col{-webkit-overflow-scrolling:touch;width:58%;height:100%;padding-bottom:72px;overflow-y:auto}.workspace-page--solving .wp-solve-bar{position:sticky;top:0}}.wp-share-toast{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);z-index:1000;font-size:var(--text-sm);color:var(--text-primary);align-items:center;gap:10px;max-width:90vw;padding:10px 20px;animation:.3s wp-toast-in;display:flex;position:fixed;bottom:24px;left:50%;overflow:hidden;transform:translate(-50%)}@keyframes wp-toast-in{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.wp-share-toast-text{white-space:nowrap;text-overflow:ellipsis;max-width:60vw;overflow:hidden}.wp-share-toast-copy{border-radius:var(--radius-full);background:var(--brand-gradient);color:#fff;font-size:var(--text-xs);cursor:pointer;white-space:nowrap;transition:opacity var(--transition-fast);border:none;padding:3px 10px;font-family:inherit;font-weight:550}.wp-share-toast-copy:hover{opacity:.85}.wp-webgl-fallback{width:100%;height:100%;min-height:240px;color:var(--text-muted);font-size:var(--text-sm);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.wp-webgl-fallback-icon{margin-bottom:4px;font-size:32px}.wp-webgl-fallback-hint{font-size:var(--text-xs);opacity:.6}@media (width<=767px){.wp-share-toast{font-size:var(--text-xs);padding:8px 16px;bottom:80px}}.wp-solve-bar{background:#fffcf7;border-bottom:1px solid #e4dfd5;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.wp-solve-back{color:#8a847a;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.88rem;transition:color .15s}.wp-solve-back:hover{color:#121212}.wp-search-bar{background:#fffcf7;border-bottom:1px solid #e4dfd5;flex-shrink:0;padding:10px 20px}.wp-search-row{align-items:center;gap:12px;max-width:960px;display:flex}.wp-search-back{color:#8a847a;cursor:pointer;width:28px;height:28px;transition:color var(--transition-fast);background:0 0;border:none;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:16px;display:inline-flex}.wp-search-back:hover{color:#121212;background:0 0}.wp-search-input{color:#121212;resize:none;transition:border-color var(--transition-fast);background:0 0;border:none;border-bottom:1.5px solid #cfc8bc;border-radius:0;outline:none;flex:1;padding:10px 0;font-family:inherit;font-size:.9rem;line-height:1.5}.wp-search-input:focus{border-color:#121212}.wp-search-input::placeholder{color:#8a847a}.wp-search-submit{color:#fffcf7;cursor:pointer;letter-spacing:.04em;white-space:nowrap;background:#121212;border:none;border-radius:2px;flex-shrink:0;padding:8px 18px;font-family:inherit;font-size:.85rem;font-weight:550;transition:background .15s,opacity .15s}.wp-search-submit:hover:not(:disabled){color:#fffcf7;opacity:1;background:#2a2a2a}.wp-search-submit:disabled{opacity:.3;cursor:not-allowed}.wp-search-3d-toggle{color:#5a6472;cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);background:#fff;border:1px solid #d0d6e0;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.wp-search-3d-toggle:hover{border-color:var(--border-emphasis);color:var(--text-primary)}.wp-guide-banner{z-index:20;background:#fffcf7;border:1px solid #e4dfd5;border-radius:999px;align-items:center;gap:.75rem;max-width:min(520px,100% - 2rem);padding:.55rem .75rem .55rem 1rem;display:flex;position:absolute;top:.75rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #12121214}.wp-guide-banner-text{color:#5c574e;margin:0;font-size:.82rem;line-height:1.35}.wp-guide-banner-btn{appearance:none;color:#fff;cursor:pointer;background:#0f6b5c;border:none;border-radius:999px;flex-shrink:0;padding:.35rem .75rem;font-family:inherit;font-size:.78rem;font-weight:600}.wp-guide-banner-btn:hover{background:#0b5347}.wp-guide-overlay{z-index:9999;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.wp-guide-card{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);text-align:center;width:100%;max-width:400px;box-shadow:var(--shadow-xl);padding:36px 32px 28px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp}.wp-guide-title{font-size:var(--text-xl);color:var(--text-primary);letter-spacing:-.02em;margin:0 0 4px;font-weight:650}.wp-guide-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 24px}.wp-guide-steps{text-align:left;flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.wp-guide-step{align-items:flex-start;gap:14px;display:flex}.wp-guide-step-num{background:var(--accent);width:26px;height:26px;color:var(--text-inverse);font-size:var(--text-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-weight:650;display:flex}.wp-guide-step strong{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:2px;display:block}.wp-guide-step p{font-size:var(--text-xs);color:var(--text-muted);margin:0;line-height:1.5}.wp-guide-btn{border-radius:var(--radius-md);background:var(--accent);width:100%;color:var(--text-inverse);font-size:var(--text-sm);cursor:pointer;transition:opacity var(--transition-fast);border:none;padding:11px;font-family:inherit;font-weight:550}.wp-guide-btn:hover{opacity:.88}@media (width<=767px){.wp-domain-bar{padding:0 .5rem}.wp-domain-tab{padding:.55rem .85rem;font-size:.875rem}.wp-subject-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding:0 .35rem;overflow-x:auto}.wp-subject-bar::-webkit-scrollbar{display:none}.wp-subject-tab{white-space:nowrap;flex:none;padding:.4rem .7rem;font-size:.75rem}.wp-subject-bar--sub .wp-subject-tab{padding:.35rem .65rem;font-size:.7rem}.wp-combo-shell{min-height:0}.wp-guide-card{max-width:min(400px,100vw - 32px);padding:24px 18px 20px}.wp-guide-title{font-size:1.15rem}}.error-boundary{background:var(--bg-deep);flex:1;justify-content:center;align-items:center;min-height:60vh;padding:32px;display:flex}.error-boundary-card{text-align:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);max-width:400px;box-shadow:var(--shadow-md);flex-direction:column;align-items:center;padding:40px 32px;display:flex}.error-boundary-icon{width:48px;height:48px;color:var(--color-error);background:#f851491a;border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;font-size:24px;font-weight:700;display:flex}.error-boundary-title{font-size:var(--text-xl);color:var(--text-primary);margin-bottom:8px;font-weight:600}.error-boundary-desc{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:24px;line-height:1.6}.error-boundary-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.error-boundary-btn{border-radius:var(--radius-full);font-size:var(--text-sm);transition:all var(--transition-fast);cursor:pointer;padding:8px 20px;font-family:inherit;font-weight:500;text-decoration:none}.error-boundary-btn-primary{background:var(--accent);color:var(--text-inverse);border:none}.error-boundary-btn-primary:hover{background:var(--accent-hover)}.error-boundary-btn-secondary{color:var(--text-secondary);border:1px solid var(--border-default);background:0 0}.error-boundary-btn-secondary:hover{border-color:var(--border-emphasis);color:var(--text-primary)}:root{--brand-blue:#4a90e2;--brand-blue-light:#6ba3e8;--brand-blue-dark:#3b7ac9;--brand-gradient:linear-gradient(135deg, #4a90e2, #6ba3e8);--bg-deep:#fff;--bg-base:#f7f9fc;--bg-surface:#fff;--bg-elevated:#eef3fa;--bg-overlay:#4a90e226;--bg-glass:#ffffffeb;--border-subtle:#e4ebf5;--border-default:#d0dcf0;--border-emphasis:#a0b8d8;--border-focus:#4a90e2;--text-primary:#1a2b3c;--text-secondary:#4a5568;--text-muted:#718096;--text-inverse:#fff;--accent:#4a90e2;--accent-hover:#3b7ac9;--accent-subtle:#4a90e214;--accent-pressed:#4a90e226;--color-success:#52c41a;--color-warning:#faad14;--color-error:#ff4d4f;--color-info:#4a90e2;--shadow-xs:0 1px 3px #4a90e20f;--shadow-sm:0 2px 8px #4a90e214;--shadow-md:0 4px 16px #4a90e21a;--shadow-lg:0 8px 32px #4a90e21f;--shadow-xl:0 12px 48px #4a90e226;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--space-4xl:64px;--transition-fast:.12s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:"SF Mono", "JetBrains Mono", "Consolas", "Courier New", monospace;--font-math:"Cambria Math", "Georgia", "Times New Roman", serif;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-4xl:48px;--text-5xl:60px;--subject-math:#4a90e2;--subject-math-light:#eef5fc;--subject-physics:#00b4d8;--subject-physics-light:#e0f7fa}[data-theme=dark]{--bg-deep:#0d0d0d;--bg-base:#161616;--bg-surface:#1f1f1f;--bg-elevated:#2a2a2a;--bg-overlay:#4a90e226;--bg-glass:#1f1f1ff2;--border-subtle:#333;--border-default:#3d3d3d;--border-emphasis:#4a4a4a;--text-primary:#f5f5f5;--text-secondary:#b3b3b3;--text-muted:gray;--text-inverse:#0d0d0d;--accent-subtle:#4a90e21f;--accent-pressed:#4a90e233;--color-success:#4ade80;--color-warning:#fbbf24;--color-error:#f87171;--color-info:#60a5fa;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 2px 4px #00000080;--shadow-md:0 4px 12px #0000008c;--shadow-lg:0 8px 24px #0009;--shadow-xl:0 12px 40px #000000a6;--color-primary-light:#4a90e214;--color-primary-glow:#4a90e20a;--color-success-light:#4ade8014;--color-warning-light:#fbbf2414;--color-error-light:#f8717114;--color-gold-light:#fbbf2414;--color-pro-light:#4a90e214;--color-teacher-light:#fbbf2414;--color-free-light:#4a90e208;--color-bg-hover:#4a90e20f;--badge-pro-bg:#4a90e21f;--badge-teacher-bg:#fbbf241f}[data-theme=dark] .glass{border-color:#ffffff0f}[data-theme=dark] .glass-strong{background:#1a1a22d9}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff1f}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#fff3}[data-theme=dark] *{scrollbar-color:#ffffff1f transparent}[data-theme=dark] ::selection{color:var(--text-primary);background:#ffffff1f}.glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border:1px solid #ffffff80}.glass-strong{-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-subtle);background:#ffffffd9}:root{--color-primary:var(--text-primary);--color-primary-dark:var(--text-secondary);--color-primary-light:#6366f10f;--color-primary-glow:#6366f108;--color-success-light:#16a34a14;--color-warning-light:#d9770614;--color-error-light:#dc262614;--color-gold:var(--color-warning);--color-gold-light:#d9770614;--color-gold-dark:#b45309;--color-pro:#6366f1;--color-pro-light:#6366f114;--color-pro-gradient:linear-gradient(135deg, #6366f1, #8b5cf6);--color-teacher:#f59e0b;--color-teacher-light:#f59e0b14;--color-teacher-gradient:linear-gradient(135deg, #f59e0b, #d97706);--color-free:var(--text-muted);--color-free-light:#00000005;--color-text:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-muted:var(--text-muted);--color-border:var(--border-default);--color-border-light:var(--border-subtle);--color-bg:var(--bg-deep);--color-bg-alt:var(--bg-surface);--color-bg-hover:#6366f10a;--badge-pro-bg:#6366f11a;--badge-pro-text:#6366f1;--badge-teacher-bg:#f59e0b1a;--badge-teacher-text:#f59e0b}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{width:100%;margin:0;padding:0;overflow-x:clip}html:not(.is-landing),body:not(.is-landing){height:100%}#root{width:100%;min-height:100%;margin:0;padding:0;overflow-x:clip}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-deep);color:var(--text-primary);letter-spacing:-.01em;line-height:1.5;overflow-y:auto}html.is-landing,html.is-landing body{-webkit-overflow-scrolling:touch;height:auto;min-height:100%;overflow:clip auto}html.is-landing #root{height:auto;min-height:100%;overflow:visible}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}::selection{color:var(--text-primary);background:#0000001a}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}a{color:var(--text-secondary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--text-primary)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0003}*{scrollbar-width:thin;scrollbar-color:#0000001f transparent}button{cursor:pointer;color:inherit;font-family:inherit;font-size:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none}a,[role=button],.nav-link,.app-nav-link,.mb-nav-item{touch-action:manipulation;-webkit-tap-highlight-color:transparent}input,textarea{color:inherit;font-family:inherit}.app-container{box-sizing:border-box;width:100%;max-width:1400px;margin:0 auto;padding-left:24px;padding-right:24px}@media (width<=767px){.app-container{padding-left:16px;padding-right:16px}}[data-theme=dark] .landing{background:linear-gradient(180deg, var(--bg-base) 0%, var(--bg-deep) 40%)}[data-theme=dark] .landing-title{background:linear-gradient(135deg,#f0f0f5 0%,#818cf8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=dark] .cc-capture-btn,[data-theme=dark] .pi-textarea,[data-theme=dark] .ac-input,[data-theme=dark] .pi-example-btn{background:var(--bg-elevated);border-color:var(--border-default);color:var(--text-primary)}[data-theme=dark] .cc-capture-btn:hover,[data-theme=dark] .pi-example-btn:hover{background:var(--accent-subtle);border-color:var(--accent)}[data-theme=dark] .cc-capture-text,[data-theme=dark] .pi-example-btn{color:var(--text-secondary)}[data-theme=dark] .cc-capture-hint,[data-theme=dark] .pi-hint,[data-theme=dark] .ac-input::placeholder,[data-theme=dark] .pi-textarea::placeholder,[data-theme=dark] .ac-sug-type{color:var(--text-muted)}[data-theme=dark] .cc-preview,[data-theme=dark] .ac-suggestions{border-color:var(--border-default)}[data-theme=dark] .cc-preview-img{background:var(--bg-elevated)}[data-theme=dark] .cc-preview-actions,[data-theme=dark] .cc-btn-ghost{background:var(--bg-surface);border-color:var(--border-default)}[data-theme=dark] .cc-btn-ghost{color:var(--text-secondary)}[data-theme=dark] .cc-btn-ghost:hover:not(:disabled){background:var(--bg-elevated)}[data-theme=dark] .cc-error,[data-theme=dark] .pi-error,[data-theme=dark] .ac-message.error{color:#ef4444;background:#ef444414;border-color:#ef444426}[data-theme=dark] .cc-status,[data-theme=dark] .pi-success,[data-theme=dark] .ac-message.success{color:#22c55e;background:#22c55e14;border-color:#22c55e26}[data-theme=dark] .cc-title,[data-theme=dark] .pi-title,[data-theme=dark] .ac-suggestion-item{color:var(--text-primary)}[data-theme=dark] .ac-input:focus{background:var(--bg-surface)}[data-theme=dark] .ac-btn{background:var(--bg-elevated);border-color:var(--border-default)}[data-theme=dark] .ac-btn:hover,[data-theme=dark] .ac-suggestion-item:hover,[data-theme=dark] .ac-suggestion-item.active{background:var(--accent-subtle);color:var(--text-primary)}[data-theme=dark] .pi-textarea:focus{background:var(--bg-surface)}[data-theme=dark] .pi-examples{border-top-color:var(--border-subtle)}[data-theme=dark] .pi-examples h4{color:var(--text-muted)}[data-theme=dark] .len-toggle,[data-theme=dark] .line-remove{background:var(--bg-elevated);border-color:var(--border-default)}[data-theme=dark] .edge-property-panel{background:var(--bg-surface);border-color:var(--border-default)}[data-theme=dark] .app-nav-plan-badge.free{background:#ffffff0d}[data-theme=dark] .pp-toggle{background:var(--bg-elevated)}[data-theme=dark] .settings-key-toggle{color:var(--text-secondary)}[data-theme=dark] .settings-key-toggle:hover{color:var(--text-primary)}[data-theme=dark] .wp-quick-input{background:var(--bg-elevated);border-color:var(--border-default);color:var(--text-primary)}[data-theme=dark] .control-panel-mobile,[data-theme=dark] .pricing-card{background:var(--bg-surface)}[data-theme=dark] .ep-color-input{box-shadow:0 0 0 2px var(--bg-surface), 0 0 0 3px var(--border-emphasis)}[data-theme=dark] .lc-len-input{box-shadow:0 0 0 2px var(--bg-surface), 0 0 0 3px var(--accent)}@media (width<=767px){body{-webkit-overflow-scrolling:touch;overflow:auto}html,body,#root{height:auto;min-height:100dvh}}
