.miniapp-popover-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1c191773;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.miniapp-popover-card{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:340px;box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;padding:32px 28px 28px;display:flex;position:relative}.miniapp-popover-close{border-radius:var(--radius-full);width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex;position:absolute;top:14px;right:14px}.miniapp-popover-close:hover{background:var(--color-primary-soft);color:var(--color-text)}.miniapp-popover-badge{color:var(--color-accent);background:var(--color-accent-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:12px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.miniapp-popover-title{color:var(--color-text);margin:0 0 18px;font-size:19px;font-weight:600}.miniapp-popover-qr{border-radius:var(--radius-md);width:200px;height:200px;box-shadow:var(--shadow-sm);background:#fff;padding:8px}.miniapp-popover-scan{color:var(--color-text-secondary);margin:14px 0 0;font-size:13px}.miniapp-popover-points{text-align:left;margin:16px 0 0;padding:0;list-style:none}.miniapp-popover-points li{color:var(--color-text-secondary);align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.miniapp-popover-points li svg{color:var(--color-success);flex-shrink:0}.ms-menu{z-index:1000;border:1px solid var(--color-border);background:var(--color-surface);width:max-content;min-width:248px;max-width:min(300px,100vw - 16px);box-shadow:var(--shadow-lg);opacity:0;border-radius:14px;flex-direction:column;padding:6px;transition:opacity .16s cubic-bezier(.16,1,.3,1),transform .16s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;transform:translateY(-4px)}.ms-menu--shown{opacity:1;transform:none}.ms-menu__title{color:var(--color-text-secondary);margin:4px 8px 6px;font-size:11.5px;font-weight:500}.ms-menu__item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:flex-start;gap:10px;width:100%;padding:7px 8px;transition:background-color .15s ease-out;display:flex}.ms-menu__item:hover{background:var(--color-primary-soft);outline:none}.ms-menu__item:focus-visible{background:var(--color-primary-soft);outline:none}.ms-menu__icon{background:var(--color-bg);width:28px;height:28px;color:var(--color-text-secondary);border-radius:8px;flex:none;place-items:center;display:grid}.ms-menu__item:hover .ms-menu__icon{color:var(--color-text)}.ms-menu__item:focus-visible .ms-menu__icon{color:var(--color-text)}.ms-menu__text{gap:1px;min-width:0;display:grid}.ms-menu__text b{color:var(--color-text);font-size:13.5px;font-weight:500;line-height:1.4}.ms-menu__text small{color:var(--color-text-secondary);font-size:11.5px;line-height:1.4}@media (prefers-reduced-motion:reduce){.ms-menu{transition:none}}.ms-link-btn{width:30px;height:30px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:none;justify-content:center;align-items:center;padding:0;transition:background-color .15s ease-out;display:flex}.ms-link-btn:disabled{opacity:.4;cursor:not-allowed}.ms-link-btn--bilibili{color:#00a1d6}.ms-link-btn--wechat{color:#07c160}.ms-link-btn--youtube{color:red}.ms-link-btn--bilibili:hover:not(:disabled),.ms-link-btn--bilibili.ms-link-btn--active{background:#00a1d61a}.ms-link-btn--wechat:hover:not(:disabled),.ms-link-btn--wechat.ms-link-btn--active{background:#07c1601a}.ms-link-btn--youtube:hover:not(:disabled),.ms-link-btn--youtube.ms-link-btn--active{background:#ff00001a}.ms-link-btn--github:hover:not(:disabled),.ms-link-btn--github.ms-link-btn--active{background:var(--color-primary-soft)}.ms-link-field{overflow:hidden}.ms-link-field__inner{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;align-items:center;gap:8px;padding:5px 5px 5px 12px;transition:border-color .15s ease-out;display:flex}.ms-link-field__inner:focus-within{border-color:var(--color-accent)}.ms-link-field__icon{flex:none;place-items:center;width:16px;height:16px;display:grid}.ms-link-field__input{min-width:0;height:28px;color:var(--color-text);font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.ms-link-field__clear{width:20px;height:20px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;transition:background-color .15s ease-out;display:grid}.ms-link-field__clear:hover{background:var(--color-primary-soft)}.ms-link-field__confirm{background:var(--color-primary);height:28px;color:var(--color-bg);cursor:pointer;border:none;border-radius:9px;flex:none;padding:0 12px;font-size:13px;transition:opacity .15s ease-out}.ms-link-field__confirm:disabled{opacity:.35;cursor:default}.tutorial-player-frame{aspect-ratio:16/9;border:1px solid var(--color-border);box-shadow:var(--shadow-md);background:#0c0a09;border-radius:16px;overflow:hidden}.tutorial-player-video{-o-object-fit:contain;object-fit:contain;background:0 0;width:100%;height:100%;display:block}.tutorial-player-video:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.tutorial-player-body{padding:24px 2px 0}.tutorial-player-title{font:600 22px/1.35 var(--font-sans);color:var(--color-text);text-wrap:balance;align-items:baseline;gap:12px;margin:0;display:flex}.tutorial-player-n{font-family:"Playfair Display",var(--font-serif);color:var(--color-accent-hover);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:20px;font-style:italic;font-weight:400}.tutorial-player-summary{max-width:68ch;font:400 15px/1.65 var(--font-sans);color:var(--color-text-secondary);margin:8px 0 0}.tutorial-player-fallback{font:400 13px/1.5 var(--font-sans);color:var(--color-text-secondary);margin:10px 0 0}.tutorial-chapters{border-top:1px solid var(--color-border);margin-top:28px;padding-top:20px}.tutorial-chapters-heading{font:600 13px/1.4 var(--font-sans);color:var(--color-text);margin:0 0 8px}.tutorial-chapters-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px;margin:0;padding:0;list-style:none;display:grid}.tutorial-chapter{width:100%;color:var(--color-text-secondary);font:400 14px/1.5 var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:baseline;gap:12px;padding:7px 10px;transition:background-color .15s ease-out,color .15s ease-out;display:flex}.tutorial-chapter:hover{background:var(--color-primary-soft);color:var(--color-text)}.tutorial-chapter.is-current{color:var(--color-text);background:var(--color-accent-soft)}.tutorial-chapter:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.tutorial-chapter-time{min-width:34px;font:400 12.5px/1.5 var(--font-mono);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0}.tutorial-chapter.is-current .tutorial-chapter-time{color:var(--color-accent-hover)}.tutorial-chapter-title{min-width:0}@media (max-width:640px){.tutorial-player-frame{border-radius:12px}.tutorial-player-title{font-size:19px}.tutorial-chapters-list{grid-template-columns:minmax(0,1fr)}}.tutorial-lessons-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.tutorial-lesson{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:104px minmax(0,1fr) auto;align-items:start;gap:12px;width:100%;padding:12px 12px 12px 10px;transition:background-color .15s ease-out,border-color .15s ease-out;display:grid}.tutorial-lesson:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-border)}.tutorial-lesson.is-current{background:var(--color-surface);border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.tutorial-lesson:disabled{cursor:default;opacity:.6}.tutorial-lesson:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tutorial-lesson-cover{aspect-ratio:16/9;background:var(--color-border);box-shadow:0 0 0 1px var(--color-border);border-radius:8px;display:block;position:relative;overflow:hidden}.tutorial-lesson-cover img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.tutorial-lesson-n{min-width:22px;height:18px;font-family:"Playfair Display",var(--font-serif);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;background:#ffffffeb;border-radius:6px;justify-content:center;align-items:center;padding:0 5px;font-size:12px;font-style:italic;display:inline-flex;position:absolute;bottom:5px;left:5px}.tutorial-lesson.is-current .tutorial-lesson-n{color:var(--color-accent-hover)}.tutorial-lesson-text{flex-direction:column;gap:3px;min-width:0;display:flex}.tutorial-lesson-title{font:500 15px/1.45 var(--font-sans);color:var(--color-text)}.tutorial-lesson-summary{font:400 13px/1.55 var(--font-sans);color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tutorial-lesson-duration{font:400 12.5px/1.5 var(--font-mono);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:2px}.pricing-header{z-index:40;background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0}.pricing-header-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.pricing-back-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 0;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s;display:flex}.pricing-back-btn:hover{color:var(--color-text)}.pricing-hero{text-align:center;padding:80px 0 24px}.pricing-title{font-family:"Playfair Display",var(--font-serif);letter-spacing:-.02em;margin-bottom:20px;font-size:52px;font-style:italic;font-weight:400}.pricing-subtitle{max-width:680px;color:var(--color-text-secondary);text-wrap:pretty;margin:0 auto 40px;font-size:18px;line-height:1.6}.pricing-plans{padding:16px 0 80px}.pricing-footer-note{text-align:center;color:var(--color-text-muted);margin-top:32px;font-size:13px;font-style:italic}.pricing-faq{border-top:1px solid var(--color-border);padding:80px 0 120px}.pricing-faq-title{font-family:"Playfair Display",var(--font-serif);text-align:center;margin-bottom:48px;font-size:32px;font-style:italic;font-weight:400}.pricing-faq-grid{flex-direction:column;gap:32px;max-width:680px;margin:0 auto;display:flex}.pricing-faq-item{border-bottom:1px solid var(--color-border);padding-bottom:32px}.pricing-faq-item:last-child{border-bottom:none;padding-bottom:0}.pricing-faq-q{margin-bottom:12px;font-size:16px;font-weight:600}.pricing-faq-a{color:var(--color-text-secondary);font-size:15px;line-height:1.7}.pricing-credit-rules-link{color:var(--color-text-muted);cursor:pointer;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--color-text-muted)40%,transparent);-webkit-text-decoration-color:color-mix(in srgb,var(--color-text-muted)40%,transparent);text-decoration-color:color-mix(in srgb,var(--color-text-muted)40%,transparent);background:0 0;border:none;padding:0;font-size:14px;transition:color .15s,text-decoration-color .15s}.pricing-credit-rules-link:hover{color:var(--color-text-secondary);-webkit-text-decoration-color:var(--color-text-secondary);-webkit-text-decoration-color:var(--color-text-secondary);text-decoration-color:var(--color-text-secondary)}.pricing-tabs{background:var(--color-border);border-radius:var(--radius-sm);gap:4px;margin-bottom:20px;padding:3px;display:inline-flex}.pricing-tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 24px;font-size:14px;font-weight:500;transition:color .15s,background-color .15s,box-shadow .15s}.pricing-tab:hover{color:var(--color-text-secondary)}.pricing-tab--active{color:var(--color-text);background:var(--color-surface);font-weight:600;box-shadow:0 1px 3px #0000000f}@media (max-width:639px){.pricing-title{font-size:36px}.pricing-subtitle{font-size:15px}.pricing-faq-title{font-size:24px}}.tutorials-main{padding-bottom:96px;position:relative}.tutorials-hero{max-width:720px;padding:72px 0 40px}.tutorials-title{font-family:"Playfair Display",var(--font-serif);letter-spacing:-.02em;color:var(--color-text);text-wrap:balance;margin:0;font-size:40px;font-style:italic;font-weight:400;line-height:1.15}.tutorials-lead{max-width:58ch;font:400 17px/1.65 var(--font-sans);color:var(--color-text-secondary);text-wrap:pretty;margin:16px 0 0}.tutorials-meta{font:400 13px/1.5 var(--font-sans);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;margin:14px 0 0}.tutorials-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:40px;display:grid}.tutorials-stage{min-width:0;scroll-margin-top:24px}.tutorials-side{position:sticky;top:24px}.tutorials-empty{font:400 15px/1.6 var(--font-sans);color:var(--color-text-secondary)}@media (max-width:960px){.tutorials-layout{grid-template-columns:minmax(0,1fr);gap:32px}.tutorials-side{position:static}}@media (max-width:640px){.tutorials-hero{padding:48px 0 28px}.tutorials-title{font-size:30px}.tutorials-lead{font-size:16px}}