:root{--bg-color:oklch(99.5% 0.004 50);--bg:oklch(99.5% 0.004 50);--bg-secondary:oklch(97% 0.006 50);--bg-card:oklch(99.5% 0.004 50);--text-primary:oklch(18% 0.018 50);--text-secondary:oklch(47% 0.014 50);--text-tertiary:oklch(65% 0.009 50);--link-color:oklch(52% 0.16 48);--nav-height:72px;--btn-bg:oklch(18% 0.018 50);--btn-text:oklch(99% 0.003 50);--border:oklch(91.5% 0.008 50);--card-bg:oklch(99.5% 0.004 50);--card-border:oklch(93.5% 0.007 50);--tag-bg:oklch(95.5% 0.007 50);--tag-text:oklch(36% 0.016 50);--nav-blur-bg:oklch(99.5% 0.004 50/0.85);--accent:oklch(60% 0.175 48);--accent-rgb:200,110,5;--accent-tint:oklch(60% 0.175 48/0.08);--badge-skip-bg:oklch(88% 0.09 55/0.22);--badge-skip-color:oklch(50% 0.145 55);--step-num-bg:oklch(88% 0.07 48/0.18);--step-num-color:oklch(52% 0.155 48);--tag-new-bg:oklch(88% 0.07 48/0.18);--tag-new-color:oklch(52% 0.155 48);--tag-fix-bg:oklch(85% 0.1 148/0.18);--tag-fix-color:oklch(42% 0.13 148);--tag-imp-bg:oklch(88% 0.1 88/0.18);--tag-imp-color:oklch(50% 0.155 88)}[data-theme=dark]{--bg-color:oklch(17% 0.014 50);--bg:oklch(17% 0.014 50);--bg-secondary:oklch(22% 0.015 50);--bg-card:oklch(22% 0.015 50);--text-primary:oklch(93% 0.009 50);--text-secondary:oklch(62% 0.011 50);--text-tertiary:oklch(39% 0.009 50);--link-color:oklch(71% 0.145 48);--btn-bg:oklch(93% 0.009 50);--btn-text:oklch(18% 0.015 50);--border:oklch(29% 0.014 50);--card-bg:oklch(22% 0.015 50);--card-border:oklch(26% 0.013 50);--tag-bg:oklch(27% 0.013 50);--tag-text:oklch(67% 0.01 50);--nav-blur-bg:oklch(17% 0.014 50/0.82);--accent:oklch(71% 0.145 48);--accent-rgb:210,158,55;--accent-tint:oklch(71% 0.145 48/0.14);--badge-skip-bg:oklch(60% 0.14 55/0.22);--badge-skip-color:oklch(78% 0.14 55);--step-num-bg:oklch(60% 0.12 48/0.2);--step-num-color:oklch(76% 0.12 48);--tag-new-bg:oklch(60% 0.12 48/0.2);--tag-new-color:oklch(76% 0.12 48);--tag-fix-bg:oklch(58% 0.13 148/0.22);--tag-fix-color:oklch(72% 0.12 148);--tag-imp-bg:oklch(66% 0.14 88/0.2);--tag-imp-color:oklch(78% 0.14 88)}*{margin:0;padding:0;box-sizing:border-box}html{scrollbar-gutter:stable}body{font-family:PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;color:var(--text-primary);background-color:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background-color .4s,color .4s;min-height:100vh;position:relative;display:flex;flex-direction:column}#particle-canvas{width:100vw;height:100vh;z-index:0;pointer-events:none}#particle-canvas,.navbar{position:fixed;top:0;left:0}.navbar{width:100%;height:64px;padding:0 24px;display:flex;justify-content:space-between;align-items:center;z-index:10;transition:height .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,-webkit-backdrop-filter .3s;transition:height .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,backdrop-filter .3s;transition:height .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,backdrop-filter .3s,-webkit-backdrop-filter .3s;background:oklch(99.5% .004 50/.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 oklch(18% .018 50/.06)}[data-theme=dark] .navbar{background:oklch(17% .014 50/.72);box-shadow:0 1px 0 oklch(93% .009 50/.05)}.navbar.scrolled{height:52px!important;box-shadow:0 1px 0 oklch(18% .018 50/.08),0 4px 24px oklch(18% .018 50/.06);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:oklch(99.5% .004 50/.92)}[data-theme=dark] .navbar.scrolled{background:oklch(17% .014 50/.92);box-shadow:0 1px 0 oklch(93% .009 50/.06),0 4px 24px oklch(17% .014 50/.3)}.nav-brand{display:flex;align-items:center;gap:8px;text-decoration:none}.brand-logo{width:24px;height:24px;object-fit:contain}.brand-text{font-size:1.1rem;font-weight:500;color:var(--text-primary);letter-spacing:-.01em}.nav-right{display:flex;align-items:center}.nav-link{display:inline-block;font-size:.875rem;font-weight:500;color:var(--text-secondary);text-decoration:none;padding:6px 12px;border-radius:6px;transition:color .2s,background-color .2s;margin-right:4px}.nav-link.active,.nav-link:hover{color:var(--text-primary);background-color:hsla(0,0%,50%,.08)}.theme-toggle{background:none;border:none;cursor:pointer;color:var(--text-primary);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;transition:background-color .2s}.theme-toggle:hover{background-color:hsla(0,0%,50%,.1)}.theme-toggle svg{width:20px;height:20px;fill:currentColor}.hero{position:relative;z-index:5;width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.hero-content{max-width:800px;padding:0 20px}.logo-wrapper{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.hero-logo{width:36px;height:36px;object-fit:contain}.hero-brand{font-size:1.75rem}.hero-brand,.hero-title{font-weight:500;color:var(--text-primary);letter-spacing:-.02em}.hero-title{font-size:clamp(2rem,4vw,3rem);margin-bottom:24px;line-height:1.2;display:block}.typewriter-text:after{content:"";display:inline-block;width:3px;height:.85em;background-color:var(--text-primary);margin-left:4px;vertical-align:middle;animation:blink-caret .75s step-end infinite}@keyframes blink-caret{0%,to{opacity:1}50%{opacity:0}}.hero-subtitle{font-size:clamp(1.125rem,2vw,1.25rem);color:var(--text-secondary);max-width:600px;margin:0 auto;font-weight:400}.highlight-free{color:oklch(52% .155 148);font-weight:600;margin:0 2px}[data-theme=dark] .highlight-free{color:oklch(70% .145 148)}.hero-footer{position:fixed;bottom:32px;width:100%;text-align:center;font-size:.875rem;color:var(--text-secondary);pointer-events:auto;letter-spacing:1px;z-index:20}.copy-hint{cursor:pointer;text-decoration:underline;text-underline-offset:4px;-webkit-text-decoration-color:hsla(0,0%,50%,.3);text-decoration-color:hsla(0,0%,50%,.3);transition:color .2s;pointer-events:auto}.copy-hint:hover{color:var(--text-primary)}.cta-actions{margin-top:40px;display:flex;justify-content:center}.btn-download-main{display:inline-flex;align-items:center;justify-content:center;background-color:var(--btn-bg);color:var(--btn-text);text-decoration:none;font-size:1rem;font-weight:500;padding:14px 48px;border-radius:9999px;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1),background-color .3s;box-shadow:0 4px 14px 0 rgba(0,0,0,.2);min-width:180px}.btn-download-main:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.25);opacity:.9}.btn-download-main:active{transform:translateY(0);box-shadow:0 2px 8px rgba(0,0,0,.15)}.copy-toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(20px);background-color:oklch(20% .012 50);color:oklch(99% .003 50);padding:10px 24px;border-radius:9999px;font-size:.875rem;font-weight:500;letter-spacing:.02em;opacity:0;pointer-events:none;transition:opacity .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1);z-index:100;white-space:nowrap}[data-theme=dark] .copy-toast{background-color:oklch(92% .007 50);color:oklch(16% .01 50)}.copy-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.fade-up{opacity:0;transform:translateY(20px);animation:fadeUpAnim .8s cubic-bezier(.16,1,.3,1) forwards}.delay-1{animation-delay:.2s}.delay-2{animation-delay:.4s}.delay-3{animation-delay:.6s}.delay-4{animation-delay:.32s}.delay-5{animation-delay:.4s}@keyframes fadeUpAnim{to{opacity:1;transform:translateY(0)}}.page-hero{padding:120px 24px 64px;text-align:center;position:relative;z-index:1}.page-hero-eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}.page-hero-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-bottom:16px;color:var(--text-primary)}.page-hero-sub{font-size:1.0625rem;color:var(--text-secondary);max-width:520px;margin:0 auto}.page-footer{text-align:center;padding:32px 24px 48px;font-size:.8125rem;color:var(--text-tertiary);border-top:1px solid var(--border);position:relative;z-index:1}.page-footer a{color:var(--text-secondary);text-decoration:none}.page-footer a:hover{text-decoration:underline}.section-divider{width:100%;max-width:1040px;margin:0 auto 72px;border:none;border-top:1px solid var(--border)}.feat-page{position:relative;z-index:1;flex:1 1;max-width:960px;margin:0 auto;width:100%;padding:100px 24px 64px}.feat-page-header{margin-bottom:32px}.feat-page-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#1a73e8;margin-bottom:10px}.feat-page-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px}.feat-page-desc{font-size:.875rem;color:var(--text-secondary)}.feat-group-intro{font-size:.8375rem;color:var(--text-secondary);line-height:1.7;margin:-4px 0 16px;max-width:680px}.feat-callout-section{margin-bottom:40px}.feat-callout{display:flex;gap:16px;align-items:flex-start;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:20px 24px}.feat-callout-icon{font-size:1.25rem;flex-shrink:0;margin-top:2px;opacity:.7}.feat-callout-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:6px}.feat-callout-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.65}.feat-closing-section{margin-bottom:48px}.feat-closing-quote{font-size:.9rem;color:var(--text-secondary);line-height:1.8;border-left:3px solid var(--border);padding:4px 0 4px 16px;margin:0;font-style:normal}.feat-preview{margin-bottom:40px}.feat-preview-frame{width:100%;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--card-bg)}.feat-preview-frame img{display:block;width:100%;height:auto;object-fit:cover}[data-theme=dark] .feat-preview-frame img{filter:invert(.88) hue-rotate(180deg)}.feat-group-section{margin-bottom:40px}.feat-group-header{margin-bottom:16px}.feat-group-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin:0 0 2px}.feat-group-subtitle{font-size:.8125rem;color:var(--text-secondary);margin:0}.feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.feat-card{padding:16px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px}.feat-card--clickable{cursor:pointer}.feat-card--clickable:hover{border-color:var(--accent)}.feat-card-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.feat-card-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.feat-card-name{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.feat-card-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.5;margin-bottom:8px}.feat-card-tags{display:flex;flex-wrap:wrap;gap:4px}.feat-tag{font-size:.7rem;font-weight:500;background:var(--tag-bg);color:var(--tag-text);padding:2px 7px;border-radius:3px}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-content{position:relative;max-width:90vw;max-height:90vh;border-radius:12px;background:var(--card-bg);box-shadow:0 20px 60px rgba(0,0,0,.15);padding:16px;transform:scale(.95) translateY(20px);transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}[data-theme=dark] .modal-content{box-shadow:0 20px 80px rgba(0,0,0,.6);border:1px solid var(--card-border)}.modal-overlay.active .modal-content{transform:scale(1) translateY(0)}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:var(--tag-bg);color:var(--text-primary);display:flex;justify-content:center;align-items:center;font-size:20px;cursor:pointer;z-index:10;transition:background .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:none}.modal-close:hover{background:hsla(0,0%,50%,.2)}.modal-img{width:100%;height:100%;object-fit:contain;border-radius:8px;max-height:calc(90vh - 32px)}.dl-page{position:relative;z-index:1;flex:1 1;max-width:640px;margin:0 auto;width:100%;padding:100px 24px 64px}.dl-page-header{margin-bottom:40px}.dl-page-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:6px}.dl-page-desc{font-size:.875rem;color:var(--text-tertiary)}.dl-section{margin-bottom:36px}.dl-section-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.dl-section-note{font-size:.8125rem;color:var(--text-secondary);margin-bottom:14px}.dl-table{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--card-bg)}.dl-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border)}.dl-row:last-child{border-bottom:none}.dl-row--main{background:var(--bg-secondary)}.dl-row-left{display:flex;align-items:center;gap:14px;min-width:0;flex:1 1}.dl-row-icon{object-fit:contain}.dl-row-icon,.dl-row-icon-box{width:32px;height:32px;border-radius:6px;flex-shrink:0}.dl-row-icon-box{display:flex;align-items:center;justify-content:center}.dl-row-icon-box--office{background:rgba(234,134,0,.08)}[data-theme=dark] .dl-row-icon-box--office{background:rgba(234,134,0,.14)}.dl-row-icon-box--vba{background:rgba(0,120,212,.08)}[data-theme=dark] .dl-row-icon-box--vba{background:rgba(0,120,212,.18)}.dl-row-name{font-size:.9375rem;font-weight:600;color:var(--text-primary);display:block}.dl-row-ver{font-size:.75rem;font-weight:500;color:var(--text-tertiary);margin-left:8px}.dl-row-sub{font-size:.78rem;color:var(--text-secondary);display:block;margin-top:2px;line-height:1.45}.dl-row-tag{font-size:.68rem;font-weight:600;padding:1px 7px;border-radius:3px;background:var(--badge-skip-bg);color:var(--badge-skip-color);vertical-align:middle;margin-left:6px}.dl-row-btn{display:inline-block;padding:6px 18px;border-radius:6px;font-size:.8125rem;font-weight:500;text-decoration:none;white-space:nowrap;flex-shrink:0;color:var(--accent);background:transparent;border:1px solid var(--border);transition:border-color .15s,background .15s}.dl-row-btn:hover{border-color:var(--accent);background:var(--accent-tint)}.dl-row-btn--primary{color:var(--btn-text)}.dl-row-btn--primary,.dl-row-btn--primary:hover{background:var(--btn-bg);border-color:transparent}.dl-row-btn--primary:hover{opacity:.85}.section-gap{margin-bottom:48px}.tutorials-section{flex:1 1;padding:0 24px 80px;position:relative;z-index:1}.tutorials-layout{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 320px;grid-gap:20px;gap:20px;align-items:start}.player-wrapper{background:#000;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.14),0 8px 32px rgba(0,0,0,.18),0 32px 80px rgba(0,0,0,.12)}[data-theme=dark] .player-wrapper{box-shadow:0 0 0 1px hsla(0,0%,100%,.07),0 8px 32px rgba(0,0,0,.5),0 32px 80px rgba(0,0,0,.45)}.video-container{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden}.video-container.hide-cursor{cursor:none}.video-container.mobile-fs{position:fixed!important;top:0;left:0;width:100vw!important;height:100vh!important;aspect-ratio:unset!important;z-index:9999;border-radius:0!important}.mobile-fs-active{overflow:hidden!important}#mainVideo{width:100%;height:100%;display:block;object-fit:contain}.play-overlay{position:absolute;inset:0;pointer-events:none;z-index:2}.play-overlay,.play-overlay-circle{display:flex;align-items:center;justify-content:center}.play-overlay-circle{width:56px;height:56px;border-radius:50%;background:rgba(0,0,0,.48);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid hsla(0,0%,100%,.12);box-shadow:0 2px 16px rgba(0,0,0,.25),inset 0 1px 0 hsla(0,0%,100%,.06);opacity:0;transform:scale(.7);transition:opacity .28s cubic-bezier(.16,1,.3,1),transform .28s cubic-bezier(.16,1,.3,1),background .2s}.video-container.is-paused .play-overlay-circle{opacity:1;transform:scale(1)}.video-container.is-paused:hover .play-overlay-circle{transform:scale(1.07);background:rgba(0,0,0,.58);border-color:hsla(0,0%,100%,.18)}.play-overlay-circle svg{width:22px;height:22px;fill:hsla(0,0%,100%,.92);margin-left:2px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.play-overlay-circle.flash{opacity:1!important;transform:scale(1)!important;animation:overlay-flash .45s ease-out forwards}@keyframes overlay-flash{0%{opacity:.9;transform:scale(.85)}30%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.2)}}.loading-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .2s}.loading-spinner.active{opacity:1}.spinner-ring{width:44px;height:44px;border:3px solid hsla(0,0%,100%,.18);border-top-color:hsla(0,0%,100%,.9);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.video-title-bar{position:absolute;top:0;left:0;right:0;padding:16px 18px 48px;background:linear-gradient(180deg,rgba(0,0,0,.6) 0,transparent);pointer-events:none;transition:opacity .3s}.video-container.controls-hidden .video-title-bar{opacity:0}.video-title-text{font-size:.9rem;font-weight:600;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6);letter-spacing:.01em}.controls{position:absolute;bottom:0;left:0;right:0;padding-top:48px;background:linear-gradient(0deg,rgba(0,0,0,.82) 0,transparent);transition:opacity .3s}.video-container.controls-hidden .controls{opacity:0;pointer-events:none}.progress-row{padding:0 14px 6px}.progress-bar-wrap{position:relative;height:20px;display:flex;align-items:center;cursor:pointer}.progress-track{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:3px;background:hsla(0,0%,100%,.22);border-radius:3px;overflow:hidden;transition:height .15s;pointer-events:none}.progress-bar-wrap:hover .progress-track{height:5px}.progress-buffered{background:hsla(0,0%,100%,.38);transition:width .5s linear}.progress-buffered,.progress-fill{position:absolute;left:0;top:0;bottom:0;width:0}.progress-fill{background:var(--accent)}.progress-range{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;z-index:2;-webkit-appearance:none;-moz-appearance:none;appearance:none}.progress-range::-webkit-slider-thumb{-webkit-appearance:none;width:1px;height:1px}.progress-range::-moz-range-thumb{width:1px;height:1px;border:none;background:transparent}.controls-row{gap:2px;padding:0 8px 10px}.controls-row,.ctrl-btn{display:flex;align-items:center}.ctrl-btn{background:none;border:none;cursor:pointer;padding:7px;border-radius:6px;justify-content:center;color:hsla(0,0%,100%,.88);transition:background .15s,color .15s,transform .12s;flex-shrink:0}.ctrl-btn:hover{background:hsla(0,0%,100%,.12);color:#fff}.ctrl-btn:active{transform:scale(.88)}.ctrl-btn svg{width:20px;height:20px;display:block}.time-display{font-size:.75rem;color:hsla(0,0%,100%,.82);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 4px;letter-spacing:.02em;flex-shrink:0}.ctrl-spacer{flex:1 1}.volume-group{display:flex;align-items:center;gap:2px}.volume-slider-wrap{width:0;overflow:hidden;position:relative;height:20px;display:flex;align-items:center;transition:width .2s cubic-bezier(.16,1,.3,1)}.volume-group:hover .volume-slider-wrap,.volume-slider-wrap:focus-within{width:62px}.volume-track{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:3px;background:hsla(0,0%,100%,.22);border-radius:3px;overflow:hidden;pointer-events:none}.volume-fill{height:100%;background:hsla(0,0%,100%,.82);width:100%;transition:width .05s}.volume-range{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;z-index:2;-webkit-appearance:none;-moz-appearance:none;appearance:none}.volume-range::-webkit-slider-thumb{-webkit-appearance:none;width:1px;height:1px}.volume-range::-moz-range-thumb{width:1px;height:1px;border:none;background:transparent}.speed-select{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.14);color:hsla(0,0%,100%,.88);font-size:.72rem;font-weight:600;padding:4px 7px;border-radius:5px;cursor:pointer;outline:none;transition:background .15s;font-family:inherit;letter-spacing:.02em}.speed-select:hover{background:hsla(0,0%,100%,.18)}.speed-select option{background:#1c1c1e;color:#fff}.playlist-wrapper{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.06);transition:background-color .4s,border-color .4s;display:flex;flex-direction:column}.playlist-header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.playlist-header-title{font-size:.875rem;font-weight:600;color:var(--text-primary)}.playlist-count{font-size:.72rem;color:var(--text-secondary);background:var(--tag-bg);padding:2px 9px;border-radius:20px}.playlist-list{flex:1 1;min-height:0;overflow-y:auto}.playlist-list::-webkit-scrollbar{width:4px}.playlist-list::-webkit-scrollbar-track{background:transparent}.playlist-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.playlist-item{display:flex;gap:13px;padding:13px 16px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .18s;position:relative;align-items:flex-start}.playlist-item:last-child{border-bottom:none}.playlist-item:hover{background:var(--tag-bg)}.playlist-item.active{background:var(--bg-secondary)}.playlist-item-info{flex:1 1;min-width:0}.playlist-item-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .18s}.playlist-item.active .playlist-item-title{font-weight:700}.playlist-item-desc{font-size:.75rem;color:var(--text-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.playlist-item-tags{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.playlist-tag{font-size:.65rem;font-weight:500;background:var(--tag-bg);color:var(--tag-text);padding:2px 6px;border-radius:3px}.playing-indicator{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:none;align-items:flex-end;gap:2.5px;height:16px}.playlist-item.active.is-playing .playing-indicator{display:flex}.playing-bar{width:3px;border-radius:2px;background:var(--accent);animation:playing-bounce .7s ease-in-out infinite alternate}.playing-bar:first-child{height:6px;animation-delay:0s}.playing-bar:nth-child(2){height:13px;animation-delay:.18s}.playing-bar:nth-child(3){height:9px;animation-delay:.36s}@keyframes playing-bounce{0%{transform:scaleY(.35)}to{transform:scaleY(1)}}.kb-hint{text-align:center;font-size:.72rem;color:var(--text-tertiary);padding:14px 0 0;letter-spacing:.01em}.kb-hint kbd{display:inline-block;padding:1px 5px;border-radius:3px;border:1px solid var(--border);font-size:.68rem;font-family:inherit;background:var(--tag-bg);color:var(--text-secondary)}.manual-root{display:flex;flex-direction:column;height:calc(100vh - 64px);margin-top:64px;position:relative;z-index:1}.manual-bar{display:flex;align-items:center;gap:12px;padding:0 20px;height:44px;border-bottom:1px solid var(--border);background:var(--bg-primary);flex-shrink:0}.manual-back{display:inline-flex;align-items:center;gap:5px;font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-decoration:none;padding:5px 10px;border-radius:6px;transition:background .15s,color .15s}.manual-back:hover{background:var(--tag-bg);color:var(--text-primary)}.manual-bar-title{display:flex;gap:6px;font-size:.875rem;color:var(--text-primary);flex:1 1;justify-content:center}.manual-bar-title,.manual-open{align-items:center;font-weight:600}.manual-open{display:inline-flex;gap:5px;font-size:.78rem;color:var(--accent);text-decoration:none;padding:5px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;white-space:nowrap;transition:border-color .15s,background .15s}.manual-open:hover{border-color:var(--accent);background:var(--accent-tint)}.manual-frame-wrap{flex:1 1;position:relative;overflow:hidden}.manual-iframe{width:100%;height:100%;border:none;display:block;transition:opacity .3s}.manual-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;font-size:.875rem;color:var(--text-tertiary);background:var(--bg-primary);z-index:2}.manual-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:manual-spin .75s linear infinite}@keyframes manual-spin{to{transform:rotate(1turn)}}.manual-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--bg-primary);z-index:2}.manual-fallback p{font-size:.9375rem;color:var(--text-secondary)}.manual-fallback-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;background:var(--accent);color:#fff;font-size:.875rem;font-weight:600;text-decoration:none;transition:opacity .15s}.manual-fallback-btn:hover{opacity:.85}.ent-page{position:relative;z-index:1;flex:1 1;max-width:520px;margin:0 auto;width:100%;padding:100px 24px 64px}.ent-page-header{margin-bottom:36px}.ent-page-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:6px}.ent-page-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.6}.ent-contact{flex-direction:column;gap:20px;padding:32px;background:var(--card-bg);border:1px solid var(--border);border-radius:10px}.ent-contact,.ent-qr{display:flex;align-items:center}.ent-qr{width:180px;height:180px;border-radius:8px;overflow:hidden;background:#fff;border:1px solid var(--border);padding:6px;justify-content:center}.ent-qr-img{width:100%;height:100%;object-fit:contain}.ent-contact-text{display:flex;flex-direction:column;align-items:center;gap:4px}.ent-contact-label{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.ent-contact-id{font-size:.8125rem;color:var(--text-secondary)}.rn-page{position:relative;z-index:1;flex:1 1;max-width:640px;width:100%;margin:0 auto;padding:100px 24px 64px}.rn-page-header{margin-bottom:32px}.rn-page-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.rn-list{display:flex;flex-direction:column;gap:16px}.rn-card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:20px 24px}.rn-card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.rn-version-badge{font-size:.9375rem;font-weight:700;color:var(--text-primary)}.rn-latest-tag{font-size:.65rem;font-weight:600;letter-spacing:.04em;padding:2px 7px;border-radius:3px;background:var(--tag-new-bg);color:var(--tag-new-color)}.rn-date{margin-left:auto;font-size:.8125rem;color:var(--text-tertiary)}.rn-divider{height:1px;background:var(--border);margin-bottom:14px}.rn-items-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.rn-item{display:flex;align-items:flex-start;gap:8px;font-size:.8125rem;color:var(--text-secondary);line-height:1.55}.rn-item:before{content:"–";color:var(--text-tertiary);flex-shrink:0}.rn-empty{padding:48px 24px}.rn-empty,.rn-loading{text-align:center;color:var(--text-tertiary);font-size:.875rem}.rn-loading{padding:40px}.tut-page-header{position:relative;z-index:1;max-width:1160px;margin:0 auto;padding:100px 24px 32px}.tut-page-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:6px}.tut-page-desc{font-size:.875rem;color:var(--text-secondary)}.tut-doc-section{position:relative;z-index:1;padding:0 24px 64px}.tut-doc-inner{max-width:1160px;margin:0 auto}.tut-doc-heading{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:10px}.tut-doc-link{text-decoration:none;display:block}.tut-doc-link-body{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;font-size:.875rem;font-weight:500;color:var(--text-primary);transition:border-color .15s}.tut-doc-link-body:hover{border-color:var(--accent)}.tut-doc-link-body span{flex:1 1}@media(max-width:860px){.tutorials-layout{grid-template-columns:1fr}}@media(max-width:768px){.navbar{padding:0 14px}.brand-text{font-size:.92rem}.nav-link{font-size:.8rem;padding:5px 7px;margin-right:0}.theme-toggle{width:32px!important;height:32px!important}.hero-brand{font-size:1.35rem}.logo-wrapper{gap:8px;margin-bottom:16px}.btn-download-main{padding:12px 36px;font-size:.9rem}.hero-footer{font-size:.78rem;bottom:20px}.page-hero{padding:100px 20px 48px}.feat-page{padding:88px 16px 48px}.feat-grid{gap:12px}}@media(max-width:600px){.dl-row{flex-direction:column;align-items:flex-start;gap:10px}.dl-row-btn{width:100%;text-align:center}.feat-grid{grid-template-columns:1fr}}@media(max-width:560px){.navbar{padding:0 10px}.brand-text{display:none}.nav-link{font-size:.73rem;padding:4px 5px}.hero-logo{width:40px!important;height:40px!important}.hero-brand{font-size:1.1rem}.btn-download-main{padding:11px 28px;font-size:.875rem}.page-hero-sub{font-size:.9375rem}.card-desc{font-size:.75rem}.ent-page{padding:88px 16px 48px}.ent-contact{padding:20px 16px}.rn-card{padding:18px}}@media(max-width:520px){.tutorials-section{padding:0 14px 56px}.time-display,.volume-group{display:none}.playlist-item-title{font-size:.8rem}}.adm-loading{background:var(--bg);color:var(--text-secondary);font-size:.9rem}.adm-loading,.adm-login-bg{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:9999}.adm-login-bg{background:oklch(17% .014 50)}.adm-login-box{background:oklch(22% .015 50);border:1px solid oklch(29% .014 50);border-radius:16px;padding:40px 36px;width:100%;max-width:360px}.adm-login-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px}.adm-login-logo h1{font-size:1.25rem;font-weight:600;color:oklch(93% .009 50);letter-spacing:-.01em}.adm-login-form{display:flex;flex-direction:column;gap:12px}.adm-input{width:100%;padding:10px 14px;background:oklch(17% .014 50);border:1px solid oklch(29% .014 50);border-radius:8px;color:oklch(93% .009 50);font-size:.9375rem;font-family:inherit;outline:none;transition:border-color .15s}.adm-input:focus{border-color:var(--accent)}.adm-error{font-size:.8125rem;color:oklch(65% .18 22);padding:0 2px}.adm-btn-primary{padding:10px;background:var(--accent);color:oklch(99% .003 50);border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s}.adm-btn-primary:hover{opacity:.88}.adm-wrap{position:fixed;inset:0;z-index:9999;display:flex;background:oklch(97% .006 50)}[data-theme=dark] .adm-wrap{background:oklch(17% .014 50)}.adm-sidebar{width:200px;flex-shrink:0;background:oklch(18% .016 50);display:flex;flex-direction:column;padding:20px 0}.adm-brand{display:flex;align-items:center;gap:9px;padding:0 20px 24px;color:oklch(93% .009 50);font-size:.9375rem;font-weight:600}.adm-nav{flex:1 1;display:flex;flex-direction:column;gap:2px;padding:0 10px}.adm-nav-item{padding:8px 12px;border-radius:7px;font-size:.8125rem;color:oklch(62% .011 50);cursor:default;transition:background .15s,color .15s}.adm-nav-item--active,.adm-nav-item:hover{background:oklch(25% .015 50);color:oklch(93% .009 50)}.adm-logout{margin:10px 10px 0;padding:8px 12px;background:transparent;border:1px solid oklch(29% .014 50);border-radius:7px;color:oklch(55% .01 50);font-size:.8rem;cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s;text-align:left}.adm-logout:hover{border-color:oklch(65% .18 22);color:oklch(65% .18 22)}.adm-main{flex:1 1;overflow-y:auto;padding:32px 36px}.adm-section{margin-bottom:40px}.adm-section-title{font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}.adm-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.adm-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:20px 22px}.adm-card-label{font-size:.78rem;color:var(--text-secondary);margin-bottom:6px}.adm-card-value{font-size:2rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1}.adm-chart{display:flex;gap:8px;align-items:flex-end;height:140px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:16px 16px 8px}.adm-chart-col{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}.adm-chart-bar-wrap{flex:1 1;width:100%;display:flex;align-items:flex-end}.adm-chart-bar{width:100%;background:var(--accent);border-radius:4px 4px 0 0;transition:height .4s cubic-bezier(.22,1,.36,1);min-height:0;opacity:.85}.adm-chart-count{font-size:.65rem;color:var(--text-secondary)}.adm-chart-label{font-size:.68rem;color:var(--text-tertiary)}.adm-table-wrap{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;overflow:hidden}.adm-table{width:100%;border-collapse:collapse;font-size:.875rem}.adm-table th{text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary)}.adm-table td,.adm-table th{padding:10px 16px;border-bottom:1px solid var(--border)}.adm-table td{color:var(--text-primary)}.adm-table tr:last-child td{border-bottom:none}.adm-table tr:hover td{background:var(--bg-secondary)}.adm-table-empty{color:var(--text-tertiary);font-size:.8125rem;text-align:center;padding:24px!important}.adm-qr-wrap{display:flex;gap:24px;flex-wrap:wrap}.adm-qr-preview,.adm-qr-upload{flex:1 1;min-width:200px}.adm-qr-label{font-size:.78rem;color:var(--text-secondary);margin-bottom:10px}.adm-qr-img{width:200px;height:auto;border-radius:10px;border:1px solid var(--card-border);display:block}.adm-upload-area{display:block;cursor:pointer}.adm-upload-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 20px;border:2px dashed var(--border);border-radius:10px;color:var(--text-secondary);font-size:.875rem;transition:border-color .15s,background .15s}.adm-upload-area:hover .adm-upload-inner{border-color:var(--accent);background:var(--accent-tint);color:var(--text-primary)}.adm-upload-hint{font-size:.75rem;color:var(--text-tertiary)}.adm-upload-msg{margin-top:10px;font-size:.8125rem;font-weight:500}.adm-upload-msg--ok{color:oklch(52% .155 148)}.adm-upload-msg--err{color:oklch(55% .18 22)}.contact-float{position:fixed;right:20px;bottom:88px;z-index:50;align-items:flex-end;gap:10px}.contact-float,.contact-float-btn{display:flex;flex-direction:column}.contact-float-btn{align-items:center;gap:3px;padding:10px 13px;background:var(--accent);color:oklch(99% .003 50);border:none;border-radius:12px;cursor:pointer;font-size:.72rem;font-weight:600;letter-spacing:.02em;box-shadow:0 4px 16px oklch(60% .175 48/.35);transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1);font-family:inherit}.contact-float-btn:hover{transform:translateY(-2px);box-shadow:0 6px 22px oklch(60% .175 48/.45)}.contact-float-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:14px;box-shadow:0 8px 32px rgba(0,0,0,.14),0 2px 8px rgba(0,0,0,.08);text-align:center;animation:contactIn .25s cubic-bezier(.16,1,.3,1)}.contact-float-card img{width:200px;height:auto;border-radius:8px;display:block}.contact-float-card p{font-size:.78rem;color:var(--text-secondary);margin-top:8px;font-weight:500}[data-theme=dark] .contact-float-card{box-shadow:0 8px 32px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.2)}@keyframes contactIn{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:640px){.contact-float{right:14px;bottom:80px}.contact-float-card img{width:170px}}