svg.qr-graph{background-color:var(--qr-mantle);width:100%;height:100%;display:block}svg.qr-graph g.nodes>g{transition:opacity .12s}svg.qr-graph g.nodes>g.is-faded{opacity:.18}svg.qr-graph circle.disc{transition:fill .2s,stroke .2s}svg.qr-graph circle.disc.s-locked{fill:var(--qr-text-muted)}svg.qr-graph circle.disc.s-unlocked{fill:var(--qr-blue)}svg.qr-graph circle.disc.s-completed{fill:var(--qr-green)}svg.qr-graph circle.disc{stroke:#0000;stroke-width:2px}svg.qr-graph circle.disc.s-completed{stroke:#0000!important;stroke-width:0!important}svg.qr-graph circle.disc.is-reading{stroke:var(--qr-green)!important;stroke-width:3px!important;stroke-dasharray:none!important}svg.qr-graph circle.disc.is-reading.s-completed{fill:var(--qr-green)!important}svg.qr-graph g.links>line.e-recommend{stroke:var(--qr-green)!important;opacity:1!important}svg.qr-graph circle.disc.t-tutorial{stroke:var(--qr-yellow);stroke-width:2.5px}svg.qr-graph circle.disc.t-archive{stroke:var(--qr-text-muted);stroke-dasharray:3 2}svg.qr-graph circle.disc.is-selected{stroke:var(--qr-blue);stroke-width:3px;stroke-dasharray:none}svg.qr-graph path.lock{stroke:var(--qr-text)}svg.qr-graph text.label{fill:var(--qr-text);transition:opacity .12s}svg.qr-graph .zoomed-out text.label{pointer-events:none;opacity:0!important}svg.qr-graph g.nodes>g.is-focused-node{opacity:1!important}svg.qr-graph g.nodes>g.is-focused-node text.label{pointer-events:auto;opacity:1!important}svg.qr-graph g.links>line{transition:opacity .12s,stroke .12s}svg.qr-graph g.links>line.e-border{stroke:var(--qr-border)}svg.qr-graph g.links>line.e-completed{stroke:var(--qr-green)}svg.qr-graph g.links>line.is-faded{opacity:.1}svg.qr-graph g.links>line.e-completed{opacity:1!important}svg.qr-graph g.links>line.is-focused{stroke:var(--qr-blue)!important;opacity:1!important}svg.qr-graph g.links>line.e-completed.is-focused,svg.qr-graph g.links>line.e-recommend.is-focused{stroke:var(--qr-green)!important}svg.qr-graph marker .arrow-border{stroke:var(--qr-border)}svg.qr-graph marker .arrow-green{stroke:var(--qr-green)}.qr-split{flex:1;min-width:0;min-height:0;display:flex}.qr-split[data-direction=horizontal]{flex-direction:row}.qr-split[data-direction=vertical]{flex-direction:column}.qr-split-primary{flex:0 0 var(--qr-split-size,50%);min-width:0;min-height:0;position:relative;overflow:hidden}.qr-split-secondary{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.qr-split-divider{background:var(--qr-border);touch-action:none;flex-shrink:0;transition:background-color .12s;position:relative}.qr-split-divider--active{background:var(--qr-text-muted)}.qr-split[data-direction=horizontal] .qr-split-divider{cursor:col-resize;width:4px;height:100%}.qr-split[data-direction=vertical] .qr-split-divider{cursor:row-resize;width:100%;height:4px}.qr-split-hit{touch-action:none;position:absolute}.qr-split[data-direction=horizontal] .qr-split-hit{cursor:col-resize;width:20px;height:100%;top:0;left:-8px}.qr-split[data-direction=vertical] .qr-split-hit{cursor:row-resize;width:100%;height:20px;top:-8px;left:0}.qr-qi-wrap{height:var(--search-h);justify-self:stretch;position:relative}.qr-qi-input{width:100%;height:100%;font-size:var(--fs-body);background:var(--qr-base);color:var(--qr-text);border:1px solid var(--qr-border);border-radius:6px;outline:none;padding:0 12px}.qr-qi-input:focus,.qr-qi-input.qr-qi-input--focused{border-color:var(--qr-blue)}.qr-qi-badge{font-size:calc(var(--fs-body) * .72);color:var(--qr-text-muted);background:var(--qr-mantle);border:1px solid var(--qr-border);pointer-events:none;border-radius:3px;padding:.15em .5em;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.qr-qi-list{background:var(--qr-mantle);border:1px solid var(--qr-border);z-index:100;border-radius:6px;max-height:60vh;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #00000052}.qr-qi-row{text-align:left;width:100%;min-height:var(--control-h);cursor:pointer;color:var(--qr-text);opacity:1;background:0 0;border:none;border-left:2px solid #0000;border-radius:4px;align-items:center;gap:10px;padding:8px 12px;font-weight:400;display:flex}.qr-qi-row--focused{background:var(--qr-surface-hover)}.qr-qi-row--active{border-left-color:var(--qr-blue);font-weight:600}.qr-qi-row--disabled{cursor:not-allowed;opacity:.5}.qr-qi-glyph{width:18px;color:var(--qr-text-muted);flex-shrink:0}.qr-qi-body{flex:1;min-width:0}.qr-qi-label{font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.qr-qi-detail{font-size:var(--fs-caption);color:var(--qr-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.qr-qi-desc{font-size:var(--fs-caption);color:var(--qr-text-muted);flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.qr-gc-collapsed-btn{top:12px;right:max(12px, env(safe-area-inset-right));z-index:10;width:var(--icon-btn);height:var(--icon-btn);background:var(--qr-mantle);border:1px solid var(--qr-border);color:var(--qr-text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;box-shadow:0 2px 6px #00000026}.qr-gc-panel{top:12px;right:max(12px, env(safe-area-inset-right));z-index:10;background:var(--qr-mantle);border:1px solid var(--qr-border);width:min(240px,100vw - 24px);max-height:calc(100% - 24px);font-size:var(--fs-ui);border-radius:8px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 6px 20px #00000040}.qr-gc-title-row{align-items:center;gap:4px;padding:8px 8px 8px 12px;display:flex}.qr-gc-title{min-width:0;color:var(--qr-text);flex:1;font-weight:600}.qr-gc-icon-btn{color:var(--qr-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.qr-gc-group{border-top:1px solid var(--qr-border)}.qr-gc-group-btn{width:100%;min-height:var(--control-h);color:var(--qr-text);font-size:var(--fs-ui);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:flex}.qr-gc-group-chev{transition:transform .12s;display:inline-flex}.qr-gc-group--open .qr-gc-group-chev{transform:rotate(90deg)}.qr-gc-group-body{padding:4px 12px 10px}.qr-gc-toggle-row{font-size:var(--fs-ui);color:var(--qr-text);justify-content:space-between;align-items:center;padding:4px 0;display:flex}.qr-gc-toggle-btn{cursor:pointer;background:var(--qr-border);border:none;border-radius:9px;width:28px;height:16px;padding:0;transition:background-color .12s;position:relative}.qr-gc-toggle-btn[aria-checked=true]{background:var(--qr-green)}.qr-gc-toggle-knob{background:#fff;border-radius:6px;width:12px;height:12px;transition:left .12s;position:absolute;top:2px;left:2px}.qr-gc-toggle-btn[aria-checked=true] .qr-gc-toggle-knob{left:14px}.qr-gc-slider-row{padding:4px 0}.qr-gc-slider-label{font-size:var(--fs-ui);color:var(--qr-text-muted);margin-bottom:6px}.qr-gc-slider-input{width:100%}.qr-gc-chips-row{padding:4px 0}.qr-gc-chips-label{font-size:var(--fs-ui);color:var(--qr-text);margin-bottom:6px}.qr-gc-chips{flex-wrap:wrap;gap:4px;display:flex}.qr-gc-chip{font-size:var(--fs-caption);border:1px solid var(--qr-border);color:var(--qr-text-muted);cursor:pointer;background:0 0;border-radius:10px;padding:2px 8px}.qr-gc-chip.qr-gc-chip--on{border-color:var(--qr-blue);background:var(--qr-surface-hover);color:var(--qr-text)}.qr-slider{appearance:none;cursor:pointer;background:0 0;height:16px;margin:0;padding:0}.qr-slider:focus{outline:none}.qr-slider::-webkit-slider-runnable-track{background:var(--qr-border);border-radius:1px;height:2px}.qr-slider::-moz-range-track{background:var(--qr-border);border:none;border-radius:1px;height:2px}.qr-slider::-webkit-slider-thumb{appearance:none;background:#fff;border:none;border-radius:50%;width:14px;height:14px;margin-top:-6px;box-shadow:0 1px 2px #0006}.qr-slider::-moz-range-thumb{background:#fff;border:none;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 2px #0006}.qr-slider:active::-webkit-slider-thumb{background:var(--qr-blue)}.qr-slider:active::-moz-range-thumb{background:var(--qr-blue)}*{scrollbar-width:thin;scrollbar-color:var(--qr-border) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--qr-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--qr-text-muted)}@keyframes qr-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes qr-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes qr-modal-scale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.qr-reader{background:var(--qr-base);width:100%;height:100%;color:var(--qr-text);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;display:flex;overflow:hidden}.qr-reader-body{flex:1;min-height:0;display:flex;position:relative}.qr-pane-fill{flex:1;min-width:0;position:relative}.qr-graph-wrap{position:absolute;inset:0}.qr-pane-loading{background:var(--qr-mantle);width:100%;height:100%;color:var(--qr-text-muted);font-size:var(--fs-ui);justify-content:center;align-items:center;display:flex}.qr-toast-wrap{pointer-events:none;z-index:50;justify-items:center;display:grid;position:absolute;bottom:32px;left:0;right:0}.qr-toast{background:var(--qr-mantle);border:1px solid var(--qr-border);border-left:3px solid var(--qr-blue);font-size:var(--fs-body);color:var(--qr-text);pointer-events:auto;border-radius:6px;align-items:center;gap:8px;max-width:min(420px,100vw - 32px);padding:10px 18px;font-weight:500;animation:.18s ease-out qr-toast-in;display:inline-flex;box-shadow:0 8px 24px #00000052}.qr-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;justify-content:center;align-items:center;padding:16px;animation:.12s ease-out qr-modal-fade;display:flex;position:absolute;inset:0}.qr-modal{background:var(--qr-mantle);border:1px solid var(--qr-border);border-radius:8px;width:min(420px,100%);animation:.16s ease-out qr-modal-scale;overflow:hidden;box-shadow:0 12px 40px #0006}.qr-modal-title{border-bottom:1px solid var(--qr-border);font-size:var(--fs-title);color:var(--qr-text);padding:14px 18px 10px;font-weight:600}.qr-modal-body{font-size:var(--fs-body);color:var(--qr-text);padding:14px 18px 18px;line-height:1.6}.qr-modal-footer{background:color-mix(in srgb, var(--qr-base) 50%, transparent);border-top:1px solid var(--qr-border);justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.qr-modal-btn{font-size:var(--fs-ui);min-height:var(--control-h);cursor:pointer;border-radius:5px;padding:6px 14px}.qr-modal-btn--cancel{color:var(--qr-text-muted);border:1px solid var(--qr-border);background:0 0}.qr-modal-btn--ok{color:#fff;background:var(--qr-blue);border:1px solid var(--qr-blue);font-weight:600}.qr-modal-btn--ok.qr-modal-btn--danger{background:var(--qr-red);border-color:var(--qr-red)}.qr-header{height:calc(var(--header-h) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-bottom:0;padding-left:max(var(--gutter), env(safe-area-inset-left));padding-right:max(var(--gutter), env(safe-area-inset-right));border-bottom:1px solid var(--qr-border);background:var(--qr-mantle);z-index:20;flex-shrink:0;align-items:center;display:grid;position:relative}.qr-header--s{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.qr-header--ml{grid-template-columns:minmax(0,1fr) minmax(120px,2fr) minmax(0,1fr);gap:12px}.qr-header-brand{font-size:var(--fs-ui);color:var(--qr-text);align-items:center;gap:8px;min-width:0;font-weight:600;display:flex}.qr-header-logo{flex-shrink:0;display:block}.qr-header-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.qr-header-stats{justify-self:end;align-items:center;gap:10px;display:flex}.qr-header-pct{font-size:var(--fs-ui);color:var(--qr-green);text-align:right;min-width:2.8em;font-weight:600}.qr-header-count{font-size:var(--fs-ui);color:var(--qr-text-muted)}.qr-header-count-pct{color:var(--qr-green)}.qr-header-bar{background:var(--qr-border);border-radius:3px;width:90px;height:5px;overflow:hidden}.qr-header-bar-fill{height:100%;width:var(--qr-progress,0%);background:var(--qr-green)}.qr-footer{height:calc(var(--footer-h) + env(safe-area-inset-bottom));padding-top:0;padding-bottom:env(safe-area-inset-bottom);padding-left:max(12px, env(safe-area-inset-left));padding-right:max(6px, env(safe-area-inset-right));font-size:var(--fs-caption);color:var(--qr-text-muted);border-top:1px solid var(--qr-border);background:var(--qr-mantle);flex-shrink:0;align-items:center;gap:4px;display:flex}.qr-footer-crumb{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.qr-footer-divider{background:var(--qr-border);width:1px;height:14px;margin:0 2px}.qr-footer-stat{height:100%;color:var(--qr-text-muted);font-size:var(--fs-caption);cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;gap:4px;padding:0 8px;transition:background-color .12s,color .12s;display:inline-flex}.qr-footer-stat:hover{background:color-mix(in srgb, var(--qr-text) 8%, transparent);color:var(--qr-text)}.qr-footer-stat-value{color:inherit}.qr-pw-shell{color:#bcc0c8;text-align:center;background:#1e1f23;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;display:flex;position:fixed;inset:0}.qr-pw-lock{letter-spacing:.5px;opacity:.9;font-size:28px}.qr-pw-name{font-size:15px;font-weight:500}.qr-pw-hint{opacity:.7;max-width:320px;font-size:12px}.qr-pw-form{flex-direction:column;align-items:center;gap:10px;display:flex}.qr-pw-input{color:#bcc0c8;background:#2a2b30;border:1px solid #3a3b42;border-radius:6px;outline:none;width:260px;padding:8px 12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;font-size:14px}.qr-pw-btn{color:#fff;cursor:pointer;background:#7f6df2;border:none;border-radius:6px;padding:8px 22px;font-size:13px}.qr-pw-btn--disabled{cursor:not-allowed;background:#4a4b52}.qr-pw-btn--busy{opacity:.7}.qr-pw-err{color:#e64553;font-size:12px}@keyframes qr-pulse{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.qr-shell{color:#bcc0c8;text-align:center;background:#1e1f23;flex-direction:column;justify-content:center;align-items:center;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;display:flex;position:fixed;inset:0}.qr-shell--loading{gap:18px;font-size:12px}.qr-shell--error{gap:14px}.qr-shell-dots{gap:6px;display:inline-flex}.qr-shell-dot{background:#7f6df2;border-radius:4px;width:8px;height:8px;animation:1.2s ease-in-out infinite qr-pulse}.qr-shell-dot:nth-child(2){animation-delay:.15s}.qr-shell-dot:nth-child(3){animation-delay:.3s}.qr-shell-wordmark{letter-spacing:.5px;opacity:.7}.qr-shell-err-glyph{font-size:30px}.qr-shell-err-title{color:#e64553;font-size:14px;font-weight:500}.qr-shell-err-msg{color:#bcc0c8;opacity:.7;max-width:480px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.qr-shell-btn{color:#fff;cursor:pointer;background:#7f6df2;border:none;border-radius:6px;margin-top:8px;padding:8px 18px;font-size:13px}:root{--fs-caption:.6875rem;--fs-ui:.75rem;--fs-body:.875rem;--fs-title:.875rem;--fs-display:1.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.125rem;--control-h:1.75rem;--icon-btn:1.625rem;--touch-min:1.5rem;--radius:6px;--header-h:clamp(40px, 56px - 1.25vw, 44px);--footer-h:clamp(28px, 40px - .85vw, 34px);--search-h:calc(var(--header-h) - .625rem);--gutter:clamp(12px, 3vw, 16px);font-size:clamp(13px,9px + 1vw,16px)}.qrism-content .qr-mermaid{text-align:center;margin:12px 0;overflow-x:auto}.qrism-content .qr-mermaid svg{max-width:100%;height:auto;max-height:70vh;display:inline-block;width:auto!important}.qr-mm-light{display:none!important}.qr-mm-dark{display:inline-block!important}:root[data-theme=light] .qr-mm-dark{display:none!important}:root[data-theme=light] .qr-mm-light{display:inline-block!important}
