/* 平设宝：画板、卡片与几何标注 */
.ap-base{background:linear-gradient(160deg,#2b2b2e 0%,#0b0b0c 50%,#000 100%)}
.ap-layer{position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:translate(var(--x),var(--y)) scale(.92)}
.hero-reveal[data-film=bridging] .ap-layer{animation:ap-layer .8s cubic-bezier(.2,.8,.25,1) var(--d) forwards}
@keyframes ap-layer{to{opacity:1;transform:none}}
.brand img,.ap-tab img{transform:scale(1.25)}
.ap-win{background:#1c1c1e;color:#e5e5e7;font-family:var(--font-text);display:grid;grid-template-rows:auto auto 1fr;overflow:hidden}
.ap-title{height:40px;display:flex;align-items:center;gap:14px;padding:0 14px;background:#151517;border-bottom:1px solid #2c2c2e}
.ap-tab{margin:0 auto;display:flex;gap:8px;align-items:center;font-size:12.5px;color:#cfcfcf}
.ap-tab img{width:18px;height:18px}
.ap-tools{display:flex;gap:8px;padding:10px 14px;border-bottom:1px solid #2c2c2e;align-items:center}
.ap-btn{height:32px;padding:0 14px;border-radius:8px;border:1px solid #3a3a3c;background:#232325;font-size:13px;display:inline-flex;align-items:center;gap:6px;transition:background .2s,border-color .2s}
.ap-btn.is-hot{background:#2f2a45;border-color:#8b7cf6;color:#fff}
.ap-btn.ok{background:#1f3a2a;border-color:#3acd6c;color:#bff5cf}
.ap-stat{margin-left:auto;font:600 12.5px ui-monospace,Menlo,monospace;color:#8a8a8e}
.ap-stat.ok{color:#5fe08a}
.ap-main{position:relative;min-height:0;display:grid;place-items:center;background:#111113;overflow:hidden}
.ap-card{position:relative;background:#f4f3ef;border-radius:6px;box-shadow:0 20px 50px rgba(0,0,0,.5);overflow:hidden}
.ap-grid{position:absolute;inset:0;background-image:linear-gradient(#dcdad4 1px,transparent 1px),linear-gradient(90deg,#dcdad4 1px,transparent 1px);background-size:var(--g) var(--g);opacity:.9}
.ap-word{position:absolute;left:0;top:0;white-space:nowrap;color:#111;line-height:1;transition:transform .9s cubic-bezier(.2,.8,.25,1)}
.ap-latin{font-family:"SF Pro Display","Helvetica Neue",Arial,sans-serif;font-weight:700}
.ap-han{font-family:"PingFang SC","SF Pro SC",sans-serif;font-weight:600}
.ap-box{position:absolute;border:1.5px dashed #e5484d;pointer-events:none;transition:transform .9s cubic-bezier(.2,.8,.25,1),opacity .3s}
.ap-ink{position:absolute;width:3px;background:#22a55b;pointer-events:none;transition:transform .9s cubic-bezier(.2,.8,.25,1),opacity .3s}
.ap-guide{position:absolute;width:2px;background:#2f6fe4;top:0;bottom:0;pointer-events:none;transition:transform .9s cubic-bezier(.2,.8,.25,1)}
.ap-hline{position:absolute;height:2px;background:#2f6fe4;left:0;right:0;pointer-events:none;transition:transform .9s cubic-bezier(.2,.8,.25,1),opacity .3s}
.ap-label{position:absolute;font:600 11px var(--font-text);color:#2f6fe4;white-space:nowrap}
.ap-note{position:absolute;left:16px;bottom:14px;right:16px;font-size:13px;color:#4a4a4a;background:rgba(255,255,255,.85);border-radius:8px;padding:8px 12px}
.ap-legend{position:absolute;right:14px;top:12px;display:flex;gap:12px;font-size:11px;color:#555}
.ap-legend i{display:inline-block;width:14px;height:3px;margin-right:4px;vertical-align:middle}
.ap-proof{width:100%;max-width:640px;display:grid;gap:8px;padding:20px}
.ap-proof div{display:grid;grid-template-columns:1fr 140px 30px;align-items:center;padding:10px 14px;border-radius:10px;background:#1d1d20;border:1px solid #2c2c2e;font-size:14px}
.ap-proof em{font:600 13px ui-monospace,Menlo,monospace;font-style:normal;color:#ff8a7a;text-align:right;transition:color .3s}
.ap-proof em.ok{color:#5fe08a}
.ap-proof b{text-align:center;color:#5fe08a;opacity:0;transition:opacity .3s}
.ap-proof b.on{opacity:1}
.ap-commit{margin-top:6px;text-align:center;padding:12px;border-radius:10px;background:#1f3a2a;color:#bff5cf;font-weight:600;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}
.ap-commit.on{opacity:1;transform:none}
.ap-lib{display:grid;gap:10px;align-content:start;padding:18px;background:#18181a;border-right:1px solid #2c2c2e}
.ap-chip{padding:12px 14px;border-radius:10px;background:#232325;border:1px solid #3a3a3c;font-weight:700;font-size:20px;color:#f2f2f2;transition:opacity .2s}
.ap-chip.is-lifted{opacity:.35}
.ap-board{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:34px}
.ap-thumb{aspect-ratio:16/9;background:#f4f3ef;border-radius:6px;position:relative;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.ap-thumb span{position:absolute;color:#111;line-height:1}
.ap-img{width:100%;height:100%;object-fit:contain;background:#f1f0ec}
.ap-json{margin:0;padding:22px 26px;font:13px/1.65 ui-monospace,Menlo,monospace;color:#c9d1d9;background:#0d1117;height:100%;overflow:hidden;white-space:pre}
.ap-json .k{color:#79c0ff}.ap-json .s{color:#a5d6ff}.ap-json .n{color:#ffa657}
.rp-demo .ap-win{width:880px;height:580px;grid-template-rows:1fr}
.drag-ghost[data-kind=text] .rp-ghost-text{font-size:16px;font-weight:700}
