/* 锦囊库 v1.7.5。仅 kl- 命名空间，不改变游戏 HUD 或旧锦囊。 */
.kl-library{--kl-dim:var(--muted);--kl-inset:rgba(64,90,133,.055)}
.kl-toolbar{padding:24px 28px 20px;border-radius:28px}
.kl-heading p,.kl-sample-heading p{font-size:12px;font-weight:650;color:var(--muted);letter-spacing:.06em;margin-bottom:9px}
.kl-heading h1{font-size:clamp(28px,3.4vw,42px);line-height:1.2}
.kl-heading>span{display:block;font-size:15px;color:var(--muted);margin-top:10px}
.kl-search{display:flex;align-items:center;gap:12px;background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:inset 0 2px 4px rgba(27,40,70,.04);border-radius:18px;padding:2px 16px;margin-top:18px}
.kl-search svg{width:21px;height:21px;flex:none;fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round}
.kl-search input{margin:0;border:0;border-radius:0;padding:12px 0;background:transparent;min-width:0;min-height:49px;font-size:15px}
.kl-search:focus-within{outline:3px solid var(--tint);outline-offset:3px}
.kl-search input:focus-visible{outline:none}
.kl-topics{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.kl-topics button{padding:9px 15px;min-height:43px;border:1px solid var(--hairline);border-radius:22px;font-size:14px;font-weight:600;background:var(--glass-thin);transition:background .15s,transform .18s}
.kl-topics button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.kl-topics button:hover{transform:translateY(-1px)}
.kl-results{margin-top:30px}
.kl-results-head{display:flex;gap:16px;align-items:baseline;justify-content:space-between;margin:0 5px 16px}
.kl-results-head h2{font-size:21px}
.kl-results-head>span{font-size:12px;color:var(--muted);white-space:nowrap}
.kl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.kl-card{display:flex;align-items:center;position:relative;min-width:0;min-height:156px;padding:15px 24px 15px 10px;gap:5px;border:1px solid var(--glass-edge);background:var(--glass);border-radius:25px;box-shadow:inset 0 1px 1px rgba(255,255,255,.6),0 8px 20px rgba(25,38,80,.065);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:transform .22s var(--spring),box-shadow .22s,background .22s}
.kl-card:hover,.kl-card:focus-visible{transform:translateY(-4px);background:var(--glass-strong);box-shadow:inset 0 1px 1px rgba(255,255,255,.6),0 14px 25px rgba(25,38,80,.12)}
.kl-pouch{display:block;position:relative;flex:none;width:108px;aspect-ratio:1;filter:drop-shadow(0 7px 5px rgba(36,23,92,.13));pointer-events:none}
.kl-pouch img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .16s;user-select:none}
.kl-pouch-loose,.kl-pouch-open{opacity:0}
.kl-card:hover .kl-pouch-closed,.kl-card:focus-visible .kl-pouch-closed,.kl-card.is-opening .kl-pouch-closed{opacity:0}
.kl-card:hover .kl-pouch-loose,.kl-card:focus-visible .kl-pouch-loose{opacity:1}
.kl-card.is-opening .kl-pouch-loose{opacity:0}
.kl-card.is-opening .kl-pouch-open{opacity:1}
.kl-card-copy{display:block;flex:1;min-width:0}
.kl-card-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-bottom:8px;line-height:1.3}
.kl-earned{color:var(--tint);font-weight:650}
.kl-card h2{font-size:17px;line-height:1.35;letter-spacing:-.025em;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kl-purpose{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.55;margin-top:7px;overflow-wrap:anywhere}
.kl-card-arrow{position:absolute;right:13px;top:12px;color:var(--muted);font-size:15px;line-height:1}
.kl-more{display:flex;justify-content:center;margin-top:23px}
.kl-more .btn{font-size:14px;min-height:45px}
.kl-empty{grid-column:1/-1;padding:30px;text-align:center;border:1px solid var(--glass-edge);border-radius:24px;background:var(--glass-thin)}
.kl-empty p{font-size:14px;color:var(--muted);margin:10px 0 18px}
.kl-back{display:inline-flex;align-items:center;min-height:44px;color:var(--tint);font-size:14px;font-weight:650}
.kl-sample{max-width:900px;margin:auto}
.kl-sample>.kl-back{margin-bottom:16px}
.kl-sample-board{padding:30px;border-radius:30px;overflow:hidden}
.kl-sample-heading{background:none;border:0;box-shadow:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;display:flex;gap:18px;align-items:center;margin-bottom:23px}
.kl-sample-heading>div{min-width:0;flex:1}
.kl-sample-heading h1{font-size:clamp(27px,3.2vw,38px);line-height:1.3}
.kl-sample-heading h1 span{display:inline-block}
.kl-sample-heading>div>span{display:block;font-size:15px;line-height:1.7;color:var(--muted);margin-top:11px}
.kl-sample-pouch{width:99px}
.kl-sample-pouch .kl-pouch-closed,.kl-sample-pouch .kl-pouch-loose{opacity:0}
.kl-sample-pouch .kl-pouch-open{opacity:1;animation:kl-open .32s var(--spring) both}
.kl-simulation{padding:23px;border-radius:23px;background:var(--kl-inset,rgba(64,90,133,.055));box-shadow:inset 0 2px 7px rgba(20,40,75,.055),inset 0 0 0 1px var(--hairline)}
.kl-sim-top{display:flex;align-items:baseline;gap:12px;justify-content:space-between}
.kl-sim-top h2{font-size:20px}
.kl-sim-top>span{font-size:11px;color:var(--muted);white-space:nowrap}
.kl-decision{display:flex;width:fit-content;margin-top:17px;gap:4px;padding:4px;border:1px solid var(--hairline);border-radius:17px;background:var(--glass-thin)}
.kl-decision button{min-height:44px;border:0;border-radius:13px;padding:9px 20px;background:transparent;font-size:14px;font-weight:650;transition:background .16s,color .16s}
.kl-decision button[aria-pressed=true]{background:var(--tint);color:var(--on-tint);box-shadow:0 3px 8px rgba(10,124,255,.2)}
.kl-sim-columns{display:grid;grid-template-columns:1.05fr 1fr;gap:32px;margin-top:20px}
.kl-contribution{padding-top:10px}
.kl-contribution>span{color:var(--muted);font-size:13px}
.kl-contribution>strong{display:flex;align-items:baseline;gap:8px;color:var(--ink);font:800 clamp(40px,4.7vw,56px)/1.25 var(--font-num);margin-top:5px;font-variant-numeric:tabular-nums}
.kl-contribution>strong small{font:500 14px var(--font-body);color:var(--muted)}
.kl-compare-bars{margin:21px 0 15px}
.kl-bar-row{display:flex;align-items:center;gap:9px;margin-top:12px;font-size:12px}
.kl-bar-row>span{width:28px;flex:none;color:var(--muted)}
.kl-bar-row>b{width:20px;flex:none;font-weight:650;color:var(--muted);font-variant-numeric:tabular-nums}
.kl-bar-track{height:13px;position:relative;flex:1;border-radius:6px;background:var(--hairline)}
.kl-bar-track i{display:block;height:100%;border-radius:6px}
.kl-zero-mark{width:2px;background:var(--muted)}
.kl-contribution-bar{width:100%;background:var(--cash);opacity:1;transition:opacity .2s}
.kl-simulation[data-choice=skip] .kl-contribution-bar{opacity:.28}
.kl-simulation[data-choice=skip] .kl-zero-mark{background:var(--tint);width:4px}
.kl-contribution>p{font-size:13px;line-height:1.7;color:var(--muted);max-width:270px}
.kl-accounts{border-left:1px solid var(--hairline);padding-left:25px}
.kl-accounts h3{font-size:14px;font-weight:650;margin-bottom:9px}
.kl-accounts table{font-size:13px;font-variant-numeric:tabular-nums}
.kl-accounts th,.kl-accounts td{padding:6px 0;font-weight:500}
.kl-accounts td{text-align:right;font-family:var(--font-num);font-weight:600}
.kl-accounts .kl-account-main th,.kl-accounts .kl-account-main td{font-weight:750}
.kl-account-allocation{color:var(--muted)}
.kl-account-result th,.kl-account-result td{border-bottom:0}
.kl-unit{display:block;text-align:right;font-size:10px;color:var(--muted);margin-top:7px}
.kl-fixed{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;border-top:1px solid var(--hairline);padding-top:15px;margin-top:20px;font-size:12px;color:var(--muted)}
.kl-fixed strong{font:750 20px var(--font-num);color:var(--ink)}
.kl-fixed strong small{font:500 11px var(--font-body);color:var(--muted)}
.kl-fixed b{font-weight:600;margin-left:auto;color:var(--ink)}
.kl-conditions{margin-top:18px;font-size:13px}
.kl-conditions>strong{font-size:12px}
.kl-conditions p{margin-top:5px;color:var(--muted);line-height:1.75}
.kl-checks{margin-top:25px}
.kl-checks h2{font-size:18px}
.kl-checks ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;list-style:none;padding:0;margin:15px 0 0}
.kl-checks li{display:flex;gap:10px;padding:14px 0;border-top:1px solid var(--hairline);min-width:0}
.kl-checks li>span{font:650 13px var(--font-num);color:var(--tint)}
.kl-checks p{font-size:13px;line-height:1.7;color:var(--muted)}
.kl-checks strong{color:var(--ink);font-weight:650}
.kl-depth{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);margin-top:19px}
.kl-depth summary{list-style:none;display:flex;gap:12px;justify-content:space-between;cursor:pointer;padding:17px 0;font-size:13px;font-weight:650;min-height:52px}
.kl-depth summary::-webkit-details-marker{display:none}
.kl-depth summary>span{font-size:17px;color:var(--tint);font-weight:400}
.kl-depth[open] summary>span{transform:rotate(45deg)}
.kl-depth>div{padding-bottom:21px;max-width:720px}
.kl-depth h2{font-size:16px;margin:14px 0 10px}
.kl-depth p{font-size:14px;line-height:1.85}
.kl-depth .kl-equation{padding:15px 18px;background:var(--glass-thin);border-radius:15px;line-height:2.1;font-variant-numeric:tabular-nums}
.kl-depth .kl-source{font-size:12px;color:var(--muted)}
.kl-sample-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:22px 0 0;border:0}
.kl-sample-actions .btn{font-size:14px}
.kl-sample-actions .kl-back{margin-left:auto}
.kl-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.kl-updated{animation:kl-number .22s ease-out}
@keyframes kl-number{from{transform:translateY(3px);opacity:.55}to{transform:none;opacity:1}}
@keyframes kl-open{from{transform:translateY(4px) scale(.96)}to{transform:none}}
@media(max-width:950px){.kl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kl-card{min-height:142px}}
@media(max-width:580px){.kl-toolbar{padding:18px 20px 17px;border-radius:25px}.kl-heading h1{font-size:27px}.kl-heading>span{font-size:14px}.kl-search{padding-inline:13px;margin-top:15px}.kl-search input{font-size:14px}.kl-topics{gap:7px;margin-top:15px}.kl-topics button{font-size:12px;min-height:40px;padding:8px 12px}.kl-results{margin-top:25px}.kl-results-head h2{font-size:19px}.kl-results-head>span{font-size:11px}.kl-grid{grid-template-columns:1fr;gap:13px}.kl-card{min-height:130px;padding:10px 27px 10px 10px;gap:6px;border-radius:23px}.kl-pouch{width:107px}.kl-card h2{font-size:17px}.kl-purpose{font-size:12px;-webkit-line-clamp:2}.kl-sample-board{padding:22px 19px;border-radius:26px}.kl-sample-heading{gap:11px;margin-bottom:20px}.kl-sample-pouch{width:72px}.kl-sample-heading p{font-size:10px;letter-spacing:0}.kl-sample-heading h1{font-size:25px}.kl-sample-heading>div>span{font-size:13px;margin-top:9px}.kl-simulation{padding:18px 16px;border-radius:20px}.kl-sim-top{gap:6px}.kl-sim-top h2{font-size:18px}.kl-sim-top>span{font-size:10px}.kl-decision{margin-top:14px}.kl-decision button{font-size:13px;padding:9px 17px}.kl-sim-columns{gap:17px;grid-template-columns:1fr 1fr;margin-top:17px}.kl-accounts{padding-left:15px}.kl-accounts h3{font-size:12px}.kl-accounts table{font-size:12px}.kl-accounts th,.kl-accounts td{padding:6px 0}.kl-contribution>span{font-size:12px}.kl-contribution>strong{font-size:41px;gap:4px}.kl-contribution>strong small{font-size:11px}.kl-contribution>p{font-size:12px;line-height:1.65}.kl-compare-bars{margin:15px 0 12px}.kl-bar-row{font-size:10px;gap:5px}.kl-bar-row>span{width:24px}.kl-bar-row>b{width:15px}.kl-bar-track{height:11px}.kl-fixed{gap:6px 11px;font-size:11px}.kl-fixed strong{font-size:19px}.kl-fixed b{margin-left:0}.kl-conditions{font-size:12px}.kl-checks{margin-top:22px}.kl-checks h2{font-size:17px}.kl-checks ol{gap:10px}.kl-checks li{gap:5px;display:block;padding:11px 0}.kl-checks p{font-size:11px;margin-top:5px}.kl-checks li>span{font-size:11px}.kl-depth summary{font-size:12px}.kl-depth p{font-size:13px}.kl-depth .kl-equation{padding:12px;font-size:12px}.kl-sample-actions{gap:5px 12px}.kl-sample-actions .btn{width:100%;min-height:48px}.kl-sample-actions .kl-back{margin:auto}}
@media(prefers-reduced-motion:reduce){.kl-card,.kl-pouch img,.kl-topics button,.kl-contribution-bar,.kl-decision button{transition:none}.kl-card:hover,.kl-card:focus-visible,.kl-topics button:hover{transform:none}.kl-updated,.kl-sample-pouch .kl-pouch-open{animation:none}}
