/* 功能介绍小动画（feature-scenes.js）。场景按 720×540 绘制，再整体缩放到轮播卡片宽度。 */
.fs-root{position:absolute;inset:0;z-index:3;overflow:hidden;border-radius:18px;background:var(--theme-surface,#f3f3f1);pointer-events:none}
.fs-stage{position:absolute;left:0;top:0;width:720px;height:540px;transform-origin:0 0}
.fs-win{position:absolute;overflow:hidden;border-radius:14px;background:var(--theme-bg,#fff);box-shadow:0 1px 0 rgba(0,0,0,.04),0 24px 60px -18px rgba(25,35,30,.22),0 0 0 1px rgba(0,0,0,.06)}
.fs-bar{display:flex;align-items:center;gap:6px;height:26px;padding:0 12px;border-bottom:1px solid var(--theme-line,#eee);font:11px/1 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:var(--theme-muted,#999)}
.fs-bar i{width:8px;height:8px;border-radius:50%;background:var(--theme-soft,#e2e2e2)}
.fs-bar em{margin-left:8px;font-style:normal}
.fs-view{position:relative;overflow:hidden;background:var(--theme-bg,#fff)}
.fs-view img{display:block;max-width:none}
.fs-track{position:relative;display:flex;transition:transform .7s cubic-bezier(.22,.7,.2,1)}
.fs-track img{flex:none}
.fs-scroll{position:absolute;left:0;top:0;transition:transform 1.4s cubic-bezier(.22,.7,.2,1)}
.fs-lens{position:absolute;left:0;top:0;transform-origin:0 0;transition:transform 2.4s cubic-bezier(.45,.05,.25,1)}
.fs-hl{position:absolute;z-index:2;border:2px solid #37695b;border-radius:9px;box-shadow:0 0 0 4px rgba(55,105,91,.12);opacity:0;transition:opacity .35s}
.fs-lens .fs-hl{border-width:5px;border-radius:20px;box-shadow:0 0 0 10px rgba(55,105,91,.12)}
.fs-hl.on{opacity:1}
.fs-toggle{position:absolute;z-index:3;width:34px;height:19px;border-radius:999px;background:#37695b;box-shadow:0 0 0 3px #fff;transition:background .25s}
.fs-toggle::after{content:"";position:absolute;top:2px;left:17px;width:15px;height:15px;border-radius:50%;background:#fff;transition:left .25s cubic-bezier(.22,.7,.2,1)}
.fs-toggle.off{background:#d5d5d5}
.fs-toggle.off::after{left:2px}
.fs-chip{position:absolute;left:50%;z-index:4;padding:5px 11px;border-radius:999px;background:var(--theme-ink,#191919);color:var(--theme-on-ink,#fff);font:11.5px/1.4 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;white-space:nowrap;opacity:0;transform:translate(-50%,6px);transition:opacity .35s,transform .35s cubic-bezier(.22,.7,.2,1)}
.fs-chip.on{opacity:1;transform:translate(-50%,0)}
.fs-cursor{position:absolute;left:0;top:0;z-index:5;width:20px;height:20px;opacity:0;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25));transition:transform .9s cubic-bezier(.22,.7,.2,1),opacity .3s}
.fs-click{position:absolute;z-index:5;width:30px;height:30px;margin:-15px 0 0 -15px;border:2px solid #37695b;border-radius:50%;animation:fs-click .5s ease-out forwards}
@keyframes fs-click{from{transform:scale(.3);opacity:.9}to{transform:scale(1.4);opacity:0}}
@media (prefers-reduced-motion:reduce){.fs-root{display:none}}

/* 场景右下角“再看一遍” */
.fs-replay{position:absolute;right:14px;bottom:12px;z-index:6;pointer-events:auto;padding:5px 11px;border:1px solid var(--theme-line,#dfe2de);border-radius:999px;background:rgba(255,255,255,.92);font:12px/1.4 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:var(--theme-ink,#3a3a3a);cursor:pointer}
.fs-replay:hover{background:var(--theme-bg,#fff);color:var(--theme-ink,#111)}

/* 进阶插件演示：插件页面网页还原（feature-scenes.js 的 PLUGINS） */
.fp-root{pointer-events:auto;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue","PingFang SC",sans-serif;color:var(--theme-ink,#191919)}
.fp-panel{position:absolute;left:90px;top:30px;width:540px;height:480px;overflow:hidden;border:1px solid var(--theme-line,#dfe2de);border-radius:16px;background:var(--theme-bg,#fff);box-shadow:0 20px 50px -30px rgba(0,0,0,.25)}
.fp-pro{font-size:10.5px;font-weight:700;letter-spacing:.06em;padding:2px 7px;border-radius:5px;background:var(--theme-ink,#191919);color:var(--theme-on-ink,#fff)}
.fp-body{position:relative;height:430px;padding:16px;overflow:hidden;background:var(--theme-surface,#fcfcfb);font-size:13px;line-height:1.7}
.fp-card{padding:12px 14px;border:1px solid var(--theme-line,#e9e9e9);border-radius:12px;background:var(--theme-bg,#fff)}
.fp-card+.fp-card{margin-top:10px}
.fp-lbl{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--theme-muted,#8a8a8a)}
.fp-lbl img{width:18px;height:18px;border-radius:50%}
.fp-lbl .r,.fp-btn.r{margin-left:auto}
.fp-txt{min-height:1.85em;margin:6px 0 0;font-size:13.5px;line-height:1.85;color:var(--theme-ink,#222)}
.fp-mute{font-size:12.5px;color:var(--theme-copy,#686868)}
.fp-en{font-family:"Iowan Old Style",Georgia,serif;font-size:14px}
.fp-caret::after{content:"";display:inline-block;width:1.5px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--theme-ink,#191919);animation:fp-blink 1s steps(1) infinite}
@keyframes fp-blink{50%{opacity:0}}
.fp-btn{display:inline-flex;align-items:center;min-height:30px;padding:5px 11px;border:1px solid var(--theme-line,#dfe2de);border-radius:8px;background:var(--theme-bg,#fff);font:inherit;font-size:12px;cursor:pointer;transition:background .2s,transform .15s}
.fp-btn.dark{background:var(--theme-ink,#202522);border-color:var(--theme-line-strong,#202522);color:var(--theme-on-ink,#fff)}
.fp-btn.press{transform:scale(.95)}
.fp-opts{display:flex;gap:6px;margin-top:6px}
.fp-mark{border-radius:2px;background:linear-gradient(transparent 60%,rgba(127,212,176,.55) 60%)}
.fp-sug{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.fp-sug div{padding:8px 10px;border-radius:10px;font-size:12.5px;line-height:1.6}
.fp-sug .a{background:var(--theme-surface,#f5f6f4);color:var(--theme-copy,#686868)}
.fp-sug .b{background:var(--theme-accent-soft,#eef3f0);color:var(--theme-accent,#24483e)}
.fp-sug small{display:block;margin-bottom:2px;font-size:11px;color:var(--theme-muted,#8a8a8a)}
.fp-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--theme-line,#f0f0ef)}
.fp-row:first-child{border-top:0}
.fp-row .amt{margin-left:auto;font-size:12px;color:var(--theme-copy,#686868);font-variant-numeric:tabular-nums}
.fp-card[data-r=rows] .amt{font-size:13px;color:var(--theme-ink,#222)}
.fp-tag{padding:2px 7px;border-radius:999px;background:var(--theme-surface,#f5f6f4);font-size:11px;color:var(--theme-copy,#686868)}
.fp-tag.warn{background:var(--theme-surface,#fbf1ec);color:#a8532b}
.fp-tag.new{background:var(--theme-accent-soft,#eef3f0);color:var(--theme-accent,#24483e)}
.fp-stat{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.fp-stat div{padding:8px 10px;border:1px solid var(--theme-line,#e9e9e9);border-radius:10px;background:var(--theme-bg,#fff)}
.fp-stat b{display:block;font-size:17px;font-variant-numeric:tabular-nums}
.fp-stat span{font-size:11px;color:var(--theme-muted,#8a8a8a)}
.fp-bar{height:6px;margin-top:6px;overflow:hidden;border-radius:999px;background:var(--theme-surface,#eee)}
.fp-bar i{display:block;height:100%;border-radius:inherit;background:var(--theme-accent,#37695b);transition:width 1.2s cubic-bezier(.22,.7,.2,1)}
.fp-bar i.hot{background:#a8532b}
.fp-budget{margin-top:8px;font-size:12.5px}
.fp-budget span{float:right}
.fp-file{display:flex;align-items:center;gap:10px}
.fp-file b{font-size:13px}
.fp-file .ic,.fp-out .ic{display:grid;place-items:center;width:30px;height:36px;border-radius:5px;background:var(--theme-surface,#f3eee9);color:#a8532b;font-size:10px;font-weight:700}
.fp-chk{display:flex;align-items:center;gap:8px;padding:5px 0}
.fp-chk i{display:grid;place-items:center;width:15px;height:15px;border:1.5px solid var(--theme-line,#bbb);border-radius:4px;font-style:normal;font-size:10px;color:var(--theme-on-ink,#fff);transition:.2s}
.fp-chk.on i{background:var(--theme-accent,#37695b);border-color:var(--theme-accent,#37695b)}
.fp-chk.on i::after{content:"✓"}
.fp-prog{display:flex;align-items:center;gap:10px;padding:7px 0}
.fp-prog .st{margin-left:auto;font-size:12px;color:var(--theme-muted,#8a8a8a)}
.fp-prog .st.ok{color:var(--theme-accent,#37695b)}
.fp-spin{display:inline-block;width:12px;height:12px;border:2px solid var(--theme-accent,#37695b);border-right-color:transparent;border-radius:50%;vertical-align:-1px;animation:fp-spin 1s linear infinite}
@keyframes fp-spin{to{transform:rotate(360deg)}}
.fp-out{display:flex;align-items:center;gap:10px;margin-top:8px;padding:9px 10px;border:1px solid var(--theme-line,#e9e9e9);border-radius:10px;background:var(--theme-bg,#fff)}
.fp-out .ic{width:26px;height:30px;background:var(--theme-surface,#f5f6f4);color:var(--theme-copy,#686868);font-size:9px}
.fp-out small{display:block;font-size:11px;color:var(--theme-muted,#8a8a8a)}
.fp-out .go{margin-left:auto;color:var(--theme-muted,#8a8a8a)}
.fp-out.hl{border-color:var(--theme-accent,#37695b);box-shadow:0 0 0 3px rgba(55,105,91,.12)}
.fp-sheet{position:absolute;inset:0;padding:18px 20px;background:var(--theme-bg,#fff);transform:translateX(100%);transition:transform .55s cubic-bezier(.22,.7,.2,1)}
.fp-sheet.on{transform:none}
.fp-sheet h4{margin:8px 0 0;font-size:16px}
.fp-sheet p{margin:8px 0 0;font-size:13px;line-height:1.85;color:var(--theme-ink,#333)}
.fp-sheet blockquote{margin:10px 0 0;padding:8px 12px;border-left:2px solid var(--theme-accent,#37695b);background:var(--theme-surface,#f5f6f4);font-size:12.5px;color:var(--theme-copy,#686868)}
.fp-fly{position:absolute;z-index:5;padding:4px 10px;border-radius:999px;background:var(--theme-ink,#191919);color:var(--theme-on-ink,#fff);font-size:12px;white-space:nowrap;transition:transform .9s cubic-bezier(.22,.7,.2,1),opacity .9s}
.fp-in{animation:fp-in .45s cubic-bezier(.22,.7,.2,1) both}
@keyframes fp-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* 「交代一句」里的选项只做演示，由动画按下 */
.flow-options .flow-option{display:inline-flex;align-items:center;min-height:32px;padding:4px 10px;border:1px solid var(--theme-line,#dfe2de);border-radius:8px;background:var(--theme-bg,#fff);font-size:12px;transition:background .2s,color .2s,border-color .2s}
.flow-options .flow-option.is-pressed{background:var(--theme-ink,#202522);border-color:var(--theme-line-strong,#202522);color:var(--theme-on-ink,#fff)}

/* 同一张笔记中的独立 Paper 图层；镜头和光标使用笔记坐标。 */
.fm-win{left:20px;top:22px;width:680px}
.fm-view{height:440px;background:#fff}
.fm-canvas{position:absolute;left:0;top:0;width:640px;height:600px;transform-origin:0 0;color:#000;font-family:"PingFang SC",system-ui,sans-serif}
.fm-canvas img{height:auto;object-fit:contain;object-position:left top}
.fm-canvas>img{position:absolute;left:20px;width:600px}
.fm-title{top:16px}.fm-note{top:70px}
.fm-choice{position:absolute;left:20px;top:280px;width:600px;height:94px}
.fm-choice img{width:600px;height:94px}
.fm-choice-hover{position:absolute;left:0;top:52px;width:200px;height:42px;border-radius:6px;background:rgba(0,0,0,.08)}
.fm-prompt{position:absolute;left:20px;top:280px;width:429px;height:42px}
.fm-prompt img{width:429px;height:42px}
.fm-typing{position:absolute;left:115px;top:4px;width:280px;height:34px;background:#f4f4f5;white-space:nowrap;font:23px/34px "PingFang SC",system-ui,sans-serif}
.fm-proposal{position:absolute;left:20px;top:70px;width:600px;padding:14px;background:#f4f4f5;border-radius:8px}
.fm-toolbar{position:relative;width:572px;height:40px}
.fm-toolbar img{position:absolute;inset:0;width:572px;height:40px}
.fm-proposal-body{position:relative;margin-top:12px;width:572px}
.fm-proposal-body img{position:absolute;left:0;top:0;width:572px}
.fm-pressed{position:absolute;right:0;top:0;width:68px;height:40px;background:rgba(255,255,255,.3);border-radius:5px}
.fm-canvas>.fm-written{top:70px;width:572px}
.fm-after{top:0;transition:transform .6s cubic-bezier(.22,.7,.2,1)}
.fm-canvas .fs-cursor{transition:none}
.fm-click{position:absolute;left:-15px;top:-15px;width:30px;height:30px;border:2px solid #777;border-radius:50%}
.fm-focus{position:absolute;left:34px;top:136px;width:572px;height:152px;background:rgba(0,0,0,.035);border-radius:4px;pointer-events:none}
.fm-view>.fs-chip{top:auto;bottom:12px;max-width:650px;white-space:normal;text-align:center;font-size:24px;line-height:1.35;padding:8px 14px;border-radius:8px}
.fs-bar .fp-pro{margin-left:5px;font-size:9px;padding:2px 5px}
.fs-replay{min-height:44px;border-color:var(--theme-line,#dfe2de);background:var(--theme-bg,#fff)}
.fs-replay:focus-visible{outline:none;background:var(--theme-soft,#e2e2e2)}
/* PRO 同样使用日记的窗口栏，内容独立运镜，提示条不随镜头缩小。 */
.fp-root{pointer-events:none}
.fp-panel{left:50px;top:37px;width:620px;height:466px;border:0;border-radius:14px}
.fp-viewport{position:relative;height:440px;overflow:hidden;background:var(--theme-surface,#fcfcfb)}
.fp-camera{position:absolute;inset:0;transform-origin:0 0;transition:transform 1.2s cubic-bezier(.22,.7,.2,1)}
.fp-body{height:440px;padding:16px;overflow:hidden}
.fp-panel>.fp-caption{left:50%;bottom:10px;max-width:590px;white-space:normal;text-align:center;font-size:21px;line-height:1.4;border-radius:8px;padding:7px 12px}
.fp-card.fp-focus{background:var(--theme-surface,#f3f3f1)}
.fp-camera{inset:auto;left:40px;top:0;width:540px;height:440px}
.fp-body{width:540px}

.fs-paused *{animation-play-state:paused!important;transition:none!important}
.gallery-card:has(.fs-root:not([hidden]))>img{visibility:hidden}
