.v5-overlay.cad-ov{padding:2vh 2vw;z-index:120}.v5-modal.cad-win{max-width:min(1520px,96vw);width:96vw;height:94vh;padding:0;display:flex;flex-direction:column;overflow:hidden}.cad-head{display:flex;align-items:center;gap:8px;padding:10px 12px 8px 16px;border-bottom:1px solid var(--v5-border-subtle);flex:none}.cad-title{font-size:.86rem;font-weight:var(--v5-fw-bold);color:var(--v5-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-sub{font-size:.72rem;color:var(--v5-text-muted);white-space:nowrap}.cad-tabs{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--v5-border);border-radius:8px;margin-left:10px;flex:none}.cad-tabs>button{height:24px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--v5-text-sec);font-size:.74rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s ease,color .15s ease}.cad-tabs>button:hover{background:var(--v5-surface-hover);color:var(--v5-text)}.cad-tabs>button.on{background:var(--v5-primary);color:#fff;box-shadow:var(--v5-glow-sm)}.cad-head .sp{flex:1}.cad-body{flex:1;position:relative}.cad-body,.cad-side{min-height:0;display:flex}.cad-side{flex:none;min-width:200px;flex-direction:column;background:var(--v5-surface-solid)}.cad-main{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;background:var(--v5-bg-subtle)}.cad-right{flex:none;min-width:320px;display:flex;flex-direction:column;min-height:0;background:var(--v5-surface-solid);border-left:1px solid var(--v5-border-subtle)}.cad-list-head{display:flex;align-items:center;gap:6px;padding:8px 10px 6px;font-size:.72rem;font-weight:700;color:var(--v5-text-sec);flex:none}.cad-list-head b{color:var(--v5-text)}.cad-list{flex:1;min-height:0;overflow:auto;padding:0 6px 8px}.cad-grp{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:1px solid transparent;border-radius:8px;background:transparent;cursor:pointer;text-align:left;font-family:inherit;color:var(--v5-text);transition:background .15s ease,border-color .15s ease;animation:tpRowIn .25s var(--v5-ease-enter) both}.cad-grp:hover{background:var(--v5-surface-hover)}.cad-grp.on{border-color:rgba(var(--v5-primary-rgb),.45);background:rgba(var(--v5-primary-rgb),.07)}.cad-dot{width:10px;height:10px;border-radius:3px;flex:none;box-shadow:inset 0 0 0 1px var(--v5-border-subtle)}.cad-grp .nm{flex:1;min-width:0;font-size:.76rem;white-space:nowrap}.cad-grp .nm,.cad-grp .nm small{overflow:hidden;text-overflow:ellipsis}.cad-grp .nm small{display:block;font-size:.66rem;color:var(--v5-text-muted)}.cad-grp .q{font-size:.74rem;font-weight:700;font-variant-numeric:tabular-nums}.cad-badge,.cad-grp .q{color:var(--v5-text-sec)}.cad-badge{display:inline-flex;align-items:center;height:17px;padding:0 6px;border-radius:var(--v5-radius-pill);font-size:.62rem;font-weight:700;white-space:nowrap;background:var(--v5-bg-subtle);border:1px solid var(--v5-border-subtle)}.cad-badge.mirror{color:var(--v5-pink);border-color:rgba(var(--v5-pink-rgb),.35);background:rgba(var(--v5-pink-rgb),.08)}.cad-badge.std{color:var(--v5-blue);border-color:rgba(var(--v5-blue-rgb),.35);background:rgba(var(--v5-blue-rgb),.08)}.cad-badge.warn{color:var(--v5-text);border-color:rgba(var(--v5-amber-rgb),.5);background:rgba(var(--v5-amber-rgb),.16);gap:3px;cursor:default}.cad-tree{padding:2px 6px 10px 10px;font-size:.74rem}.cad-tree-node{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:6px;cursor:pointer;color:var(--v5-text)}.cad-tree-node:hover{background:var(--v5-surface-hover)}.cad-tree-node .q{margin-left:auto;color:var(--v5-text-muted);font-variant-numeric:tabular-nums}.cad-tree-kids{margin-left:12px;border-left:1px dashed var(--v5-border-subtle);padding-left:4px}.cad-canvas{position:absolute;inset:0}.cad-tools{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--v5-surface-solid);border:1px solid var(--v5-border);border-radius:10px;box-shadow:var(--v5-shadow-float),var(--v5-glow-sm);z-index:2}.cad-tools label{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;color:var(--v5-text-sec)}.cad-tools input[type=range]{width:120px;accent-color:var(--v5-primary)}.cad-hint{position:absolute;right:12px;bottom:12px;font-size:.66rem;color:var(--v5-text-muted);z-index:2;pointer-events:none}.cad-state{margin:auto;display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px;max-width:520px;text-align:center}.cad-state .big{font-size:.9rem;font-weight:700;color:var(--v5-text)}.cad-state .msg{font-size:.76rem;color:var(--v5-text-sec);line-height:1.55}.cad-spin{width:34px;height:34px;border-radius:50%;border:3px solid rgba(var(--v5-primary-rgb),.15);border-top-color:var(--v5-primary);animation:cadSpin .9s linear infinite}@keyframes cadSpin{to{transform:rotate(1turn)}}.cad-sheet-bar{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--v5-border-subtle);background:var(--v5-surface-solid);flex:none}.cad-sheet-bar .cad-sheet-pick{max-width:320px}.cad-sheet{flex:1;min-height:0;overflow:hidden;position:relative;cursor:grab;touch-action:none}.cad-sheet.drag{cursor:grabbing}.cad-sheet .paper{position:absolute;left:0;top:0;transform-origin:0 0;background:transparent;box-shadow:var(--v5-shadow-float);border-radius:2px;transition:opacity .2s ease}.cad-sheet .paper svg{display:block;width:100%;height:100%}.cad-fill-head{padding:10px 12px 8px;border-bottom:1px solid var(--v5-border-subtle);flex:none}.cad-fill-head .t{font-size:.8rem;font-weight:700;color:var(--v5-text);display:flex;align-items:center;gap:6px}.cad-fill-head .meta{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px}.cad-tier{display:inline-flex;align-items:center;gap:4px;height:19px;padding:0 7px;border-radius:var(--v5-radius-pill);font-size:.64rem;font-weight:700;white-space:nowrap;border:1px solid transparent}.cad-tier.auto{color:var(--v5-green);background:rgba(var(--v5-green-rgb),.1);border-color:rgba(var(--v5-green-rgb),.3)}.cad-tier.std{color:var(--v5-blue);background:rgba(var(--v5-blue-rgb),.1);border-color:rgba(var(--v5-blue-rgb),.3)}.cad-tier.choose{color:var(--v5-text);background:rgba(var(--v5-amber-rgb),.16);border-color:rgba(var(--v5-amber-rgb),.45)}.cad-tier.new{color:var(--v5-primary);background:rgba(var(--v5-primary-rgb),.08);border-color:rgba(var(--v5-primary-rgb),.3)}.cad-fill-list{flex:1;min-height:0;overflow:auto;padding:6px 8px 10px;display:flex;flex-direction:column;gap:6px}.cad-row{border:1px solid var(--v5-border-subtle);border-radius:10px;padding:8px 10px;background:var(--v5-surface-solid);transition:border-color .2s ease,box-shadow .2s ease;animation:tpRowIn .25s var(--v5-ease-enter) both}.cad-row.need{border-color:rgba(var(--v5-amber-rgb),.7);box-shadow:0 0 0 1px rgba(var(--v5-amber-rgb),.25)}.cad-row.on{border-color:rgba(var(--v5-primary-rgb),.45)}.cad-row-top{display:flex;align-items:center;gap:6px}.cad-row-top .nm{flex:1;min-width:0;font-size:.76rem;font-weight:700;color:var(--v5-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.cad-row-top .q{font-size:.72rem;color:var(--v5-text-sec);font-variant-numeric:tabular-nums}.cad-row .where{font-size:.64rem;color:var(--v5-text-muted);margin-top:1px}.cad-row .ex{margin:6px 0 0;padding:0 0 0 14px;font-size:.68rem;color:var(--v5-text-sec);line-height:1.5}.cad-row .dec{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px}.cad-row .dec>button{height:24px;padding:0 9px;border:1px solid var(--v5-border);border-radius:7px;background:transparent;color:var(--v5-text-sec);font-size:.7rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease}.cad-row .dec>button:hover{background:var(--v5-surface-hover);color:var(--v5-text)}.cad-row .dec>button.on{border-color:rgba(var(--v5-primary-rgb),.5);color:var(--v5-primary);background:rgba(var(--v5-primary-rgb),.08)}.cad-row .pick{margin-top:6px;display:flex;flex-direction:column;gap:3px}.cad-cand{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:7px;border:1px solid transparent;cursor:pointer;font-size:.7rem;color:var(--v5-text);background:var(--v5-bg-subtle);transition:border-color .15s ease,background .15s ease}.cad-cand:hover{border-color:var(--v5-border)}.cad-cand.on{border-color:rgba(var(--v5-primary-rgb),.5);background:rgba(var(--v5-primary-rgb),.07)}.cad-cand .code{font-family:var(--v5-font-mono);font-size:.66rem;color:var(--v5-text-sec)}.cad-cand .sc{margin-left:auto;font-size:.64rem;font-weight:700;color:var(--v5-text-sec);font-variant-numeric:tabular-nums;white-space:nowrap}.cad-new{margin-top:6px;display:grid;grid-template-columns:1fr 1fr;gap:4px}.cad-new input{height:26px;min-width:0;font-size:.72rem;border:1px solid var(--v5-border);border-radius:7px;background:var(--v5-surface-solid);color:var(--v5-text);padding:0 7px;font-family:inherit}.cad-new .full{grid-column:1/-1}.cad-new input::placeholder{color:var(--v5-text-muted)}.cad-fill-foot{flex:none;display:flex;align-items:center;gap:6px;padding:10px 12px;border-top:1px solid var(--v5-border-subtle)}.cad-fill-foot .left{font-size:.68rem;color:var(--v5-text-muted);flex:1}.cad-note{font-size:.72rem;color:var(--v5-text-sec);padding:12px;line-height:1.55}.cad-fill-head .cad-dtabs{margin:8px 0 0}.cad-fill-list.lines{gap:1px}.cad-line{display:flex;align-items:center;gap:6px;min-height:26px;padding:3px 8px 3px 6px;border-radius:7px;border:1px solid transparent;font-size:.72rem;color:var(--v5-text);transition:background .15s ease,border-color .15s ease;animation:tpRowIn .25s var(--v5-ease-enter) both}.cad-line:hover{background:var(--v5-surface-hover)}.cad-line.pickable{cursor:pointer}.cad-line.on{border-color:rgba(var(--v5-primary-rgb),.45);background:rgba(var(--v5-primary-rgb),.06)}.cad-line .lv{width:14px;flex:none;font-size:.62rem;color:var(--v5-text-muted);font-variant-numeric:tabular-nums;text-align:right}.cad-line .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-line .q{font-size:.7rem;color:var(--v5-text-sec);font-variant-numeric:tabular-nums}.cad-line .spec{max-width:110px;font-size:.64rem;color:var(--v5-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-dot.asm{background:transparent;box-shadow:inset 0 0 0 1.5px var(--v5-text-muted)}.cad-kind{font-size:.62rem;font-weight:700;color:var(--v5-text-sec);white-space:nowrap}.cad-kind.asm{color:var(--v5-primary)}.cad-kind.std{color:var(--v5-blue)}.cad-cmp-sum{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 12px;border-bottom:1px solid var(--v5-border-subtle)}.cad-cmp-sum .file{margin-left:auto;max-width:45%;font-size:.64rem;color:var(--v5-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-res{display:inline-flex;align-items:center;height:18px;padding:0 7px;border-radius:var(--v5-radius-pill);font-size:.62rem;font-weight:700;white-space:nowrap;border:1px solid var(--v5-border-subtle);color:var(--v5-text-sec);background:var(--v5-bg-subtle)}.cad-res.ok{color:var(--v5-green);border-color:rgba(var(--v5-green-rgb),.3);background:rgba(var(--v5-green-rgb),.08)}.cad-res.warn{color:var(--v5-text);border-color:rgba(var(--v5-amber-rgb),.5);background:rgba(var(--v5-amber-rgb),.16)}.cad-res.bad{color:var(--v5-red);border-color:rgba(var(--v5-red-rgb),.3);background:rgba(var(--v5-red-rgb),.06)}.cad-res.info{color:var(--v5-blue);border-color:rgba(var(--v5-blue-rgb),.3);background:rgba(var(--v5-blue-rgb),.07)}.cad-pair.diff{border-color:rgba(var(--v5-amber-rgb),.55)}.cad-cmp-items{margin-top:6px;padding-top:6px;border-top:1px dashed var(--v5-border-subtle);display:flex;flex-direction:column;gap:2px}.cad-cmp-it{padding:4px 6px;border-radius:7px;border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.cad-cmp-it.pickable{cursor:pointer}.cad-cmp-it:hover{background:var(--v5-surface-hover)}.cad-cmp-it.on{border-color:rgba(var(--v5-primary-rgb),.45);background:rgba(var(--v5-primary-rgb),.06)}.cad-cmp-it .top{display:flex;align-items:center;gap:6px;font-size:.7rem;color:var(--v5-text)}.cad-cmp-it .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-cmp-it .nm small{margin-left:4px;font-size:.62rem;color:var(--v5-text-muted)}.cad-cmp-it .q{font-size:.66rem;color:var(--v5-text-sec);font-variant-numeric:tabular-nums;white-space:nowrap}.cad-cmp-it .ex{margin:3px 0 0;padding:0 0 0 16px;font-size:.66rem}.cad-cmp-more{display:inline-flex;align-items:center;gap:3px;align-self:flex-start;height:22px;margin-top:2px;padding:0 6px;border:0;border-radius:6px;background:transparent;color:var(--v5-text-sec);font-size:.66rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s ease,color .15s ease}.cad-cmp-more:hover{background:var(--v5-surface-hover);color:var(--v5-text)}.cad-file-badge{display:inline-flex;align-items:center;height:17px;padding:0 6px;border-radius:var(--v5-radius-pill);font-size:.62rem;font-weight:700;white-space:nowrap;border:1px solid var(--v5-border-subtle);color:var(--v5-text-sec);background:var(--v5-bg-subtle)}.cad-file-badge.run{color:var(--v5-primary);border-color:rgba(var(--v5-primary-rgb),.35);background:rgba(var(--v5-primary-rgb),.07)}.cad-file-badge.done{color:var(--v5-green);border-color:rgba(var(--v5-green-rgb),.35);background:rgba(var(--v5-green-rgb),.08)}.cad-file-badge.bad{color:var(--v5-red);border-color:rgba(var(--v5-red-rgb),.3);background:rgba(var(--v5-red-rgb),.06)}.tp-btn .cad-open-pct{font-size:.6rem;font-weight:700;font-variant-numeric:tabular-nums}@media (max-width:900px){.v5-modal.cad-win{width:100vw;max-width:100vw;height:100vh;border-radius:0}.v5-overlay.cad-ov{padding:0}.cad-body{flex-direction:column}.cad-side{max-height:30%;border-bottom:1px solid var(--v5-border-subtle)}.cad-right{max-height:45%;border-left:0;border-top:1px solid var(--v5-border-subtle)}}