.app-nav{background:var(--bg-base);border-bottom:1px solid var(--border-subtle);z-index:100;-webkit-app-region:no-drag;flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 20px;display:flex}.app-nav-left{align-items:center;gap:24px;display:flex}.app-nav-logo{font-size:var(--text-base);color:var(--text-primary);letter-spacing:-.03em;white-space:nowrap;font-weight:650;text-decoration:none}.app-nav-logo:hover{color:var(--text-primary)}.app-nav-links{align-items:center;gap:4px;display:flex}.app-nav-link{border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:5px 12px;font-family:inherit;font-weight:450;text-decoration:none}.app-nav-link:hover{color:var(--text-primary);background:var(--accent-subtle)}.app-nav-link.active{color:var(--text-primary);background:var(--accent-subtle);font-weight:550}.app-nav-right{align-items:center;gap:8px;display:flex}@media (width<=767px){.app-nav{height:44px;padding:0 12px}.app-nav-left{gap:12px}.app-nav-links{gap:2px}.app-nav-link{font-size:var(--text-xs);padding:4px 8px}}.mobile-bottom-nav{background:var(--bg-base);border-top:1px solid var(--border-subtle);z-index:200;height:56px;padding-bottom:env(safe-area-inset-bottom,0);justify-content:space-around;align-items:center;display:none;position:fixed;bottom:0;left:0;right:0}.mb-nav-item{color:var(--text-secondary);transition:color var(--transition-fast);border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:56px;padding:6px 12px;text-decoration:none;display:flex}.mb-nav-item.active{color:var(--accent)}.mb-nav-item:active{background:var(--accent-subtle)}.mb-nav-icon{font-size:18px;line-height:1}.mb-nav-label{font-size:10px;font-weight:500;line-height:1}@media (width<=767px){.mobile-bottom-nav{display:flex}.page-layout{padding-bottom:56px}}.page-layout{background:var(--bg-deep);flex-direction:column;min-height:100dvh;display:flex}.page-main{flex-direction:column;flex:1;width:100%;display:flex}.geo-mini-controls{z-index:10;flex-direction:column;gap:4px;display:flex;position:absolute;top:12px;left:12px}.gmc-bar{gap:6px;display:flex}.gmc-btn{border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;letter-spacing:-.01em;box-shadow:var(--shadow-sm);background:#fff;padding:5px 10px;font-family:inherit;font-weight:500}.gmc-btn:hover{border-color:var(--border-emphasis);background:var(--bg-elevated)}.gmc-btn.active{background:var(--bg-base);border-color:var(--border-focus);box-shadow:inset 0 1px 2px #0000000f}.gmc-dropdown{border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:#fff;min-width:140px;max-height:280px;overflow:hidden auto}.gmc-dropdown-item{cursor:pointer;width:100%;font-size:var(--text-sm);color:var(--text-secondary);transition:all var(--transition-fast);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:9px 14px;font-family:inherit;display:flex}.gmc-dropdown-item:hover{background:var(--accent-subtle);color:var(--text-primary)}.gmc-dropdown-item.active{background:var(--accent-subtle);color:var(--text-primary);font-weight:550}.gmc-geo-name{font-size:var(--text-sm)}@media (width<=767px){.geo-mini-controls{top:8px;left:8px}.gmc-btn{padding:4px 8px;font-size:10px}}.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);line-height:1.4}.ph-empty{align-items:center;display:flex}.ph-empty-text{font-size:var(--text-xs);color:var(--text-muted)}.step-card{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-left:2px solid #0000;gap:12px;padding:12px;display:flex}.step-card:hover{background:var(--accent-subtle)}.step-card.current{background:var(--accent-subtle);border-left-color:var(--color-info)}.step-card.current .step-body{opacity:1}.step-card:not(.current) .step-body{opacity:.65}.step-indicator{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.step-number{width:24px;height:24px;color:var(--text-secondary);transition:all var(--transition-fast);background:#0000000f;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:550;display:flex}.step-card.current .step-number{color:var(--text-primary);background:#00000014}.step-body{flex:1;min-width:0}.step-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.step-type-badge{border-radius:var(--radius-sm);white-space:nowrap;letter-spacing:.02em;text-transform:uppercase;background:0 0;border:1px solid #0000001a;padding:1px 6px;font-size:10px;font-weight:550}.step-card.current .step-type-badge{background:#00000008}.step-title{font-size:var(--text-sm);color:var(--text-primary);font-weight:550;line-height:1.3}.step-content{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px;line-height:1.5}.step-list{flex-direction:column;flex:1;gap:1px;padding:6px;display:flex;overflow-y:auto}.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{border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:10px 12px;display:flex}.pc-btn{border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;padding:6px 14px;font-family:inherit;font-weight:500}.pc-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-default);background:var(--accent-subtle)}.pc-btn:disabled{opacity:.25;cursor:not-allowed}.pc-btn-play{font-weight:550}.pc-btn-play.active{color:var(--text-primary);border-color:var(--border-focus);background:var(--accent-pressed)}.pc-indicator{font-size:var(--text-xs);color:var(--text-muted);text-align:center;min-width:36px;font-weight:500}@media (width<=767px){.playback-controls{gap:4px;padding:8px}.pc-btn{padding:6px 10px}}.explanation-panel{background:var(--bg-base);border-left:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:340px;height:100%;display:flex;overflow:hidden}.ep-problem{border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated);padding:12px 16px}.ep-problem-label{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:600}.ep-problem-text{font-size:var(--text-sm);color:var(--text-primary);margin:0;line-height:1.6}.ep-steps-wrap{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.ep-steps-label{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;padding:12px 16px 4px;font-size:10px;font-weight:600}@media (width<=767px){.explanation-panel{border-left:none;border-top:1px solid var(--border-subtle);flex-shrink:0;width:100%;max-height:50vh}}.workspace-status-bar{background:var(--bg-deep);border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:32px;padding:0 16px;display:flex}.wsb-usage{color:var(--text-muted);letter-spacing:.01em;font-size:10px}.wsb-warning{color:var(--color-warning)}.wsb-brand{color:var(--text-muted);letter-spacing:.02em;font-size:10px;font-weight:600}@media (width<=767px){.workspace-status-bar{height:28px;padding:0 12px}}.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-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)}@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)}}.landing{background:var(--bg-deep);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.landing-hero{text-align:center;border-bottom:1px solid var(--border-subtle);background:var(--bg-deep);flex-direction:column;flex-shrink:0;align-items:center;padding:32px 24px 20px;transition:all .35s;display:flex}.landing-hero.collapsed{padding:12px 24px}.landing-hero.collapsed .landing-title,.landing-hero.collapsed .landing-subtitle,.landing-hero.collapsed .landing-examples,.landing-hero.collapsed .landing-input-footer{display:none}.landing-hero.collapsed .landing-input-wrap{max-width:100%}.landing-hero.collapsed .landing-input{min-height:36px;font-size:var(--text-sm)}.landing-title{letter-spacing:-.03em;color:var(--text-primary);margin-bottom:8px;font-size:44px;font-weight:600;line-height:1.15}.landing-subtitle{font-size:var(--text-lg);color:var(--text-muted);margin-bottom:24px}.landing-input-wrap{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:600px;transition:all var(--transition-base);padding:10px 14px 8px}.landing-input-wrap.focused{border-color:var(--border-emphasis);background:var(--bg-elevated);box-shadow:0 0 0 4px #0000000a}.landing-input{resize:none;width:100%;font-size:var(--text-base);font-family:var(--font-sans);color:var(--text-primary);background:0 0;border:none;outline:none;min-height:48px;line-height:1.6}.landing-input::placeholder{color:var(--text-muted)}.landing-input-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-top:6px;padding-top:6px;display:flex}.landing-input-hint{font-size:var(--text-xs);color:var(--text-muted)}.landing-submit{background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-full);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);letter-spacing:-.01em;border:none;align-items:center;gap:6px;padding:6px 16px;font-family:inherit;font-weight:550;display:inline-flex}.landing-submit:hover:not(:disabled){background:var(--accent-hover)}.landing-submit:disabled{opacity:.3;cursor:not-allowed}.landing-submit-shortcut{border-radius:var(--radius-sm);background:#00000026;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:500;display:inline-flex}.landing-examples{margin-top:16px}.landing-examples-label{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.04em;margin-bottom:10px;display:block}.landing-examples-row{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.landing-example{border-radius:var(--radius-full);border:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;text-overflow:ellipsis;background:0 0;max-width:260px;padding:5px 12px;font-family:inherit;overflow:hidden}.landing-example:hover{border-color:var(--border-emphasis);color:var(--text-primary);background:var(--accent-subtle)}.landing-example:active{background:var(--accent-pressed)}.landing-error{border-radius:var(--radius-md);color:var(--color-error);font-size:var(--text-xs);background:#f8514914;border:1px solid #f8514926;margin-top:12px;padding:8px 16px}.landing-workspace{flex:1;min-height:0;display:flex;overflow:hidden}.lw-canvas{background:var(--bg-deep);flex:1;position:relative;overflow:hidden}@media (width<=767px){.landing{height:auto;min-height:100dvh}.landing-hero{padding:24px 16px 16px}.landing-hero.collapsed{padding:10px 16px}.landing-title{font-size:28px}.landing-subtitle{font-size:var(--text-base);margin-bottom:18px}.landing-input{font-size:var(--text-sm);min-height:40px}.landing-examples-row{flex-direction:column;align-items:center}.landing-example{text-align:center;width:100%;max-width:100%}.landing-workspace{flex-direction:column;min-height:60vh}.lw-canvas{flex:none;width:100%;height:40vh;min-height:240px}}.lw-sidebar{flex-direction:column;flex-shrink:0;display:flex;position:relative}.lw-goto-workspace{background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-full);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;flex-shrink:0;margin:8px;padding:8px 20px;font-family:inherit;font-weight:500}.lw-goto-workspace:hover{background:var(--accent-hover)}.edge-property-panel{border-radius:var(--radius-md);background:#fffaf5;border:1.5px solid #ff8c00;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.epp-header{justify-content:space-between;align-items:center;display:flex}.epp-title{color:#e65100;font-size:13px;font-weight:600}.epp-close{cursor:pointer;width:22px;height:22px;color:var(--color-text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.epp-close:hover{color:var(--color-text);background:#0000000f}.epp-row{align-items:center;gap:8px;display:flex}.epp-label{color:var(--color-text-secondary);flex-shrink:0;min-width:44px;font-size:12px}.epp-name{color:var(--color-text);font-family:monospace;font-size:16px;font-weight:700}.epp-value{color:var(--color-text);font-size:13px}.epp-length-row{flex:1;align-items:center;gap:4px;display:flex}.epp-length-input{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);text-align:right;outline:none;flex:1;width:60px;padding:4px 8px;font-family:monospace;font-size:14px}.epp-length-input:focus{border-color:var(--color-primary)}.epp-apply-btn{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:4px 10px;font-size:13px}.epp-apply-btn:hover{background:var(--color-primary-dark)}.epp-colors{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.epp-color-btn{cursor:pointer;width:22px;height:22px;transition:transform var(--transition-fast), border-color var(--transition-fast);border:2px solid #0000;border-radius:50%;padding:0}.epp-color-btn:hover{transform:scale(1.15)}.epp-color-btn.active{border-color:#333;box-shadow:0 0 0 2px #fff,0 0 0 3px #333}.epp-reset-color{border:1px solid var(--color-border);background:var(--color-bg-alt);cursor:pointer;width:22px;height:22px;color:var(--color-text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex}.epp-reset-color:hover{background:var(--color-border)}.epp-hint{color:var(--color-text-secondary);border-top:1px dashed var(--color-border);padding-top:2px;font-size:11px;font-style:italic}.wt-bar{background:var(--bg-base);border-bottom:1px solid var(--border-subtle);z-index:30;-webkit-app-region:no-drag;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:44px;padding:0 14px;display:flex}.wt-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.wt-title{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:300px;overflow:hidden}.wt-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.wt-btn{border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid var(--border-default);letter-spacing:-.01em;background:0 0;padding:5px 12px;font-family:inherit;font-weight:500}.wt-btn:hover{color:var(--text-primary);border-color:var(--border-default);background:var(--accent-subtle)}.wt-btn-primary{color:var(--text-inverse);background:var(--accent);border-color:var(--accent);font-weight:550}.wt-btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--text-inverse)}.wt-btn-ghost{color:var(--text-secondary);border-color:#0000}.wt-btn-ghost:hover{color:var(--text-primary)}.wt-btn-saved{color:var(--color-success)!important;border-color:#1a7f3740!important}.wt-toast{background:var(--bg-elevated);border:1px solid var(--border-emphasis);border-radius:var(--radius-lg);font-size:var(--text-xs);color:var(--text-primary);font-family:var(--font-sans);z-index:200;pointer-events:none;padding:8px 20px;animation:.25s wtToastIn,.3s 1.7s forwards wtToastOut;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes wtToastIn{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes wtToastOut{0%{opacity:1}to{opacity:0}}.wt-back-link{border-radius:var(--radius-md);width:28px;height:28px;color:var(--text-secondary);transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;text-decoration:none;display:inline-flex}.wt-back-link:hover{background:var(--accent-subtle);color:var(--text-primary)}@media (width<=767px){.wt-bar{gap:6px;height:40px;padding:0 10px}.wt-title{display:none}.wt-btn{padding:4px 10px;font-size:10px}}.paywall-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(6px);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:400px;box-shadow:var(--shadow-xl);padding:40px 32px 32px;animation:.25s cubic-bezier(.16,1,.3,1) pwSlideUp;position:relative}.paywall-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}.paywall-close:hover{color:var(--text-primary);background:var(--accent-subtle)}.paywall-title{font-size:var(--text-xl);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px;font-weight:600}.paywall-reason{font-size:var(--text-sm);color:var(--color-warning);border-radius:var(--radius-md);background:#d2992214;border:1px solid #d2992226;margin-bottom:20px;padding:8px 16px;display:inline-block}.paywall-benefits{text-align:left;flex-direction:column;gap:6px;margin-bottom:24px;list-style:none;display:flex}.paywall-benefits li{font-size:var(--text-sm);color:var(--text-secondary);padding:4px 0}.paywall-actions{flex-direction:column;gap:10px;display:flex}.paywall-btn{border-radius:var(--radius-md);width:100%;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}.paywall-btn.primary{background:var(--accent);color:var(--text-inverse)}.paywall-btn.primary:hover{background:var(--accent-hover)}.paywall-btn.secondary{color:var(--text-muted);border:1px solid var(--border-subtle);background:0 0}.paywall-btn.secondary:hover{color:var(--text-primary);border-color:var(--border-default)}@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)}}.workspace-page{background:var(--bg-deep);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.wp-main{flex:1;min-height:0;display:flex;overflow:hidden}.wp-canvas-wrap{background:var(--bg-deep);flex:1;position:relative;overflow:hidden}.wp-floating-edge{z-index:10;background:var(--bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-default);max-height:40vh;animation:.25s cubic-bezier(.16,1,.3,1) floatUp;position:absolute;bottom:12px;left:12px;right:12px;overflow-y:auto}@keyframes floatUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=767px){.workspace-page{height:auto;min-height:100dvh}.wp-main{flex-direction:column}.wp-canvas-wrap{flex:none;width:100%;height:45dvh;min-height:260px}}.pricing-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);text-align:center;transition:all var(--transition-base);flex-direction:column;align-items:center;padding:32px 24px 24px;display:flex;position:relative}.pricing-card:hover{border-color:var(--border-emphasis)}.pricing-card.popular{border-color:var(--border-emphasis);background:var(--bg-elevated)}.pricing-card.current{border-color:var(--border-emphasis)}.pricing-badge{border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;background:#0000000f;padding:3px 12px;font-weight:550;position:absolute;top:12px;left:50%;transform:translate(-50%)}.pricing-badge.current{color:var(--color-success);background:#3fb9501a}.pricing-name{font-size:var(--text-lg);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:4px;font-weight:600}.pricing-desc{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:20px}.pricing-price-wrap{align-items:baseline;gap:2px;margin-bottom:24px;display:flex}.pricing-currency{font-size:var(--text-lg);color:var(--text-secondary);font-weight:550}.pricing-amount{color:var(--text-primary);letter-spacing:-.03em;font-size:44px;font-weight:600;line-height:1}.pricing-period{font-size:var(--text-sm);color:var(--text-muted)}.pricing-features{flex-direction:column;gap:10px;width:100%;margin-bottom:24px;list-style:none;display:flex}.pricing-feature{font-size:var(--text-sm);color:var(--text-secondary);text-align:left;padding-left:8px}.pricing-cta{border-radius:var(--radius-md);border:1px solid var(--border-default);width:100%;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);letter-spacing:-.01em;background:0 0;padding:12px;font-family:inherit;font-weight:550}.pricing-cta.primary{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.pricing-cta.primary:hover{background:var(--accent-hover)}.pricing-cta.current{opacity:.5;cursor:default}.pricing-cta:hover:not(.current):not(.primary){border-color:var(--border-emphasis);background:var(--accent-subtle)}.pricing-page{background:var(--bg-deep);min-height:100vh;padding-bottom:80px}.pp-header{text-align:center;padding:64px 24px 32px;position:relative}.pp-back-link{color:var(--text-secondary);font-size:var(--text-sm);border-radius:var(--radius-md);transition:all var(--transition-fast);align-items:center;gap:4px;padding:6px 12px;font-weight:500;text-decoration:none;display:inline-flex;position:absolute;top:24px;left:24px}.pp-back-link:hover{background:var(--accent-subtle);color:var(--text-primary)}.pp-title{font-size:var(--text-4xl);color:var(--text-primary);letter-spacing:-.03em;margin-bottom:8px;font-weight:600}.pp-subtitle{font-size:var(--text-lg);color:var(--text-muted)}.pp-toggle-wrap{justify-content:center;gap:8px;margin-bottom:36px;display:flex}.pp-toggle{border:1px solid var(--border-default);border-radius:var(--radius-full);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary);background:0 0;padding:8px 20px;font-family:inherit;font-weight:500}.pp-toggle.active{background:var(--accent-subtle);color:var(--text-primary);border-color:var(--border-emphasis)}.pp-save{color:var(--text-secondary);border-radius:var(--radius-full);background:#0000000f;margin-left:6px;padding:2px 8px;font-size:10px}.pp-grid{grid-template-columns:repeat(3,1fr);gap:20px;max-width:920px;margin:0 auto;padding:0 24px;display:grid}.pp-faq{max-width:600px;margin:64px auto 0;padding:0 24px}.pp-faq h2{font-size:var(--text-xl);color:var(--text-primary);text-align:center;letter-spacing:-.02em;margin-bottom:24px;font-weight:600}.pp-faq-item{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);margin-bottom:16px;padding:20px}.pp-faq-item h3{font-size:var(--text-base);color:var(--text-primary);margin-bottom:8px;font-weight:550}.pp-faq-item p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}@media (width<=767px){.pp-header{padding:40px 16px 24px}.pp-title{font-size:var(--text-3xl)}.pp-grid{grid-template-columns:1fr;gap:14px;max-width:380px}.pp-faq{margin-top:48px}}:root{--bg-deep:#fff;--bg-base:#f8f9fb;--bg-surface:#fff;--bg-elevated:#f0f0f3;--bg-overlay:#0003;--border-subtle:#d8d8dc;--border-default:#bcbcc0;--border-emphasis:#9a9a9f;--border-focus:#7a7a7f;--text-primary:#1d1d1f;--text-secondary:#444448;--text-muted:#636368;--text-inverse:#fff;--accent:#1d1d1f;--accent-hover:#000;--accent-subtle:#0000000a;--accent-pressed:#00000014;--color-success:var(--color-success);--color-warning:var(--color-warning);--color-error:var(--color-error);--color-info:#0550ae;--shadow-xs:0 0 0 1px #0000000f;--shadow-sm:0 1px 2px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 32px #0000001f;--shadow-xl:0 16px 48px #00000026;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:14px;--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;--color-primary:var(--text-primary);--color-primary-dark:var(--text-secondary);--color-primary-light:#0000000a;--color-primary-glow:#00000005;--color-success-light:#2da44e14;--color-warning-light:#bf870014;--color-error-light:#cf222e14;--color-gold:var(--color-warning);--color-gold-light:#bf870014;--color-gold-dark:#9a7200;--color-pro:var(--text-primary);--color-pro-light:#0000000a;--color-pro-gradient:var(--accent);--color-teacher:var(--text-primary);--color-teacher-light:#0000000a;--color-teacher-gradient:var(--accent);--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:#0000000a;--badge-pro-bg:#0000000f;--badge-pro-text:var(--text-primary);--badge-teacher-bg:#0000000f;--badge-teacher-text:var(--text-primary)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;margin:0;padding:0}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:hidden}::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;background:0 0;border:none}input,textarea{color:inherit;font-family:inherit}@media (width<=767px){body{-webkit-overflow-scrolling:touch;overflow:auto}html,body,#root{height:auto;min-height:100dvh}}
