/* v4: hover wave fallback + plans editor */
@keyframes wv{0%{transform:translateY(0) rotate(0)}20%{transform:translateY(-6px) rotate(-4deg)}40%{transform:translateY(-2px) rotate(4deg)}60%{transform:translateY(-5px) rotate(-3deg)}80%{transform:translateY(-1px) rotate(2deg)}100%{transform:none}}
.fig.wv img{animation:wv .9s cubic-bezier(.3,.1,.3,1);transform-origin:50% 100%}
.ring .fig.wv{animation:none}
@media (prefers-reduced-motion:reduce){.fig.wv img{animation:none}}
.lineup{gap:4px}.lu{min-width:58px}
.hint{color:#7b81a8;font-size:12px;margin:8px 0 0}.muted{color:#8a90b4;font-size:12px}.empty{padding:14px;text-align:center;background:#f7f9fd;border-radius:12px}
.btn{transition:transform .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(1px)}
.btn.sm{padding:6px 13px;font-size:12px}.btn.del{color:#be123c}
.tgl.inb i{background:repeating-linear-gradient(45deg,#14b8a6,#14b8a6 4px,#5eead4 4px,#5eead4 8px)!important;opacity:.85}
.bsel,.cur,.fl input,.pf input{border:0;border-radius:999px;background:#f3f6fb;box-shadow:inset 0 1px 3px #1e214d1a;padding:7px 12px;font:inherit;font-size:13px;color:#13163f;min-width:0}
.bsel:focus,.cur:focus,.fl input:focus,.pf input:focus{outline:2px solid #07b9e2;outline-offset:1px}
.pp h5{margin:16px 0 0;font-size:14px;color:#1e214d}.pp h5:first-of-type{margin-top:4px}
.wpg{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:10px}
.wpc{display:grid;grid-template-columns:44px 1fr auto;grid-template-rows:auto auto;gap:6px 10px;align-items:center;background:#fff;border-radius:16px;padding:10px 12px;box-shadow:0 2px 12px #1e214d14;transition:opacity .2s,box-shadow .2s}
.wpc:hover{box-shadow:0 6px 20px #1e214d1f}.wpc.off{opacity:.55}
.wpc img{width:44px;height:52px;object-fit:contain;grid-row:1}.wh b{display:block;font-size:14px}.wh small{color:#7b81a8;font-size:11px}
.pf{grid-column:1/-1;display:flex;align-items:center;gap:6px}.pf input{flex:1;width:100%}.pf span{color:#7b81a8;font-size:12px}.pf .cur{flex:none;width:82px}
.bh{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.bh h5{margin:0!important}
.bl{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.bc{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;background:#fff;border-radius:16px;padding:12px 14px;box-shadow:0 2px 12px #1e214d14}
.bp{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.bp b{font-size:18px}.bp small,.pr small{font-size:11px;color:#7b81a8;font-weight:500}
.ba{display:flex;gap:6px}
.chips,.ms{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.chip{display:inline-flex;align-items:center;gap:5px;background:#fff;border-radius:999px;padding:3px 10px 3px 4px;font-size:12px;font-weight:600;color:#1e214d;box-shadow:0 2px 8px #1e214d1a}
.chip img{width:20px;height:24px;object-fit:contain}
.chip.pick{border:0;cursor:pointer;font:inherit;font-size:12px;font-weight:600;transition:all .18s}
.chip.pick[aria-pressed=true]{background:var(--grad);color:#fff;box-shadow:0 4px 12px #07b9e255}
.modal{position:fixed;inset:0;background:#0f12384d;backdrop-filter:blur(3px);display:grid;place-items:center;z-index:100;opacity:0;transition:opacity .2s;padding:14px}
.modal.in{opacity:1}.mbox{background:#fff;border-radius:22px;padding:22px;width:min(520px,100%);max-height:calc(100vh - 28px);overflow:auto;box-shadow:0 30px 80px #0f123855;transform:translateY(12px) scale(.98);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.modal.in .mbox{transform:none}.mbox h3{margin:0 0 14px}
.fl{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#4b5180;margin-bottom:14px}
.sum{background:#f7f9fd;border-radius:14px;padding:8px 12px;min-height:20px}.sum .li{border:0;padding:4px 0}
.mact{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.pcg{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.pcg.bun{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.pc{background:#fff;border-radius:18px;padding:14px;box-shadow:0 2px 14px #1e214d14;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;transition:transform .2s,box-shadow .2s}
.pc:hover{transform:translateY(-2px);box-shadow:0 10px 28px #1e214d22}.pc.mine{box-shadow:0 0 0 2px #07b9e2,0 8px 24px #07b9e233}
.pc img{height:80px}.pc small{color:#7b81a8;font-size:11px}.pc .pr{font-size:20px;font-weight:700;min-height:28px}.pc.b{align-items:flex-start;text-align:left}.pc .bn{font-size:16px}
@media (max-width:860px){.wpg{grid-template-columns:1fr}.bc{grid-template-columns:1fr;}.bp{align-items:flex-start;text-align:left}.pcg{grid-template-columns:repeat(2,1fr)}.pcg.bun{grid-template-columns:1fr}.lu{min-width:54px}}
/* v5: panel on the LEFT */
@media (min-width:861px){.wrap{flex-direction:row}aside#rail{order:0;border-left:0;border-right:1px solid #e3e8f2}main{order:1;flex:1}}
@media (max-width:860px){aside#rail{right:auto;left:0;transform:translateX(-100%);box-shadow:10px 0 30px #0f123833}body.open aside#rail{transform:none}}
/* v5 Tools hub */
.th{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
.seg{display:flex;background:#fff;border-radius:999px;padding:4px;box-shadow:0 2px 12px #1e214d14;gap:2px}
.seg button{border:0;background:none;border-radius:999px;padding:9px 16px;font:inherit;font-size:13px;font-weight:600;color:#4b5180;cursor:pointer;transition:all .2s;white-space:nowrap}
.seg button[aria-selected=true]{background:var(--grad);color:#fff;box-shadow:0 6px 16px #07b9e255}
.tq{flex:1;min-width:180px;border:0;border-radius:999px;background:#fff;box-shadow:0 2px 12px #1e214d14;padding:11px 18px;font:inherit;font-size:14px}.tq:focus{outline:2px solid #07b9e2}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:14px}
.tcard{display:flex;align-items:center;gap:14px;text-align:left;border:0;background:#fff;border-radius:20px;padding:18px;cursor:pointer;font:inherit;color:#13163f;box-shadow:0 2px 14px #1e214d12;transition:transform .2s,box-shadow .2s;position:relative}
.tcard:hover{transform:translateY(-2px);box-shadow:0 12px 30px #1e214d22}.tcard.open{box-shadow:0 0 0 2px #07b9e2,0 12px 30px #07b9e233}
.tic{width:52px;height:52px;flex:none;display:grid;place-items:center;font-size:26px;border-radius:16px;background:linear-gradient(135deg,#e6f8fd,#e8efff);box-shadow:inset 0 1px 0 #fff,0 4px 10px #1e214d14}
.tt{flex:1;min-width:0}.tt b{display:block;font-size:16px}.tt small{display:block;color:#6b7199;font-size:12.5px;margin-top:3px;line-height:1.35}.tt em{font-style:normal;font-size:10.5px;color:#0062c5;font-weight:600}
.dot{position:absolute;top:14px;right:14px;width:10px;height:10px;border-radius:50%;background:var(--d);box-shadow:0 0 0 4px color-mix(in srgb,var(--d) 20%,transparent)}
.tdet{grid-column:1/-1;background:#fff;border-radius:20px;padding:18px 20px;box-shadow:0 8px 30px #1e214d18;animation:fin .3s ease both}
.tdh{display:flex;align-items:center;gap:10px}.tdh b{font-size:17px;margin-right:auto}
.tdet #plansed .box{box-shadow:none;padding:0;border:0}
.stc{display:flex;flex-wrap:wrap;gap:10px}.stc label{display:flex;align-items:center;gap:8px;background:#f7f9fd;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.stc span{width:14px;height:14px;border-radius:50%}.stc input{width:26px;height:22px;border:0;background:none;padding:0}
.pfl{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 12px}
@media (max-width:860px){.seg{width:100%;overflow-x:auto}.seg button{flex:1;padding:8px 10px;font-size:12px}.tgrid{grid-template-columns:1fr}}
/* v5 parts */
.parts{grid-column:1/-1;border-top:1px solid #eef1f7;padding-top:6px}.parts summary{cursor:pointer;font-size:12px;font-weight:600;color:#0062c5;list-style:none;display:flex;align-items:center;gap:6px}
.parts summary::before{content:"▸";transition:transform .2s}.parts[open] summary::before{transform:rotate(90deg)}.parts summary small{background:#eef4ff;border-radius:999px;padding:0 7px;color:#4b5180}
.prt{display:grid;grid-template-columns:1fr auto 78px auto;gap:6px;align-items:center;margin-top:6px;transition:opacity .2s}.prt.off{opacity:.5}.prt .pl{font-size:12.5px}
.prt .pamt{border:0;border-radius:999px;background:#f3f6fb;box-shadow:inset 0 1px 3px #1e214d1a;padding:5px 10px;font:inherit;font-size:12px;width:100%}
.prt .inc{font-size:10px;padding:2px 8px}.prt .inc[hidden]{display:none}
.pchip{border:0;cursor:pointer;font:inherit;font-size:11.5px;font-weight:600;border-radius:999px;padding:4px 10px;background:#fff;color:#4b5180;box-shadow:0 2px 8px #1e214d1a;transition:all .18s}
.pchip[aria-pressed=true]{background:var(--grad);color:#fff;box-shadow:0 4px 10px #07b9e244}
.prow{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;margin:8px 0}.prow>.chip{flex:none;margin-top:6px}.prow .chips{flex:1}
.chip small{font-weight:500;color:#6b7199}
.yparts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:12px 0 0}.yparts>span:first-child{font-size:12px;font-weight:700;color:#4b5180;margin-right:4px}
.wpg{align-items:start}.tdet #plansed .pp>h4{display:none}
.prt{grid-template-columns:minmax(0,1fr) auto 64px auto}.prt .pl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wpc:has(.parts[open]){grid-column:span 2}@media (max-width:860px){.wpc:has(.parts[open]){grid-column:auto}}.prt{grid-template-columns:minmax(0,1fr) auto 90px auto}
.wpg{grid-auto-flow:row dense}
/* v5.1 */
.wpg{grid-auto-flow:row}.wpc:has(.parts[open]){grid-column:auto}
.prt{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l t" "p p"}.prt .pl{grid-area:l}.prt .tgl{grid-area:t}.prt .pamt{grid-area:p;justify-self:stretch}.prt .inc{grid-area:l;justify-self:end;margin-right:4px}
.rseg{display:inline-flex;background:#f3f6fb;border-radius:999px;padding:3px;gap:2px;box-shadow:inset 0 1px 3px #1e214d14}
.rseg button{border:0;background:none;border-radius:999px;padding:5px 11px;font:inherit;font-size:11.5px;font-weight:600;color:#4b5180;cursor:pointer;transition:all .2s}
.rseg button[aria-checked=true]{background:var(--grad);color:#fff;box-shadow:0 3px 10px #07b9e244}
.wpc.both{background:linear-gradient(135deg,#fff,#f0f9ff)}.duoav{display:flex;width:44px}.duoav img{width:28px!important;height:50px!important}.duoav img+img{margin-left:-12px}
.wh .inc{font-size:10px;padding:1px 7px;margin-left:4px}.wh .inc[hidden]{display:none}
/* v6 sub-tabs */
.stabs{display:flex;gap:4px;overflow-x:auto;background:#fff;border-radius:999px;padding:4px;margin:14px 0;box-shadow:0 2px 12px #1e214d14;scrollbar-width:none}.stabs::-webkit-scrollbar{display:none}
.stabs button{flex:none;border:0;background:none;border-radius:999px;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;color:#4b5180;cursor:pointer;white-space:nowrap;transition:all .2s}
.stabs button:hover{background:#f3f6fb}.stabs button[aria-selected=true]{background:var(--grad);color:#fff;box-shadow:0 6px 16px #07b9e255}
.spane{animation:fin .3s ease both}
.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.frm{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 12px}
.steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.steps li{display:flex;gap:10px;align-items:center;background:#f7f9fd;border-radius:14px;padding:10px 12px;font-size:13px}.steps b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e3e8f2;font-size:12px}.steps .done b{background:#10b981;color:#fff}.steps .now b{background:var(--grad);color:#fff}
.calg{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.calg>div{display:flex;flex-direction:column;gap:5px}.calg b{font-size:12px;color:#4b5180}.calg span{font-size:11px;border-radius:10px;padding:6px 8px}.ev{background:linear-gradient(135deg,#e0f7fd,#dbeafe);color:#0b4a8a;font-weight:600}.fr{background:#f7f9fd;color:#9aa0c0}
.meter{display:flex;height:28px;border-radius:999px;background:#eef1f7;overflow:hidden;margin-bottom:8px}.meter div{background:var(--grad);color:#fff;font-size:11.5px;font-weight:600;display:flex;align-items:center;padding:0 10px;white-space:nowrap}
.pad{display:grid;grid-template-columns:repeat(3,64px);gap:10px;justify-content:center}.pad button{height:56px;border:0;border-radius:50%;background:#fff;box-shadow:0 4px 12px #1e214d1f;font-size:20px;font-weight:600;cursor:pointer;transition:transform .15s}.pad button:active{transform:scale(.94)}
.play{width:30px;height:30px;border:0;border-radius:50%;background:var(--grad);color:#fff;cursor:pointer;flex:none}.wv2{display:flex;align-items:center;gap:2px;height:24px;flex:1;margin:0 10px}.wv2 b{flex:1;background:#c7d7f3;border-radius:2px}
.ta{width:100%;min-height:80px;border:0;border-radius:16px;background:#f3f6fb;padding:12px;font:inherit;box-sizing:border-box;margin-bottom:8px}
.sigp{background:#f7f9fd;border-radius:14px;padding:12px;font-size:13px}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:#13163f;color:#fff;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:600;box-shadow:0 10px 30px #0f123855;transition:all .25s;z-index:200;pointer-events:none}#toast.in{opacity:1;transform:translate(-50%,0)}
@media (max-width:860px){.calg{grid-template-columns:repeat(5,minmax(90px,1fr));overflow-x:auto}.stabs{border-radius:16px}}
.pad1{display:grid;place-items:center;padding:20px}.play.big{width:84px;height:84px;font-size:32px;box-shadow:0 12px 30px #07b9e255}
/* v7 */
.late.shown{animation:none!important;opacity:1!important;transform:none!important}
.abar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 4px;padding:10px 12px;border-radius:14px;background:#eef1ff;border:1px solid #dfe4fb;font-size:13px}.abar b{color:#3730a3}.abar .mut{color:#64748b;font-size:12px;margin-left:auto}
.posts2{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.pt{display:grid;grid-template-columns:40px 1fr auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:8px;border:1px solid #e3e8f2;border-radius:12px;background:#fff}.pt i{grid-row:1/3;width:40px;height:40px;border-radius:9px;background:linear-gradient(135deg,#a855f7,#ec4899)}.pt b{font-size:13px}.pt small{color:#64748b;font-size:11px;grid-column:2}.pt .btn{grid-row:1/3;grid-column:3}
.frow{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:8px 0}.frow .fl{flex:1;min-width:150px}.frow select,.frow input{width:100%}
.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;color:#64748b;font-weight:600;font-size:11px;text-transform:uppercase;padding:6px}.tbl td{padding:8px 6px;border-top:1px solid #eef1f6}
@media (max-width:860px){.abar .mut{margin-left:0;width:100%}.tbl{display:block;overflow-x:auto}}
.howto{margin:6px 0 12px}.howto>b{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.ops{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px;padding:8px;border:1px solid #e3e8f2;border-radius:14px;background:#fff}.ops .oq{flex:1;min-width:140px;border:1px solid #dfe4ee;border-radius:999px;padding:7px 12px;font:inherit;font-size:13px}.ops select{border:1px solid #dfe4ee;border-radius:999px;padding:6px 10px;font:inherit;font-size:13px;background:#f8fafc}.ops .osp{flex:1}
@media (max-width:860px){.ops .osp{display:none}.ops select{flex:1}}
.abar{flex-wrap:nowrap;overflow:visible}.abar .mut{white-space:nowrap}
.cpk{position:relative;flex:0 0 220px}.cpq{width:100%;border:1px solid #cfd6f5;border-radius:999px;padding:7px 12px;font:inherit;font-size:13px;background:#fff}.cpq:focus{outline:2px solid #14b8a6;outline-offset:1px}
.cpl{position:absolute;z-index:60;top:calc(100% + 6px);left:0;width:300px;max-height:320px;overflow:auto;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid #e3e8f2;border-radius:14px;box-shadow:0 18px 40px #0f123826}
.cpl li{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:10px;cursor:pointer;font-size:13px}.cpl li span{flex:1;display:flex;flex-direction:column;line-height:1.25}.cpl li small{color:#64748b;font-size:11px}.cpl li em{font-style:normal;font-size:11px;color:#3730a3;background:#eef1ff;border-radius:999px;padding:2px 8px}
.cpl li[aria-selected=true],.cpl li:hover{background:#e7fbf8}.cpl .none{color:#64748b;cursor:default}
.clg{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;color:#fff;font-style:normal;font-size:10px;font-weight:700;flex:none;margin-right:6px}.cpl .clg{width:28px;height:28px;margin:0}
.rrow{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;min-width:0;flex:1;padding:4px 2px}.rrow::-webkit-scrollbar{display:none}.rrow .btn{flex:none;scroll-snap-align:start;display:inline-flex;align-items:center;white-space:nowrap}
.rarr{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid #dfe4fb;background:#fff;cursor:pointer;font-size:16px;line-height:1;color:#3730a3}
@media (max-width:1200px){.abar{flex-wrap:wrap}.abar .mut{order:9;width:100%;margin-left:0}}
@media (max-width:860px){.cpk{flex:1 1 100%}.cpl{width:100%}}
.acl-box{width:min(920px,96vw);max-height:88vh;display:flex;flex-direction:column}.acl-h{display:flex;justify-content:space-between;align-items:center}.acl-h small{color:#64748b;font-size:13px;font-weight:500}
.acl-t{overflow:auto;flex:1}.acl-t tr[data-id]{cursor:pointer}.acl-t tr[data-id]:hover,.acl-t tr:focus{background:#f0fdfa;outline:none}.acl-t tr.sel{background:#e7fbf8}.acl-t td{white-space:nowrap}
.mini{display:inline-flex}.mini img{width:22px;height:22px;border-radius:50%;background:#eef1ff;object-fit:cover;object-position:top;margin-left:-5px;border:2px solid #fff}
@media (max-width:1200px){.abar .rarr:first-of-type{margin-left:0}.abar .rrow{flex:1 1 calc(100% - 80px);order:5}.abar .rarr{order:4}.abar .rarr[data-sc="1"]{order:6}.abar>button[data-demo]{order:3}}
.howto .steps{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0}.howto .steps li{flex:1 1 140px;margin:0;padding:7px 10px;font-size:13px}
@media (max-width:860px){.abar .rarr{display:none}.abar .rrow{flex:1 1 100%}}
