*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f7fb;--card:#fff;--line:#e8edf6;--line2:#f1f4fa;--ink:#1e2430;--ink2:#5b6678;--ink3:#9aa5b8;--blue:#2f5bff;--blue-l:#eef3ff;--orange:#ff8a3d;--orange-l:#fff4ec;--green:#1fa97a;--green-l:#eaf8f2;--red:#e0483a;--purple:#7a5af8;--teal:#0ea5a5;--r:14px;--sh:0 1px 2px rgba(24,40,80,.04),0 8px 24px rgba(24,40,80,.06)}body,html{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}.wrap{max-width:1180px;margin:0 auto;padding:22px 20px 60px}.hd{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:16px}.hd h1{font-size:23px;font-weight:600;letter-spacing:.5px}.hd .sub{font-size:13px;color:var(--ink3);margin-top:3px}.tabs{display:flex;gap:6px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:4px}.tabs button{border:0;background:transparent;font-size:14px;color:var(--ink2);padding:7px 16px;border-radius:8px;cursor:pointer;font-family:inherit;transition:.18s}.tabs button.on{background:var(--blue);color:#fff;font-weight:500}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}.filters .f{font-size:13px;color:var(--ink2);background:#fff;border:1px solid var(--line);border-radius:20px;padding:5px 14px;cursor:pointer;transition:.18s;font-family:inherit}.filters .f.on{border-color:var(--blue);color:var(--blue);background:var(--blue-l);font-weight:500}.filters .f i{font-style:normal;color:var(--ink3);margin-left:4px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));grid-gap:14px;gap:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:15px 16px 14px;cursor:pointer;transition:.18s;position:relative;overflow:hidden;box-shadow:var(--sh)}.card:hover{transform:translateY(-2px);border-color:#d3ddf3;box-shadow:0 2px 4px rgba(24,40,80,.05),0 14px 30px rgba(24,40,80,.09)}.card .no{font-size:11.5px;color:var(--ink3);letter-spacing:.6px;font-family:ui-monospace,Menlo,monospace}.card .nm{font-size:16.5px;font-weight:600;margin:5px 0 8px;line-height:1.45;min-height:48px;padding-right:50px}.card .meta,.card .nm{display:flex;align-items:center}.card .meta{gap:6px;flex-wrap:wrap}.tag{font-size:11.5px;padding:2px 8px;border-radius:6px;background:var(--line2);color:var(--ink2);white-space:nowrap}.tag.d1{background:#eef3ff;color:#2f5bff}.tag.d2{background:#eaf8f2;color:#118d64}.tag.d3{background:#fff4ec;color:#d96a1e}.tag.d4{background:#f3efff;color:#6b46e8}.tag.tl{background:#f7f9fd;color:#7c8798;border:1px solid var(--line)}.card .go{position:absolute;right:14px;bottom:13px;font-size:12.5px;color:var(--blue);opacity:0;transition:.18s}.card:hover .go{opacity:1}.card .vizbar{position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,#2f5bff,#7a5af8)}.card .mini{position:absolute;right:14px;top:12px;width:44px;height:44px;opacity:.92;pointer-events:none}.card .mini svg{width:100%;height:100%}.modal{position:fixed;inset:0;background:rgba(22,30,48,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:none;z-index:50;padding:20px;overflow:auto}.modal.on{display:block}.sheet{max-width:1080px;margin:0 auto;background:var(--card);border-radius:18px;box-shadow:0 20px 60px rgba(20,32,64,.22);overflow:hidden}.sheet-hd{display:flex;align-items:center;gap:14px;padding:15px 20px;border-bottom:1px solid var(--line);background:#fbfcfe}.sheet-hd .bk{border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 13px;font-size:13.5px;color:var(--ink2);cursor:pointer;font-family:inherit}.sheet-hd .bk:hover{border-color:#cfd9ee;color:var(--ink)}.sheet-hd h2{font-size:18px;font-weight:600;flex:1 1}.sheet-hd .tags{display:flex;gap:6px}.sheet-body{display:grid;grid-template-columns:minmax(0,1.34fr) minmax(300px,1fr)}.stage-col{padding:18px 20px;border-right:1px solid var(--line);background:#fcfdff}.hook{display:flex;gap:9px;align-items:flex-start;background:var(--blue-l);border-radius:11px;padding:10px 13px;margin-bottom:14px}.hook .ic{flex:0 0 auto;width:20px;height:20px;border-radius:6px;background:var(--blue);color:#fff;font-size:12.5px;display:flex;align-items:center;justify-content:center;margin-top:2px;font-weight:600}.hook p{font-size:13.5px;color:#2a3d6b;line-height:1.65}.stage{background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px;min-height:322px;display:flex;align-items:center;justify-content:center;position:relative}.stage.flash{animation:pop .5s ease}@keyframes pop{0%{transform:scale(.982);opacity:.72}60%{transform:scale(1.004)}to{transform:scale(1);opacity:1}}.stage svg{width:100%;height:auto;display:block;touch-action:none}.stage-hint{position:absolute;left:12px;top:10px;font-size:11.5px;color:var(--ink3);letter-spacing:.3px}.ctrl{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;min-height:34px}.ctrl .lb{font-size:12.5px;color:var(--ink3);margin-right:2px}.btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 14px;font-size:13.5px;color:var(--ink2);cursor:pointer;font-family:inherit;transition:.16s;display:inline-flex;align-items:center;gap:5px}.btn:hover{border-color:#c8d4ee;color:var(--ink);background:#fafcff}.btn.pri{background:var(--blue);border-color:var(--blue);color:#fff}.btn.pri:hover{background:#2450ea;color:#fff}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.g{border-color:#cfe9dd;color:#118d64;background:var(--green-l)}.btn.o{border-color:#ffdcc2;color:#c9601a;background:var(--orange-l)}.readout{margin-top:11px;font-size:14px;color:var(--ink2);background:#fbfcfe;border:1px solid var(--line);border-radius:11px;padding:10px 13px;line-height:1.85;min-height:44px}.readout b{color:var(--ink);font-weight:600}.readout .fx{color:var(--blue);font-weight:600}.readout .warm{color:var(--orange);font-weight:600}.readout .good{color:var(--green);font-weight:600}.steps-col{padding:18px 20px;background:#fff;max-height:640px;overflow:auto}.steps-col h3{font-size:13px;color:var(--ink3);font-weight:500;letter-spacing:1px;margin-bottom:12px}.step{border:1px solid var(--line);padding:12px 14px;margin-bottom:10px;cursor:pointer;transition:.18s;background:#fff;position:relative}.step:hover{border-color:#d5dff4;background:#fcfdff}.step.on{border-color:var(--blue);background:var(--blue-l);box-shadow:0 0 0 3px rgba(47,91,255,.07)}.step.done{border-color:#d9ece4;background:var(--green-l)}.step .st-h{gap:8px;margin-bottom:5px}.step .dot,.step .st-h{display:flex;align-items:center}.step .dot{width:19px;height:19px;border-radius:50%;border:1.5px solid #cfd8e8;font-size:11.5px;color:var(--ink3);justify-content:center;flex:0 0 auto;background:#fff;font-weight:600}.step.done .dot,.step.on .dot{background:var(--blue);border-color:var(--blue);color:#fff}.step .tt{font-size:14.5px;font-weight:600}.step .nar{font-size:13px;color:var(--ink2);line-height:1.7}.step .ch{margin-top:9px;display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--purple);background:#f6f3ff;border:1px dashed #d8cffb;border-radius:8px;padding:4px 10px;transition:.16s}.step .ch:hover{background:#efe9ff;border-color:var(--purple)}.step .ch .cv{font-weight:600}.step .ch.on{background:var(--purple);color:#fff;border-style:solid;border-color:var(--purple)}.step .ch .arw{font-size:11px}.quizbar{margin:16px 20px 20px;border-top:1px solid var(--line);padding-top:15px}.quizbar .qh{display:flex;align-items:center;gap:9px;margin-bottom:11px}.quizbar .qh b{font-size:14.5px;font-weight:600}.quizbar .qh span{font-size:12.5px;color:var(--ink3)}.quiz{background:#fbfcfe;border:1px solid var(--line);border-radius:12px;padding:13px 15px}.quiz,.quiz .q{margin-bottom:10px}.quiz .q{font-size:14.5px;font-weight:500;line-height:1.65}.quiz .opts{display:flex;gap:8px;flex-wrap:wrap}.quiz .op{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:8px 18px;font-size:15px;cursor:pointer;font-family:inherit;min-width:64px;transition:.16s;font-weight:500}.quiz .op:hover{border-color:#c8d4ee;background:#fafcff}.quiz .op.ok{border-color:var(--green);background:var(--green-l);color:#118d64}.quiz .op.no{border-color:var(--red);background:#fdeeec;color:var(--red)}.quiz .fb{margin-top:10px;font-size:13px;color:var(--ink2);background:#fff;border-left:3px solid var(--blue);border-radius:0 8px 8px 0;padding:8px 12px;display:none;line-height:1.7}.quiz .fb.on{display:block}.quiz .fb b{color:var(--ink)}.badge{font-size:11.5px;padding:2px 8px;border-radius:6px;background:#f0f3f9;color:var(--ink3)}@media (max-width:900px){.sheet-body{grid-template-columns:1fr}.stage-col{border-right:none;border-bottom:1px solid var(--line)}.steps-col{max-height:none}.modal{padding:0}.sheet{border-radius:0;min-height:100%}}#i1Modal .sheet{padding:18px 20px;overflow:visible;position:relative}#i1Modal .bk{border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 13px;font-size:13.5px;color:var(--ink2);cursor:pointer;font-family:inherit}#i1Modal .bk:hover{border-color:#cfd9ee;color:var(--ink)}#i1Modal .hd{margin-bottom:6px}#i1Modal .hd h1{font-size:22px;font-weight:600;letter-spacing:.5px}#i1Modal .hd .sub{font-size:13px;color:var(--ink3);margin-top:3px}#i1Modal .tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 14px}#i1Modal .tag{font-size:12px;padding:3px 10px;border-radius:7px;background:var(--line2);color:var(--ink2)}#i1Modal .tag.d1{background:var(--blue-l);color:var(--blue)}#i1Modal .tag.d4{background:#f3efff;color:var(--purple)}#i1Modal .tag.tl{background:#f7f9fd;color:#7c8798;border:1px solid var(--line)}#i1Modal .diff{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 16px}#i1Modal .diff .box{flex:1 1;min-width:260px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13px;color:var(--ink2);line-height:1.7}#i1Modal .diff .box b{display:block;font-size:13px;margin-bottom:3px}#i1Modal .diff .mkt{border-color:#f0d9cf;background:var(--orange-l)}#i1Modal .diff .mkt b{color:var(--orange)}#i1Modal .diff .us{border-color:#cfe9dd;background:var(--green-l)}#i1Modal .diff .us b{color:var(--green)}#i1Modal .hook{display:flex;gap:9px;align-items:flex-start;background:var(--blue-l);border-radius:11px;padding:10px 13px;margin-bottom:14px}#i1Modal .hook .ic{flex:0 0 auto;width:20px;height:20px;border-radius:6px;background:var(--blue);color:#fff;font-size:12.5px;display:flex;align-items:center;justify-content:center;margin-top:2px;font-weight:600}#i1Modal .hook p{font-size:13.5px;color:#2a3d6b;line-height:1.65}#i1Modal .main{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);grid-gap:16px;gap:16px;align-items:start}@media(max-width:860px){#i1Modal .main{grid-template-columns:1fr}}#i1Modal .panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}#i1Modal .stage-pad{padding:10px 12px 6px}#i1Modal .stage{background:#fcfdff;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative}#i1Modal .stage svg{width:100%;height:auto;display:block;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}#i1Modal .stage .badge{position:absolute;left:10px;top:9px;font-size:11.5px;color:var(--ink3);background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:8px;padding:3px 9px}#i1Modal .toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:10px 12px 12px}#i1Modal .btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 13px;font-size:13.5px;color:var(--ink2);cursor:pointer;font-family:inherit;transition:.16s;display:inline-flex;align-items:center;gap:5px}#i1Modal .btn:hover{border-color:#c8d4ee;color:var(--ink);background:#fafcff}#i1Modal .btn.pri{background:var(--blue);border-color:var(--blue);color:#fff}#i1Modal .btn.pri:hover{background:#2450ea}#i1Modal .btn.g{background:var(--green-l);border-color:#cfe9dd;color:#118d64}#i1Modal .btn.ghost{background:transparent}#i1Modal .side{padding:16px 18px}#i1Modal .side h3{font-size:13px;color:var(--ink3);font-weight:500;letter-spacing:1px;margin-bottom:11px}#i1Modal .readout{background:#fbfcfe;border:1px solid var(--line);border-radius:11px;padding:11px 13px;font-size:14px;color:var(--ink2);line-height:1.95}#i1Modal .readout .row{display:flex;gap:8px;align-items:baseline;margin:3px 0}#i1Modal .readout .k{flex:0 0 92px;color:var(--ink3);font-size:13px}#i1Modal .readout .v{font-weight:600}#i1Modal .readout .ok{color:var(--green)}#i1Modal .readout .bad{color:var(--orange)}#i1Modal .readout .num{color:var(--blue)}#i1Modal .readout hr{border:0;border-top:1px dashed var(--line);margin:9px 0}#i1Modal .goals{margin-top:14px}#i1Modal .goals .g{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--ink2);margin-bottom:8px;line-height:1.6}#i1Modal .goals .g .dot{flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:var(--purple);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;margin-top:2px;font-weight:600}#i1Modal .goals .g.done .dot{background:var(--green)}#i1Modal .goals .g.done .txt{color:var(--ink3);text-decoration:line-through}#i1Modal .quiz{margin-top:14px;border-top:1px solid var(--line);padding-top:13px}#i1Modal .quiz .qh{font-size:14.5px;font-weight:600;margin-bottom:4px}#i1Modal .quiz .qt{font-size:13px;color:var(--ink2);margin-bottom:10px}#i1Modal .opts{display:flex;gap:8px;flex-wrap:wrap}#i1Modal .op{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:8px 18px;font-size:15px;cursor:pointer;font-family:inherit;min-width:60px;transition:.16s;font-weight:500}#i1Modal .op:hover{border-color:#c8d4ee;background:#fafcff}#i1Modal .op.ok{border-color:var(--green);background:var(--green-l);color:#118d64}#i1Modal .op.no{border-color:var(--red);background:#fdeeec;color:var(--red)}#i1Modal .fb{margin-top:10px;font-size:13px;color:var(--ink2);background:#fff;border-left:3px solid var(--blue);border-radius:0 8px 8px 0;padding:8px 12px;display:none;line-height:1.7}#i1Modal .fb.show{display:block}#i1Modal .fb.ok{border-left-color:var(--green)}#i1Modal .fb.no{border-left-color:var(--red)}#i1Modal .note{margin-top:14px;font-size:12.5px;color:var(--ink3);line-height:1.75;background:#fbfcfe;border:1px solid var(--line);border-radius:10px;padding:10px 13px}#i1Modal .note b{color:var(--ink2)}#i1Modal #i1mView{display:none;padding:18px 20px}#i1Modal #i1mView .bar{height:46px;background:linear-gradient(90deg,#eef3ff,#dfe8ff);border:1px solid #c8d4ee;border-radius:8px;position:relative;margin:14px 0 8px}#i1Modal #i1mView .seg{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(90deg,#ff8a3d,#ff8a3d 1px,transparent 0,transparent 30px);border-right:2px solid #ff8a3d}#i1Modal #i1mView .pen{position:absolute;top:6px;height:34px;background:#ffd34d;border:1px solid #e0a93b;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#7a5a12;font-weight:600}#i1Modal #i1mView .lbl{font-size:12.5px;color:var(--ink2)}#i1Modal.on .sheet{animation:i1pop .5s cubic-bezier(.2,1.3,.5,1) both}@keyframes i1pop{0%{opacity:0;transform:scale(.92) translateY(14px)}60%{opacity:1}to{opacity:1;transform:none}}#i1Modal .diff,#i1Modal .hd,#i1Modal .hook,#i1Modal .main,#i1Modal .tags{opacity:0}#i1Modal.on .hd{animation:i1rise .5s ease .12s both}#i1Modal.on .tags{animation:i1rise .5s ease .2s both}#i1Modal.on .diff{animation:i1rise .5s ease .28s both}#i1Modal.on .hook{animation:i1rise .5s ease .36s both}#i1Modal.on .main{animation:i1rise .55s ease .44s both}@keyframes i1rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}#i1Modal #i1pencil{animation:i1bob 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes i1bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}#i1Modal #i1guide{animation:i1pulse 1.6s ease-in-out infinite}#i1Modal .stage .badge{animation:i1pulse 2s ease-in-out infinite}@keyframes i1pulse{0%,to{opacity:.35}50%{opacity:.85}}#i1Modal #i1ruler.lift{filter:drop-shadow(0 6px 9px rgba(47,91,255,.3));transition:filter .15s}#i1Modal .goals .g.done .dot{animation:i1popdot .5s cubic-bezier(.2,1.4,.4,1) both}@keyframes i1popdot{0%{transform:scale(.4)}55%{transform:scale(1.25)}to{transform:scale(1)}}#i1Modal #i1spark .sp{transform-box:fill-box;transform-origin:center;animation:i1tw 1.1s ease-in-out infinite}#i1Modal #i1spark .sp.b{animation-delay:.35s}#i1Modal #i1spark .sp.c{animation-delay:.7s}@keyframes i1tw{0%,to{opacity:0;transform:scale(.2) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}#i1Modal .fx{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:6}#i1Modal .i1conf{position:absolute;top:-14px;width:9px;height:14px;border-radius:2px;will-change:transform,opacity}@keyframes i1fall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(var(--fy,420px)) rotate(2turn);opacity:0}}#i1Modal .toast{position:absolute;left:50%;top:14px;transform:translateX(-50%) translateY(-20px);background:linear-gradient(90deg,#ff9a3d,#ff6f91);color:#fff;font-weight:600;font-size:15px;padding:9px 20px;border-radius:999px;box-shadow:0 8px 22px rgba(255,111,145,.4);opacity:0;pointer-events:none;z-index:8;white-space:nowrap}#i1Modal .toast.show{animation:i1toast 1.9s ease both}@keyframes i1toast{0%{opacity:0;transform:translateX(-50%) translateY(-20px) scale(.8)}15%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}80%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}to{opacity:0;transform:translateX(-50%) translateY(-10px) scale(.95)}}#i1Modal .fb.shake{animation:i1shake .4s ease}@keyframes i1shake{0%,to{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}#i1Modal .btn:active{transform:scale(.95)}#i1Modal .btn.pri{position:relative;overflow:hidden}#i1Modal .btn.pri:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.4);opacity:0;transition:opacity .25s}#i1Modal .btn.pri:active:after{opacity:1;transition:opacity 0s}#i1Modal .op:active{transform:scale(.92)}#iModal .sheet{padding:18px 20px;overflow:visible;position:relative}#iModal .bk{border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 13px;font-size:13.5px;color:var(--ink2);cursor:pointer;font-family:inherit}#iModal .bk:hover{border-color:#cfd9ee;color:var(--ink)}#iModal .hd{margin-bottom:6px}#iModal .hd h1{font-size:22px;font-weight:600;letter-spacing:.5px}#iModal .hd .sub{font-size:13px;color:var(--ink3);margin-top:3px}#iModal .tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 14px}#iModal .tag{font-size:12px;padding:3px 10px;border-radius:7px;background:var(--line2);color:var(--ink2)}#iModal .tag.d1{background:var(--blue-l);color:var(--blue)}#iModal .tag.d4{background:#f3efff;color:var(--purple)}#iModal .tag.tl{background:#f7f9fd;color:#7c8798;border:1px solid var(--line)}#iModal .diff{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 16px}#iModal .diff .box{flex:1 1;min-width:260px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13px;color:var(--ink2);line-height:1.7}#iModal .diff .box b{display:block;font-size:13px;margin-bottom:3px}#iModal .diff .mkt{border-color:#f0d9cf;background:var(--orange-l)}#iModal .diff .mkt b{color:var(--orange)}#iModal .diff .us{border-color:#cfe9dd;background:var(--green-l)}#iModal .diff .us b{color:var(--green)}#iModal .hook{display:flex;gap:9px;align-items:flex-start;background:var(--blue-l);border-radius:11px;padding:10px 13px;margin-bottom:14px}#iModal .hook .ic{flex:0 0 auto;width:20px;height:20px;border-radius:6px;background:var(--blue);color:#fff;font-size:12.5px;display:flex;align-items:center;justify-content:center;margin-top:2px;font-weight:600}#iModal .hook p{font-size:13.5px;color:#2a3d6b;line-height:1.65}#iModal .main{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);grid-gap:16px;gap:16px;align-items:start}@media(max-width:860px){#iModal .main{grid-template-columns:1fr}}#iModal .panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}#iModal .stage-pad{padding:10px 12px 6px}#iModal .stage{background:#fcfdff;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative}#iModal .stage svg{width:100%;height:auto;display:block;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}#iModal .stage .badge{position:absolute;left:10px;top:9px;font-size:11.5px;color:var(--ink3);background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:8px;padding:3px 9px}#iModal .toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:10px 12px 12px}#iModal .btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 13px;font-size:13.5px;color:var(--ink2);cursor:pointer;font-family:inherit;transition:.16s;display:inline-flex;align-items:center;gap:5px}#iModal .btn:hover{border-color:#c8d4ee;color:var(--ink);background:#fafcff}#iModal .btn.pri{background:var(--blue);border-color:var(--blue);color:#fff}#iModal .btn.pri:hover{background:#2450ea}#iModal .btn.g{background:var(--green-l);border-color:#cfe9dd;color:#118d64}#iModal .btn.ghost{background:transparent}#iModal .side{padding:16px 18px}#iModal .side h3{font-size:13px;color:var(--ink3);font-weight:500;letter-spacing:1px;margin-bottom:11px}#iModal .readout{background:#fbfcfe;border:1px solid var(--line);border-radius:11px;padding:11px 13px;font-size:14px;color:var(--ink2);line-height:1.95}#iModal .readout .row{display:flex;gap:8px;align-items:baseline;margin:3px 0}#iModal .readout .k{flex:0 0 92px;color:var(--ink3);font-size:13px}#iModal .readout .v{font-weight:600}#iModal .readout .ok{color:var(--green)}#iModal .readout .bad{color:var(--orange)}#iModal .readout .num{color:var(--blue)}#iModal .readout hr{border:0;border-top:1px dashed var(--line);margin:9px 0}#iModal .goals{margin-top:14px}#iModal .goals .g{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--ink2);margin-bottom:8px;line-height:1.6}#iModal .goals .g .dot{flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:var(--purple);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;margin-top:2px;font-weight:600}#iModal .goals .g.done .dot{background:var(--green)}#iModal .goals .g.done .txt{color:var(--ink3);text-decoration:line-through}#iModal .quiz{margin-top:14px;border-top:1px solid var(--line);padding-top:13px}#iModal .quiz .qh{font-size:14.5px;font-weight:600;margin-bottom:4px}#iModal .quiz .qt{font-size:13px;color:var(--ink2);margin-bottom:10px}#iModal .opts{display:flex;gap:8px;flex-wrap:wrap}#iModal .op{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:8px 18px;font-size:15px;cursor:pointer;font-family:inherit;min-width:60px;transition:.16s;font-weight:500}#iModal .op:hover{border-color:#c8d4ee;background:#fafcff}#iModal .op.ok{border-color:var(--green);background:var(--green-l);color:#118d64}#iModal .op.no{border-color:var(--red);background:#fdeeec;color:var(--red)}#iModal .fb{margin-top:10px;font-size:13px;color:var(--ink2);background:#fff;border-left:3px solid var(--blue);border-radius:0 8px 8px 0;padding:8px 12px;display:none;line-height:1.7}#iModal .fb.show{display:block}#iModal .fb.ok{border-left-color:var(--green)}#iModal .fb.no{border-left-color:var(--red)}#iModal .note{margin-top:14px;font-size:12.5px;color:var(--ink3);line-height:1.75;background:#fbfcfe;border:1px solid var(--line);border-radius:10px;padding:10px 13px}#iModal .note b{color:var(--ink2)}#iModal.on .sheet{animation:i1pop .5s cubic-bezier(.2,1.3,.5,1) both}#iModal .diff,#iModal .hd,#iModal .hook,#iModal .main,#iModal .tags{opacity:0}#iModal.on .hd{animation:i1rise .5s ease .12s both}#iModal.on .tags{animation:i1rise .5s ease .2s both}#iModal.on .diff{animation:i1rise .5s ease .28s both}#iModal.on .hook{animation:i1rise .5s ease .36s both}#iModal.on .main{animation:i1rise .55s ease .44s both}#iModal .stage .badge{animation:i1pulse 2s ease-in-out infinite}#iModal #iObj{animation:i1bob 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}#iModal .fx{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:6}#iModal .i1conf{position:absolute;top:-14px;width:9px;height:14px;border-radius:2px;will-change:transform,opacity}#iModal .toast{position:absolute;left:50%;top:14px;transform:translateX(-50%) translateY(-20px);background:linear-gradient(90deg,#ff9a3d,#ff6f91);color:#fff;font-weight:600;font-size:15px;padding:9px 20px;border-radius:999px;box-shadow:0 8px 22px rgba(255,111,145,.4);opacity:0;pointer-events:none;z-index:8;white-space:nowrap}#iModal .toast.show{animation:i1toast 1.9s ease both}#iModal #iSpark .sp{transform-box:fill-box;transform-origin:center;animation:i1tw 1.1s ease-in-out infinite}#iModal #iSpark .sp.b{animation-delay:.35s}#iModal #iSpark .sp.c{animation-delay:.7s}#iModal .fb.shake{animation:i1shake .4s ease}#iModal .btn:active{transform:scale(.95)}#iModal .btn.pri{position:relative;overflow:hidden}#iModal .btn.pri:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.4);opacity:0;transition:opacity .25s}#iModal .btn.pri:active:after{opacity:1;transition:opacity 0s}#iModal .op:active{transform:scale(.92)}#iSvg .i-ghost{filter:drop-shadow(0 5px 7px rgba(20,30,60,.28))}#iSvg .i-ghost circle,#iSvg .i-ghost path,#iSvg .i-ghost rect{pointer-events:none}#iSvg .i-ghost.snap{filter:drop-shadow(0 0 7px #ff8a3d)}#iSvg .i-hi{stroke:#ff8a3d!important;stroke-width:4!important}#iSvg .i-hif{fill:#fff3d6!important}body,html{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.card,.stage,img,svg{-webkit-user-drag:none;-webkit-touch-callout:none}svg text{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media print{body *{display:none!important}body:after{content:"本站内容不支持打印导出";display:block;padding:40px;font-size:16px}}body.dev-open .site-main:after{content:"";position:fixed;inset:0;z-index:99999;background:#fff}body.dev-open .site-main:before{content:"为保护课程内容，请关闭开发者工具后查看";position:fixed;left:50%;top:40%;transform:translate(-50%,-50%);z-index:100000;color:#5b6678;font-size:15px}.site-main{max-width:1180px;margin:0 auto;padding:0 16px 56px}.site-head{display:flex;align-items:center;gap:12px;padding:18px 0 14px;border-bottom:1px solid var(--line);margin-bottom:18px}.site-head .logo{font-size:19px;font-weight:800;color:var(--ink);letter-spacing:.5px}.site-head .tip{font-size:12.5px;color:var(--ink3)}.site-head a{color:var(--ink2);text-decoration:none;font-size:13px}.site-head a:hover{color:var(--blue)}.hero{margin:6px 0 22px}.hero h1{font-size:25px;font-weight:800;color:var(--ink);margin:0 0 8px}.hero p{margin:0;color:var(--ink2);font-size:14px;line-height:1.8}.section-title{font-size:15px;font-weight:700;color:var(--ink);margin:26px 0 12px;display:flex;align-items:baseline;gap:8px}.section-title span{font-size:12.5px;font-weight:400;color:var(--ink3)}.grade-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:14px;gap:14px}.grade-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 16px 14px;box-shadow:var(--sh);text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}.grade-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(24,40,80,.1)}.grade-card .gn{font-size:17px;font-weight:800;color:var(--ink)}.grade-card .gc{font-size:12.5px;color:var(--ink3);margin-top:4px}.grade-card .gb{margin-top:10px;height:4px;border-radius:3px;background:var(--line2);overflow:hidden}.grade-card .gb i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--teal))}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));grid-gap:14px;gap:14px}.kp-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}.kp-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(24,40,80,.1)}.kp-card .thumb{background:#fbfcfe;border-bottom:1px solid var(--line2);padding:6px}.kp-card .thumb svg{width:100%;height:auto;display:block}.kp-card .meta{padding:11px 13px 13px}.kp-card .nm{font-size:14.5px;font-weight:700;color:var(--ink)}.kp-card .sub{font-size:12px;color:var(--ink3);margin-top:5px;display:flex;gap:6px;flex-wrap:wrap}.kp-card .sub em{font-style:normal;background:var(--blue-l);color:var(--blue);border-radius:5px;padding:1px 6px}.pill{display:inline-block;font-size:12px;padding:2px 8px;border-radius:6px;background:var(--line2);color:var(--ink2)}.kp-head{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}.kp-head h1{font-size:22px;margin:0;color:var(--ink)}.kp-head .tags{margin-top:8px}.pane{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:16px;margin-bottom:14px}.pane h3{margin:0 0 12px;font-size:15px;color:var(--ink)}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px}.step{border:1px solid var(--line2);border-radius:12px;padding:8px 8px 12px;background:#fdfdff}.step .no{font-size:12px;color:var(--blue);font-weight:700}.step .tt{font-size:13.5px;font-weight:700;color:var(--ink);margin:2px 0 4px}.step .nr{font-size:12.5px;color:var(--ink2);line-height:1.7}.step .pic{margin:6px 0 8px;background:#fff;border-radius:8px;padding:4px}.step .pic svg{width:100%;height:auto;display:block}.step .ch{font-size:12px;color:var(--green);background:var(--green-l);border-radius:6px;padding:5px 8px}.btn-start{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;border:0;border-radius:10px;padding:11px 20px;font-size:15px;font-weight:700;cursor:pointer}.btn-start:hover{background:#244ae0}.btn-start[disabled]{background:#c3cddd;cursor:not-allowed}.quiz-box{border:1px dashed var(--line);border-radius:12px;padding:14px}.quiz-item{margin-bottom:14px}.quiz-item .q{font-size:14px;color:var(--ink);font-weight:600;margin-bottom:8px}.quiz-item .opts{display:flex;gap:8px;flex-wrap:wrap}.quiz-item .opts button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 14px;font-size:13.5px;cursor:pointer;color:var(--ink2)}.quiz-item .opts button.ok{border-color:var(--green);background:var(--green-l);color:var(--green)}.quiz-item .opts button.no{border-color:var(--red);background:#fdeceb;color:var(--red)}.quiz-item .tip{font-size:12.5px;color:var(--ink3);margin-top:7px}.loading{color:var(--ink3);padding:10px 0}.err,.loading{font-size:13px}.err{color:var(--red);background:#fdeceb;border-radius:8px;padding:9px 12px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;box-shadow:var(--sh)}.stat .v{font-size:24px;font-weight:800;color:var(--ink)}.stat .k{font-size:12px;color:var(--ink3);margin-top:2px}table.stat-tb{width:100%;border-collapse:collapse;font-size:13px}table.stat-tb td,table.stat-tb th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line2)}table.stat-tb th{color:var(--ink3);font-weight:600}.bar{height:8px;background:var(--blue-l);border-radius:4px;overflow:hidden}.bar i{display:block;height:100%;background:var(--blue)}.site-foot{margin-top:30px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--ink3)}