.home-v12{
    --forest:#142319;
    --canvas:#edf3f6;
    --paper:#fbf8f1;
    --ink:#18232d;
    --coral:#df5130;
    --green:#2f7d57;
    --blue:#48688c;
    --t-tools:#df5130;
    --t-pros:#2f7d57;
    --t-create:#4b5bc4;
    --t-build:#a9791d;
    --dim:rgba(24,35,45,.62);
    --hair:rgba(24,35,45,.14);
    --mono:ui-monospace,"SF Mono",Menlo,monospace;
    --sk:#e9e2d1;
    --card:#fff;
    --paper-ink:#18232d;
    --paper-dim:rgba(24,35,45,.62);
    
    --fs0:12px;   
    --fs1:14px;   
    --fs2:16.5px; 
    --fs3:20px;   
    --fs4:36px;   
  }
.home-v12{
    font-family:-apple-system,"PingFang SC",sans-serif;
    font-size:var(--fs2);line-height:1.65;color:var(--ink);
    background:var(--canvas);
    -webkit-font-smoothing:antialiased;
  }
.home-v12 a{color:inherit;text-decoration:none}
.home-v12 .wrap{max-width:1120px;margin:0 auto;padding:0 32px}
.home-v12 img,.home-v12 svg{max-width:100%}
.home-v12 .triage{background:var(--forest);color:#f2efe8;position:relative;overflow:hidden}
.home-v12 .triage::before{content:"";position:absolute;inset:0;
    background:radial-gradient(1100px 500px at 78% -10%,rgba(223,81,48,.14),transparent 60%);
    pointer-events:none}
.home-v12 .triage-grid{display:grid;grid-template-columns:minmax(0,1fr) 408px;gap:52px;
    padding-top:52px;padding-bottom:20px;position:relative}
.home-v12 .t-kicker{font-family:var(--mono);font-size:var(--fs0);letter-spacing:.22em;
    color:rgba(242,239,232,.55);margin-bottom:14px}
.home-v12 .t-kicker b{color:var(--coral);font-weight:700}
.home-v12 h1{font-size:var(--fs4);line-height:1.28;font-weight:800;letter-spacing:.01em;margin-bottom:12px}
.home-v12 .t-lead{font-size:var(--fs2);color:rgba(242,239,232,.75);max-width:34em;margin-bottom:26px}
.home-v12 .t-lead b{color:#f2efe8;font-weight:600}
.home-v12 .cluster{margin-bottom:18px}
.home-v12 .cl-label{font-family:var(--mono);font-size:var(--fs0);letter-spacing:.08em;
    color:rgba(242,239,232,.62);margin-bottom:9px;display:flex;align-items:baseline;gap:8px}
.home-v12 .cl-label i{font-style:normal;font-size:10px}
.home-v12 .cl-label.today i{color:var(--coral)}
.home-v12 .cl-label.craft i{color:#d9b45e}
.home-v12 .cl-label span{color:rgba(242,239,232,.4)}
.home-v12 .chips{display:flex;flex-wrap:wrap;gap:9px}
.home-v12 .chip{display:inline-flex;align-items:center;gap:7px;
    padding:8px 14px;border-radius:999px;cursor:pointer;
    font-size:var(--fs1);line-height:1.3;color:#f2efe8;
    background:rgba(251,248,241,.06);border:1px solid rgba(251,248,241,.24);
    transition:background .15s,border-color .15s,transform .1s}
.home-v12 .chip:hover{background:rgba(251,248,241,.13);border-color:rgba(251,248,241,.45)}
.home-v12 .chip em{font-style:normal;font-family:var(--mono);font-size:var(--fs0);color:rgba(242,239,232,.55)}
.home-v12 .chip i{font-style:normal;font-size:10px;color:#d9b45e}
.home-v12 .chip.on{background:var(--coral);border-color:var(--coral);color:#fff;font-weight:600;transform:translateY(-1px)}
.home-v12 .chip.on em,.home-v12 .chip.on i{color:rgba(255,255,255,.8)}
.home-v12 .tri-card{align-self:start;background:var(--paper);color:var(--paper-ink);border-radius:12px;
    box-shadow:0 22px 48px rgba(0,0,0,.38);
    background-image:linear-gradient(rgba(20,35,25,.05) 1px,transparent 1px),
      linear-gradient(90deg,rgba(20,35,25,.05) 1px,transparent 1px);
    background-size:22px 22px;
    padding:20px 22px 22px;position:relative}
.home-v12 .tri-card.flip{animation:slip .28s ease}
@keyframes slip{0%{opacity:.35;transform:translateY(7px)}100%{opacity:1;transform:none}}
.home-v12 .tc-head{display:flex;justify-content:space-between;align-items:center;gap:10px;
    border-bottom:1px dashed rgba(24,35,45,.28);padding-bottom:11px;margin-bottom:13px}
.home-v12 .tc-head span{font-family:var(--mono);font-size:var(--fs0);letter-spacing:.18em;color:var(--paper-dim)}
.home-v12 .tc-badge{font-family:var(--mono);font-size:var(--fs0);padding:3px 9px;border-radius:5px;
    border:1px solid var(--green);color:var(--green);white-space:nowrap}
.home-v12 .tc-meta{font-family:var(--mono);font-size:13px;color:var(--paper-dim);margin-bottom:6px}
.home-v12 .tc-title{font-size:var(--fs3);font-weight:800;line-height:1.4;margin-bottom:13px}
.home-v12 .tc-deliver{background:#fffdf7;border:1px solid var(--hair);border-left:3px solid var(--green);
    border-radius:8px;padding:11px 14px;margin-bottom:13px;box-shadow:0 1px 3px rgba(24,35,45,.07)}
.home-v12 .tc-deliver span{display:block;font-family:var(--mono);font-size:var(--fs0);letter-spacing:.1em;
    color:var(--green);margin-bottom:3px}
.home-v12 .tc-deliver b{font-size:var(--fs1);font-weight:600;line-height:1.55;display:block}
.home-v12 .tc-why{font-size:var(--fs1);color:var(--paper-dim);margin-bottom:16px;line-height:1.7}
.home-v12 .tc-why span:first-child{display:block;font-family:var(--mono);font-size:var(--fs0);
    letter-spacing:.1em;color:rgba(24,35,45,.45);margin-bottom:2px}
.home-v12 .tc-act{display:flex;flex-direction:column;gap:10px}
.home-v12 .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;
    border-radius:8px;padding:11px 18px;font-size:15px;font-weight:700;line-height:1.2;
    transition:filter .15s}
.home-v12 .btn-coral{background:var(--coral);color:#fff}
.home-v12 .btn-coral:hover{filter:brightness(1.07)}
.home-v12 .tc-sub{font-size:var(--fs1);color:var(--blue);text-decoration:underline;
    text-underline-offset:3px;text-decoration-color:rgba(72,104,140,.4)}
.home-v12 .tc-sub:hover{text-decoration-color:var(--blue)}
.home-v12 .t-browse{display:block;text-align:center;font-family:var(--mono);font-size:var(--fs0);
    letter-spacing:.1em;color:rgba(242,239,232,.5);padding:16px 0 22px;position:relative}
.home-v12 .t-browse:hover{color:rgba(242,239,232,.85)}
.home-v12 section.block{padding:58px 0 8px}
.home-v12 .sec-head{margin-bottom:26px}
.home-v12 .eyebrow{font-family:var(--mono);font-size:var(--fs0);letter-spacing:.2em;color:var(--dim);
    display:block;margin-bottom:7px}
.home-v12 .sec-head h2{font-size:var(--fs3);font-weight:800}
.home-v12 .sec-note{font-size:var(--fs1);color:var(--dim);margin-top:5px;max-width:44em}
.home-v12 .course-row{display:grid;grid-template-columns:104px minmax(0,1fr) 228px;gap:26px;
    background:var(--card);border:1px solid var(--hair);border-left:4px solid var(--tint,var(--coral));
    border-radius:10px;padding:24px 26px;margin-bottom:14px;align-items:center;
    box-shadow:0 1px 4px rgba(24,35,45,.05);
    transition:border-color .16s,box-shadow .16s,transform .16s}
.home-v12 .course-row:hover{border-color:var(--tint);box-shadow:0 18px 34px -24px rgba(24,35,45,.4);transform:translateY(-2px)}
.home-v12 .course-row:hover .cr-main h3{color:var(--tint)}
.home-v12 .cr-id{display:flex;flex-direction:column;gap:2px}
.home-v12 .cr-id b{font-family:var(--mono);font-size:26px;font-weight:700;color:var(--tint)}
.home-v12 .cr-id i{font-style:normal;font-family:var(--mono);font-size:var(--fs0);color:var(--dim);letter-spacing:.1em}
.home-v12 .cr-main h3{font-size:var(--fs3);font-weight:800;line-height:1.4;margin-bottom:6px;transition:color .16s}
.home-v12 .cr-promise{font-size:var(--fs1);color:var(--dim);margin-bottom:10px;max-width:38em}
.home-v12 .cr-io{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--mono);font-size:13px}
.home-v12 .cr-io b{font-weight:500;background:rgba(24,35,45,.05);border:1px solid var(--hair);
    border-radius:6px;padding:2px 9px;white-space:nowrap}
.home-v12 .cr-io b.hl{background:rgba(47,125,87,.1);border-color:rgba(47,125,87,.4);color:var(--green);font-weight:700}
.home-v12 .cr-io i{font-style:normal;color:var(--dim)}
.home-v12 .cr-side{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.home-v12 .cr-stats{display:flex;flex-direction:column;gap:2px;font-family:var(--mono);font-size:13px;color:var(--dim)}
.home-v12 .cr-stats b{color:var(--green);font-weight:700}
.home-v12 .cr-side .btn{background:var(--forest);color:#f2efe8;font-size:var(--fs1)}
.home-v12 .cr-side .btn:hover{filter:brightness(1.25)}
.home-v12 .tix-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.home-v12 .tix{position:relative;display:grid;grid-template-columns:50px 1fr;
    background:var(--paper);
    border:1px solid #ded5c0;border-radius:8px;
    overflow:hidden;min-width:0;
    transition:transform .15s,box-shadow .15s,border-color .15s}
.home-v12 .tix:hover{transform:translateY(-3px);border-color:#c8bc9d;box-shadow:0 14px 22px -18px rgba(24,35,45,.4)}
.home-v12 .tix:hover .tix-title{color:var(--coral)}
.home-v12 .tix:hover .tix-go{color:var(--coral);border-color:var(--coral)}
.home-v12 .tix::before,.home-v12 .tix::after{
    content:"";position:absolute;left:44px;width:12px;height:12px;border-radius:50%;
    background:var(--canvas);border:1px solid #ded5c0}
.home-v12 .tix::before{top:-7px}
.home-v12 .tix::after{bottom:-7px}
.home-v12 .tix-stub{
    border-right:1px dashed #cfc6ab;
    display:flex;flex-direction:column;align-items:center;justify-content:space-between;
    padding:12px 0}
.home-v12 .tix-stub b{font-family:var(--mono);font-size:11px;color:var(--coral)}
.home-v12 .tix-stub i{font-style:normal;font-family:var(--mono);font-size:10px;color:#7a7263;
    writing-mode:vertical-rl;letter-spacing:.12em}
.home-v12 .tix-body{padding:12px 14px 11px;display:flex;flex-direction:column;gap:4px;min-width:0}
.home-v12 .tix-title{font-size:14.5px;font-weight:700;line-height:1.45;color:var(--paper-ink);transition:color .15s}
.home-v12 .tix-out{font-size:12.5px;color:#7a7263;line-height:1.55}
.home-v12 .tix-foot{margin-top:auto;padding-top:8px;display:flex;align-items:center;
    justify-content:space-between;gap:8px}
.home-v12 .tix-foot em{font-style:normal;font-family:var(--mono);font-size:var(--fs0);
    font-weight:700;color:var(--green)}
.home-v12 .tix-go{font-family:var(--mono);font-size:var(--fs0);color:rgba(24,35,45,.55);
    border-bottom:1px solid rgba(24,35,45,.3);padding-bottom:1px;white-space:nowrap;
    transition:color .15s,border-color .15s}
.home-v12 .scene-tail{margin-top:18px;font-size:var(--fs1)}
.home-v12 .scene-tail a{color:var(--coral);font-weight:600}
.home-v12 #rebuild{padding-bottom:26px}
.home-v12 .pboard{background:var(--forest);border-radius:14px;padding:26px 28px 28px;color:#f2efe6;
    box-shadow:0 24px 50px -28px rgba(20,35,25,.6)}
.home-v12 .pb-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.home-v12 .pb-head h2{font-size:var(--fs3);font-weight:800;letter-spacing:.01em;color:#fbf8f1}
.home-v12 .pb-head .pb-en{font-family:var(--mono);font-size:var(--fs0);letter-spacing:.16em;
    color:rgba(251,248,241,.5)}
.home-v12 .pb-dek{margin-top:6px;font-size:var(--fs1);color:rgba(251,248,241,.65);max-width:44em}
.home-v12 .pb-cols{display:grid;grid-template-columns:1.9fr 1fr;gap:24px;margin-top:0}
.home-v12 .pb-colh{display:flex;align-items:baseline;gap:9px;
    border-bottom:1px solid rgba(251,248,241,.16);padding-bottom:9px;margin-bottom:11px;flex-wrap:wrap}
.home-v12 .pb-colh i{width:9px;height:9px;border-radius:50%;display:inline-block;position:relative;top:-1px}
.home-v12 .pb-colh b{font-size:15px;color:#fbf8f1}
.home-v12 .pb-colh span{font-family:var(--mono);font-size:var(--fs0);color:rgba(251,248,241,.55);letter-spacing:.1em}
.home-v12 .pb-colh em{font-style:normal;font-size:12.5px;color:rgba(251,248,241,.45);width:100%}
.home-v12 .pb-row{
    display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;
    border:1px solid rgba(251,248,241,.1);background:rgba(251,248,241,.045);
    border-radius:8px;padding:10px 14px;margin-bottom:8px;transition:background .15s}
.home-v12 .pb-row:hover{background:rgba(251,248,241,.09)}
.home-v12 .pb-no{font-family:var(--mono);font-size:13px;font-weight:700}
.home-v12 .pb-no.pros{color:#6fbe93}
.home-v12 .pb-no.create{color:#9aa5ee}
.home-v12 .pb-no.build{color:#d5ab57}
.home-v12 .pb-t strong{display:block;font-size:15px;font-weight:600;color:#faf7ef;line-height:1.5}
.home-v12 .pb-t p{font-size:13px;color:rgba(251,248,241,.6);line-height:1.55}
.home-v12 .pb-t p b{color:rgba(251,248,241,.85);font-weight:600}
.home-v12 .pb-side{text-align:right;font-family:var(--mono);font-size:12.5px;line-height:1.9}
.home-v12 .pb-badge{display:inline-block;border:1px dashed rgba(251,248,241,.4);color:rgba(251,248,241,.8);
    border-radius:999px;padding:2px 10px;letter-spacing:.06em}
.home-v12 .pb-side span{display:block;color:rgba(251,248,241,.45)}
.home-v12 .pb-wish{margin-top:16px;border:1.5px dashed rgba(251,248,241,.38);border-radius:10px;padding:16px 18px}
.home-v12 .pb-wish b{display:block;font-size:15px;color:#fbf8f1}
.home-v12 .pb-wish p{font-size:13px;color:rgba(251,248,241,.68);margin-top:4px;line-height:1.6}
.home-v12 .pb-wish a{display:inline-block;margin-top:12px;background:var(--coral);color:#fff;
    font-weight:700;font-size:13px;padding:8px 16px;border-radius:7px}
.home-v12 .pb-wish a:hover{box-shadow:0 6px 14px -6px rgba(223,81,48,.7)}
.home-v12 .pb-laneh{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:24px;
    border-bottom:1px solid rgba(251,248,241,.16);padding-bottom:9px;margin-bottom:12px}
.home-v12 .pb-laneh i{width:9px;height:9px;border-radius:50%;display:inline-block;position:relative;top:-1px}
.home-v12 .pb-laneh b{font-size:15px;color:#fbf8f1}
.home-v12 .pb-laneh span{font-family:var(--mono);font-size:var(--fs0);color:rgba(251,248,241,.55);letter-spacing:.1em}
.home-v12 .pb-laneh em{font-style:normal;font-size:12.5px;color:rgba(251,248,241,.45);margin-left:auto}
.home-v12 .pb-preview{position:relative;opacity:.75;margin-top:14px}
.home-v12 .pb-prevtag{position:absolute;top:-9px;right:14px;z-index:2;font-family:var(--mono);font-size:11px;
    letter-spacing:.08em;color:rgba(251,248,241,.9);background:var(--forest);
    border:1px dashed rgba(251,248,241,.55);border-radius:4px;padding:1px 9px}
.home-v12 .pb-lit{display:grid;grid-template-columns:14px 52px 1fr auto;gap:12px;align-items:center;
    background:var(--paper);color:var(--ink);border:1.5px dashed rgba(251,248,241,.55);
    border-radius:8px;padding:14px 16px 13px;position:relative;overflow:hidden}
.home-v12 .pb-lit::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:repeating-linear-gradient(-45deg,rgba(20,35,25,.045) 0 8px,transparent 8px 16px)}
.home-v12 .pb-dot{width:10px;height:10px;border-radius:50%;background:var(--green);
    box-shadow:0 0 0 3px rgba(47,125,87,.2);justify-self:center}
.home-v12 .pb-lit .pb-no.pros{color:var(--green)}
.home-v12 .pb-lit .pb-t strong{color:var(--ink)}
.home-v12 .pb-lit .pb-t p{color:rgba(24,35,45,.62)}
.home-v12 .pb-lit .pb-t p b{color:var(--green)}
.home-v12 .pb-new{position:absolute;top:0;left:0;z-index:1;background:var(--coral);color:#fff;
    font-style:normal;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;
    padding:3px 8px;border-radius:6px 0 6px 0}
.home-v12 .pb-litside{display:flex;flex-direction:column;align-items:flex-end;gap:5px;
    font-family:var(--mono);font-size:12.5px;text-align:right;color:rgba(24,35,45,.55)}
.home-v12 .pb-openbadge{display:inline-block;background:var(--green);color:#fff;border-radius:999px;
    padding:2px 11px;font-weight:700;letter-spacing:.06em}
.home-v12 .pb-enter{display:inline-block;background:var(--forest);color:#f2efe8;border-radius:7px;
    padding:6px 14px;font-weight:700;font-size:13px;
    font-family:-apple-system,"PingFang SC",sans-serif}
.home-v12 .pb-slot{display:block;margin-top:10px;border:1.5px dashed rgba(251,248,241,.38);border-radius:8px;
    padding:12px 16px;text-align:center;font-family:var(--mono);font-size:13px;
    color:rgba(251,248,241,.72);transition:border-color .16s,color .16s}
.home-v12 .pb-slot b{color:var(--coral);font-weight:700}
.home-v12 .pb-slot:hover{border-color:rgba(251,248,241,.7);color:#fbf8f1}
.home-v12 #proof{padding-bottom:10px}
.home-v12 .bench{
    margin-top:20px;border:1px solid rgba(24,35,45,.2);border-radius:12px;
    padding:20px 22px 18px;
    background-color:var(--paper);
    background-image:linear-gradient(rgba(24,35,45,.045) 1px,transparent 1px),
                     linear-gradient(90deg,rgba(24,35,45,.045) 1px,transparent 1px);
    background-size:22px 22px;
    box-shadow:0 18px 40px -26px rgba(20,35,25,.45),0 2px 6px rgba(20,35,25,.08)}
.home-v12 .bench-cap{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:var(--fs0);letter-spacing:.14em;color:var(--paper-dim);margin-bottom:16px}
.home-v12 .bench-cap::after{content:"";flex:1;height:1px;background:rgba(24,35,45,.18)}
.home-v12 .samples{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 16px}
.home-v12 .sample{display:flex;flex-direction:column;min-width:0}
.home-v12 .sample.wide{grid-column:span 2}
.home-v12 .sample:focus-visible{outline:2px solid var(--coral);outline-offset:4px;border-radius:10px}
.home-v12 .smp-name{margin-top:10px;font-size:14.5px;font-weight:700;line-height:1.45;color:var(--paper-ink);transition:color .15s}
.home-v12 .smp-name .ext{font-family:var(--mono);font-size:var(--fs0);font-weight:400;color:var(--paper-dim)}
.home-v12 .smp-meta{margin-top:2px;font-family:var(--mono);font-size:12.5px;color:var(--paper-dim);line-height:1.8}
.home-v12 .smp-meta b{font-weight:700}
.home-v12 .smp-meta .crs{color:var(--t-tools)}
.home-v12 .smp-meta .scn{color:var(--green)}
.home-v12 .smp-meta em{font-style:normal;color:var(--green);font-weight:700}
.home-v12 .smp-go{margin-top:6px;align-self:flex-start;font-family:var(--mono);font-size:var(--fs0);
    color:rgba(24,35,45,.55);border-bottom:1px solid rgba(24,35,45,.3);padding-bottom:1px;
    transition:color .15s,border-color .15s}
.home-v12 .sample:hover .smp-name{color:var(--coral)}
.home-v12 .sample:hover .smp-go{color:var(--coral);border-color:var(--coral)}
.home-v12 .bench-note{margin-top:16px;font-family:var(--mono);font-size:var(--fs0);color:var(--paper-dim)}
.home-v12 .mock{
    background:#fff;border:1px solid #ddd5c2;border-radius:10px;overflow:hidden;
    box-shadow:0 1px 0 rgba(24,35,45,.03),0 14px 28px -22px rgba(24,35,45,.4);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
    display:flex;flex-direction:column;flex:none}
.home-v12 .sample:hover .mock{transform:translateY(-3px);box-shadow:0 2px 0 rgba(24,35,45,.03),0 22px 36px -20px rgba(24,35,45,.45);border-color:#cbc2ab}
.home-v12 .mock.m-lg{height:228px}
.home-v12 .mock.m-sm{height:178px}
.home-v12 .mbar{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#f1ece0;border-bottom:1px solid #e4dcc8;flex:none}
.home-v12 .mdots{display:flex;gap:4px}
.home-v12 .mdots i{width:7px;height:7px;border-radius:50%}
.home-v12 .mdots i:nth-child(1){background:#df6a55}
.home-v12 .mdots i:nth-child(2){background:#e3b341}
.home-v12 .mdots i:nth-child(3){background:#63a877}
.home-v12 .maddr{font-family:var(--mono);font-size:9px;color:#94897a;background:#fff;border-radius:4px;padding:1px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.home-v12 .mbody{padding:12px 14px;display:flex;flex-direction:column;gap:7px;flex:1;min-height:0;overflow:hidden}
.home-v12 .mrow{display:flex;align-items:center;justify-content:space-between;gap:8px}
.home-v12 .mh{font-size:11px;font-weight:700;color:var(--paper-ink);letter-spacing:.02em}
.home-v12 .mtag{font-family:var(--mono);font-size:8px;color:#94897a;border:1px solid #e0d8c5;border-radius:3px;padding:1px 5px;white-space:nowrap}
.home-v12 .mtag.ok{color:var(--green);border-color:#b9d2c2}
.home-v12 .mlbl{font-family:var(--mono);font-size:8.5px;color:#a29883;letter-spacing:.1em;margin-top:2px}
.home-v12 .sk{display:block;height:7px;border-radius:3px;background:var(--sk);flex:none}
.home-v12 .malert{border-left:3px solid var(--coral);background:rgba(223,81,48,.07);border-radius:0 4px 4px 0;padding:6px 8px;display:flex;flex-direction:column;gap:5px}
.home-v12 .malert b{font-size:9px;color:var(--coral);font-weight:700;line-height:1.5}
.home-v12 .malert .sk{background:rgba(223,81,48,.16)}
.home-v12 .mtable{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e6dfd0;border:1px solid #e6dfd0;border-radius:4px;overflow:hidden}
.home-v12 .mtable i{background:#fff;height:13px;display:flex;align-items:center;padding:0 5px}
.home-v12 .mtable i.th{background:#f4efe3;height:15px;font-family:var(--mono);font-style:normal;font-size:8px;color:#8a8272}
.home-v12 .mtable i s{width:60%;height:5px;border-radius:2px;background:var(--sk);text-decoration:none}
.home-v12 .mfoot{margin-top:auto;font-family:var(--mono);font-size:8.5px;color:var(--green);background:rgba(47,125,87,.08);border-radius:4px;padding:4px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-v12 .kan{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;flex:1;align-items:start}
.home-v12 .kcol{display:flex;flex-direction:column;gap:5px;min-width:0}
.home-v12 .kh{font-family:var(--mono);font-style:normal;font-size:8px;color:#a29883;letter-spacing:.08em;padding-bottom:2px;border-bottom:1px dashed #e4dcc8}
.home-v12 .kcol b{display:block;height:18px;border-radius:3px;background:#f1ecdf}
.home-v12 .kcol b.short{height:12px;width:72%}
.home-v12 .kcol b.hi{border-left:3px solid var(--coral)}
.home-v12 .fun{display:flex;flex-direction:column;gap:4px}
.home-v12 .fun b{height:9px;border-radius:2px;display:block}
.home-v12 .fun b:nth-child(1){background:rgba(47,125,87,.8)}
.home-v12 .fun b:nth-child(2){background:rgba(47,125,87,.55)}
.home-v12 .fun b:nth-child(3){background:rgba(47,125,87,.35)}
.home-v12 .fun b:nth-child(4){background:rgba(47,125,87,.2)}
.home-v12 .mock.paper{padding:12px 14px;gap:7px;background:#fffdf7}
.home-v12 .phead{font-family:var(--mono);font-size:9px;color:#a29883;letter-spacing:.06em;padding-bottom:6px;border-bottom:1px solid #efe8d6;margin-bottom:2px}
.home-v12 .cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;flex:1;align-items:start}
.home-v12 .cols3>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.home-v12 .cols3 i{font-style:normal;font-size:9px;font-weight:700;color:var(--paper-ink)}
.home-v12 .cbrow{display:flex;align-items:center;gap:4px}
.home-v12 .cb{width:7px;height:7px;border:1.5px solid #cfc6b0;border-radius:2px;flex:none}
.home-v12 .cb.on{background:var(--green);border-color:var(--green)}
.home-v12 .pgroup{display:flex;flex-direction:column;gap:6px;margin-top:2px}
.home-v12 .pgroup i{font-style:normal;font-size:9.5px;font-weight:700;color:var(--paper-ink)}
.home-v12 .bullet{display:flex;align-items:center;gap:5px}
.home-v12 .bullet::before{content:"";width:4px;height:4px;background:#cfc6b0;border-radius:1px;flex:none}
.home-v12 .bullet .sk{flex:1}
.home-v12 .mock.xhs{padding:10px;background:#f4f0e4}
.home-v12 .xgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1}
.home-v12 .xcard{background:#fff;border:1px solid #e6dfcd;border-radius:6px;padding:5px;display:flex;flex-direction:column;gap:4px;min-width:0;position:relative}
.home-v12 .ximg{display:block;height:32%;min-height:22px;border-radius:4px;background:linear-gradient(135deg,rgba(223,81,48,.2),rgba(223,81,48,.08))}
.home-v12 .xcard u{position:absolute;top:8px;left:9px;text-decoration:none;font-family:var(--mono);font-size:7.5px;color:var(--coral)}
.home-v12 .xcard .sk{height:5px}
.home-v12 .mock.sheet{background:#fffdf7}
.home-v12 .stab{font-family:var(--mono);font-size:9px;color:#3e6b50;background:rgba(47,125,87,.1);border-bottom:1px solid rgba(47,125,87,.18);padding:6px 12px;flex:none}
.home-v12 .sgrid{display:grid;grid-template-columns:1.2fr 1.2fr .8fr 1fr 1fr;gap:1px;background:#e3ddca;flex:1;overflow:hidden}
.home-v12 .sgrid i{background:#fff;display:flex;align-items:center;padding:0 6px;min-height:18px}
.home-v12 .sgrid i.sh{background:#eaf2ec;font-family:var(--mono);font-style:normal;font-size:8px;color:#3e6b50}
.home-v12 .sgrid i s{width:70%;height:5px;border-radius:2px;background:var(--sk);text-decoration:none}
.home-v12 .sgrid i s.n{width:45%}
.home-v12 .sgrid i em{font-style:normal;font-family:var(--mono);font-size:7.5px;color:var(--t-build);border:1px solid #e0cfa0;border-radius:3px;padding:0 3px}
.home-v12 .tilt-l{transform:rotate(-.6deg)}
.home-v12 .tilt-r{transform:rotate(.5deg)}
.home-v12 .sample:hover .tilt-l{transform:rotate(-.6deg) translateY(-3px)}
.home-v12 .sample:hover .tilt-r{transform:rotate(.5deg) translateY(-3px)}
.home-v12 .method{background:var(--forest);color:#f2efe8;margin-top:64px;padding:34px 0}
.home-v12 .m-in{display:flex;flex-wrap:wrap;align-items:center;gap:14px 34px}
.home-v12 .m-kicker{font-family:var(--mono);font-size:var(--fs0);letter-spacing:.18em;color:rgba(242,239,232,.55)}
.home-v12 .m-steps{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;flex:1}
.home-v12 .m-step{display:flex;align-items:baseline;gap:9px}
.home-v12 .m-step b{font-family:var(--mono);font-size:var(--fs0);color:var(--coral)}
.home-v12 .m-step strong{font-size:15px;font-weight:700}
.home-v12 .m-step span{font-size:13px;color:rgba(242,239,232,.62)}
.home-v12 .m-arrow{color:rgba(242,239,232,.4);font-family:var(--mono)}
.home-v12 .m-in>a{font-size:var(--fs1);color:rgba(242,239,232,.85);text-decoration:underline;
    text-underline-offset:3px;text-decoration-color:rgba(242,239,232,.35)}
@media (max-width:1020px){
.home-v12 .triage-grid{grid-template-columns:1fr;gap:30px;padding-top:40px}
.home-v12 .tri-card{max-width:560px}
.home-v12 .course-row{grid-template-columns:72px minmax(0,1fr);row-gap:14px}
.home-v12 .cr-side{grid-column:2;flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px 22px}
.home-v12 .tix-grid{grid-template-columns:repeat(2,1fr)}
.home-v12 .pb-cols{grid-template-columns:1fr}
.home-v12 .samples{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
.home-v12 .wrap{padding:0 18px}
.home-v12{--fs4:27px;--fs3:19px}
.home-v12 .tix-grid{grid-template-columns:1fr}
.home-v12 .course-row{grid-template-columns:1fr;padding:20px 18px}
.home-v12 .cr-id{flex-direction:row;align-items:baseline;gap:10px}
.home-v12 .cr-side{grid-column:auto}
.home-v12 .tri-card{padding:17px 16px 18px}
.home-v12 .chip{padding:8px 12px}
.home-v12 .pboard{padding:20px 16px 22px}
.home-v12 .pb-row{grid-template-columns:44px 1fr}
.home-v12 .pb-side{grid-column:2;text-align:left;display:flex;gap:12px;align-items:center;margin-top:2px}
.home-v12 .pb-side span{display:inline}
.home-v12 .pb-laneh em{width:100%;margin-left:0}
.home-v12 .pb-lit{grid-template-columns:12px 44px 1fr;row-gap:6px;padding:14px 12px 12px}
.home-v12 .pb-litside{grid-column:2/-1;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 12px;text-align:left}
.home-v12 .pb-prevtag{right:8px}
.home-v12 .bench{padding:14px 12px}
.home-v12 .samples{gap:16px 10px}
.home-v12 .sgrid i{padding:0 4px}
}


/* 深夜工坊：暗色适配（画布/白卡翻转，纸质物件保持暖纸） */
html.dark .home-v12{
  --canvas:#16130f;
  --ink:#ece7dc;
  --dim:rgba(236,231,220,.58);
  --hair:rgba(236,231,220,.16);
  --card:#241f18;
}
html.dark .home-v12 .course-row{box-shadow:0 1px 4px rgba(0,0,0,.4)}
html.dark .home-v12 .course-row:hover{box-shadow:0 18px 34px -24px rgba(0,0,0,.7)}
html.dark .home-v12 .cr-io b{background:rgba(236,231,220,.07);color:var(--ink)}
html.dark .home-v12 .cr-io b.hl{background:rgba(47,125,87,.18);color:#7ec99f}
html.dark .home-v12 .cr-stats b{color:#7ec99f}
html.dark .home-v12 .tix{border-color:#4a4437}
html.dark .home-v12 .tix::before,html.dark .home-v12 .tix::after{background:var(--canvas);border-color:#4a4437}
html.dark .home-v12 .bench{border-color:rgba(236,231,220,.22)}
html.dark .home-v12 .cr-side .btn{background:#f5f3ee;color:#18232d}

/* 首页：方法带与站点页脚两块深色直接相接，消掉中间 96px 浅色空隙 */
.home-page-v12 .site-foot{margin-top:0}

/* ============ 方法带 V12.1：三列网格 + 头行分隔，和页脚形成层级（原 .m-in 行排版折行杂乱已弃用） ============ */
.home-v12 .method{padding:40px 0 44px}
.home-v12 .m-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  border-bottom:1px solid rgba(242,239,232,.16);padding-bottom:14px;margin-bottom:24px}
.home-v12 .m-head .m-kicker{margin:0}
.home-v12 .m-head a{font-size:var(--fs1);color:rgba(242,239,232,.85);text-decoration:underline;
  text-underline-offset:3px;text-decoration-color:rgba(242,239,232,.35);white-space:nowrap}
.home-v12 .m-head a:hover{text-decoration-color:#fff;color:#fff}
.home-v12 .m-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 40px}
.home-v12 .m-grid .m-step{display:block}
.home-v12 .m-grid .m-step b{display:block;font-family:var(--mono);font-size:var(--fs0);letter-spacing:.12em;color:var(--coral);margin-bottom:8px}
.home-v12 .m-grid .m-step strong{display:block;font-size:15.5px;font-weight:700;color:#f2efe8}
.home-v12 .m-grid .m-step span{display:block;font-size:13px;color:rgba(242,239,232,.6);margin-top:5px;line-height:1.7}
@media (max-width:760px){
  .home-v12 .m-grid{grid-template-columns:1fr;gap:20px}
}
