.rd-root{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--lh-base);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}.rd-root *,.rd-root :before,.rd-root :after{box-sizing:border-box}.rd-root *{box-sizing:border-box}.rd-root h1,.rd-root h2,.rd-root h3,.rd-root h4,.rd-root h5,.rd-root h6{font-family:var(--font-sans)}.rd-root button,.rd-root input,.rd-root select,.rd-root textarea{font:inherit}.rd-root button{cursor:pointer}.rd-root a{color:inherit;text-decoration:none}@keyframes rd-btn-spin{to{transform:rotate(360deg)}}.rd-root table{background:var(--surface);width:100%;font-size:var(--fs-sm);border-collapse:separate;border-spacing:0}.rd-root th,.rd-root td{text-align:left;white-space:nowrap;text-overflow:ellipsis;border-right:1px solid var(--table-col-line);border-bottom:1px solid var(--table-col-line);padding:12px 16px;line-height:20px;overflow:hidden}.rd-root th:last-child,.rd-root td:last-child{border-right:none}.rd-root th{background:var(--table-head,var(--grad-head));color:var(--text-muted);font-size:var(--fs-base);letter-spacing:.01em;text-align:center;border-bottom:1px solid var(--table-head-line);padding:11px 12px;font-weight:600}@media (max-width:900px){.rd-root .dict-layout{grid-template-columns:1fr}}.rd-root .section-title{font-size:var(--fs-md);align-items:center;gap:8px;margin:20px 0 10px;font-weight:700;display:flex}.rd-root .section-title:before{content:"";background:var(--grad-primary);border-radius:2px;width:3px;height:15px}.rd-root .actions{gap:6px;display:flex}@keyframes rd-routerSpin{to{transform:rotate(360deg)}}@media (max-width:900px){.rd-root .kpi-grid{grid-template-columns:repeat(2,1fr)}.rd-root .form-grid{grid-template-columns:1fr}}@keyframes rd-fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.rd-root .kpi-grid{grid-template-columns:repeat(2,1fr);gap:12px}.rd-root .kpi-card{padding:14px 15px}.rd-root .kpi-card>strong{font-size:var(--fs-2xl)}.rd-root .chart{height:250px!important}.rd-root .query-bar{align-items:stretch}.rd-root .q-search{width:100%;min-width:0}.rd-root .q-tools{width:100%;margin-left:0}.rd-root .q-tools .btn{flex:1;justify-content:center}.rd-root .select{max-width:100%}.rd-root .exp-formats,.rd-root .exp-fields{grid-template-columns:1fr}.rd-root .pagination{flex-wrap:wrap;gap:8px}.rd-root .pagination .btn{flex:1;justify-content:center}}@media (max-width:480px){.rd-root .kpi-grid{grid-template-columns:1fr}}@media (max-width:768px){.rd-root .perm-browser{grid-template-columns:1fr}}@media (max-width:640px){.rd-root .modal-box,.rd-root .modal-box.wide{border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.rd-root .modal-head{padding-top:calc(var(--sp-4) + env(safe-area-inset-top,0px))}.rd-root .modal-foot{padding-bottom:calc(var(--sp-3) + env(safe-area-inset-bottom,0px))}.rd-root .drawer-header{padding-top:calc(var(--sp-4) + env(safe-area-inset-top,0px))}.rd-root .drawer-foot{padding-bottom:calc(var(--sp-3) + env(safe-area-inset-bottom,0px))}}@keyframes rd-fb-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes rd-qSlide{0%{transform:translate(-100%)}to{transform:translate(280%)}}@keyframes rd-skShift{0%{background-position:120% 0}to{background-position:-20% 0}}.rd-root th{position:relative}@media (prefers-reduced-motion:reduce){.rd-root *,.rd-root :before,.rd-root :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.rd-root .kpi-card:hover{transform:none}.rd-root .loading:before,.rd-root .sk-bar,.rd-root .q-progress[data-on="1"]:after{opacity:.55;animation:none}}@media (max-width:768px){.rd-root .btn{min-height:44px}.rd-root .icon-btn,.rd-root .att-btn{min-width:44px;min-height:44px}.rd-root .x-close{padding:8px}.rd-root th,.rd-root td{font-size:var(--fs-md)}.rd-root .drawer,.rd-root .drawer.wide{width:100vw}.rd-root .cmdk-input{z-index:1;background:var(--surface-elevated);position:sticky;top:0}.rd-root .cmdk-item{min-height:48px}.rd-root .icon-pick-cell{height:40px!important}.rd-root .pq-desktop-only{display:none!important}}@media (max-width:480px){.rd-root .m-grid{grid-template-columns:1fr}}@media (max-width:768px){.rd-root .steps{scrollbar-width:thin;padding-bottom:4px;overflow-x:auto}.rd-root .step,.rd-root .step-link{flex:none}}.rd-root ::-webkit-scrollbar{width:var(--scroll-size,10px);height:var(--scroll-size,10px)}.rd-root ::-webkit-scrollbar-track{background:0 0}.rd-root ::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.rd-root ::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);background-clip:padding-box}.rd-root ::-webkit-scrollbar-thumb:active{background:var(--scroll-thumb-hover);background-clip:padding-box}.rd-root ::-webkit-scrollbar-corner{background:0 0}.rd-root ::-webkit-scrollbar-button{width:0;height:0;display:none}@media (max-width:768px){.rd-root .notify-pop{width:auto;max-height:70vh;position:fixed;top:56px;left:8px;right:8px}.rd-root .notify-button{width:40px;height:40px}}@media (max-width:1000px){.rd-root .dsm-main{grid-template-columns:1fr}.rd-root .dsm-right{border-left:0;border-top:1px solid var(--border);max-height:40%}}@media (max-width:768px){.rd-root .adv-row,.rd-root .adv-row.full{grid-template-columns:1fr}.rd-root .adv-row>.adv-lab{background:0 0;border-right:0;padding:9px 14px 4px}.rd-root .adv-row>.adv-val{padding:0 14px 11px}.rd-root .adv-foot{flex-direction:column;align-items:stretch}.rd-root .pager-list{margin-left:0}.rd-root .att-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.rd-root .form-surface-bar .fs-hint{display:none}}@keyframes rd-routerSpinFast{to{transform:rotate(360deg)}}.rd-root td:has(>.actions){text-overflow:clip;white-space:nowrap;overflow:visible}.rd-root .row{column-gap:var(--grid-col-gap,0px);row-gap:var(--grid-row-gap,0px);grid-template-columns:repeat(24,minmax(0,1fr));display:grid}@media (min-width:576px){.rd-root .col{grid-column:auto/span var(--col-sm,var(--col-span,24))}.rd-root .col.off{grid-column-start:var(--col-start-sm,var(--col-start,auto))}}@media (min-width:768px){.rd-root .col{grid-column:auto/span var(--col-md,var(--col-sm,var(--col-span,24)))}.rd-root .col.off{grid-column-start:var(--col-start-md,var(--col-start-sm,var(--col-start,auto)))}}@media (min-width:992px){.rd-root .col{grid-column:auto/span var(--col-lg,var(--col-md,var(--col-sm,var(--col-span,24))))}.rd-root .col.off{grid-column-start:var(--col-start-lg,var(--col-start-md,var(--col-start-sm,var(--col-start,auto))))}}@media (min-width:1200px){.rd-root .col{grid-column:auto/span var(--col-xl,var(--col-lg,var(--col-md,var(--col-sm,var(--col-span,24)))))}.rd-root .col.off{grid-column-start:var(--col-start-xl,var(--col-start-lg,var(--col-start-md,var(--col-start-sm,var(--col-start,auto)))))}}@media (min-width:1600px){.rd-root .col{grid-column:auto/span var(--col-xxl,var(--col-xl,var(--col-lg,var(--col-md,var(--col-sm,var(--col-span,24))))))}}@media (max-width:1200px){.rd-root .desc[data-col="4"]{grid-template-columns:repeat(2, var(--desc-label-w) minmax(0, 1fr))}}@media (max-width:992px){.rd-root .desc[data-col="3"]{grid-template-columns:repeat(2, var(--desc-label-w) minmax(0, 1fr))}}@media (max-width:768px){.rd-root .desc[data-col="2"],.rd-root .desc[data-col="3"],.rd-root .desc[data-col="4"]{grid-template-columns:var(--desc-label-w) minmax(0, 1fr)}.rd-root .desc-item[data-span],.rd-root .desc-item[data-span] .desc-value{grid-column:1/-1}.rd-root .app-footer{width:100%}.rd-root .app-footer-links{margin-left:0}}@keyframes rd-progSlide{0%{transform:translate(-100%)}to{transform:translate(280%)}}.rd-root .list{flex-direction:column;display:flex}.rd-root .list.bordered{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.rd-root .affix,.rd-root .affix-inner{min-width:0}.rd-root .anchor{min-width:120px}.rd-root .anchor-list{border-left:1px solid var(--border);margin:0;padding:0;list-style:none}.rd-root .anchor-item{margin:0}.rd-root .anchor-item.lv2 .anchor-link{padding-left:var(--sp-5);font-size:var(--fs-xs)}.rd-root .anchor-item.lv3 .anchor-link{padding-left:var(--sp-6);font-size:var(--fs-xs)}.rd-root .anchor-link{padding:5px var(--sp-3);color:var(--text-muted);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;border-left:2px solid #0000;margin-left:-1px;text-decoration:none;transition:color .16s,border-color .16s;display:block;position:relative;overflow:hidden}.rd-root .anchor-link:hover{color:var(--text)}.rd-root .anchor-link.on{color:var(--primary);border-left-color:var(--primary);font-weight:500}.rd-root .ac{width:100%;min-width:0}.rd-root .ac-box{display:flex;position:relative}.rd-root .ac-input{flex:1;min-width:0;padding-right:26px}.rd-root .ac-sm .ac-input{height:30px;font-size:var(--fs-sm)}.rd-root .ac-clear{background:var(--surface-fill);width:16px;height:16px;color:var(--text-muted);cursor:pointer;opacity:0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .16s;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.rd-root .ac-box:hover .ac-clear,.rd-root .ac-box:focus-within .ac-clear{opacity:1}.ac-menu{z-index:1200;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-elevated);max-height:260px;box-shadow:var(--shadow-lg);padding:4px;overflow-y:auto}.ac-opt{border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-sm);cursor:pointer;align-items:baseline;gap:8px;padding:6px 8px;display:flex}.ac-opt.cur{background:var(--surface-fill)}.ac-opt.disabled{opacity:.45;cursor:not-allowed}.ac-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ac-hint{font-size:var(--fs-xs);color:var(--text-faint);flex:none}.ac-empty{text-align:center;color:var(--text-faint);font-size:var(--fs-sm);padding:14px 8px}.rd-root .avatar{background:var(--surface-fill);color:#fff;-webkit-user-select:none;user-select:none;white-space:nowrap;flex:none;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex;overflow:hidden}.rd-root .avatar-circle{border-radius:50%}.rd-root .avatar-square{border-radius:var(--radius-sm)}.rd-root .avatar img{object-fit:cover;width:100%;height:100%;display:block}.rd-root .avatar.clickable{cursor:pointer}.rd-root .avatar.clickable:hover{filter:brightness(1.06)}.rd-root .avatar.clickable:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.rd-badge{vertical-align:middle;align-items:center;display:inline-flex;position:relative}.rd-badge-mark{z-index:1;background:var(--danger);color:#fff;font-variant-numeric:tabular-nums;min-width:18px;height:18px;box-shadow:0 0 0 2px var(--surface);pointer-events:none;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex;position:absolute}.rd-badge--top-right>.rd-badge-mark{top:-7px;right:-8px}.rd-badge--top-left>.rd-badge-mark{top:-7px;left:-8px}.rd-badge--bottom-right>.rd-badge-mark{bottom:-7px;right:-8px}.rd-badge--bottom-left>.rd-badge-mark{bottom:-7px;left:-8px}.rd-badge-mark.is-dot{width:9px;min-width:9px;height:9px;padding:0}.rd-badge--top-right>.rd-badge-mark.is-dot{top:-3px;right:-3px}.rd-badge--top-left>.rd-badge-mark.is-dot{top:-3px;left:-3px}.rd-badge--bottom-right>.rd-badge-mark.is-dot{bottom:-3px;right:-3px}.rd-badge--bottom-left>.rd-badge-mark.is-dot{bottom:-3px;left:-3px}.rd-badge-mark.rd-badge--primary{background:var(--primary)}.rd-badge-mark.rd-badge--neutral{background:var(--text-muted)}.rd-badge-standalone{background:var(--danger);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 6px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.rd-badge-standalone.rd-badge--primary{background:var(--primary)}.rd-badge-standalone.rd-badge--neutral{background:var(--text-muted)}.rd-badge-standalone.is-dot{width:9px;min-width:9px;height:9px;padding:0}.rd-root .adv-form{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.rd-root .adv-sec{grid-column:1/-1}.rd-root .adv-intro{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.rd-root .adv-intro h4{font-size:var(--fs-lg);margin:0 0 4px}.rd-root .adv-intro p{font-size:var(--fs-sm);color:var(--text-muted);margin:0;line-height:1.6}.rd-root .adv-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (max-width:900px){.rd-root .adv-grid{grid-template-columns:minmax(0,1fr)}}.rd-root .adv-row{border-bottom:1px solid var(--border);grid-template-columns:132px minmax(0,1fr);display:grid}.rd-root .adv-row:last-child{border-bottom:0}.rd-root .adv-row>.adv-lab{padding:var(--sp-4);border-right:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-muted);align-items:center;font-weight:600;display:flex}.rd-root .adv-row>.adv-lab .req{color:var(--danger-ink);margin-left:2px}.rd-root .adv-row.has-err>.adv-lab{color:var(--danger-ink);background:var(--danger-soft)}.rd-root .adv-row.has-err :is(.input,.ms-box,.dp-trigger){border-color:var(--danger)}.rd-root .adv-row>.adv-val{padding:var(--sp-3) var(--sp-4);min-width:0}.rd-root .adv-row.full{grid-column:1/-1;grid-template-columns:132px minmax(0,1fr)}.rd-root .adv-sec{padding:var(--sp-2) var(--sp-4);background:var(--primary-softer);border-bottom:1px solid var(--border);font-size:var(--fs-sm);color:var(--primary-ink);grid-column:1/-1;align-items:center;gap:8px;font-weight:700;display:flex}.rd-root .adv-foot{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);justify-content:center;align-items:center;gap:10px;display:flex}.rd-root .adv-foot .adv-err{color:var(--danger-ink);font-size:var(--fs-sm);margin-right:auto}.rd-root .adv-hint{border-radius:var(--radius-md);background:var(--primary-softer);border:1px solid var(--primary-border);color:var(--primary-ink);font-size:var(--fs-sm);align-items:center;gap:7px;margin-bottom:10px;padding:7px 12px;display:flex}.rd-root .alert{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);font-size:var(--fs-md);background:var(--surface-fill);color:var(--text);border:1px solid #0000;display:flex}.rd-root .alert-icon{flex:none;margin-top:2px}.rd-root .alert-body{flex:1;min-width:0}.rd-root .alert-message{font-weight:600;line-height:1.5}.rd-root .alert-desc{font-size:var(--fs-xs);opacity:.88;margin-top:3px;line-height:1.6}.rd-root .alert-action{flex:none}.rd-root .alert-close{border-radius:var(--radius-xs);color:currentColor;opacity:.6;background:0 0;border:0;flex:none;place-items:center;width:22px;height:22px;display:grid}.rd-root .alert-close:hover{opacity:1;background:color-mix(in srgb, currentColor 12%, transparent)}.rd-root .alert.flush{border-inline:0;border-top:0;border-radius:0}.rd-root .alert-success{background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 32%, transparent);color:var(--success-ink)}.rd-root .alert-info{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary-ink)}.rd-root .alert-warning{background:var(--warning-soft);border-color:color-mix(in srgb, var(--warning) 32%, transparent);color:var(--warning-ink)}.rd-root .alert-error{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 32%, transparent);color:var(--danger-ink)}.rd-root .alert.plain{background:0 0}.rd-root .alert.plain.alert-success{border-color:color-mix(in srgb, var(--success) 45%, transparent)}.rd-root .alert.plain.alert-info{border-color:var(--primary-border)}.rd-root .alert.plain.alert-warning{border-color:color-mix(in srgb, var(--warning) 45%, transparent)}.rd-root .alert.plain.alert-error{border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.rd-root .app-footer{align-items:center;gap:var(--sp-3);margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-faint);flex-wrap:wrap;display:flex}.rd-root .app-footer-text{min-width:0}.rd-root .app-footer-version{font-family:var(--font-mono)}.rd-root .app-footer-links{align-items:center;gap:var(--sp-4);margin-left:auto;display:flex}.rd-root .app-footer-links a{color:var(--text-muted)}.rd-root .app-footer-links a:hover{color:var(--primary)}.rd-root .att{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.rd-root .att-head{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.rd-root .att-head .sp{flex:1}.rd-root .att-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:var(--radius-sm);font-size:var(--fs-sm);align-items:center;gap:5px;padding:5px 10px;font-weight:600;display:inline-flex}.rd-root .att-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.rd-root .att-btn:disabled{opacity:.45;cursor:not-allowed}.rd-root .att-btn.plain{background:0 0;border-color:#0000}.rd-root .att-drop{text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--fs-sm);background:var(--surface-fill);margin:10px;padding:20px 14px;transition:border-color .16s,background .16s}.rd-root .att-drop.over{border-color:var(--primary);background:var(--primary-softer);color:var(--primary)}.rd-root .att-drop b{color:var(--primary);font-weight:700}.rd-root .att-grid{gap:var(--sp-3);padding:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(112px,1fr));display:grid}.rd-root .att-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);position:relative;overflow:hidden}.rd-root .att-thumb{background:var(--surface-fill);cursor:pointer;place-items:center;height:86px;display:grid;position:relative}.rd-root .att-thumb img{object-fit:cover;width:100%;height:100%;display:block}.rd-root .att-thumb .ph{color:var(--text-faint);font-size:var(--fs-2xs);flex-direction:column;align-items:center;gap:4px;display:flex}.rd-root .att-thumb .mask{color:#fff;opacity:0;background:#0c14228c;grid-auto-flow:column;place-items:center;gap:6px;transition:opacity .14s;display:grid;position:absolute;inset:0}.rd-root .att-card:hover .att-thumb .mask,.rd-root .att-thumb:focus-visible .mask{opacity:1}.rd-root .att-thumb .mask button{color:#16233a;background:#ffffffeb;border:0;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.rd-root .att-thumb .mask button:hover{background:#fff;transform:scale(1.06)}.rd-root .att-name{-webkit-line-clamp:2;min-height:50px;font-size:var(--fs-xs);word-break:break-all;-webkit-box-orient:vertical;padding:10px 9px 5px;line-height:1.45;display:-webkit-box;overflow:hidden}.rd-root .att-meta{font-size:var(--fs-2xs);color:var(--text-faint);align-items:center;gap:5px;padding:0 9px 9px;display:flex}.rd-root .att-bar{background:var(--border);height:3px;position:absolute;top:0;left:0;right:0}.rd-root .att-bar i{background:var(--primary);height:100%;transition:width .2s;display:block}.rd-root .att-bad{border-color:var(--danger)}.rd-root .att-bad .att-meta{color:var(--danger-ink)}.rd-root .att-viewer{z-index:340;background:#080c14d1;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.rd-root .att-viewer-box{flex-direction:column;gap:10px;max-width:min(1100px,94vw);max-height:90vh;display:flex}.rd-root .att-viewer-box img,.rd-root .att-viewer-box iframe{border-radius:var(--radius-md);background:#fff;max-width:100%;max-height:78vh}.rd-root .att-viewer-bar{color:#fff;font-size:var(--fs-md);align-items:center;gap:10px;display:flex}.rd-root .att-viewer-bar .sp{flex:1}.rd-root .att-viewer-bar button{color:#fff;border-radius:var(--radius-md);font-size:var(--fs-sm);background:0 0;border:1px solid #ffffff59;padding:5px 11px}.rd-root .att-viewer-bar button:hover{background:#ffffff24}.rd-root .att-thumb .ph{font-size:var(--fs-2xs)}.rd-root .back-top{z-index:45;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-elevated);width:38px;height:38px;color:var(--text-muted);box-shadow:var(--shadow-md);transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);place-items:center;animation:.16s ease-out rd-fb-pop;display:grid;position:fixed;bottom:24px;right:22px}.rd-root .back-top:hover{color:var(--primary);border-color:var(--primary);transform:translateY(-2px)}@property --beam-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes beam-rotate{to{--beam-angle:360deg}}.rd-root .border-beam{padding:var(--beam-size,2px);isolation:isolate;position:relative}.rd-root .border-beam:before{content:"";z-index:0;border-radius:inherit;padding:var(--beam-size,2px);background:conic-gradient(from var(--beam-angle,0deg), var(--beam-to,transparent) 0%, var(--beam-from,var(--primary)) var(--beam-span,25%), var(--beam-to,transparent) calc(var(--beam-span,25%) + 1%));-webkit-mask-composite:xor;animation:beam-rotate var(--beam-duration,6s) linear infinite;pointer-events:none;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)}.rd-root .border-beam[style*="--beam-duration: 0s"]:before{animation:none}.rd-root .border-beam-content{z-index:1;position:relative;overflow:hidden}@media (prefers-reduced-motion:reduce){.rd-root .border-beam:before{animation:none}}.app-root,.rd-root .crumbs{min-width:0}.rd-root .crumbs-list{font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}.rd-root .crumbs-item{align-items:center;gap:2px;min-width:0;display:inline-flex}.rd-root .crumbs-link,.rd-root .crumbs-text,.rd-root .crumbs-ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:220px;color:var(--text-muted);border-radius:var(--radius-xs);align-items:center;gap:4px;text-decoration:none;display:inline-flex;overflow:hidden}.rd-root .crumbs-link:hover{color:var(--primary)}.rd-root .crumbs-text[aria-current=page]{color:var(--text);font-weight:500}.rd-root .crumbs-ellipsis{cursor:default;color:var(--text-faint)}.rd-root .crumbs-sep{color:var(--text-faint);align-items:center;margin:0 2px;display:inline-flex}.rd-root .btn{min-height:var(--control-height);border-radius:var(--radius-md);font-size:var(--fs-md);white-space:nowrap;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),filter var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:600;line-height:1;display:inline-flex}.rd-root .btn svg{flex:none;width:15px;height:15px}.rd-root .btn:active:not(:disabled){transform:translateY(1px)}.rd-root .btn-sm{min-height:28px;font-size:var(--fs-xs);gap:4px;padding:0 10px}.rd-root .btn-sm svg{width:13px;height:13px}.rd-root .btn-lg{min-height:40px;font-size:var(--fs-lg);padding:0 20px}.rd-root .btn-block{width:100%}.rd-root .btn.link{box-shadow:none;min-height:0;color:var(--link,var(--primary));background:0 0;border-color:#0000;padding:0;font-weight:500}.rd-root .btn.link:hover:not(:disabled){color:var(--link-hover,var(--primary-hover));text-decoration:underline}.rd-root .btn.is-loading{cursor:progress}.rd-root .btn .btn-spin{animation:.8s linear infinite rd-btn-spin}.rd-root .btn .btn-label{align-items:center;display:inline-flex}.rd-root .btn.primary{background:var(--primary);color:var(--on-solid);box-shadow:var(--shadow-primary)}.rd-root .btn.primary:hover:not(:disabled){background:var(--primary-hover)}.rd-root .btn.primary:active:not(:disabled){background:var(--primary-active);box-shadow:var(--shadow-xs)}.rd-root .btn.secondary{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:var(--shadow-xs)}.rd-root .btn.secondary:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary) 48%, var(--border));color:var(--primary-ink);background:var(--primary-softer)}.rd-root .btn.success{background:var(--success);color:var(--on-solid);box-shadow:var(--shadow-xs)}.rd-root .btn.warning{background:var(--warning);color:var(--on-solid);box-shadow:var(--shadow-xs)}.rd-root .btn.success:hover:not(:disabled),.rd-root .btn.warning:hover:not(:disabled){filter:brightness(1.08)}.rd-root .btn.danger{color:var(--danger-ink);border-color:color-mix(in srgb, var(--danger) 45%, transparent);background:0 0}.rd-root .btn.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.rd-root .btn:disabled{background:var(--surface-fill);color:var(--text-disabled);border-color:var(--border);box-shadow:none;cursor:not-allowed}.rd-root .btn.primary:disabled,.rd-root .btn.success:disabled,.rd-root .btn.warning:disabled{background:var(--surface-fill);color:var(--text-disabled)}.rd-root .btn.ghost:disabled{color:var(--text-disabled);background:0 0}.rd-root .btn[aria-busy=true]{pointer-events:none}.rd-root .btn[aria-busy=true]:before{content:"";opacity:.9;border:2px solid;border-top-color:#0000;border-radius:50%;flex:none;width:12px;height:12px;animation:.7s linear infinite rd-routerSpin}.rd-root .btn.danger:disabled{color:var(--text-disabled);border-color:var(--border);background:0 0}.rd-root .btn:focus-visible,.rd-root .icon-btn:focus-visible,.rd-root .btn-plain:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 3px var(--focus-ring)}.rd-root .btn:focus,.rd-root .icon-btn:focus,.rd-root .btn-plain:focus{outline:2px solid var(--primary);outline-offset:2px}.rd-root .icon-btn{min-width:var(--control-height-sm);height:var(--control-height-sm);color:var(--text-muted);border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;place-items:center;padding:0 6px;display:inline-grid}.rd-root .icon-btn:hover{background:var(--primary-softer);color:var(--primary-ink)}.rd-root .icon-btn:active{transform:scale(.94)}.rd-root .icon-btn:disabled{color:var(--text-disabled);cursor:not-allowed}.rd-root .btn.ghost{min-height:var(--control-height-sm);height:var(--control-height-sm);font-size:var(--fs-sm);color:var(--text-muted);border-radius:var(--radius-sm);box-shadow:none;background:0 0;border-color:#0000;padding:0 9px;font-weight:500}.rd-root .btn.ghost:hover:not(:disabled){background:var(--primary-softer);color:var(--primary-ink);border-color:#0000}.rd-root .btn-plain{color:var(--primary);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-weight:600}.rd-root .btn.danger{color:var(--danger-ink)}.rd-root .btn.success{background:#067a76}.rd-root .btn.warning{background:#9a5f0a}:is(.rd-root td:has(>.btn),.rd-root td:has(>.icon-btn)){text-overflow:clip;white-space:nowrap;overflow:visible}.rd-root .panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.rd-root .panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rd-root .panel-header h2{font-size:var(--fs-lg);letter-spacing:-.01em;color:var(--text);margin:0 0 6px;font-weight:650}.rd-root .panel-header p{font-size:var(--fs-sm);color:var(--text-muted);margin:0;line-height:1.55}.rd-root .kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px;display:grid}.rd-root .kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);flex-direction:column;align-items:flex-start;padding:18px 19px;display:flex;position:relative;overflow:hidden}.rd-root .kpi-card:before{content:"";background:var(--grad-primary);opacity:0;height:3px;transition:opacity var(--dur) var(--ease);position:absolute;top:0;left:0;right:0}.rd-root .kpi-card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--primary) 30%, var(--border));transform:translateY(-2px)}.rd-root .kpi-card:hover:before{opacity:1}.rd-root .kpi-card>span{color:var(--text-muted);font-size:var(--fs-sm);letter-spacing:.01em;display:block}.rd-root .kpi-card>strong{font-size:var(--fs-3xl);letter-spacing:-.03em;color:var(--text);margin:8px 0 10px;font-weight:700;line-height:1.05;display:block}.rd-root .kpi-icon{border-radius:var(--radius-lg);flex:none;place-items:center;width:36px;height:36px;margin-bottom:12px;font-weight:700;display:grid}.rd-root .kpi-icon.blue{color:var(--primary);background:var(--primary-soft)}.rd-root .kpi-icon.teal{color:var(--success);background:var(--success-soft)}.rd-root .kpi-icon.orange{color:var(--warning);background:var(--warning-soft)}.rd-root .kpi-icon.violet{color:var(--violet);background:var(--violet-soft)}.rd-root .kpi-icon.blue{color:var(--primary-ink)}.rd-root .kpi-icon.teal{color:var(--success-ink)}.rd-root .kpi-icon.orange{color:var(--warning-ink)}.rd-root .kpi-icon.violet{color:var(--violet-ink)}.rd-root .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.rd-root .card-sm .card-head{padding:var(--sp-3) var(--sp-4)}.rd-root .card-sm .card-body{padding:var(--sp-4)}.rd-root .card-hover{transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}.rd-root .card-hover:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--primary) 30%, var(--border));transform:translateY(-2px)}.rd-root .card-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5) var(--sp-3);border-bottom:1px solid var(--border);display:flex}.rd-root .card-head-main{min-width:0}.rd-root .card-title{font-size:var(--fs-lg);letter-spacing:-.01em;color:var(--text);margin:0;font-weight:650}.rd-root .card-desc{font-size:var(--fs-xs);color:var(--text-muted);margin:4px 0 0;line-height:1.55}.rd-root .card-extra{align-items:center;gap:var(--sp-2);flex:none;display:flex}.rd-root .card-body{padding:var(--sp-5)}.rd-root .card-body.flush{padding:0}.rd-root .card-foot{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border)}.rd-root .card.has-head .card-body{padding-top:var(--sp-4)}.rd-root .carousel{border-radius:var(--radius-md);background:var(--surface-sunken);isolation:isolate;position:relative;overflow:hidden}.rd-root .carousel-track{height:100%;transition:transform .42s cubic-bezier(.4,0,.2,1);display:flex}.rd-root .carousel-slide{flex:0 0 100%;justify-content:center;align-items:center;min-width:0;height:100%;display:flex;overflow:hidden}.rd-root .carousel-slide>*{max-width:100%}.rd-root .carousel-effect-fade .carousel-track{display:block;position:relative}.rd-root .carousel-effect-fade .carousel-slide{pointer-events:none;transition:opacity .42s;position:absolute;inset:0}.rd-root .carousel-effect-fade .carousel-slide.on{pointer-events:auto}.rd-root .carousel-arrow{z-index:2;color:#fff;cursor:pointer;opacity:0;background:#0b122061;border:0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:opacity .18s,background .18s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.rd-root .carousel-arrow.left{left:10px}.rd-root .carousel-arrow.right{right:10px}.rd-root .carousel:hover .carousel-arrow{opacity:1}.rd-root .carousel-arrow:hover{background:#0b12209e}.rd-root .carousel-dots{z-index:2;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;bottom:10px;left:0;right:0}.rd-root .carousel-dot{cursor:pointer;background:#ffffff8c;border:0;border-radius:3px;width:6px;height:6px;padding:0;transition:width .22s,background .18s}.rd-root .carousel-dot.on{background:#fff;width:16px}@media (prefers-reduced-motion:reduce){.rd-root .carousel-track,.rd-root .carousel-effect-fade .carousel-slide{transition:none}}.rd-root .casc{width:100%;min-width:0}.rd-root .casc-trigger{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;height:34px;color:var(--text);font-size:var(--fs-md);text-align:left;cursor:pointer;align-items:center;gap:6px;padding:0 8px 0 10px;transition:border-color .16s,box-shadow .16s;display:flex}.rd-root .casc-sm .casc-trigger{height:30px;font-size:var(--fs-sm)}.rd-root .casc-trigger:hover{border-color:var(--border-strong)}.rd-root .casc.open .casc-trigger{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-softer)}.rd-root .casc.disabled .casc-trigger{opacity:.55;cursor:not-allowed}.rd-root .casc-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rd-root .casc-value.placeholder{color:var(--text-faint)}.rd-root .casc-sep{color:var(--text-faint);margin:0 2px}.rd-root .casc-clear{background:var(--surface-fill);width:16px;height:16px;color:var(--text-muted);cursor:pointer;opacity:0;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:opacity .16s;display:inline-flex}.rd-root .casc-trigger:hover .casc-clear{opacity:1}.rd-root .casc-arrow{color:var(--text-faint);flex:none;transform:rotate(90deg)}.casc-menu{z-index:1200;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-elevated);max-height:300px;box-shadow:var(--shadow-lg);padding:4px;display:flex;overflow:hidden}.casc-col{min-width:152px;max-width:240px;padding-right:4px;overflow-y:auto}.casc-col+.casc-col{border-left:1px solid var(--border);padding-left:4px}.casc-opt{border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:4px;padding:6px 8px;display:flex}.casc-opt:hover{background:var(--surface-fill)}.casc-opt.on{background:var(--primary-soft);color:var(--primary);font-weight:500}.casc-opt.disabled{opacity:.45;cursor:not-allowed}.casc-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.casc-more{color:var(--text-faint);flex:none}.casc-empty{text-align:center;color:var(--text-faint);font-size:var(--fs-sm);padding:16px 8px}.rd-root .cbx-wrap{align-items:center;display:inline-flex}.rd-root .cbx{appearance:none;border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer;width:16px;height:16px;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);border-radius:3px;flex:none;margin:0}.rd-root .cbx:hover:not(:disabled){border-color:var(--primary)}.rd-root .cbx:checked,.rd-root .cbx:indeterminate{background:var(--primary);border-color:var(--primary)}.rd-root .cbx:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:12px}.rd-root .cbx:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.6' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:12px}.rd-root .cbx:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.rd-root .cbx:disabled{background:var(--surface-fill);border-color:var(--border);cursor:not-allowed}.rd-root .cbx:disabled:checked,.rd-root .cbx:disabled:indeterminate{background:var(--text-disabled);border-color:var(--text-disabled)}.rd-root .cbx-field{align-items:flex-start;gap:var(--sp-2);cursor:pointer;display:inline-flex}.rd-root .cbx-field.disabled{cursor:not-allowed}.rd-root .cbx-field .cbx{margin-top:2px}.rd-root .cbx-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.rd-root .cbx-label{font-size:var(--fs-md);color:var(--text);line-height:1.45}.rd-root .cbx-desc{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.5}.rd-root .tag:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 3px var(--focus-ring)}.rd-root .tag:focus{outline:2px solid var(--primary);outline-offset:2px}.rd-root .tag,.rd-root .pill{border-radius:var(--radius-xs);background:var(--surface-fill);height:22px;color:var(--text-muted);font-size:var(--fs-xs);white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:0 8px;font-weight:600;line-height:1;display:inline-flex}.rd-root .pill.success{color:var(--success);background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 30%, transparent)}.rd-root .pill.warning{color:var(--warning);background:var(--warning-soft);border-color:color-mix(in srgb, var(--warning) 30%, transparent)}.rd-root .pill.info{color:var(--primary);background:var(--primary-soft);border-color:color-mix(in srgb, var(--info) 30%, transparent)}.rd-root .pill.violet{color:var(--violet);background:var(--violet-soft);border-color:color-mix(in srgb, var(--violet) 30%, transparent)}.rd-root .pill.danger{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.rd-root .chips{flex-wrap:wrap;gap:8px;display:flex}.rd-root .chip{font-size:var(--fs-xs);color:var(--text-muted);cursor:pointer;align-items:center;gap:5px;display:inline-flex}.rd-root .chip-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer;border-radius:20px;padding:6px 14px}.rd-root .chip-btn.on{background:var(--primary);color:var(--on-solid);border-color:#0000}.rd-root .pill.success{color:var(--success-ink)}.rd-root .pill.warning{color:var(--warning-ink)}.rd-root .pill.info{color:var(--primary-ink)}.rd-root .pill.danger{color:var(--danger-ink)}.rd-root .pill.violet{color:var(--violet-ink)}.rd-root .chip-btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.rd-root .chip{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);height:30px;color:var(--text-muted);font-size:var(--fs-sm);transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);align-items:center;gap:4px;font-weight:600;display:inline-flex}.rd-root .chip-main{height:100%;color:inherit;font:inherit;border-radius:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;padding:0 12px;display:inline-flex}.rd-root .chip-ticks,.rd-root .chip-tick{flex:none}.rd-root .chip .chip-tick{margin-left:10px;margin-right:-6px}.rd-root .chip:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));color:var(--primary-ink)}.rd-root .chip-filter.on{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary-ink)}.rd-root .chip-input{background:var(--surface-fill);color:var(--text);border-color:#0000}.rd-root .chip-assist:hover,.rd-root .chip-suggestion:hover{background:var(--primary-softer)}.rd-root .chip.disabled,.rd-root .chip-main:disabled,.rd-root .chip-del:disabled{opacity:.5;cursor:not-allowed}.rd-root .chip-del{width:22px;height:22px;color:inherit;opacity:.65;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin-right:4px;padding:0;display:grid}.rd-root .chip-del:hover{opacity:1;background:color-mix(in srgb, currentColor 14%, transparent)}.rd-root .chip-group{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.rd-root .chip-clear{color:var(--primary);font-size:var(--fs-sm);border-radius:var(--radius-sm);background:0 0;border:0;padding:4px 6px;font-weight:600}.rd-root .chip-clear:hover{background:var(--primary-softer)}.rd-root .collapse{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.rd-root .collapse.ghost{background:0 0;border:0;border-radius:0}.rd-root .collapse-item+.collapse-item{border-top:1px solid var(--border)}.rd-root .collapse.ghost .collapse-item+.collapse-item{border-top:0}.rd-root .collapse-head{width:100%;color:var(--text);font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:10px 12px;transition:background .16s;display:flex}.rd-root .collapse-head:hover{background:var(--surface-fill)}.rd-root .collapse-head:disabled{opacity:.5;cursor:not-allowed;background:0 0}.rd-root .collapse-arrow{color:var(--text-faint);flex:none;transition:transform .2s;transform:rotate(-90deg)}.rd-root .collapse-item.open .collapse-arrow{transform:rotate(0)}.rd-root .collapse-title{flex:1;min-width:0}.rd-root .collapse-extra{font-size:var(--fs-xs);color:var(--text-muted);flex:none}.rd-root .collapse-body{grid-template-rows:0fr;transition:grid-template-rows .24s cubic-bezier(.4,0,.2,1);display:grid}.rd-root .collapse-item.open .collapse-body{grid-template-rows:1fr}.rd-root .collapse-inner{min-height:0;overflow:hidden}.rd-root .collapse-item.open .collapse-inner{padding:0 12px 12px}@media (prefers-reduced-motion:reduce){.rd-root .collapse-body,.rd-root .collapse-arrow{transition:none}}.rd-root .cp{align-items:center;gap:6px;min-width:0;display:inline-flex;position:relative}.rd-root .cp.disabled{opacity:.55}.rd-root .cp-trigger{height:var(--control-height-sm,30px);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);cursor:pointer;align-items:center;gap:8px;padding:0 8px 0 4px;transition:border-color .12s,box-shadow .12s;display:inline-flex}.rd-root .cp-trigger:hover{border-color:var(--border-strong)}.rd-root .cp-trigger.on{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-wash,#1769e024)}.rd-root .cp-trigger:disabled{cursor:not-allowed}.rd-root .cp-swatch{border-radius:var(--radius-xs);border:1px solid var(--border);width:22px;height:22px;color:var(--text-faint);flex:none;justify-content:center;align-items:center;display:inline-flex}.rd-root .cp-swatch.is-empty{background-image:linear-gradient(45deg, var(--surface-fill) 25%, transparent 25%),linear-gradient(-45deg, var(--surface-fill) 25%, transparent 25%),linear-gradient(45deg, transparent 75%, var(--surface-fill) 75%),linear-gradient(-45deg, transparent 75%, var(--surface-fill) 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px}.rd-root .cp-hex{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);font-size:var(--fs-xs);letter-spacing:.02em;color:var(--text)}.rd-root .cp-hex.is-empty{color:var(--text-faint);font-family:inherit}.rd-root .cp-caret{color:var(--text-faint)}.rd-root .cp-sm .cp-trigger{height:26px}.rd-root .cp-sm .cp-swatch{width:18px;height:18px}.rd-root .cp-clear{width:18px;height:18px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.rd-root .cp-clear:hover{color:var(--danger);background:var(--surface-fill)}.rd-root .cp-pop{z-index:60;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:236px;max-height:min(72vh,520px);box-shadow:var(--shadow-lg,0 12px 32px #10182829);padding:10px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.rd-root .cp-pop.right{left:auto;right:0}.rd-root .cp-pop.up{top:auto;bottom:calc(100% + 6px)}.rd-root .cp-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:10px;padding-bottom:6px;display:flex}.rd-root .cp-tabs button{border-radius:var(--radius-xs);height:26px;color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;flex:1;padding:0 6px}.rd-root .cp-tabs button:hover{background:var(--surface-fill);color:var(--text)}.rd-root .cp-tabs button.on{background:var(--primary-wash,#1769e01f);color:var(--primary);font-weight:600}.rd-root .cp-label{color:var(--text-faint);font-size:var(--fs-2xs);margin:2px 0 6px}.rd-root .cp-label+.cp-grid{margin-bottom:10px}.rd-root .cp-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.rd-root .cp-cell{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;color:#fff;border:1px solid #00000014;justify-content:center;align-items:center;width:100%;padding:0;transition:transform .12s,box-shadow .12s;display:inline-flex}.rd-root .cp-cell:hover{transform:scale(1.08)}.rd-root .cp-cell.on{box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--primary)}.rd-root .cp-cell svg{filter:drop-shadow(0 1px 1px #0000008c)}.rd-root .cp-custom{flex-direction:column;gap:10px;display:flex}.rd-root .cp-sv{border-radius:var(--radius-md);cursor:crosshair;touch-action:none;height:132px;position:relative;overflow:hidden}.rd-root .cp-sv-white{background:linear-gradient(90deg,#fff,#fff0);position:absolute;inset:0}.rd-root .cp-sv-black{background:linear-gradient(#0000,#000);position:absolute;inset:0}.rd-root .cp-sv-handle,.rd-root .cp-hue-handle{pointer-events:none;background:0 0;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000073}.rd-root .cp-hue{cursor:pointer;touch-action:none;background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);border-radius:999px;height:12px;position:relative}.rd-root .cp-hue-handle{top:50%}.rd-root .cp-hexrow{align-items:center;gap:6px;display:flex}.rd-root .cp-hexrow .input{min-width:0;font-family:var(--font-mono,ui-monospace, Menlo, monospace);flex:1}.rd-root .cp-eyedrop{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:30px;height:30px;color:var(--text-muted);cursor:pointer;flex:none;place-items:center;padding:0;display:grid}.rd-root .cp-eyedrop:hover{border-color:var(--primary);color:var(--primary)}.rd-root .cp-native{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.rd-root .cp-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding-top:10px;display:flex}.rd-root .cp-clearrow{border-radius:var(--radius-sm);height:28px;color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;padding:0 8px}.rd-root .cp-clearrow:hover{color:var(--danger);background:var(--surface-fill)}.rd-root .cp-done{border-radius:var(--radius-sm);background:var(--primary);color:#fff;height:28px;font-size:var(--fs-xs);cursor:pointer;border:0;padding:0 14px}.rd-root .cp-done:hover{filter:brightness(1.06)}.rd-root .cmdk{z-index:61;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);width:620px;max-width:92vw;box-shadow:var(--shadow-lg);flex-direction:column;max-height:76vh;display:flex;position:fixed;top:12vh;left:50%;overflow:hidden;transform:translate(-50%)}.rd-root .cmdk-backdrop{z-index:60;background:var(--backdrop);position:fixed;inset:0}.rd-root .cmdk-input{border-bottom:1px solid var(--border);color:var(--text-faint);flex:none;align-items:center;gap:10px;padding:13px 15px;display:flex}.rd-root .cmdk-input input{color:var(--text);font-size:var(--fs-base);background:0 0;border:0;outline:0;flex:1}.rd-root .cmdk-input kbd{font-size:var(--fs-2xs);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text-faint);padding:2px 5px}.rd-root .cmdk-list{flex:1;padding:6px;overflow:auto}.rd-root .cmdk-section{margin-bottom:4px}.rd-root .cmdk-sec-title{font-size:var(--fs-2xs);letter-spacing:.08em;color:var(--text-faint);align-items:center;gap:5px;padding:8px 9px 4px;font-weight:700;display:flex}.rd-root .cmdk-sec-n{opacity:.7;margin-left:2px;font-weight:500}.rd-root .cmdk-item{width:100%;color:var(--text);border-radius:var(--radius-sm);text-align:left;font-size:var(--fs-md);background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;display:flex}.rd-root .cmdk-item[data-on="1"]{background:var(--primary-soft);color:var(--primary-ink)}.rd-root .cmdk-item .group,.rd-root .cmdk-group{min-width:74px;font-size:var(--fs-2xs);color:var(--text-faint);flex:none}.rd-root .cmdk-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rd-root .cmdk-sub{font-size:var(--fs-xs);color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:46%;overflow:hidden}.rd-root .cmdk-enter{color:var(--primary-ink);flex:none}.rd-root .cmdk-empty{text-align:center;font-size:var(--fs-md);color:var(--text-faint);padding:26px}.rd-root .cmdk-foot{border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-faint);flex:none;align-items:center;gap:12px;padding:8px 14px;display:flex}.rd-root .cmdk-foot kbd{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);margin-right:3px;padding:1px 4px}.rd-root .cmdk-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-ring)}.rd-root .cmdk-list::-webkit-scrollbar{width:var(--scroll-size-sm,8px);height:var(--scroll-size-sm,8px)}.rd-root .chart-center{justify-content:center;display:flex}.rd-root .chart{width:100%}.rd-root .chart-center svg,.rd-root .chart-center>div{margin:0 auto}.rd-root .legend-row{flex-wrap:wrap;justify-content:center;gap:10px 16px;margin-top:14px;display:flex}.rd-root .legend-item{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:6px;font-weight:500;display:inline-flex}.rd-root .legend-item i{border-radius:3px;width:10px;height:10px;display:inline-block}.rd-root .legend-item em{color:var(--text);margin-left:2px;font-style:normal;font-weight:700}.rd-root .chart{position:relative}.rd-root .chart:not([data-ready="1"]):after{content:"";border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--surface-fill), var(--border), var(--surface-fill));background-size:200% 100%;animation:1.2s ease-in-out infinite rd-skShift;position:absolute;inset:12px}.rd-root .stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4);box-shadow:var(--shadow-sm)}.rd-root .stat-card-title{color:var(--text-muted);font-size:var(--fs-md)}.rd-root .stat-card-value{font-size:var(--fs-2xl);letter-spacing:-.02em;color:var(--text);margin:6px 0;font-weight:700;line-height:1.15}.rd-root .stat-card-value.tone-default{color:var(--text)}.rd-root .stat-card-value.tone-primary{color:var(--primary-ink)}.rd-root .stat-card-value.tone-success{color:var(--success-ink)}.rd-root .stat-card-value.tone-warning{color:var(--warning-ink)}.rd-root .stat-card-value.tone-danger{color:var(--danger-ink)}.rd-root .stat-card-sub{color:var(--text-muted);font-size:var(--fs-xs)}.rd-root .table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);position:relative;overflow:auto}.rd-root .table-wrap td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rd-root th:hover .sort-idle,.rd-root th:focus-visible .sort-idle{opacity:.6}.rd-root .trow:last-child>td{border-bottom:none}.rd-root .table-wrap[data-cell-align=center] .trow>td{text-align:center}.rd-root .trow>td{background:var(--surface);transition:background .15s}.rd-root .trow:nth-child(2n)>td{background:var(--zebra)}.rd-root .trow:hover>td,.rd-root .trow:hover:nth-child(2n)>td{background:var(--row-hover)}.rd-root .trow.active>td,.rd-root .trow.active:nth-child(2n)>td{background:var(--row-active)}.rd-root .trow.active>td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.rd-root .trow{cursor:pointer}.rd-root .exp-block .exp-title{font-size:var(--fs-md);color:var(--text);justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:600;display:flex}.rd-root .exp-title .exp-meta{color:var(--text-muted);font-weight:500;font-size:var(--fs-xs)}.rd-root .exp-formats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.rd-root .exp-fmt{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-lg);text-align:left;cursor:pointer;flex-direction:column;gap:4px;padding:12px;transition:all .15s;display:flex}.rd-root .exp-fmt.on{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px var(--focus-ring)}.rd-root .exp-fmt-t{font-weight:700;font-size:var(--fs-base);letter-spacing:.02em}.rd-root .exp-fmt.on .exp-fmt-t{color:var(--primary)}.rd-root .exp-fmt-d{color:var(--text-muted);font-size:var(--fs-xs)}.rd-root .exp-fields{grid-template-columns:repeat(2,1fr);gap:6px;max-height:300px;padding-right:4px;display:grid;overflow:auto}.rd-root .exp-check{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:8px;padding:7px 9px;display:flex}.rd-root .exp-check:hover{border-color:var(--primary)}.rd-root .exp-check code{color:var(--text-muted);font-size:var(--fs-2xs);margin-left:auto}.rd-root .exp-check span{font-size:var(--fs-xs)}.rd-root .table-wrap[data-loading="1"] tbody{opacity:.45;pointer-events:none;transition:opacity .15s}.rd-root .trow:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.rd-root .table-wrap.sticky-head{max-height:64vh}.rd-root .table-wrap.sticky-head thead th{z-index:6;position:sticky;top:0}.rd-root .table-wrap.sticky-head thead th.fz{z-index:8}.rd-root .col-resizer{cursor:col-resize;z-index:9;touch-action:none;width:9px;height:100%;position:absolute;top:0;right:-4px}.rd-root .col-resizer:after{content:"";background:0 0;border-radius:1px;width:2px;transition:background .12s;position:absolute;top:22%;bottom:22%;left:3px}.rd-root .col-resizer:hover:after,.rd-root .col-resizer.on:after{background:var(--primary)}.rd-root .table-wrap{-webkit-overflow-scrolling:touch}.rd-root .exp-fields::-webkit-scrollbar{width:var(--scroll-size-sm,8px);height:var(--scroll-size-sm,8px)}.rd-root .table-wrap{scrollbar-gutter:stable}.rd-root .table-wrap td .btn{font-size:inherit;font-weight:inherit;line-height:inherit}.rd-root td.td-ops{text-overflow:clip;white-space:nowrap;overflow:visible}.rd-root td.td-ops>*{vertical-align:middle}.rd-root td.td-ops>*+*{margin-left:2px}.rd-root .sort-on{color:var(--primary);flex:none}.rd-root .dp{align-items:center;width:100%;min-width:0;max-width:100%;display:inline-flex;position:relative}.rd-root .dp-trigger{width:100%;min-height:var(--control-height,36px);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:var(--fs-md);text-align:left;cursor:pointer;align-items:center;gap:6px;padding:6px 30px 6px 10px;line-height:1.4;transition:border-color .16s,box-shadow .16s;display:flex}.rd-root .dp-trigger:hover:not(:disabled){border-color:var(--border-strong)}.rd-root .dp-trigger:focus-visible{border-color:var(--primary);box-shadow:var(--ring);outline:none}.rd-root .dp-trigger.on{border-color:var(--primary);box-shadow:var(--ring)}.rd-root .dp-trigger.placeholder{color:var(--text-faint)}.rd-root .dp-trigger:disabled{background:var(--surface-fill);color:var(--text-disabled);cursor:not-allowed}.rd-root .dp-cal-icon{color:var(--text-muted);flex:none}.rd-root .dp-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rd-root .dp-clear{background:var(--surface-fill);width:16px;height:16px;color:var(--text-muted);cursor:pointer;opacity:0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .16s,color .16s;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.rd-root .dp:hover .dp-clear,.rd-root .dp:focus-within .dp-clear{opacity:1}.rd-root .dp-clear:hover{color:var(--text)}.rd-root .dp-sm .dp-trigger{min-height:30px;font-size:var(--fs-sm);padding:2px 26px 2px 8px}.rd-root .dp-pop[data-side=top]{top:auto;bottom:calc(100% + 4px)}.rd-root .dp-pop{z-index:1200;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:252px;box-shadow:var(--shadow-lg);padding:10px;position:absolute;top:calc(100% + 4px);left:0}.rd-root .dp-head{align-items:center;gap:4px;margin-bottom:6px;display:flex}.rd-root .dp-month{text-align:center;font-size:var(--fs-sm);color:var(--text);flex:1;font-weight:600}.rd-root .dp-nav{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.rd-root .dp-nav:hover{background:var(--surface-fill);color:var(--text)}.rd-root .dp-nav:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.rd-root .dp-today-btn{border-radius:var(--radius-sm);color:var(--primary);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;padding:2px 6px}.rd-root .dp-today-btn:hover{background:var(--surface-fill)}.rd-root .dp-week,.rd-root .dp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.rd-root .dp-week{font-size:var(--fs-xs);color:var(--text-faint);text-align:center;margin-bottom:2px}.rd-root .dp-cell{border-radius:var(--radius-sm);height:30px;color:var(--text);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:1px solid #0000;padding:0}.rd-root .dp-cell:hover:not(:disabled){background:var(--surface-fill)}.rd-root .dp-cell:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.rd-root .dp-cell.out{color:var(--text-faint)}.rd-root .dp-cell.today{border-color:var(--primary);color:var(--primary);font-weight:600}.rd-root .dp-cell.on{background:var(--primary);border-color:var(--primary);color:#fff}.rd-root .dp-cell:disabled{color:var(--text-disabled);cursor:not-allowed}.rd-root .dp-foot{border-top:1px solid var(--border);justify-content:space-between;margin-top:6px;padding-top:6px;display:flex}.rd-root .dp-foot-btn{font-size:var(--fs-xs)}.rd-root .drf{flex-direction:column;gap:6px;min-width:0;display:flex;position:relative}.rd-root .drf-label{font-size:var(--fs-sm);color:var(--text-muted);font-weight:600}.rd-root .drf-inputs{align-items:center;gap:var(--sp-2);display:flex}.rd-root .drf-inputs .dp{flex:1 1 0;min-width:96px}.rd-root .drf-inputs .dp-sm .dp-trigger{height:var(--control-height)}.rd-root .drf-sep{color:var(--text-faint);flex:none}.rd-root .drf-err{font-size:var(--fs-xs);color:var(--danger-ink);align-items:center;gap:4px;font-weight:500;display:inline-flex}.rd-root .drf-presets{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rd-root .drf-preset{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:var(--radius-sm);font-size:var(--fs-xs);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);padding:3px 9px;font-weight:600}.rd-root .drf-preset:hover{border-color:var(--primary);color:var(--primary-ink);background:var(--primary-softer)}.rd-root .drf-preset.on{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary-ink)}.rd-root .drf-preset.clear{border-style:dashed}.rd-root .drf-trigger{width:var(--control-height);height:var(--control-height);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.rd-root .drf-trigger:hover,.rd-root .drf-trigger.on{color:var(--text);border-color:var(--border-strong);background:var(--surface-fill)}.rd-root .drf-trigger:disabled{opacity:.5;cursor:not-allowed}.rd-root .drf-menu{z-index:60;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);min-width:128px;box-shadow:var(--shadow-lg);flex-direction:column;gap:2px;padding:4px;display:flex}.rd-root .drf-menu .drf-preset{text-align:left;justify-content:flex-start;width:100%}.rd-root .desc{gap:0;display:grid}.rd-root .desc[data-col="1"]{grid-template-columns:var(--desc-label-w) minmax(0, 1fr)}.rd-root .desc[data-col="2"]{grid-template-columns:repeat(2, var(--desc-label-w) minmax(0, 1fr))}.rd-root .desc[data-col="3"]{grid-template-columns:repeat(3, var(--desc-label-w) minmax(0, 1fr))}.rd-root .desc[data-col="4"]{grid-template-columns:repeat(4, var(--desc-label-w) minmax(0, 1fr))}.rd-root .desc-item{display:contents}.rd-root .desc-item[data-span]{grid-column:span var(--desc-span,1)}.rd-root .desc-item[data-span] .desc-value{grid-column:span calc(var(--desc-span,1) - 1)}.rd-root .desc-title{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-md);color:var(--text);background:var(--primary-softer);border-bottom:1px solid var(--border);grid-column:1/-1;font-weight:700}.rd-root .desc-label{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);color:var(--text-muted);background:var(--surface-fill);border-bottom:1px solid var(--border);font-weight:600}.rd-root .desc.desc-nowrap-label .desc-label{white-space:nowrap}@media (max-width:640px){.rd-root .desc.desc-nowrap-label .desc-label{white-space:normal;overflow-wrap:anywhere}}.rd-root .desc-value{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-md);color:var(--text);overflow-wrap:anywhere;border-bottom:1px solid var(--border);line-height:1.6}.rd-root .desc-empty{color:var(--text-faint)}.rd-root .desc:not(.desc-bordered) .desc-label{background:0 0;border-bottom:0}.rd-root .desc:not(.desc-bordered) .desc-value{border-bottom:0}.rd-root .desc:not(.desc-bordered) .desc-title{border-bottom:1px solid var(--border);background:0 0;padding-inline:0}.rd-root .desc-dense .desc-label,.rd-root .desc-dense .desc-value{padding-block:var(--sp-2)}.rd-root .hits-empty{line-height:1.7}.rd-root .dsm{z-index:55;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);width:1080px;max-width:94vw;max-height:86vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.rd-root .dsm-main{flex:1;grid-template-columns:minmax(0,1fr) 288px;min-height:0;display:grid}.rd-root .dsm-left{flex-direction:column;min-width:0;min-height:0;padding:14px 16px;display:flex}.rd-root .dsm-right{border-left:1px solid var(--border);background:var(--surface-fill);flex-direction:column;min-height:0;display:flex}.rd-root .dsm-right-head{border-bottom:1px solid var(--border);font-size:var(--fs-md);align-items:center;gap:8px;padding:11px 12px;font-weight:700;display:flex}.rd-root .dsm-right-head .sp{flex:1}.rd-root .dsm-right-head .n{color:var(--primary-ink)}.rd-root .dsm-right-list{flex:1;padding:6px;overflow:auto}.rd-root .dsm-sel{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);font-size:var(--fs-sm);align-items:center;gap:8px;margin-bottom:5px;padding:7px 9px;display:flex}.rd-root .dsm-sel .idx{border-radius:var(--radius-xs);background:var(--primary);width:20px;height:20px;color:var(--on-solid);font-size:var(--fs-2xs);flex:none;place-items:center;font-weight:700;display:grid}.rd-root .dsm-sel .tx{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rd-root .dsm-sel button{color:var(--text-faint);background:0 0;border:0;flex:none}.rd-root .dsm-sel button:hover{color:var(--danger-ink)}.rd-root .dsm-right-foot{border-top:1px solid var(--border);padding:10px 12px}.rd-root .dsm-right-foot .btn{justify-content:center;width:100%}.rd-root .dsm-query{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 14px;margin-bottom:10px;display:grid}.rd-root .dsm-query .f{align-items:center;gap:8px;min-width:0;display:flex}.rd-root .dsm-query .f>label{text-align:right;width:68px;font-size:var(--fs-sm);color:var(--text-muted);flex:none}.rd-root .dsm-query .f .input{flex:1;min-width:0;height:34px}.rd-root .dsm-query-actions{justify-content:flex-end;gap:8px;width:100%;display:flex}.rd-root .divider-horizontal{border-top:1px solid var(--border);width:100%}.rd-root .divider-horizontal.plain{border-top-color:var(--table-col-line)}.rd-root .divider-vertical{width:1px;height:1em;margin:0 var(--sp-2);vertical-align:middle;background:var(--border);display:inline-block}.rd-root .divider-with-text{align-items:center;gap:var(--sp-3);display:flex}.rd-root .divider-with-text .divider-line{background:var(--border);flex:1;height:1px}.rd-root .divider-with-text .divider-text{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;font-weight:600}.rd-root .divider-with-text.ori-left .divider-line:first-child,.rd-root .divider-with-text.ori-right .divider-line:last-child{flex:none;width:20px}.rd-root .drawer{height:100%;width:var(--drawer-width,560px);background:var(--surface-elevated);border-left:1px solid var(--border);max-width:92vw;box-shadow:var(--shadow-lg);z-index:50;flex-direction:column;display:flex;position:fixed;top:0;right:0}.rd-root .drawer.wide{width:var(--drawer-width,880px)}.rd-root .drawer-header{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);background:var(--surface);display:flex}.rd-root .drawer-header h3{font-size:var(--fs-lg);letter-spacing:-.01em;color:var(--text);margin:0;font-weight:650}.rd-root .drawer-body{padding:var(--sp-5);flex:1;overflow:auto}.rd-root .drawer-foot{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);display:flex}.rd-root .drawer-body::-webkit-scrollbar{width:var(--scroll-size-sm,8px);height:var(--scroll-size-sm,8px)}.rd-root .dd-wrap{display:inline-flex;position:relative}.rd-root .dd-trigger{display:inline-flex}.rd-root .dd-menu{z-index:1200;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);min-width:132px;box-shadow:var(--shadow-lg);padding:4px;position:absolute}.rd-root .dd-menu.dd-bottom{top:calc(100% + 4px)}.rd-root .dd-menu.dd-top{bottom:calc(100% + 4px)}.rd-root .dd-menu.dd-left{left:0}.rd-root .dd-menu.dd-right{right:0}.rd-root .dd-item{border-radius:var(--radius-sm);width:100%;color:var(--text);font-size:var(--fs-sm);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:6px 10px;font-weight:500;display:flex}.rd-root .dd-item svg{flex:none;width:14px;height:14px}.rd-root .dd-item:hover:not(:disabled){background:var(--primary-soft);color:var(--primary)}.rd-root .dd-item:focus-visible{outline:2px solid var(--primary);outline-offset:-1px}.rd-root .dd-item.danger{color:var(--danger-ink)}.rd-root .dd-item.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, transparent);color:var(--danger-ink)}.rd-root .dd-item:disabled{color:var(--text-disabled);cursor:not-allowed}.rd-root .dd-divider{background:var(--border);height:1px;margin:4px 2px}.rd-root .dd-menu.dd-flip{top:auto;bottom:calc(100% + 4px)}.rd-root .dd-menu.dd-flip-down{top:calc(100% + 4px);bottom:auto}.rd-root .empty-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.rd-root .empty{text-align:center;color:var(--text-muted);font-size:var(--fs-md);padding:60px 20px}.rd-root .empty-icon{color:var(--text-faint);opacity:.5;margin:0 auto 10px;display:block}.rd-root .table-empty{background:var(--surface);position:sticky;left:0}.rd-root .empty-box{text-align:center;padding:52px 20px}.rd-root .empty-box .empty-t{font-size:var(--fs-base);color:var(--text);font-weight:600}.rd-root .empty-box .empty-d{font-size:var(--fs-sm);color:var(--text-muted);margin:7px 0 16px}.rd-root .empty-box .btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-ring)}.rd-root .fab{justify-content:center;align-items:center;gap:var(--sp-2);cursor:pointer;box-shadow:var(--shadow-md);transition:box-shadow var(--dur) var(--ease),transform var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);border:0;border-radius:16px;display:inline-flex}.rd-root .fab-md{width:48px;height:48px}.rd-root .fab-lg{width:56px;height:56px}.rd-root .fab-extended{border-radius:14px;height:48px;padding:0 20px}.rd-root .fab:hover:not(.disabled){box-shadow:var(--shadow-lg);transform:translateY(-1px)}.rd-root .fab:active:not(.disabled){transform:translateY(0)}.rd-root .fab:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.rd-root .fab-primary{background:var(--primary);color:var(--on-solid)}.rd-root .fab-primary:hover:not(.disabled){background:var(--primary-hover)}.rd-root .fab-secondary{background:var(--primary-soft);color:var(--primary-ink)}.rd-root .fab-tertiary{background:var(--violet-soft);color:var(--violet-ink)}.rd-root .fab-surface{background:var(--surface-elevated);color:var(--primary);border:1px solid var(--border)}.rd-root .fab.disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.rd-root .fab-icon{place-items:center;display:grid}.rd-root .fab-label{font-size:var(--fs-md);font-weight:600}.rd-root .fab-floating{z-index:44;position:fixed;bottom:74px;right:22px}.rd-root .prompt-mask{z-index:600;background:#15223866;justify-content:center;align-items:center;padding:20px;animation:.16s rd-fadeIn;display:flex;position:fixed;inset:0}.rd-root .prompt-title{font-weight:700;font-size:var(--fs-lg);margin-bottom:14px}.rd-root .prompt-item{margin-bottom:12px}.rd-root .prompt-item label{font-size:var(--fs-xs);color:var(--text-muted);margin-bottom:5px;display:block}.rd-root .prompt-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.rd-root .confirm-box{z-index:50;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);width:380px;max-width:92vw;padding:18px 20px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 60px #15223830}.rd-root .confirm-box h3{font-size:var(--fs-lg);color:var(--text);margin:0 0 8px;font-weight:700}.rd-root .confirm-foot{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.rd-root .fb-stack{z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.rd-root .fb-toast{border-radius:var(--radius-md);max-width:540px;font-size:var(--fs-md);background:var(--surface-elevated);border:1px solid var(--border);border-left:3px solid var(--text-faint);color:var(--text);box-shadow:var(--shadow-lg);padding:10px 16px 10px 14px;font-weight:500;line-height:1.55;animation:.16s ease-out rd-fb-pop}.rd-root .fb-toast.success{border-color:var(--success);color:var(--success);background:var(--success-soft)}.rd-root .fb-toast.warn{border-color:var(--warning);color:var(--warning);background:var(--warning-soft)}.rd-root .fb-toast.error{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.rd-root .fb-field{font-size:var(--fs-xs);color:var(--text-muted);flex-direction:column;gap:6px;margin-top:12px;font-weight:600;display:flex}.rd-root .fb-toast.success{color:var(--success-ink)}.rd-root .fb-toast.warn{color:var(--warning-ink)}.rd-root .fb-toast.error{color:var(--danger-ink)}.rd-root .fb-toast{align-items:center;gap:var(--sp-3);display:flex}.rd-root .fb-toast-text{min-width:0}.rd-root .fb-toast-action{color:inherit;font-size:var(--fs-sm);border-radius:var(--radius-xs);pointer-events:auto;background:0 0;border:0;flex:none;padding:2px 6px;font-weight:700}.rd-root .fb-toast-action:hover{background:color-mix(in srgb, currentColor 16%, transparent)}.rd-root .fb-toast-x{border-radius:var(--radius-xs);width:20px;height:20px;color:inherit;opacity:.6;pointer-events:auto;background:0 0;border:0;flex:none;place-items:center;font-size:15px;line-height:1;display:grid}.rd-root .fb-toast-x:hover{opacity:1;background:color-mix(in srgb, currentColor 16%, transparent)}.rd-root .fb{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);flex-wrap:wrap;display:flex}.rd-root .fb-search{border:1px solid var(--border);border-radius:var(--radius-md);min-height:var(--control-height);background:var(--surface);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);align-items:center;gap:8px;padding:0 12px;display:flex}.rd-root .fb-search:hover{border-color:var(--border-strong)}.rd-root .fb-search:focus-within{border-color:var(--primary);box-shadow:var(--ring)}.rd-root .fb-search svg{color:var(--text-faint);flex:none}.rd-root .fb-search input{width:100%;font-size:var(--fs-md);color:var(--text);background:0 0;border:0;outline:0}.rd-root .fb-search input::placeholder{color:var(--text-faint)}.rd-root .fb-tools{gap:8px;margin-left:auto;display:flex}@media (max-width:768px){.rd-root .fb{align-items:stretch}.rd-root .fb-search{flex:1;min-width:0!important}.rd-root .fb-tools{width:100%;margin-left:0}.rd-root .fb-tools .btn{flex:1}}.rd-root .flex{min-width:0}.rd-root .flex-vertical{min-height:0}.rd-root .ff{flex-direction:column;gap:5px;min-width:0;display:flex}.rd-root .ff.full{grid-column:1/-1}.rd-root .ff-label{font-size:var(--fs-sm);color:var(--text-muted);font-weight:600}.rd-root .ff-req{color:var(--danger-ink);margin-left:2px}.rd-root .ff-hint{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.5}.rd-root .ff-err{font-size:var(--fs-xs);color:var(--danger-ink);font-weight:500;line-height:1.5}.rd-root .fg{gap:var(--sp-4) var(--sp-5);display:grid}.rd-root .fg-1{grid-template-columns:minmax(0,1fr)}.rd-root .fg-2{grid-template-columns:repeat(2,minmax(0,1fr))}.rd-root .fg-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:640px){.rd-root .fg-2,.rd-root .fg-3{grid-template-columns:minmax(0,1fr)}}.rd-root .form-grid{gap:var(--sp-4) var(--sp-5);grid-template-columns:repeat(2,1fr);display:grid}.rd-root .form-item{flex-direction:column;gap:6px;display:flex}.rd-root .form-item.full{grid-column:1/-1}.rd-root .form-item>label{color:var(--text-muted);font-size:var(--fs-sm);font-weight:600}.rd-root .form-item>label .req{color:var(--danger-ink);margin-left:2px}.rd-root .form-item.has-err>label{color:var(--danger-ink)}.rd-root .form-item.has-err :is(.input,.ms-box,.dp-trigger){border-color:var(--danger)}.rd-root .form-item.has-err :is(.input,.ms-box,.dp-trigger):focus{box-shadow:0 0 0 3px var(--danger-soft)}.rd-root .input{width:100%;min-height:var(--control-height);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:var(--fs-md);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);padding:6px 11px;line-height:1.4}.rd-root .input::placeholder{color:var(--text-faint)}.rd-root .input:hover:not(:disabled):not([readonly]){border-color:var(--border-strong)}.rd-root .input:focus{border-color:var(--primary);box-shadow:var(--ring);outline:none}.rd-root .input:disabled,.rd-root .input[readonly]{background:var(--surface-fill);color:var(--text-disabled);cursor:not-allowed}.rd-root .input.err{border-color:var(--danger)}.rd-root .input.err:focus{box-shadow:0 0 0 3px var(--danger-soft)}.rd-root select.input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23808fa8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:30px}.rd-root select.input:disabled{cursor:not-allowed}.rd-root textarea.input{resize:vertical;min-height:78px;padding:8px 11px;line-height:1.6}.rd-root .field-err{color:var(--danger-ink);font-size:var(--fs-xs);align-items:flex-start;gap:5px;font-weight:500;display:flex}.rd-root .field-err:before{content:"";background:currentColor;flex:none;width:12px;height:12px;margin-top:2px;-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.3' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.4v5.6M12 16.6h.01'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.3' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.4v5.6M12 16.6h.01'/%3E%3C/svg%3E") 50%/contain no-repeat}.rd-root .field-hint{color:var(--text-muted);font-size:var(--fs-xs);line-height:1.55}.rd-root .field-hint a{color:var(--primary);text-decoration:none}.rd-root .field-hint a:hover{text-decoration:underline}.rd-root textarea.input{resize:vertical;min-height:70px}.rd-root .field-err,.rd-root .form-item>label .req{color:var(--danger-ink)}.rd-root .form-surface-bar{border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:8px 12px;display:flex}.rd-root .form-surface-bar .fs-label{font-size:var(--fs-xs);color:var(--text-muted);flex:none;font-weight:600}.rd-root .form-surface-bar .fs-hint{font-size:var(--fs-xs);color:var(--text-faint)}.rd-root .form-foot{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;padding-top:14px;display:flex}.rd-root .form-surface{flex-direction:column;gap:12px;display:flex}.rd-root .seg{background:var(--surface-fill);border:1px solid var(--border);border-radius:var(--radius-md);flex:1;gap:2px;min-width:0;padding:2px;display:inline-flex}.rd-root .seg button{min-width:0;color:var(--text-muted);border-radius:var(--radius-sm);font-size:var(--fs-xs);white-space:nowrap;background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:4px;padding:5px 8px;font-weight:600;display:inline-flex}.rd-root .seg button:hover{background:var(--surface);color:var(--text)}.rd-root .seg button.on{background:var(--primary);color:var(--on-solid)}.rd-root .seg button.on:hover{background:var(--primary-strong);color:var(--on-solid)}.rd-root .col{grid-column:auto/span var(--col-span,24);min-width:0}.rd-root .col.off{grid-column-start:var(--col-start,auto)}.rd-root .img-wrap{background:var(--surface-fill);max-width:100%;display:inline-flex;position:relative;overflow:hidden}.rd-root .img-wrap img{width:100%;height:100%;display:block}.rd-root .img-wrap.previewable{cursor:zoom-in}.rd-root .img-zoom{color:#fff;opacity:0;background:#0b122061;justify-content:center;align-items:center;transition:opacity .18s;display:flex;position:absolute;inset:0}.rd-root .img-wrap.previewable:hover .img-zoom{opacity:1}.rd-root .img-fallback{width:100%;height:100%;min-height:64px;color:var(--text-faint);font-size:var(--fs-xs);background:var(--surface-fill);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.img-mask{z-index:2100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:zoom-out;background:#080c14d1;justify-content:center;align-items:center;padding:40px;animation:.16s popover-in;display:flex;position:fixed;inset:0}.img-mask img{object-fit:contain;border-radius:var(--radius-md);cursor:default;max-width:100%;max-height:100%;box-shadow:0 20px 60px #0006}.img-mask-close{color:#fff;cursor:pointer;background:#ffffff1f;border:0;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex;position:absolute;top:20px;right:24px}.img-mask-close:hover{background:#ffffff38}@media (prefers-reduced-motion:reduce){.img-mask{animation:none}}.rd-root .numin{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:0;min-width:0;max-width:100%;transition:border-color .16s,box-shadow .16s;display:inline-flex}.rd-root .numin:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-softer)}.rd-root .numin.disabled{opacity:.55}.rd-root .numin-input{width:100%;min-width:0;height:34px;color:var(--text);font-size:var(--fs-md);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:0;outline:0;flex:1;padding:0 8px}.rd-root .numin-sm .numin-input{height:30px;font-size:var(--fs-sm)}.rd-root .numin-suffix{color:var(--text-muted);font-size:var(--fs-sm);flex:none;padding-right:8px}.rd-root .numin-btn{width:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-self:stretch;align-items:center;padding:0;transition:color .16s,background .16s;display:inline-flex}.rd-root .numin-btn:hover:not(:disabled){color:var(--text);background:var(--surface-fill)}.rd-root .numin-btn:disabled{opacity:.35;cursor:not-allowed}.rd-root .numin-btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.rd-root .numin-btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.rd-root .layout{flex-direction:column;flex:auto;width:100%;min-width:0;min-height:0;display:flex}.rd-root .layout-has-sider{flex-direction:row}.rd-root .layout-header{align-items:center;gap:var(--sp-3);height:var(--control-height-lg);padding:0 var(--sp-4);border-bottom:1px solid var(--border);background:var(--surface);flex:none;display:flex}.rd-root .layout-content{min-width:0;min-height:0;padding:var(--sp-4);flex:1;overflow:auto}.rd-root .layout-footer{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-sm);flex:none}.rd-root .layout-sider{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;min-height:0;transition:width .2s,flex-basis .2s;display:flex;position:relative}.rd-root .layout-sider-body{min-height:0;padding:var(--sp-2);flex:1;overflow:auto}.rd-root .layout-sider-trigger{right:var(--sp-2);bottom:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:24px;height:24px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute}.rd-root .layout-sider-trigger:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-fill)}.rd-root button.user-row{width:100%;color:inherit;text-align:left;background:0 0;border:0;font-family:inherit}.rd-root .list.bordered .list-item+.list-item{border-top:1px solid var(--border)}.rd-root .list-item{align-items:flex-start;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);min-height:56px;color:inherit;text-align:left;transition:background var(--dur-fast) var(--ease);background:0 0;border:0;text-decoration:none;display:flex}.rd-root .list-item.dense{padding:var(--sp-2) var(--sp-3);min-height:44px}.rd-root .list-item.interactive{cursor:pointer}.rd-root .list-item.interactive:hover{background:var(--surface-fill)}.rd-root .list-item.selected{background:var(--primary-soft)}.rd-root .list-item.selected .li-headline{color:var(--primary-ink);font-weight:600}.rd-root .list-item.disabled{opacity:.55;cursor:not-allowed}.rd-root .li-leading{color:var(--text-muted);flex:none;place-items:center;display:grid}.rd-root .li-leading svg{display:block}.rd-root .li-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.rd-root .li-overline{font-size:var(--fs-2xs);color:var(--text-faint);letter-spacing:.02em}.rd-root .li-headline{font-size:var(--fs-md);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rd-root .li-supporting{font-size:var(--fs-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.5;overflow:hidden}.rd-root .li-trailing{align-items:center;gap:var(--sp-2);color:var(--text-faint);font-size:var(--fs-xs);flex:none;display:flex}.rd-root .masonry{width:100%;position:relative}.rd-root .masonry-item{will-change:top,left}.rd-root .masonry[data-ready] .masonry-item{transition:top .22s cubic-bezier(.4,0,.2,1),left .22s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){.rd-root .masonry[data-ready] .masonry-item,.rd-root .splitter-panel{transition:none}}.rd-root .mentions{width:100%}.rd-root .mentions.disabled{opacity:.55}.rd-root .mentions-area{resize:vertical;width:100%;min-height:72px;padding:8px 10px;font-family:inherit;line-height:1.6}.mentions-menu{z-index:1200;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-elevated);max-height:240px;box-shadow:var(--shadow-lg);padding:4px;overflow-y:auto}.mentions-opt{border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-sm);cursor:pointer;align-items:baseline;gap:8px;padding:6px 8px;display:flex}.mentions-opt.cur{background:var(--surface-fill)}.mentions-opt.disabled{opacity:.45;cursor:not-allowed}.mentions-label{flex:none;font-weight:500}.mentions-desc{min-width:0;font-size:var(--fs-xs);color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mentions-empty{text-align:center;color:var(--text-faint);font-size:var(--fs-sm);padding:14px 8px}.rd-root .menu{min-width:0}.rd-root .menu-list,.rd-root .menu-sub{margin:0;padding:0;list-style:none}.rd-root .menu-sub{padding-left:var(--sp-4)}.rd-root .menu-link{align-items:center;gap:var(--sp-2);width:100%;padding:7px var(--sp-3);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:0;transition:color .16s,background .16s;display:flex;position:relative}.rd-root .menu-link:hover{color:var(--text);background:var(--surface-fill)}.rd-root .menu-link:disabled{opacity:.45;cursor:not-allowed;background:0 0}.rd-root .menu-icon{color:var(--text-faint);flex:none;align-items:center;display:inline-flex}.rd-root .menu-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rd-root .menu-extra{font-size:var(--fs-xs);color:var(--text-faint);flex:none}.rd-root .menu-arrow{color:var(--text-faint);flex:none;transition:transform .18s}.rd-root .menu-group.open>.menu-link>.menu-arrow{transform:rotate(180deg)}.rd-root .menu-item.on>.menu-link{color:var(--primary);background:var(--primary-soft);font-weight:500}.rd-root .menu-item.on>.menu-link .menu-icon{color:var(--primary)}.rd-root .menu-horizontal>.menu-list{align-items:center;gap:var(--sp-1);display:flex}.rd-root .menu-horizontal .menu-item{position:relative}.rd-root .menu-horizontal .menu-sub{z-index:40;min-width:160px;padding:var(--sp-1);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + 4px);left:0}.rd-root .menu-horizontal .menu-arrow{transform:rotate(0)}.rd-root .menu-horizontal .menu-group.open>.menu-link>.menu-arrow{transform:rotate(180deg)}.rd-root .modal-box{z-index:50;width:var(--modal-width,680px);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:94vw;max-height:88dvh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.rd-root .modal-box.wide{width:var(--modal-width,1000px)}.rd-root .modal-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);background:var(--surface);display:flex}.rd-root .modal-head-text{flex-direction:column;gap:2px;min-width:0;display:flex}.rd-root .modal-head h3{font-size:var(--fs-lg);letter-spacing:-.01em;color:var(--text);margin:0;font-weight:650}.rd-root .modal-desc{font-size:var(--fs-xs);line-height:var(--lh-base);color:var(--text-muted);margin:0}.rd-root .modal-body{padding:var(--sp-5);flex:1;overflow:auto}.rd-root .modal-foot{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);display:flex}.rd-root .ms{width:100%;position:relative}.rd-root .ms-box:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 3px var(--focus-ring)}.rd-root .ms-box{min-height:var(--control-height,36px);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:text;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 30px 4px 10px;transition:border-color .16s,box-shadow .16s;display:flex;position:relative}.rd-root .ms-box:hover{border-color:var(--border-strong)}.rd-root .ms-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.rd-root .ms-box.disabled{background:var(--surface-fill);cursor:not-allowed}.rd-root .ms-tag{background:var(--surface-fill);border-radius:var(--radius-xs);max-width:100%;font-size:var(--fs-sm);color:var(--text);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;padding:2px 6px;display:inline-flex;overflow:hidden}.rd-root .ms-tag>span,.rd-root .ms-tag span{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.rd-root .ms-tag button{color:var(--text-faint);background:0 0;border:0;border-radius:3px;padding:0 1px;line-height:1}.rd-root .ms-tag button:hover{color:var(--danger-ink);background:var(--danger-soft)}.rd-root .ms-input{min-width:60px;color:var(--text);font-size:var(--fs-sm);background:0 0;border:0;outline:0;flex:1;padding:3px 0}.rd-root .ms-input::placeholder{color:var(--text-faint)}.rd-root .ms-arrow{color:var(--text-faint);pointer-events:none;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.rd-root .ms-pop[data-side=top]{top:auto;bottom:calc(100% + 4px)}.rd-root .ms-pop{z-index:1200;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);width:max-content;min-width:0;max-width:360px;box-shadow:var(--shadow-lg);max-height:300px;padding:5px;position:absolute;top:calc(100% + 4px);left:0;overflow:auto}.rd-root .ms-search{border-bottom:1px solid var(--border);color:var(--text-faint);align-items:center;gap:6px;margin-bottom:2px;padding:4px 6px 6px;display:flex}.rd-root .ms-search input{min-width:0;color:var(--text);font-size:var(--fs-sm);background:0 0;border:0;outline:0;flex:1}.rd-root .ms-search button{color:var(--text-faint);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.rd-root .ms-actions{border-bottom:1px solid var(--border);font-size:var(--fs-xs);align-items:center;gap:8px;margin-bottom:4px;padding:5px 7px 7px;display:flex}.rd-root .ms-actions .sp{flex:1}.rd-root .ms-actions button{color:var(--primary);font-size:var(--fs-xs);border-radius:var(--radius-xs);background:0 0;border:0;padding:2px 4px;font-weight:600}.rd-root .ms-actions button:hover{background:var(--primary-soft)}.rd-root .ms-opt{white-space:nowrap;width:100%;color:var(--text);text-align:left;border-radius:var(--radius-sm);font-size:var(--fs-md);background:0 0;border:0;align-items:center;gap:8px;padding:7px 8px;display:flex}.rd-root .ms-opt:hover,.rd-root .ms-opt[data-on="1"]{background:var(--surface-fill)}.rd-root .ms-opt.on{color:var(--primary-ink);font-weight:600}.rd-root .ms-opt .tick{color:var(--primary);flex:none;margin-left:auto}.rd-root .ms-opt.grp{font-size:var(--fs-xs);color:var(--text-faint);cursor:default;padding:6px 8px 2px}.rd-root .ms-empty{text-align:center;font-size:var(--fs-sm);color:var(--text-faint);padding:16px}.rd-root .ms-clear{background:var(--surface-fill);width:18px;height:18px;color:var(--text-faint);border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:26px;transform:translateY(-50%)}.rd-root .ms-clear:hover{background:var(--danger-soft);color:var(--danger-ink)}@keyframes notice-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes notice-out{to{opacity:0;transform:translate(16px)}}.notice-stack{z-index:2000;flex-direction:column;gap:10px;width:min(360px,100vw - 32px);display:flex;position:fixed;top:24px;right:24px}.notice-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:var(--shadow-lg);align-items:flex-start;gap:10px;padding:12px 14px;animation:.2s notice-in;display:flex}.notice-item.leaving{animation:.18s forwards notice-out}.notice-item.clickable{cursor:pointer}.notice-item.clickable:hover{border-color:var(--border-strong)}.notice-icon{flex:none;margin-top:2px;display:inline-flex}.notice-success .notice-icon{color:var(--success,#16a34a)}.notice-error .notice-icon{color:var(--danger)}.notice-warning .notice-icon{color:var(--warning,#d97706)}.notice-info .notice-icon{color:var(--primary)}.notice-body{flex:1;min-width:0}.notice-title{font-size:var(--fs-sm);color:var(--text);font-weight:600;line-height:1.5}.notice-desc{font-size:var(--fs-xs);color:var(--text-muted);word-break:break-word;margin-top:2px;line-height:1.6}.notice-actions{gap:8px;margin-top:8px;display:flex}.notice-close{border-radius:var(--radius-xs);width:20px;height:20px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.notice-close:hover{color:var(--text);background:var(--surface-fill)}@media (prefers-reduced-motion:reduce){.notice-item,.notice-item.leaving{animation:none}}.rd-root .notify-anchor{display:inline-flex;position:relative}.rd-root .notify-button{position:relative}.rd-root .notify-badge{background:var(--danger);min-width:18px;height:18px;color:var(--on-solid);font-size:var(--fs-2xs);text-align:center;box-shadow:0 0 0 2px var(--surface);border-radius:9px;padding:0 5px;font-weight:700;line-height:18px;position:absolute;top:-2px;right:-2px}.rd-root .notify-pop{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);width:340px;max-height:62vh;box-shadow:var(--shadow-lg);z-index:300;flex-direction:column;display:flex;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.rd-root .notify-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.rd-root .notify-head strong{font-size:var(--fs-md);color:var(--text)}.rd-root .notify-action{color:var(--primary);font-size:var(--fs-xs);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:4px 6px;display:inline-flex}.rd-root .notify-action:hover:not(:disabled){background:var(--primary-soft)}.rd-root .notify-action:disabled{color:var(--text-muted);cursor:not-allowed}.rd-root .notify-list{padding:6px;overflow-y:auto}.rd-root .notify-item{text-align:left;cursor:pointer;border-radius:var(--radius-md);background:0 0;border:0;border-left:3px solid #0000;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;display:flex}.rd-root .notify-item:hover{background:var(--surface-fill)}.rd-root .notify-item.lv-info{border-left-color:var(--info)}.rd-root .notify-item.lv-warn{border-left-color:var(--warning)}.rd-root .notify-item.lv-error{border-left-color:var(--danger)}.rd-root .notify-item-title{font-size:var(--fs-md);color:var(--text)}.rd-root .notify-item-meta{font-size:var(--fs-xs);color:var(--text-muted)}.rd-root .notify-empty{color:var(--text-faint);font-size:var(--fs-xs);background:var(--surface-fill);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:6px;margin:6px;padding:22px 12px;display:flex}.rd-root .notify-detail{padding:12px;overflow-y:auto}.rd-root .notify-detail-title{font-size:var(--fs-base);color:var(--text);margin-bottom:6px;font-weight:600}.rd-root .notify-detail-meta{font-size:var(--fs-xs);color:var(--text-muted);margin-bottom:10px}.rd-root .notify-detail-body{font-size:var(--fs-md);color:var(--text);white-space:pre-wrap;word-break:break-word;line-height:1.6}.rd-root .notify-back{border:0;border-top:1px solid var(--border);color:var(--primary);font-size:var(--fs-xs);cursor:pointer;background:0 0;padding:10px}.rd-root .notify-back:hover{background:var(--surface-fill)}.rd-root .x-close:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 3px var(--focus-ring)}.rd-root .x-close:focus{outline:2px solid var(--primary);outline-offset:2px}.rd-root .backdrop{background:var(--backdrop);z-index:40;position:fixed;inset:0}.rd-root .x-close{width:30px;height:30px;color:var(--text-muted);border-radius:var(--radius-md);font-size:var(--fs-xl);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);background:0 0;border:0;flex:none;place-items:center;line-height:1;display:grid}.rd-root .x-close:hover{background:var(--surface-fill);color:var(--text)}.rd-root .pc-label{font-size:var(--fs-2xs);color:var(--text);font-variant-numeric:tabular-nums;font-weight:700;position:absolute}.rd-root .page-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:14px;display:flex}.rd-root .page-tabs .pt-tab{color:var(--text-muted);font-size:var(--fs-base);padding:var(--sp-2) var(--sp-4) var(--sp-3);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:0 0;border:0;align-items:center;gap:7px;font-weight:600;display:inline-flex;position:relative}.rd-root .page-tabs .pt-tab:hover,.rd-root .page-tabs .pt-tab[data-on="1"]{color:var(--primary)}.rd-root .page-tabs .pt-tab[data-on="1"]:after{content:"";background:var(--primary);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.rd-root .page-tabs .pt-count{font-size:var(--fs-xs);background:var(--surface-fill);color:var(--text-muted);border-radius:var(--radius-md);padding:1px 7px;font-weight:700}.rd-root .page-tabs .pt-tab[data-on="1"] .pt-count{background:var(--primary-soft);color:var(--primary-ink)}.rd-root .page-tabs .pt-extra{align-items:center;gap:8px;margin-left:auto;padding-bottom:6px;display:flex}.rd-root .page-tabs.card{border-bottom:0;gap:6px}.rd-root .page-tabs.card .pt-tab{border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--fs-md);background:var(--surface);padding:7px 14px}.rd-root .page-tabs.card .pt-tab[data-on="1"]{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary-ink)}.rd-root .page-tabs.card .pt-tab[data-on="1"]:after{display:none}.rd-root .pager-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 3px var(--focus-ring)}.rd-root .pagination{justify-content:flex-end;align-items:center;gap:8px;padding:12px;display:flex}.rd-root .pagination .page-info{color:var(--text-muted);font-size:var(--fs-xs);margin-right:auto}.rd-root .pager{font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.rd-root .pager-total{flex:none}.rd-root .pager-list{align-items:center;gap:4px;margin-left:auto;display:flex}.rd-root .pager-btn{border:1px solid var(--border);background:var(--surface);min-width:30px;height:30px;color:var(--text-muted);border-radius:var(--radius-sm);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;place-items:center;padding:0 7px;display:inline-grid}.rd-root .pager-btn:hover:not(:disabled):not(.on){border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.rd-root .pager-btn:disabled{color:var(--text-disabled);border-color:var(--border);cursor:not-allowed}.rd-root .pager-btn.on{background-color:var(--primary);background-image:var(--grad-primary);color:var(--on-solid);box-shadow:var(--shadow-primary);border-color:#0000;font-weight:700}.rd-root .pager-btn.on:hover{background-color:var(--primary);background-image:var(--grad-primary);filter:brightness(1.07);color:var(--on-solid)}.rd-root .pager-ellipsis{text-align:center;min-width:22px;color:var(--text-faint)}.rd-root .pager-jump{flex:none;align-items:center;gap:5px;display:inline-flex}.rd-root .pager-jump .input{text-align:center;width:62px;height:30px;padding:0 8px}.rd-root .pager-size{flex:none}.rd-root .popconfirm-trigger{display:inline-flex}@keyframes popconfirm-in{0%{opacity:0;transform:translate(-50%,-100%)scale(.97)}}.popconfirm{z-index:1500;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-elevated);width:max-content;max-width:min(320px,100vw - 24px);box-shadow:var(--shadow-lg);padding:10px 12px;animation:.14s popconfirm-in}.popconfirm:after{content:"";background:var(--surface-elevated);border-right:1px solid var(--border);border-bottom:1px solid var(--border);width:8px;height:8px;margin-left:-4px;position:absolute;left:50%}.popconfirm-top:after{bottom:-5px;transform:rotate(45deg)}.popconfirm-bottom:after{top:-5px;transform:rotate(225deg)}.popconfirm-body{flex-direction:column;gap:4px;display:flex}.popconfirm-title{font-size:var(--fs-sm);color:var(--text);align-items:flex-start;gap:6px;font-weight:500;line-height:1.5;display:flex}.popconfirm-warn{color:var(--danger);flex:none;margin-top:2px}.popconfirm-desc{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.6}.popconfirm-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;display:flex}.popconfirm-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:26px;color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer;padding:0 10px;transition:color .16s,border-color .16s,background .16s}.popconfirm-btn:hover{color:var(--text);border-color:var(--border-strong)}.popconfirm-btn.primary{border-color:var(--primary);background:var(--primary);color:#fff}.popconfirm-btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.popconfirm-btn.primary.danger{border-color:var(--danger);background:var(--danger)}.popconfirm-btn.primary.danger:hover{background:var(--danger-hover,var(--danger));filter:brightness(1.08)}.popconfirm-btn:disabled{opacity:.6;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.popconfirm{animation:none}}.rd-root .popover-trigger{display:inline-flex}@keyframes popover-in{0%{opacity:0}}.popover{z-index:1400;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-elevated);width:max-content;box-shadow:var(--shadow-lg);padding:9px 12px;animation:.14s popover-in}.popover-title{font-size:var(--fs-sm);color:var(--text);margin-bottom:4px;font-weight:600}.popover-body{font-size:var(--fs-sm);color:var(--text-muted);word-break:break-word;line-height:1.6}@media (prefers-reduced-motion:reduce){.popover{animation:none}}.rd-root .prolist{gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.rd-root .prolist-head{justify-content:space-between;align-items:center;gap:var(--sp-3);min-width:0;display:flex}.rd-root .prolist-title{font-size:var(--fs-lg);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.rd-root .prolist-tools{align-items:center;gap:var(--sp-2);flex:none;display:flex}.rd-root .prolist-body{flex-direction:column;min-width:0;display:flex}.rd-root .prolist-grid{display:grid}.rd-root .prolist-item{min-width:0}@media (max-width:1200px){.rd-root .prolist-grid[style*=repeat\(4]{grid-template-columns:repeat(3,minmax(0,1fr))!important}.rd-root .prolist-grid[style*=repeat\(3]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:768px){.rd-root .prolist-grid{grid-template-columns:minmax(0,1fr)!important}}.rd-root .prolist-empty{padding:var(--sp-8) var(--sp-4);color:var(--text-faint);font-size:var(--fs-sm);justify-content:center;align-items:center;display:flex}.rd-root .prolist-skeleton{padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:8px;display:flex}.rd-root .prolist-skeleton-bar{background:linear-gradient(90deg, var(--surface-fill) 25%, var(--surface-sunken) 37%, var(--surface-fill) 63%);background-size:400% 100%;border-radius:5px;height:10px;animation:1.4s infinite prolist-shimmer}@keyframes prolist-shimmer{0%{background-position:100%}to{background-position:0}}.rd-root .prolist-foot{justify-content:flex-end;display:flex}@media (prefers-reduced-motion:reduce){.rd-root .prolist-skeleton-bar{animation:none}}.rd-root .dict-layout{grid-template-columns:280px 1fr;align-items:start;gap:16px;padding:16px;display:grid}.rd-root .dict-pane-title{font-size:var(--fs-md);border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);border-bottom:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.rd-root .dict-groups{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.rd-root .dict-groups .dict-pane-title{border-bottom:1px solid var(--border)}.rd-root .dict-group-item{border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;transition:background .12s;display:flex}.rd-root .dict-group-item:hover{background:var(--surface-fill)}.rd-root .dict-group-item.active{background:color-mix(in srgb, var(--primary) 10%, transparent);border-left:3px solid var(--primary)}.rd-root .dict-group-item:last-child{border-bottom:none}.rd-root .dict-group-main{flex-direction:column;gap:2px;min-width:0;display:flex}.rd-root .dict-group-name{font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.rd-root .dict-group-code{font-size:var(--fs-xs);color:var(--text-faint)}.rd-root .dict-group-ops{flex:none;gap:4px;display:flex}.rd-root .dict-group-ops .btn{font-size:var(--fs-xs);padding:3px 8px}.rd-root .dict-items{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.rd-root .dict-items .table-wrap{border:none}.rd-root .query-bar{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);flex-wrap:wrap;display:flex}.rd-root .q-search{border:1px solid var(--border);border-radius:var(--radius-md);min-height:var(--control-height);background:var(--surface);width:240px;min-width:220px;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);align-items:center;gap:8px;padding:0 12px;display:flex}.rd-root .q-search svg{color:var(--text-faint);flex:none}.rd-root .q-search:hover{border-color:var(--border-strong)}.rd-root .q-search:focus-within{border-color:var(--primary);box-shadow:var(--ring)}.rd-root .q-search input{width:100%;font-size:var(--fs-md);color:var(--text);background:0 0;border:0;outline:0}.rd-root .q-search input::placeholder{color:var(--text-faint)}.rd-root .q-tools{gap:8px;margin-left:auto;display:flex}.rd-root .q-progress{background:0 0;border-radius:2px;height:2px;margin-bottom:8px;overflow:hidden}.rd-root .q-progress[data-on="1"]:after{content:"";background:var(--primary);border-radius:2px;width:38%;height:100%;animation:1s cubic-bezier(.4,0,.2,1) infinite rd-qSlide;display:block}.rd-root .fz{z-index:4;position:sticky}.rd-root .m-list{flex-direction:column;gap:8px;display:flex}.rd-root .m-row{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;gap:8px;width:100%;min-height:92px;padding:12px;display:flex}.rd-root .m-row.active{border-color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}.rd-root .m-row:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.rd-root .m-top{align-items:center;gap:8px;display:flex}.rd-root .m-top strong{min-width:0;font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.rd-root .m-chev{color:var(--text-faint);flex:none}.rd-root .m-grid{grid-template-columns:1fr 1fr;gap:6px 12px;display:grid}.rd-root .m-f{font-size:var(--fs-xs);justify-content:space-between;gap:8px;min-width:0;display:flex}.rd-root .m-f>span{color:var(--text-muted);flex:none}.rd-root .m-f>b{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.rd-root .m-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.rd-root .m-tools .sp{flex:1}.rd-root .m-chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.rd-root .m-chip{background:var(--primary-soft);color:var(--primary-ink);font-size:var(--fs-xs);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.rd-root .m-chip b{color:inherit;font-size:var(--fs-lg);cursor:pointer;background:0 0;border:0;padding:0 3px;line-height:1}.rd-root .m-pager{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:10px;margin-top:10px;display:flex}.rd-root .m-pager .sp{flex:1}.rd-root .m-sheet-mask{z-index:54;background:var(--backdrop);position:fixed;inset:0}.rd-root .m-sheet{z-index:55;background:var(--surface-elevated);border-top:1px solid var(--border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:8px 16px calc(14px + env(safe-area-inset-bottom));max-height:82vh;position:fixed;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -18px 44px #00000057}.rd-root .m-sheet .grab{background:var(--border);border-radius:3px;width:38px;height:4px;margin:4px auto 12px}.rd-root .m-sheet h4{font-size:var(--fs-base);margin:0 0 12px}.rd-root .m-sheet-tabs{gap:6px;margin-bottom:14px;display:flex}.rd-root .m-sheet-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:var(--radius-md);font-size:var(--fs-xs);flex:1;padding:9px 0}.rd-root .m-sheet-tabs button[data-on="1"]{background:var(--primary-soft);color:var(--primary-ink);border-color:var(--primary);font-weight:600}.rd-root .m-fld{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.rd-root .m-fld>label{font-size:var(--fs-md);color:var(--text-muted)}.rd-root .m-fld .input,.rd-root .m-fld select{height:42px}.rd-root .m-sheet-foot{gap:10px;margin-top:8px;display:flex}.rd-root .m-sheet-foot .btn{flex:1;justify-content:center}.rd-root .m-sortrow{align-items:center;gap:8px;padding:6px 0;display:flex}.rd-root .m-sortrow .nm{font-size:var(--fs-md);flex:1}.rd-root .m-sortrow button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:var(--radius-md);font-size:var(--fs-xs);padding:7px 10px}.rd-root .m-sortrow button[data-on="1"]{background:var(--primary-soft);color:var(--primary-ink);border-color:var(--primary)}.rd-root .m-sheet::-webkit-scrollbar{width:var(--scroll-size-sm,8px);height:var(--scroll-size-sm,8px)}.rd-root .pro-query-list>.pager{background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:none;margin-top:0;padding:10px 12px}.rd-root .pq-create{padding-top:2px}.rd-root .th-inner{align-items:center;gap:4px;display:inline-flex}.rd-root .props-note{font-size:var(--fs-xs);color:var(--text-faint);margin:0;line-height:1.6}.rd-root .props-note code{color:var(--primary)}.rd-root .q-error-alert{margin-bottom:var(--sp-3)}.rd-root .pql-batch{background:var(--surface);border:1px solid var(--border);font-size:var(--fs-sm);border-top:none;align-items:center;gap:10px;padding:9px 12px;display:flex}.rd-root .pql-batch-inline{height:var(--control-height);font-size:var(--fs-sm);white-space:nowrap;background:0 0;border:0;gap:8px;padding:0}.rd-root .pql-batch-inline .pql-batch-count{color:var(--text-muted)}.rd-root .pql-batch-inline .pql-batch-count b{color:var(--primary-ink)}.rd-root .pql-batch-inline .pql-batch-sep{background:var(--border);flex:none;width:1px;height:18px}.rd-root .pq-fields{grid-template-columns:minmax(0,1fr) min-content;align-items:end;column-gap:24px;display:grid}.rd-root .pq-fields .pq-field{min-width:0}.rd-root .icon-btn.pq-col-tool.on{color:var(--primary)}.rd-root .icon-btn.pq-col-tool.on:hover{color:var(--primary-strong)}.rd-root .pq-detail-cell{font:inherit;color:var(--link,var(--primary));text-align:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;max-width:100%;margin:0;padding:0;display:inline;overflow:hidden}.rd-root .pq-detail-cell:hover{text-underline-offset:2px;text-decoration:underline}.rd-root .pq-detail-cell:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:3px}.rd-root .pq-expand-center{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:56px;height:7px;padding:0;display:inline-flex;position:absolute;bottom:-4.8px;left:50%;transform:translate(-50%)}.rd-root .pq-hex{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.rd-root .pq-hex-fill{fill:var(--surface-fill);transition:fill .16s}.rd-root .pq-expand-center:hover .pq-hex-fill{fill:var(--border-strong)}.rd-root .pq-arrow{width:7px;height:4px;fill:var(--text-faint);transition:transform .3s var(--ease,ease),fill .16s ease;margin-top:1px;position:relative;transform:rotate(180deg)}.rd-root .pq-expand-center[aria-expanded=true] .pq-arrow{transform:rotate(0)}.rd-root .pq-expand-center:hover .pq-arrow{fill:var(--text)}.rd-root .pq-expand-link{white-space:nowrap;align-items:center;gap:2px;padding:0 2px;display:inline-flex}.rd-root .pq-expand-center:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.rd-root .prog-linear{background:var(--surface-sunken);border-radius:999px;width:100%;position:relative;overflow:hidden}.rd-root .prog-fill{background:var(--grad-primary);height:100%;transition:width var(--dur) var(--ease);border-radius:999px}.rd-root .prog-row{align-items:center;gap:var(--sp-3);display:flex}.rd-root .prog-row .prog-linear{flex:1}.rd-root .prog-label{font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none}.rd-root .prog-circle{flex:none;place-items:center;display:inline-grid;position:relative}.rd-root .prog-circle .pc-track{stroke:var(--surface-sunken)}.rd-root .prog-circle .pc-fill{stroke:var(--primary);transition:stroke-dasharray var(--dur) var(--ease)}.rd-root .prog-circle.tone-success .pc-fill{stroke:var(--success)}.rd-root .prog-circle.tone-warning .pc-fill{stroke:var(--warning)}.rd-root .prog-circle.tone-danger .pc-fill{stroke:var(--danger)}.rd-root .prog-circle.indeterminate svg{animation:1.5s linear infinite rd-routerSpin}.rd-root .prog-circle.indeterminate .pc-fill{stroke-dasharray:30 100}.rd-root .qr{vertical-align:middle;image-rendering:pixelated;border-radius:var(--radius-xs);display:inline-block}.rd-root .qr-error{border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-faint);font-size:var(--fs-xs);background:var(--surface-fill);justify-content:center;align-items:center;display:inline-flex}@media print{.qr{image-rendering:auto}}.rd-root .rdo{appearance:none;border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer;width:16px;height:16px;transition:border-color var(--dur-fast) var(--ease);border-radius:50%;flex:none;margin:0}.rd-root .rdo:hover:not(:disabled){border-color:var(--primary)}.rd-root .rdo:checked{border-color:var(--primary);border-width:5px}.rd-root .rdo:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.rd-root .rdo:disabled{background:var(--surface-fill);border-color:var(--border);cursor:not-allowed}.rd-root .rdo-field{align-items:flex-start;gap:var(--sp-2);cursor:pointer;display:inline-flex}.rd-root .rdo-field.disabled{cursor:not-allowed}.rd-root .rdo-field .rdo{margin-top:2px}.rd-root .rdo-group.dir-inline{align-items:center;gap:var(--sp-5);flex-wrap:wrap;display:flex}.rd-root .rdo-group.dir-block{gap:var(--sp-3);flex-direction:column;display:flex}.rd-root .rate{align-items:center;gap:2px;display:inline-flex}.rd-root .rate.disabled,.rd-root .rate.readonly{cursor:default}.rd-root .rate-item{cursor:pointer;width:20px;height:20px;color:var(--border-strong);transition:transform .12s;display:inline-flex;position:relative}.rd-root .rate.readonly .rate-item,.rd-root .rate.disabled .rate-item{cursor:default}.rd-root .rate:not(.readonly):not(.disabled) .rate-item:hover{transform:scale(1.08)}.rd-root .rate.disabled{opacity:.55}.rd-root .rate-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}.rd-root .rate-base{display:inline-flex}.rd-root .rate-fill{color:var(--warning,#d98213);pointer-events:none;white-space:nowrap;transition:width .1s;display:inline-flex;position:absolute;inset:0;overflow:hidden}.rd-root .rate-value{font-size:var(--fs-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:8px}.rd-root .result{text-align:center;padding:var(--sp-6) var(--sp-5);flex-direction:column;align-items:center;display:flex}.rd-root .result-page{justify-content:center;min-height:62vh}.rd-root .result-icon{width:72px;height:72px;margin-bottom:var(--sp-4);background:var(--surface-fill);color:var(--text-faint);border-radius:50%;place-items:center;display:grid}.rd-root .result.tone-success .result-icon{background:var(--success-soft);color:var(--success-ink)}.rd-root .result.tone-info .result-icon{background:var(--primary-soft);color:var(--primary-ink)}.rd-root .result.tone-warning .result-icon{background:var(--warning-soft);color:var(--warning-ink)}.rd-root .result.tone-danger .result-icon{background:var(--danger-soft);color:var(--danger-ink)}.rd-root .result-title{font-size:var(--fs-xl);letter-spacing:-.01em;color:var(--text);margin:0;font-weight:650}.rd-root .result-sub{margin:var(--sp-2) 0 0;max-width:520px;font-size:var(--fs-md);color:var(--text-muted);line-height:1.65}.rd-root .result-extra{margin-top:var(--sp-5);align-items:center;gap:var(--sp-2);flex-wrap:wrap;justify-content:center;display:flex}.rd-root .st{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.rd-root .st-text{font-size:var(--fs-sm);color:var(--text);letter-spacing:-.01em;font-weight:700}.rd-root .st-extra{font-size:var(--fs-xs);color:var(--text-muted);margin-left:auto;font-weight:500}.rd-root .segmented{border-radius:var(--radius-md);background:var(--surface-sunken);border:1px solid var(--border);isolation:isolate;padding:2px;display:inline-flex;position:relative}.rd-root .segmented.block{width:100%;display:flex}.rd-root .segmented.block .segmented-item{flex:1;justify-content:center}.rd-root .segmented.disabled{opacity:.55}.rd-root .segmented-thumb{z-index:0;border-radius:calc(var(--radius-md) - 2px);background:var(--surface);transition:transform .22s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;bottom:2px;left:2px;box-shadow:0 1px 2px #10182814}.rd-root .segmented-item{z-index:1;border-radius:calc(var(--radius-md) - 2px);color:var(--text-muted);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:4px 12px;transition:color .16s;display:inline-flex;position:relative}.rd-root .segmented-sm .segmented-item{font-size:var(--fs-xs);padding:2px 9px}.rd-root .segmented-lg .segmented-item{font-size:var(--fs-md);padding:6px 16px}.rd-root .segmented-item:hover:not(:disabled){color:var(--text)}.rd-root .segmented-item.on{color:var(--text);font-weight:500}.rd-root .segmented-item:disabled{cursor:not-allowed;opacity:.45}@media (prefers-reduced-motion:reduce){.rd-root .segmented-thumb{transition:none}}.rd-root .sel{flex-direction:column;gap:5px;width:100%;display:inline-flex;position:relative}.rd-root .sel .ms-box{cursor:pointer;height:var(--control-height,34px);flex-wrap:nowrap;min-height:0}.rd-root .sel .ms-input{height:100%;padding:0;line-height:1}.rd-root .sel.searchable .ms-box{cursor:text}.rd-root .sel .ms-box.disabled{cursor:not-allowed}.rd-root .sel-label{font-size:var(--fs-xs);color:var(--text-muted)}.rd-root .sel-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-md);color:var(--text);flex:1;overflow:hidden}.rd-root .sel-value.placeholder{color:var(--text-faint)}.rd-root .sel-opt .sel-mark{color:var(--primary);opacity:0;flex:none}.rd-root .sel-opt.on .sel-mark{opacity:1}.rd-root .sel-opt.disabled{opacity:.45;cursor:not-allowed}.rd-root .sel-err{font-size:var(--fs-xs);color:var(--danger)}.rd-root .sel.sm .ms-box{min-height:30px;padding:2px 28px 2px 8px}.rd-root .sel.sm .sel-value{font-size:var(--fs-sm)}.rd-root .sel.inline{width:auto;min-width:88px}.rd-root .sk-bar{border-radius:var(--radius-xs);background:linear-gradient(90deg, var(--surface-fill), var(--border), var(--surface-fill));background-size:200% 100%;height:10px;animation:1.2s ease-in-out infinite rd-skShift}.rd-root .sk-table{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.rd-root .sk-trow{border-bottom:1px solid var(--border);align-items:center;display:flex}.rd-root .sk-trow:last-child{border-bottom:0}.rd-root .sk-trow:nth-child(2n){background:var(--zebra)}.rd-root .sk-tcell{flex:none;padding:0 12px}.rd-root .sk-avatar{border-radius:50%;flex:none}.rd-root .sk-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.rd-root .sk-toolbar{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4);display:flex}.rd-root .sk-shell{background:var(--bg);height:100vh;display:flex}.rd-root .sk-shell-side{width:var(--sidebar-width);background:var(--sb-bg);border-right:1px solid var(--sb-border);padding:var(--sp-3);gap:var(--sp-4);flex-direction:column;flex:none;display:flex}.rd-root .sk-shell-main{flex-direction:column;flex:1;min-width:0;display:flex}.rd-root .sk-shell-top{height:var(--topbar-height);align-items:center;gap:var(--sp-3);padding:0 var(--sp-4);background:var(--surface);border-bottom:1px solid var(--border);flex:none;display:flex}.rd-root .sk-shell-body{padding:var(--sp-4) var(--content-gutter);flex:1;overflow:hidden}.rd-root .sld{width:100%}.rd-root .sld.disabled{opacity:.55}.rd-root .sld-track-wrap{align-items:center;height:20px;display:flex;position:relative}.rd-root .sld-track-wrap:before{content:"";background:var(--surface-sunken);border-radius:2px;height:4px;position:absolute;left:0;right:0}.rd-root .sld-fill{background:var(--primary);pointer-events:none;border-radius:2px;height:4px;position:absolute;left:0}.rd-root .sld-ticks{pointer-events:none;height:4px;position:absolute;left:0;right:0}.rd-root .sld-tick{background:color-mix(in srgb, var(--text) 30%, transparent);border-radius:50%;width:2px;height:2px;margin-top:-1px;margin-left:-1px;position:absolute;top:50%}.rd-root .sld-input{appearance:none;cursor:pointer;background:0 0;width:100%;height:20px;margin:0;position:relative}.rd-root .sld-input::-webkit-slider-thumb{appearance:none;background:var(--primary);border:2px solid var(--surface);width:16px;height:16px;transition:transform var(--dur-fast) var(--ease);border-radius:50%;margin-top:0;box-shadow:0 1px 3px #1018284d}.rd-root .sld-input::-webkit-slider-thumb:hover{transform:scale(1.08)}.rd-root .sld-input::-moz-range-thumb{background:var(--primary);border:2px solid var(--surface);border-radius:50%;width:16px;height:16px}.rd-root .sld-input:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.rd-root .sld-value{border-radius:var(--radius-xs);background:var(--text);color:var(--bg);font-size:var(--fs-2xs);white-space:nowrap;pointer-events:none;padding:2px 7px;font-weight:600;position:absolute;top:-6px;transform:translate(-50%,-100%)}.rd-root .sld-ends{font-size:var(--fs-2xs);color:var(--text-faint);justify-content:space-between;margin-top:2px;display:flex}.rd-root .space{display:inline-flex}.rd-root .space[data-direction=vertical]{flex-direction:column;align-items:stretch}.rd-root .space-wrap{flex-wrap:wrap}.rd-root .space-split{color:var(--text-faint);align-items:center;display:inline-flex}.rd-root .loading{color:var(--text-muted);font-size:var(--fs-xs);text-align:center;justify-content:center;align-items:center;gap:9px;padding:26px 0;display:flex}.rd-root .loading:before{content:"";border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;flex:none;width:13px;height:13px;animation:.8s linear infinite rd-routerSpin}.rd-root .spin{flex:none;animation:1s linear infinite rd-routerSpinFast;display:inline-block;position:relative}.rd-root .spin-sm{width:14px;height:14px}.rd-root .spin-md{width:20px;height:20px}.rd-root .spin-lg{width:32px;height:32px}.rd-root .spin-ring{border:2px solid color-mix(in srgb, var(--primary) 22%, transparent);border-top-color:var(--primary);border-radius:50%;animation:.72s linear infinite rd-routerSpin;position:absolute;inset:0}.rd-root .spin-ring+.spin-ring{border-width:1.5px;border-color:#0000;border-bottom-color:color-mix(in srgb, var(--primary) 55%, transparent);animation-duration:1.05s;animation-direction:reverse;inset:3px}.rd-root .spin-inline{align-items:center;gap:var(--sp-2);color:var(--text-muted);font-size:var(--fs-md);display:inline-flex}.rd-root .spin-inline.block{width:100%;padding:var(--sp-5) 0;justify-content:center;display:flex}.rd-root .spin-tip{color:var(--text-muted);font-size:var(--fs-md)}.rd-root .spin-mask{z-index:340;background:var(--backdrop);place-items:center;display:grid;position:fixed;inset:0}.rd-root .spin-mask.blurred{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.rd-root .spin-box{align-items:center;gap:var(--sp-3);padding:var(--sp-5) var(--sp-6);border-radius:var(--radius-lg);background:var(--surface-elevated);border:1px solid var(--border);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.rd-root .spin-box .spin-tip{color:var(--text)}.rd-root .split-btn{border-radius:var(--radius-md);align-items:stretch;display:inline-flex;position:relative}.rd-root .split-btn.disabled{opacity:.55}.rd-root .split-main,.rd-root .split-caret{min-height:var(--control-height);font-size:var(--fs-md);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);border:1px solid #0000;align-items:center;gap:6px;font-weight:600;display:inline-flex}.rd-root .split-main{border-radius:var(--radius-md) 0 0 var(--radius-md);padding:0 14px}.rd-root .split-caret{border-radius:0 var(--radius-md) var(--radius-md) 0;border-left-color:color-mix(in srgb, currentColor 22%, transparent);padding:0 8px}.rd-root .split-btn.primary .split-main,.rd-root .split-btn.primary .split-caret{background:var(--primary);color:var(--on-solid);box-shadow:var(--shadow-primary)}.rd-root .split-btn.primary .split-main:hover,.rd-root .split-btn.primary .split-caret:hover{background:var(--primary-hover)}.rd-root .split-btn.secondary .split-main,.rd-root .split-btn.secondary .split-caret{background:var(--surface);color:var(--text);border-color:var(--border)}.rd-root .split-btn.secondary .split-main:hover,.rd-root .split-btn.secondary .split-caret:hover{border-color:var(--primary);color:var(--primary-ink);background:var(--primary-softer)}.rd-root .split-main:disabled,.rd-root .split-caret:disabled{cursor:not-allowed}.rd-root .split-menu{z-index:1200;border-radius:var(--radius-lg);background:var(--surface-elevated);border:1px solid var(--border);min-width:184px;box-shadow:var(--shadow-lg);padding:5px;position:absolute;top:calc(100% + 4px);right:0}.rd-root .split-item{width:100%;color:var(--text);text-align:left;border-radius:var(--radius-sm);font-size:var(--fs-md);background:0 0;border:0;align-items:center;padding:8px 10px;display:flex}.rd-root .split-item:hover:not(:disabled){background:var(--surface-fill)}.rd-root .split-item:disabled{color:var(--text-disabled);cursor:not-allowed}.rd-root .split-item.danger{color:var(--danger-ink)}.rd-root .split-menu-sep{background:var(--border);height:1px;margin:4px 0}.rd-root .split-menu[data-side=top]{top:auto;bottom:calc(100% + 4px)}.rd-root .splitter{width:100%;min-width:0;height:100%;min-height:0;display:flex}.rd-root .splitter-panel{transition:flex-basis .22s cubic-bezier(.4,0,.2,1);overflow:auto}.rd-root .splitter[data-dragging] .splitter-panel{transition:none}.rd-root .splitter-bar{cursor:col-resize;background:var(--border);touch-action:none;flex:none;width:6px;transition:background .16s;position:relative}.rd-root .splitter-bar:before{content:"";position:absolute;inset:0 -2.5px}.rd-root .splitter-bar:hover,.rd-root .splitter-bar:active{background:var(--primary)}.rd-root .splitter-bar-dot{background:var(--text-faint);pointer-events:none;border-radius:1px;width:2px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rd-root .splitter-bar:hover .splitter-bar-dot,.rd-root .splitter-bar:active .splitter-bar-dot{background:#fff}.rd-root .splitter-vertical{flex-direction:column}.rd-root .splitter-vertical .splitter-bar{cursor:row-resize;width:auto;height:6px}.rd-root .splitter-vertical .splitter-bar:before{inset:-2.5px 0}.rd-root .splitter-vertical .splitter-bar-dot{width:18px;height:2px}.rd-root .stat{flex-direction:column;gap:2px;min-width:108px;display:flex}.rd-root .stat-title{font-size:var(--fs-sm);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rd-root .stat-value{color:var(--text);align-items:baseline;gap:3px;font-size:26px;font-weight:600;line-height:1.2;display:flex}.rd-root .stat-num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}.rd-root .stat-affix{font-size:var(--fs-sm);color:var(--text-muted);font-weight:400}.rd-root .stat-trend{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:3px;display:inline-flex}.rd-root .stat-trend.good{color:var(--success,#16a34a)}.rd-root .stat-trend.bad{color:var(--danger)}.rd-root .stat-footer{font-size:var(--fs-xs);color:var(--text-faint);margin-top:2px}.rd-root .steps{align-items:center;margin:14px 0;display:flex}.rd-root .step{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:7px;display:flex}.rd-root .step .dot{background:var(--surface-fill);width:20px;height:20px;font-size:var(--fs-xs);border-radius:50%;place-items:center;display:grid}.rd-root .step.done .dot{background:var(--success);color:var(--on-solid)}.rd-root .step.active .dot{background:var(--primary);color:var(--on-solid);box-shadow:0 0 0 4px var(--step-ring)}.rd-root .step.active{color:var(--text);font-weight:600}.rd-root .step-link{background:var(--border);width:34px;height:2px}.rd-root .step-link.done{background:var(--success)}.rd-root .steps::-webkit-scrollbar{width:var(--scroll-size-sm,8px);height:var(--scroll-size-sm,8px)}.rd-root .step-form{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.rd-root .step-form-head{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rd-root .step-form-head .st{align-items:center;gap:8px;display:flex}.rd-root .step-form-head .st .dot{background:var(--surface-fill);width:26px;height:26px;color:var(--text-muted);font-size:var(--fs-sm);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.rd-root .step-form-head .st .tx{flex-direction:column;gap:1px;display:flex}.rd-root .step-form-head .st .tx b{font-size:var(--fs-md);color:var(--text-muted);font-weight:600}.rd-root .step-form-head .st .tx span{font-size:var(--fs-2xs);color:var(--text-faint)}.rd-root .step-form-head .st.done .dot{background:var(--success-soft);color:var(--success-ink)}.rd-root .step-form-head .st.done .tx b{color:var(--text)}.rd-root .step-form-head .st.on .dot{background:var(--primary);color:var(--on-solid);box-shadow:0 0 0 4px var(--step-ring)}.rd-root .step-form-head .st.on .tx b{color:var(--primary);font-weight:700}.rd-root .step-form-head .bar{background:var(--border);border-radius:1px;flex:1;min-width:18px;height:2px}.rd-root .step-form-head .bar.done{background:var(--success)}.rd-root .step-form-body{padding:var(--sp-4) var(--sp-5);min-height:200px}.rd-root .step-form-foot{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);display:flex}.rd-root .step-form-foot .sp{flex:1}.rd-root .step-form-foot .step-msg{color:var(--danger-ink);font-size:var(--fs-sm)}.rd-root .steps{--step-dot-size:22px;margin:0;padding:0;list-style:none;display:flex}.rd-root .steps-small{--step-dot-size:18px}.rd-root .steps-horizontal{flex-direction:row;align-items:flex-start;gap:0}.rd-root .steps-vertical{gap:var(--sp-4);flex-direction:column}.rd-root .steps-fill .step{flex:1}.rd-root .step{min-width:0;padding-right:var(--sp-6);flex-direction:column;align-items:flex-start;gap:2px;display:flex;position:relative}.rd-root .steps-horizontal .step:last-child{flex:none;padding-right:0}.rd-root .steps-horizontal .step:not(:last-child):after{content:"";top:calc(var(--step-dot-size)/2);left:calc(var(--step-dot-size) + var(--sp-2));right:var(--sp-3);background:var(--border);height:1px;position:absolute}.rd-root .steps-horizontal .step-finish:not(:last-child):after{background:var(--primary)}.rd-root .step-head{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.rd-root .step-dot{width:var(--step-dot-size);height:var(--step-dot-size);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);font-size:var(--fs-xs);z-index:1;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex;position:relative}.rd-root .steps-small .step-dot{font-size:10px}.rd-root .step-title{z-index:1;font-size:var(--fs-md);color:var(--text-muted);background:var(--step-title-bg,var(--surface));border-radius:var(--radius-xs);text-overflow:ellipsis;white-space:nowrap;margin-left:-6px;padding:0 6px;position:relative;overflow:hidden}.rd-root .steps-small .step-title{font-size:var(--fs-sm)}.rd-root .step-desc{margin-left:calc(var(--step-dot-size) + var(--sp-2));font-size:var(--fs-xs);color:var(--text-faint)}.rd-root .step-finish .step-dot{border-color:var(--primary);background:var(--primary);color:#fff}.rd-root .step-finish .step-title{color:var(--text)}.rd-root .step-process .step-dot{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.rd-root .step-process .step-title{color:var(--text);font-weight:600}.rd-root .step-error .step-dot{border-color:var(--danger);background:var(--danger-soft,var(--danger));color:var(--danger-ink,#fff)}.rd-root .step-error .step-title{color:var(--danger-ink,var(--danger))}.rd-root .step-disabled{opacity:.5}.rd-root .step-clickable{cursor:pointer}.rd-root .step-clickable:hover .step-title{color:var(--primary)}.rd-root .steps-vertical .step{padding-bottom:0;padding-right:0}.rd-root .steps-vertical .step:not(:last-child):after{content:"";top:calc(var(--step-dot-size) + var(--sp-1));left:calc(var(--step-dot-size)/2);bottom:calc(-1*var(--sp-4));background:var(--border);width:1px;position:absolute}.rd-root .steps-vertical .step-finish:not(:last-child):after{background:var(--primary)}@keyframes steps-rotate{to{transform:rotate(360deg)}}.rd-root .steps-spin{animation:1s linear infinite steps-rotate}.rd-root .switch{background:var(--surface-sunken);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease);border:1px solid #0000;border-radius:999px;flex:none;padding:0;position:relative}.rd-root .switch.sw-md{width:42px;height:22px}.rd-root .switch.sw-sm{width:34px;height:18px}.rd-root .switch:hover:not(:disabled){background:color-mix(in srgb, var(--text-muted) 26%, var(--surface-sunken))}.rd-root .switch.on{background:var(--primary)}.rd-root .switch.on:hover:not(:disabled){background:var(--primary-hover)}.rd-root .switch:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.rd-root .switch:disabled{opacity:.5;cursor:not-allowed}.rd-root .switch-knob{background:var(--surface);box-shadow:var(--shadow-xs);transition:left var(--dur) var(--ease),width var(--dur) var(--ease);border-radius:50%;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.rd-root .switch.on .switch-knob{left:calc(100% - 2px);transform:translate(-100%,-50%)}.rd-root .switch.failed{box-shadow:0 0 0 2px var(--danger-soft)}.rd-root .switch-field{justify-content:space-between;align-items:center;gap:var(--sp-4);cursor:pointer;display:flex}.rd-root .switch-field.disabled{cursor:not-allowed}.rd-root .tabs{flex-direction:column;min-width:0;display:flex}.rd-root .tabs-bottom{flex-direction:column-reverse}.rd-root .tabs-left{flex-direction:row}.rd-root .tabs-right{flex-direction:row-reverse}.rd-root .tabs-list{scrollbar-width:none;flex:none;align-items:stretch;gap:2px;display:flex;overflow-x:auto}.rd-root .tabs-list::-webkit-scrollbar{display:none}.rd-root .tabs-left .tabs-list,.rd-root .tabs-right .tabs-list{flex-direction:column;min-width:132px;overflow:visible auto}.rd-root .tabs-centered .tabs-list{flex:1}.rd-root .tabs-centered .tabs-tab{flex:1;justify-content:center}.rd-root .tabs-tab{color:var(--text-muted);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:6px;padding:8px 12px;transition:color .16s,background .16s;display:inline-flex;position:relative}.rd-root .tabs-tab:hover{color:var(--text)}.rd-root .tabs-tab.disabled{opacity:.45;cursor:not-allowed}.rd-root .tabs-tab.on{color:var(--primary);font-weight:500}.rd-root .tabs-badge{background:var(--surface-fill);min-width:16px;height:16px;color:var(--text-muted);text-align:center;border-radius:8px;padding:0 4px;font-size:10px;line-height:16px}.rd-root .tabs-tab.on .tabs-badge{background:var(--primary-soft);color:var(--primary)}.rd-root .tabs-line .tabs-list{border-bottom:1px solid var(--border)}.rd-root .tabs-line .tabs-tab:after{content:"";background:0 0;border-radius:1px;height:2px;transition:background .16s;position:absolute;bottom:-1px;left:8px;right:8px}.rd-root .tabs-line .tabs-tab.on:after{background:var(--primary)}.rd-root .tabs-line.tabs-left .tabs-list,.rd-root .tabs-line.tabs-right .tabs-list{border-bottom:0;border-right:1px solid var(--border)}.rd-root .tabs-line.tabs-left .tabs-tab:after,.rd-root .tabs-line.tabs-right .tabs-tab:after{width:2px;height:auto;inset:6px -1px 6px auto}.rd-root .tabs-card .tabs-list{gap:4px;padding-bottom:1px}.rd-root .tabs-card .tabs-tab{border:1px solid var(--border);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--surface-sunken);border-bottom-color:#0000}.rd-root .tabs-card .tabs-tab.on{background:var(--surface);border-bottom-color:var(--surface)}.rd-root .tabs-body{min-width:0;min-height:0;padding-top:var(--sp-3);flex:1}.rd-root .tabs-left .tabs-body,.rd-root .tabs-right .tabs-body{padding-top:0;padding-left:var(--sp-4)}.rd-root .tabs-panel[hidden]{display:none}.rd-root .tg{border-radius:var(--radius-xs);height:22px;font-size:var(--fs-xs);white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:0 8px;font-weight:600;line-height:1;display:inline-flex}.rd-root .tg-default{background:var(--surface-fill);color:var(--text-muted)}.rd-root .tg-primary{background:var(--primary-soft);color:var(--primary-ink);border-color:color-mix(in srgb, var(--primary) 30%, transparent)}.rd-root .tg-success{background:var(--success-soft);color:var(--success-ink);border-color:color-mix(in srgb, var(--success) 30%, transparent)}.rd-root .tg-warning{background:var(--warning-soft);color:var(--warning-ink);border-color:color-mix(in srgb, var(--warning) 30%, transparent)}.rd-root .tg-danger{background:var(--danger-soft);color:var(--danger-ink);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.rd-root .tg-violet{background:var(--violet-soft);color:var(--violet-ink);border-color:color-mix(in srgb, var(--violet) 30%, transparent)}.rd-root .tf{flex-direction:column;gap:5px;min-width:0;display:flex}.rd-root .tf.disabled{opacity:.85}.rd-root .tf-label{font-size:var(--fs-sm);color:var(--text-muted);font-weight:600}.rd-root .tf-label .req{color:var(--danger-ink);margin-left:2px}.rd-root .tf-box{align-items:center;gap:var(--sp-2);min-height:var(--control-height);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);padding:0 11px;display:flex}.rd-root .tf-box:hover{border-color:var(--border-strong)}.rd-root .tf-box.focused{border-color:var(--primary);box-shadow:var(--ring)}.rd-root .tf-box.err{border-color:var(--danger)}.rd-root .tf-box.err.focused{box-shadow:0 0 0 3px var(--danger-soft)}.rd-root .tf-box.disabled{background:var(--surface-fill);cursor:not-allowed}.rd-root .tf-box .tf-control{min-width:0;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;padding:0}.rd-root .tf-box .tf-control:focus{box-shadow:none;border:0}.rd-root .tf-box:has(textarea){align-items:stretch;padding:8px 11px}.rd-root .tf-box textarea.tf-control{resize:vertical;line-height:1.6}.rd-root .tf-affix{font-size:var(--fs-md);color:var(--text-muted);flex:none}.rd-root .tf-err-icon{color:var(--danger-ink);flex:none}.rd-root .tf-desc{align-items:baseline;gap:var(--sp-2);font-size:var(--fs-xs);line-height:1.5;display:flex}.rd-root .tf-hint{color:var(--text-muted)}.rd-root .tf-error{color:var(--danger-ink);font-weight:500}.rd-root .tf-count{color:var(--text-faint);font-variant-numeric:tabular-nums;flex:none;margin-left:auto}.rd-root .tf-count.full{color:var(--warning-ink);font-weight:600}.rd-root .tp{align-items:center;gap:2px;width:100%;min-width:0;display:inline-flex;position:relative}.rd-root .tp .tp-sel{flex:1 1 0;min-width:62px}.rd-root .tp-sep{color:var(--text-faint);font-variant-numeric:tabular-nums;flex:none}.rd-root .tp-clear{background:var(--surface-fill);width:16px;height:16px;color:var(--text-muted);cursor:pointer;opacity:0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .16s;display:inline-flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.rd-root .tp:hover .tp-clear,.rd-root .tp:focus-within .tp-clear{opacity:1}.rd-root .tp-clear:hover{color:var(--text)}.rd-root .tooltip{z-index:400;border-radius:var(--radius-sm);background:var(--surface-elevated);border:1px solid var(--border);max-width:300px;box-shadow:var(--shadow-lg);color:var(--text);font-size:var(--fs-xs);overflow-wrap:anywhere;pointer-events:none;padding:6px 10px;line-height:1.55;animation:.12s ease-out rd-fb-pop;position:fixed}.rd-root .tooltip:after{content:"";background:var(--surface-elevated);border:1px solid var(--border);width:6px;height:6px;position:absolute}.rd-root .tooltip[data-placement=top]:after{border-top:0;border-left:0;bottom:-4px;left:50%;transform:translate(-50%)rotate(45deg)}.rd-root .tooltip[data-placement=bottom]:after{border-bottom:0;border-right:0;top:-4px;left:50%;transform:translate(-50%)rotate(45deg)}.rd-root .tooltip[data-placement=left]:after{border-bottom:0;border-left:0;top:50%;right:-4px;transform:translateY(-50%)rotate(45deg)}.rd-root .tooltip[data-placement=right]:after{border-top:0;border-right:0;top:50%;left:-4px;transform:translateY(-50%)rotate(45deg)}.rd-root .cell-tip{white-space:pre-wrap;max-width:420px}.rd-root .cell-tip:after{display:none}.rd-root .transfer{align-items:stretch;gap:var(--sp-3);min-width:0;display:flex}.rd-root .transfer.disabled{opacity:.6}.rd-root .transfer-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.rd-root .transfer-head{border-bottom:1px solid var(--border);background:var(--surface-sunken);justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.rd-root .transfer-check{font-size:var(--fs-sm);color:var(--text);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.rd-root .transfer-count{font-size:var(--fs-xs);color:var(--text-faint);font-variant-numeric:tabular-nums}.rd-root .transfer-search{border-bottom:1px solid var(--border);color:var(--text-faint);align-items:center;gap:6px;padding:5px 10px;display:flex}.rd-root .transfer-search input{min-width:0;color:var(--text);font-size:var(--fs-sm);background:0 0;border:0;outline:0;flex:1;height:22px}.rd-root .transfer-list{flex:1;min-height:0;padding:4px;overflow-y:auto}.rd-root .transfer-item{border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:7px;padding:6px 8px;transition:background .14s;display:flex}.rd-root .transfer-item:hover{background:var(--surface-fill)}.rd-root .transfer-item.on{background:var(--primary-softer)}.rd-root .transfer-item.disabled{opacity:.45;cursor:not-allowed}.rd-root .transfer-box{border:1px solid var(--border-strong);background:var(--surface);color:#fff;border-radius:3px;flex:none;justify-content:center;align-items:center;width:15px;height:15px;margin-top:1px;font-size:10px;line-height:1;display:inline-flex}.rd-root .transfer-item.on .transfer-box{background:var(--primary);border-color:var(--primary)}.rd-root .transfer-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.rd-root .transfer-title{font-size:var(--fs-sm);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rd-root .transfer-desc{font-size:var(--fs-xs);color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rd-root .transfer-empty{text-align:center;color:var(--text-faint);font-size:var(--fs-sm);padding:20px 8px}.rd-root .transfer-ops{flex-direction:column;flex:none;justify-content:center;align-items:center;gap:8px;display:flex}.rd-root .transfer-btn{border:1px solid var(--border);background:var(--surface);width:26px;height:26px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.rd-root .transfer-btn:hover:not(:disabled){color:var(--primary);border-color:var(--primary);background:var(--primary-softer)}.rd-root .transfer-btn:disabled{opacity:.35;cursor:not-allowed}.rd-root .tree,.rd-root .tree-children{margin:0;padding:0;list-style:none}.rd-root .tree-row{border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:5px;padding:5px 8px 5px 4px;transition:background .14s,color .14s;display:flex}.rd-root .tree-row:hover{background:var(--surface-fill)}.rd-root .tree-row.on{background:var(--primary-soft);color:var(--primary);font-weight:500}.rd-root .tree-row.disabled{opacity:.45;cursor:not-allowed;background:0 0}.rd-root .tree-twist{width:14px;height:14px;color:var(--text-faint);flex:none;justify-content:center;align-items:center;display:inline-flex}.rd-root .tree-checkbox{border:1px solid var(--border-strong);background:var(--surface);color:#fff;border-radius:3px;flex:none;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.rd-root .tree-checkbox.on,.rd-root .tree-checkbox.half{background:var(--primary);border-color:var(--primary)}.rd-root .tree-icon{color:var(--text-faint);flex:none;display:inline-flex}.rd-root .tree-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rd-root .tree-children.with-line{border-left:1px dashed var(--border);margin-left:11px;padding-left:4px}.rd-root .tree-toggle{text-align:center;cursor:pointer;width:20px;min-width:20px;height:20px;line-height:18px;font-size:var(--fs-xs);border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);color:var(--text-muted);padding:0}.rd-root .tree-toggle:hover{background:var(--surface-fill);color:var(--text)}.rd-root .tree-toggle-spacer{width:20px;min-width:20px;display:inline-block}.rd-root .tres{width:100%;min-width:0}.rd-root .tres-trigger{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;height:34px;color:var(--text);font-size:var(--fs-md);text-align:left;cursor:pointer;align-items:center;gap:6px;padding:0 8px 0 10px;transition:border-color .16s,box-shadow .16s;display:flex}.rd-root .tres-sm .tres-trigger{height:30px;font-size:var(--fs-sm)}.rd-root .tres-trigger:hover{border-color:var(--border-strong)}.rd-root .tres.open .tres-trigger{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-softer)}.rd-root .tres.disabled .tres-trigger{opacity:.55;cursor:not-allowed}.rd-root .tres-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rd-root .tres-value.placeholder{color:var(--text-faint)}.rd-root .tres-clear{background:var(--surface-fill);width:16px;height:16px;color:var(--text-muted);cursor:pointer;opacity:0;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:opacity .16s;display:inline-flex}.rd-root .tres-trigger:hover .tres-clear{opacity:1}.rd-root .tres-arrow{color:var(--text-faint);flex:none}.tres-menu{z-index:1200;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-elevated);max-height:320px;box-shadow:var(--shadow-lg);flex-direction:column;padding:4px;display:flex;overflow:hidden}.tres-search{border-bottom:1px solid var(--border);color:var(--text-faint);align-items:center;gap:6px;padding:4px 6px 6px;display:flex}.tres-search input{min-width:0;color:var(--text);font-size:var(--fs-sm);background:0 0;border:0;outline:0;flex:1}.tres-search button{color:var(--text-faint);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.tres-list{overscroll-behavior:contain;flex:1;min-height:0;padding-top:4px;overflow:auto}.tres-tools{justify-content:flex-end;padding:2px 4px 0;display:flex}.tres-toggle-all{border-radius:var(--radius-xs);color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);background:0 0;border:0;align-items:center;gap:4px;padding:2px 5px;display:inline-flex}.tres-toggle-all:hover{background:var(--primary-soft);color:var(--primary)}.tres-opt{border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:4px;padding:6px 8px;display:flex}.tres-opt:hover{background:var(--surface-fill)}.tres-opt.on{background:var(--primary-soft);color:var(--primary);font-weight:500}.tres-opt.disabled{opacity:.45;cursor:not-allowed}.tres-twist{width:14px;height:14px;color:var(--text-faint);flex:none;justify-content:center;align-items:center;display:inline-flex}.tres-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tres-check{color:var(--primary);flex:none}.tres-empty{text-align:center;color:var(--text-faint);font-size:var(--fs-sm);padding:16px 8px}.rd-root .ty-title{color:var(--text);margin:0;font-weight:600;line-height:1.35}.rd-root .ty-h1{font-size:30px}.rd-root .ty-h2{font-size:24px}.rd-root .ty-h3{font-size:20px}.rd-root .ty-h4{font-size:16px}.rd-root .ty-h5{font-size:14px}.rd-root .ty-text{font-size:inherit;color:var(--text)}.rd-root .ty-secondary{color:var(--text-muted)}.rd-root .ty-success{color:var(--success,#16a34a)}.rd-root .ty-warning{color:var(--warning,#d98216)}.rd-root .ty-danger{color:var(--danger)}.rd-root .ty-disabled{color:var(--text-faint);cursor:not-allowed}.rd-root .ty-strong{font-weight:600}.rd-root .ty-del{text-decoration:line-through}.rd-root .ty-underline{text-underline-offset:2px;text-decoration:underline}.rd-root .ty-mark{background:var(--warning-soft,#fef3c7);color:inherit;border-radius:2px;padding:0 2px}.rd-root .ty-code{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-sunken);padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.rd-root .ty-ellipsis{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:100%;display:inline-block;overflow:hidden}.rd-root .ty-p{margin:0 0 var(--sp-3);color:var(--text);font-size:var(--fs-sm);line-height:1.75}.rd-root .ty-p:last-child{margin-bottom:0}.rd-root .ty-expand{color:var(--primary);font-size:inherit;cursor:pointer;background:0 0;border:0;margin-left:6px;padding:0;display:inline}.rd-root .ty-expand:hover{text-decoration:underline}.rd-root .ty-link{color:var(--primary);cursor:pointer;text-decoration:none;transition:color .16s}.rd-root .ty-link:hover{color:var(--primary-hover);text-decoration:underline}.rd-root .ty-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}.rd-root .ty-link.ty-disabled{color:var(--text-faint);cursor:not-allowed;text-decoration:none}.rd-root .sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:768px){.rd-root .split{flex-direction:column}.rd-root .split-bar{cursor:row-resize;width:auto;height:7px}.rd-root .split-bar:after{width:auto;height:1px;inset:3px 0 auto}.rd-root .split-pane{flex:auto!important;width:100%!important}.rd-root .fbuild-row{align-items:stretch}.rd-root .fbuild-logic{text-align:left;flex:0 0 100%}.rd-root .fbuild-field,.rd-root .fbuild-op{flex:45%}.rd-root .fbuild-value,.rd-root .fbuild-between{flex:100%}.rd-root .rdcal-cell{min-height:60px;padding:4px}.rd-root .rdcal-event{font-size:10px}}.rd-root .tstat{padding:var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease);flex-direction:column;gap:4px;display:flex}.rd-root .tstat.clickable{cursor:pointer;text-align:left}.rd-root .tstat.clickable:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--primary) 30%, var(--border))}.rd-root .tstat.clickable:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.rd-root .tstat-title{font-size:var(--fs-sm);color:var(--text-muted)}.rd-root .tstat-row{align-items:flex-end;gap:var(--sp-3);display:flex}.rd-root .tstat-value{font-size:var(--fs-3xl);letter-spacing:-.03em;color:var(--text);font-weight:700;line-height:1.05}.rd-root .tstat-spark{flex:none;margin-bottom:5px}.rd-root .tstat-spark path{stroke:var(--text-faint)}.rd-root .tstat-spark.rising path{stroke:var(--success)}.rd-root .tstat-spark.falling path{stroke:var(--danger)}.rd-root .tstat-delta{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:flex}.rd-root .tstat-delta-label{color:var(--text-faint);margin-left:2px}.rd-root .tstat-delta.good{color:var(--success-ink)}.rd-root .tstat-delta.bad{color:var(--danger-ink)}.rd-root .tstat-delta.flat{color:var(--text-faint)}.rd-root .rdcal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.rd-root .rdcal-head{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);display:flex}.rd-root .rdcal-head .sp{flex:1}.rd-root .rdcal-head strong{font-size:var(--fs-lg)}.rd-root .rdcal-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.rd-root .rdcal-week{padding:var(--sp-2) 0;text-align:center;font-size:var(--fs-2xs);color:var(--text-faint);background:var(--surface-fill);border-bottom:1px solid var(--border);font-weight:700}.rd-root .rdcal-cell{border:0;border-right:1px solid var(--table-col-line);border-bottom:1px solid var(--table-col-line);background:var(--surface);text-align:left;min-height:84px;transition:background var(--dur-fast) var(--ease);flex-direction:column;align-items:stretch;gap:3px;padding:6px;display:flex}.rd-root .rdcal-cell:nth-child(7n+7){border-right:0}.rd-root .rdcal-cell:hover{background:var(--row-hover)}.rd-root .rdcal-cell:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.rd-root .rdcal-cell.outside{background:var(--surface-fill)}.rd-root .rdcal-day{font-size:var(--fs-sm);color:var(--text);font-variant-numeric:tabular-nums}.rd-root .rdcal-cell.outside .rdcal-day{color:var(--text-faint)}.rd-root .rdcal-cell.today .rdcal-day{background:var(--primary);color:var(--on-solid);border-radius:50%;align-self:flex-start;place-items:center;width:22px;height:22px;font-weight:700;display:grid}.rd-root .rdcal-events{flex-direction:column;gap:2px;display:flex;overflow:hidden}.rd-root .rdcal-event{border-radius:var(--radius-xs);background:var(--primary-soft);color:var(--primary-ink);font-size:var(--fs-2xs);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;padding:1px 5px;display:block;overflow:hidden}.rd-root .rdcal-event:hover{filter:brightness(1.06)}.rd-root .rdcal-more{font-size:var(--fs-2xs);color:var(--text-faint)}.rd-root .cron{gap:var(--sp-3);flex-direction:column;display:flex}.rd-root .cron.disabled{opacity:.7}.rd-root .cron-presets{flex-wrap:wrap;gap:6px;display:flex}.rd-root .cron-preset{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:var(--radius-sm);font-size:var(--fs-xs);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);padding:4px 10px;font-weight:600}.rd-root .cron-preset:hover:not(:disabled){border-color:var(--primary);color:var(--primary-ink);background:var(--primary-softer)}.rd-root .cron-preset.on{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary-ink)}.rd-root .cron-input{font-family:var(--font-mono);letter-spacing:.04em}.rd-root .cron-note{border-radius:var(--radius-sm);font-size:var(--fs-xs);align-items:center;gap:5px;padding:7px 10px;line-height:1.5;display:flex}.rd-root .cron-note.ok{background:var(--success-soft);color:var(--success-ink)}.rd-root .cron-note.bad{background:var(--danger-soft);color:var(--danger-ink)}.rd-root .fbuild{gap:var(--sp-2);flex-direction:column;display:flex}.rd-root .fbuild.disabled{opacity:.7}.rd-root .fbuild-row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.rd-root .fbuild-logic{font-size:var(--fs-xs);color:var(--text-faint);text-align:right;flex:0 0 48px}.rd-root .fbuild-logic-btn{border:1px solid var(--primary-border);background:var(--primary-softer);color:var(--primary-ink);border-radius:var(--radius-xs);font-size:var(--fs-xs);padding:2px 6px;font-weight:600}.rd-root .fbuild-field{flex:0 0 140px}.rd-root .fbuild-op{flex:0 0 116px}.rd-root .fbuild-value{flex:1;min-width:120px}.rd-root .fbuild-none{color:var(--text-faint);font-size:var(--fs-sm)}.rd-root .fbuild-between{flex:1;align-items:center;gap:6px;min-width:200px;display:flex}.rd-root .fbuild-between .input{flex:1;min-width:0}.rd-root .fbuild-sep{color:var(--text-faint)}.rd-root .fbuild-del{color:var(--danger-ink);flex:none}.rd-root .fbuild-foot{align-items:center;gap:var(--sp-3);display:flex}.rd-root .fbuild-hint{font-size:var(--fs-xs);color:var(--text-faint)}.rd-root .kanban{gap:var(--sp-3);padding-bottom:var(--sp-2);align-items:flex-start;display:flex;overflow-x:auto}.rd-root .kanban-col{background:var(--surface-fill);border:1px solid var(--border);border-radius:var(--radius-lg);max-height:70vh;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);flex-direction:column;flex:none;display:flex}.rd-root .kanban-col.over{border-color:var(--primary);background:var(--primary-softer)}.rd-root .kanban-col-head{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3) var(--sp-2);font-size:var(--fs-md);display:flex}.rd-root .kanban-count{border-radius:var(--radius-xs);background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;margin-left:auto;padding:1px 7px}.rd-root .kanban-cards{gap:var(--sp-2);padding:0 var(--sp-3) var(--sp-3);flex-direction:column;min-height:80px;display:flex;overflow-y:auto}.rd-root .kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-3);cursor:grab;box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);position:relative}.rd-root .kanban-card:hover{box-shadow:var(--shadow-md)}.rd-root .kanban-card:active{cursor:grabbing;transform:scale(.995)}.rd-root .kanban-card-top{align-items:flex-start;gap:6px;display:flex}.rd-root .kanban-grip{color:var(--text-faint);flex:none;margin-top:3px}.rd-root .kanban-title{min-width:0;font-size:var(--fs-md);color:var(--text);flex:1;font-weight:600}.rd-root .kanban-desc{font-size:var(--fs-xs);color:var(--text-muted);margin-top:6px;line-height:1.6}.rd-root .kanban-move{opacity:0;transition:opacity var(--dur-fast) var(--ease);gap:2px;margin-top:8px;display:flex}.rd-root .kanban-card:hover .kanban-move,.rd-root .kanban-card:focus-within .kanban-move{opacity:1}.rd-root .kanban-move button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:var(--radius-xs);place-items:center;width:24px;height:22px;display:grid}.rd-root .kanban-move button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.rd-root .kanban-move button:disabled{opacity:.35;cursor:not-allowed}.rd-root .kanban-empty{padding:var(--sp-5) var(--sp-3);border:1px dashed var(--border-strong);border-radius:var(--radius-md);text-align:center;font-size:var(--fs-xs);color:var(--text-faint)}.rd-root .sigpad{gap:var(--sp-2);flex-direction:column;display:flex}.rd-root .sigpad-canvas{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface);position:relative;overflow:hidden}.rd-root .sigpad-canvas canvas{display:block}.rd-root .sigpad-hint{color:var(--text-faint);font-size:var(--fs-sm);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.rd-root .sigpad-tools{gap:var(--sp-2);display:flex}.rd-root.rd-resizing,.rd-root.rd-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.rd-root .split{align-items:stretch;height:100%;min-height:0;display:flex}.rd-root .split-pane{min-width:0;min-height:0;overflow:auto}.rd-root .split-grow{flex:1}.rd-root .split-bar{cursor:col-resize;touch-action:none;background:0 0;flex:none;width:7px;position:relative}.rd-root .split-bar:after{content:"";background:var(--border);width:1px;transition:background var(--dur-fast) var(--ease);position:absolute;top:0;bottom:0;left:3px}.rd-root .split-bar:hover:after,.rd-root .split-bar:focus-visible:after,.rd-root .split.dragging .split-bar:after{background:var(--primary);width:2px;left:2.5px}.rd-root .tline{margin:0;padding:0;list-style:none}.rd-root .tline-item{gap:var(--sp-3);padding-bottom:var(--sp-4);display:flex}.rd-root .tline-item:last-child{padding-bottom:0}.rd-root .tline.dense .tline-item{padding-bottom:var(--sp-2)}.rd-root .tline-rail{flex:0 0 24px;justify-content:center;display:flex;position:relative}.rd-root .tline-item:not(:last-child) .tline-rail:after{content:"";top:26px;bottom:calc(-1*var(--sp-4));background:var(--border);border-radius:1px;width:2px;position:absolute;left:50%;transform:translate(-50%)}.rd-root .tline.dense .tline-item:not(:last-child) .tline-rail:after{bottom:calc(-1*var(--sp-2))}.rd-root .tline-dot{z-index:1;background:var(--surface-fill);border:1px solid var(--border);width:24px;height:24px;color:var(--text-faint);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.rd-root .tline-item.tone-primary .tline-dot{background:var(--primary);color:var(--on-solid);border-color:#0000}.rd-root .tline-item.tone-success .tline-dot{background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 34%, transparent);color:var(--success-ink)}.rd-root .tline-item.tone-warning .tline-dot{background:var(--warning-soft);border-color:color-mix(in srgb, var(--warning) 34%, transparent);color:var(--warning-ink)}.rd-root .tline-item.tone-danger .tline-dot{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 34%, transparent);color:var(--danger-ink)}.rd-root .tline-main{flex:1;min-width:0;padding-top:1px}.rd-root .tline-head{align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;display:flex}.rd-root .tline-title{font-size:var(--fs-md);color:var(--text);font-weight:600}.rd-root .tline-by{font-size:var(--fs-xs);color:var(--text-muted)}.rd-root .tline-time{font-size:var(--fs-xs);color:var(--text-faint);white-space:nowrap;margin-left:auto}.rd-root .tline.time-right .tline-time{order:-1;margin-left:0;margin-right:auto}.rd-root .tline-desc{font-size:var(--fs-sm);color:var(--text-muted);margin-top:3px;line-height:1.65}.rd-root .tline-extra{margin-top:6px}.rd-root .tour-hole{z-index:500;border-radius:var(--radius-md);pointer-events:none;transition:all var(--dur) var(--ease);position:fixed;box-shadow:0 0 0 9999px #0a101c9e}.rd-root .tour-bubble{z-index:501;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);width:300px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-lg);padding:var(--sp-4);animation:.16s ease-out rd-fb-pop;position:fixed}.rd-root .tour-head{align-items:flex-start;gap:var(--sp-2);display:flex}.rd-root .tour-head strong{font-size:var(--fs-md);flex:1}.rd-root .tour-desc{font-size:var(--fs-sm);color:var(--text-muted);margin:6px 0 0;line-height:1.65}.rd-root .tour-foot{align-items:center;gap:var(--sp-2);margin-top:var(--sp-4);display:flex}.rd-root .tour-foot .sp{flex:1}.rd-root .tour-step{font-size:var(--fs-xs);color:var(--text-faint);font-variant-numeric:tabular-nums}.rd-root .tour-skip{margin-top:var(--sp-3);color:var(--text-faint);font-size:var(--fs-xs);background:0 0;border:0;padding:2px 0}.rd-root .tour-skip:hover{color:var(--primary)}.rd-root .vlist{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.rd-root .vlist-sizer{position:relative}.rd-root .vlist-window{will-change:transform;position:absolute;top:0;left:0;right:0}.rd-root .vlist-item{border-bottom:1px solid var(--table-col-line);align-items:center;display:flex}.rd-root .vlist-item:last-child{border-bottom:0}.rd-root .agent-run{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.rd-root .agent-run.has-error{border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.rd-root .agent-run-head{background:var(--surface-fill);width:100%;color:var(--text);text-align:left;cursor:pointer;border:none;align-items:center;gap:6px;padding:6px 10px;font-family:inherit;font-size:11.5px;display:flex}.rd-root .agent-run-head:hover{background:var(--surface-sunken)}.rd-root .agent-run-head:focus-visible{box-shadow:inset var(--ring);outline:none}.rd-root .agent-run-badge{background:var(--primary-soft);width:18px;height:18px;color:var(--primary);border-radius:50%;flex:none;place-items:center;display:grid}.rd-root .agent-run-badge.is-running{background:var(--warning-soft);color:var(--warning-ink)}.rd-root .agent-run-title{font-weight:600}.rd-root .agent-run-time{color:var(--text-faint);font-family:var(--font-mono);font-size:10.5px}.rd-root .agent-run-head>svg{color:var(--text-faint);margin-left:auto}.rd-root .agent-steps{margin:0;padding:6px 10px 8px;list-style:none}.rd-root .agent-step{grid-template-columns:20px minmax(0,1fr);gap:6px;padding-bottom:4px;display:grid;position:relative}.rd-root .agent-step.is-last{padding-bottom:0}.rd-root .agent-step-rail{justify-content:center;display:flex;position:relative}.rd-root .agent-step-rail:before{content:"";background:var(--border);width:1px;position:absolute;top:15px;bottom:-6px}.rd-root .agent-step.is-last .agent-step-rail:before{display:none}.rd-root .agent-step-dot{background:var(--surface-fill);width:16px;height:16px;color:var(--text-muted);border-radius:50%;place-items:center;margin-top:2px;display:grid}.rd-root .agent-step.is-done .agent-step-dot{background:var(--success-soft);color:var(--success)}.rd-root .agent-step.is-running .agent-step-dot{background:var(--warning-soft);color:var(--warning-ink)}.rd-root .agent-step.is-error .agent-step-dot{background:var(--danger-soft);color:var(--danger-ink)}.rd-root .agent-step-body{min-width:0}.rd-root .agent-step-head{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:1px 0;font-family:inherit;font-size:11.5px;display:flex}.rd-root .agent-step-head:disabled{cursor:default}.rd-root .agent-step-head:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .agent-step-head>svg{color:var(--text-faint)}.rd-root .agent-step-title{font-weight:500}.rd-root .agent-step.is-error .agent-step-title{color:var(--danger-ink)}.rd-root .agent-step-time{color:var(--text-faint);font-family:var(--font-mono);margin-left:auto;font-size:10px}.rd-root .agent-step-detail{color:var(--text-muted);border-left:2px solid var(--border);margin:3px 0 2px;padding-left:8px;font-size:11.5px;line-height:1.7}.rd-root .agent-step-artifacts{flex-wrap:wrap;gap:5px;margin-top:3px;display:flex}.rd-root .agent-artifact{border:1px solid var(--primary-border);background:var(--primary-softer);color:var(--primary);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;text-decoration:none;display:inline-flex}.rd-root .agent-artifact:hover{background:var(--primary-soft)}.rd-root .agent-run-foot{color:var(--text-faint);font-family:var(--font-mono);padding:4px 10px 6px;font-size:10px}.rd-root .bsp{border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.rd-root .bsp-head{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-2xs);color:var(--text-faint);letter-spacing:.06em;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.rd-root .bsp-count{font-family:var(--font-mono)}.rd-root .bsp-filter{padding:var(--sp-2);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;display:flex}.rd-root .bsp-filter button{background:var(--surface-fill);color:var(--text-muted);cursor:pointer;border:1px solid #0000;border-radius:999px;padding:1px 7px;font-family:inherit;font-size:11px}.rd-root .bsp-filter button:hover{color:var(--text)}.rd-root .bsp-filter button.is-active{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary);font-weight:600}.rd-root .bsp-filter button:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .bsp-list{min-height:0;padding:var(--sp-2);flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.rd-root .bsp-item{border:1px solid var(--bs-line);border-radius:var(--radius-sm);background:var(--bs-soft);width:100%;color:var(--text);font-family:inherit;font-size:var(--fs-2xs);text-align:left;cursor:grab;touch-action:none;border-left-width:3px;flex-direction:column;gap:1px;padding:5px 8px;display:flex}.rd-root .bsp-item:hover{box-shadow:var(--shadow-xs)}.rd-root .bsp-item:active{cursor:grabbing}.rd-root .bsp-item:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .bsp-item-title{font-weight:600}.rd-root .bsp-item-hint{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.rd-root .bsp-tip{padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border);color:var(--text-faint);margin:0;font-size:11px;line-height:1.7}.rd-root .bsp-tip kbd{font-family:var(--font-mono);border:1px solid var(--border-strong);border-radius:3px;padding:0 3px;font-size:10px}.rd-root .block-script-designer{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:0;box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.rd-root .bsd-toolbar{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.rd-root .bsd-title{align-items:baseline;gap:var(--sp-2);font-size:var(--fs-md);font-weight:600;display:flex}.rd-root .bsd-meta{font-size:var(--fs-2xs);color:var(--text-faint);font-weight:400}.rd-root .bsd-actions{align-items:center;gap:var(--sp-1);flex-wrap:wrap;margin-left:auto;display:flex}.rd-root .bsd-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:28px;color:var(--text-muted);font-family:inherit;font-size:var(--fs-2xs);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);align-items:center;gap:5px;padding:0 8px;display:inline-flex}.rd-root .bsd-btn:hover:not(:disabled){background:var(--surface-fill);color:var(--text);border-color:var(--border-strong)}.rd-root .bsd-btn:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .bsd-btn:disabled{opacity:.4;cursor:not-allowed}.rd-root .bsd-btn.is-primary{background:var(--primary);border-color:var(--primary);color:#fff}.rd-root .bsd-btn.is-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.rd-root .bsd-sep{background:var(--border);width:1px;height:18px;margin:0 2px}.rd-root .bsd-seg{border-radius:var(--radius-sm);background:var(--surface-fill);padding:2px;display:inline-flex}.rd-root .bsd-seg button{border-radius:var(--radius-xs);height:24px;color:var(--text-muted);font-family:inherit;font-size:var(--fs-2xs);cursor:pointer;background:0 0;border:none;padding:0 10px}.rd-root .bsd-seg button.is-active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-xs);font-weight:600}.rd-root .bsd-seg button:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .bsd-body{flex:1;grid-template-columns:200px minmax(0,1fr) 344px;min-height:0;display:grid}.rd-root .bsd-canvas{min-width:0;min-height:0;padding:var(--sp-3);background:var(--surface-sunken);outline:none;position:relative;overflow:auto}.rd-root .bsd-canvas:focus-visible{box-shadow:inset var(--ring)}.rd-root .bsd-sheet{width:max-content;min-width:100%;min-height:100%;padding:var(--sp-3);border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface)}.rd-root .bsd-sheet.is-empty{width:100%;max-width:1080px}.rd-root .bsd-root-stack{flex-direction:column;align-items:flex-start;display:flex}.rd-root .bsd-preset-empty{width:100%}.rd-root .bsd-empty{margin:var(--sp-3) 0;font-size:var(--fs-2xs);color:var(--text-faint);line-height:1.8}.rd-root .bs-ghost{z-index:1000;border:1px solid var(--bs-line);border-radius:var(--radius-sm);background:var(--bs-soft);color:var(--text);font-size:var(--fs-2xs);box-shadow:var(--shadow-md);pointer-events:none;padding:4px 10px;font-weight:600;position:fixed;transform:translate(-50%,-50%)rotate(-1deg)}.rd-root .bsd-panel{border-left:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.rd-root .bsd-tabs{border-bottom:1px solid var(--border);display:flex}.rd-root .bsd-tabs button{padding:var(--sp-2) 10px;color:var(--text-muted);font-family:inherit;font-size:var(--fs-2xs);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1}.rd-root .bsd-tabs button:hover{color:var(--text)}.rd-root .bsd-tabs button.is-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.rd-root .bsd-tabs button:focus-visible{box-shadow:inset var(--ring);outline:none}.rd-root .bsd-code{min-height:0;padding:var(--sp-3);background:var(--surface);color:var(--text);font-family:var(--font-mono);tab-size:2;white-space:pre-wrap;overflow-wrap:anywhere;flex:1;margin:0;font-size:11.5px;line-height:1.75;overflow:auto}.rd-root .bsd-code code{font-size:inherit;background:0 0;border:0;padding:0}.rd-root .tok-comment{color:var(--text-faint);font-style:italic}.rd-root .tok-string{color:var(--success)}.rd-root .tok-keyword{color:var(--violet);font-weight:600}.rd-root .tok-number{color:var(--cyan)}.rd-root .bsd-output{min-height:0;padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);flex:1;font-size:11.5px;overflow-y:auto}.rd-root .bsd-log{gap:var(--sp-2);border-bottom:1px dashed var(--border);color:var(--text);word-break:break-all;padding:3px 0;display:flex}.rd-root .bsd-log.is-warn{color:var(--warning-ink)}.rd-root .bsd-log.is-error{color:var(--danger-ink)}.rd-root .bsd-log-time{width:52px;color:var(--text-faint);flex:none;font-size:10.5px}.rd-root .bsd-status{align-items:center;gap:var(--sp-3);padding:5px var(--sp-3);border-top:1px solid var(--border);color:var(--text-faint);font-size:11px;display:flex}.rd-root .bsd-status .is-error{color:var(--danger-ink)}.rd-root .bsd-status .is-warn{color:var(--warning-ink)}.rd-root .bsd-status-hint{text-overflow:ellipsis;white-space:nowrap;margin-left:auto;overflow:hidden}.rd-root .bsd-diagnostics{max-height:92px;padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border);background:var(--surface);flex-direction:column;gap:2px;display:flex;overflow-y:auto}.rd-root .bsd-diagnostic{gap:var(--sp-2);border-radius:var(--radius-xs);width:100%;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;padding:3px 6px;font-family:inherit;font-size:11.5px;display:flex}.rd-root .bsd-diagnostic span{border-radius:3px;flex:none;padding:0 4px;font-size:10px}.rd-root .bsd-diagnostic.is-error{color:var(--danger-ink)}.rd-root .bsd-diagnostic.is-error span{background:var(--danger-soft)}.rd-root .bsd-diagnostic.is-warning{color:var(--warning-ink)}.rd-root .bsd-diagnostic.is-warning span{background:var(--warning-soft)}.rd-root .bsd-diagnostic:hover{background:var(--surface-fill)}.rd-root .bsd-diagnostic:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .bs-block{border:1px solid var(--bs-line);border-radius:var(--radius-md);background:var(--surface);width:fit-content;min-width:150px;max-width:100%;color:var(--text);flex-direction:column;align-items:stretch;display:flex;position:relative}.rd-root .bs-block.is-selected{box-shadow:0 0 0 2px var(--primary)}.rd-root .bs-block.is-dragging{opacity:.45}.rd-root .bs-block.has-error{border-color:var(--danger)}.rd-root .bs-block.bs-shape-hat{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rd-root .bs-block.bs-shape-hat>.bs-head{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);background:var(--bs-ink);color:#fff;border-bottom:none}.rd-root .bs-block.bs-shape-hat>.bs-head input,.rd-root .bs-block.bs-shape-hat>.bs-head select{color:#fff;background:#ffffff29;border-color:#ffffff4d}.rd-root .bs-head{font-size:var(--fs-2xs);cursor:grab;border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--bs-soft);border-bottom:1px solid var(--bs-line);touch-action:none;align-items:center;gap:5px;padding:4px 8px;display:flex}.rd-root .bs-head:active{cursor:grabbing}.rd-root .bs-title{white-space:nowrap;font-weight:600}.rd-root .bs-field{display:inline-flex}.rd-root .bs-field input,.rd-root .bs-field select{border:1px solid var(--bs-line);border-radius:var(--radius-xs);background:var(--surface);height:22px;color:var(--text);font-family:var(--font-mono);padding:0 5px;font-size:11px}.rd-root .bs-field input:focus,.rd-root .bs-field select:focus{border-color:var(--primary);box-shadow:var(--ring);outline:none}.rd-root .bs-error-dot{background:var(--danger);color:#fff;cursor:help;border-radius:50%;place-items:center;width:15px;height:15px;margin-left:auto;font-size:10px;font-weight:700;display:inline-grid}.rd-root .bs-values{flex-wrap:wrap;align-items:center;gap:5px;padding:0 8px 6px;display:flex}.rd-root .bs-value{display:inline-flex}.rd-root .bs-slot{border:1px dashed var(--bs-line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 70%, var(--bs-soft));min-height:22px;color:var(--text-faint);white-space:nowrap;align-items:center;padding:0 8px;font-size:11px;display:inline-flex}.rd-root .bs-slot.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);border-style:solid}.rd-root .bs-statements{border-left:3px solid var(--bs-line);border-radius:0 0 0 var(--radius-sm);margin:0 6px 5px 10px;padding:2px 0 2px 7px}.rd-root .bs-statement-label{color:var(--text-faint);padding:1px 0 2px;font-size:10px}.rd-root .bs-stack{flex-direction:column;align-items:flex-start;display:flex}.rd-root .bs-unknown{border-color:var(--danger);font-size:var(--fs-2xs);padding:4px 8px}.rd-root .bs-remove{color:var(--danger);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:14px}.rd-root .bs-gap{width:100%;min-height:5px;transition:background var(--dur-fast) var(--ease),min-height var(--dur-fast) var(--ease);border-radius:999px}.rd-root .bs-gap.is-active{background:var(--primary);min-height:8px;box-shadow:0 0 0 2px var(--focus-ring)}.rd-root .bs-gap.is-empty{border:1px dashed var(--bs-line);min-height:26px;color:var(--text-faint);background:0 0;place-items:center;margin:2px 0;font-size:10px;display:grid}.rd-root .bs-gap.is-root{max-width:100%}.rd-root .bs-cat-event{--bs-ink:var(--warning);--bs-soft:var(--warning-soft);--bs-line:color-mix(in srgb, var(--warning) 40%, var(--border))}.rd-root .bs-cat-control{--bs-ink:var(--violet);--bs-soft:var(--violet-soft);--bs-line:color-mix(in srgb, var(--violet) 36%, var(--border))}.rd-root .bs-cat-logic{--bs-ink:var(--indigo);--bs-soft:var(--indigo-soft);--bs-line:color-mix(in srgb, var(--indigo) 36%, var(--border))}.rd-root .bs-cat-math{--bs-ink:var(--cyan);--bs-soft:var(--cyan-soft);--bs-line:color-mix(in srgb, var(--cyan) 36%, var(--border))}.rd-root .bs-cat-text{--bs-ink:var(--success);--bs-soft:var(--success-soft);--bs-line:color-mix(in srgb, var(--success) 36%, var(--border))}.rd-root .bs-cat-variable{--bs-ink:var(--primary);--bs-soft:var(--primary-soft);--bs-line:var(--primary-border)}.rd-root .bs-cat-list{--bs-ink:color-mix(in srgb, var(--primary) 60%, var(--cyan));--bs-soft:color-mix(in srgb, var(--primary-soft) 60%, var(--cyan-soft));--bs-line:color-mix(in srgb, var(--primary) 30%, var(--cyan))}.rd-root .bs-cat-io{--bs-ink:color-mix(in srgb, var(--success) 65%, var(--warning));--bs-soft:color-mix(in srgb, var(--success-soft) 60%, var(--warning-soft));--bs-line:color-mix(in srgb, var(--success) 40%, var(--border))}@media (max-width:1080px){.rd-root .bsd-body{grid-template-rows:minmax(260px,1fr) auto;grid-template-columns:176px minmax(0,1fr)}.rd-root .bsd-panel{border-left:none;border-top:1px solid var(--border);grid-column:1/-1;max-height:300px}.rd-root .bsp-tip{display:none}}@media (max-width:640px){.rd-root .bsd-body{grid-template-rows:auto minmax(240px,1fr) auto;grid-template-columns:1fr}.rd-root .bsp{border-right:none;border-bottom:1px solid var(--border)}.rd-root .bsp-list{flex-direction:row;max-height:84px;overflow-x:auto}.rd-root .bsp-item{flex:none;width:auto}.rd-root .bsd-status-hint{display:none}}.rd-root .chat-composer{padding:var(--sp-2) var(--sp-3) var(--sp-3);border-top:1px solid var(--border);background:var(--surface)}.rd-root .chat-composer.is-disabled{opacity:.7}.rd-root .chat-composer-files{flex-wrap:wrap;gap:5px;margin-bottom:6px;display:flex}.rd-root .chat-composer-file{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-fill);color:var(--text-muted);align-items:center;gap:4px;padding:2px 6px;font-size:11px;display:inline-flex}.rd-root .chat-composer-file button{width:15px;height:15px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;display:grid}.rd-root .chat-composer-file button:hover{background:var(--border);color:var(--text)}.rd-root .chat-composer-file-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.rd-root .chat-composer-file-size{color:var(--text-faint);font-size:10px}.rd-root .chat-composer-box{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.rd-root .chat-composer-box:focus-within{border-color:var(--primary);box-shadow:var(--ring)}.rd-root .chat-composer textarea{width:100%;max-height:160px;color:var(--text);font-family:inherit;font-size:var(--fs-md);resize:none;background:0 0;border:none;outline:none;padding:9px 12px 4px;line-height:1.65;display:block}.rd-root .chat-composer textarea::placeholder{color:var(--text-faint)}.rd-root .chat-composer-bar{align-items:center;gap:var(--sp-2);padding:2px 6px 5px 8px;display:flex}.rd-root .chat-composer-left{align-items:center;gap:4px;display:flex}.rd-root .chat-composer-icon{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;place-items:center;display:grid}.rd-root .chat-composer-icon:hover:not(:disabled){background:var(--surface-fill);color:var(--text)}.rd-root .chat-composer-icon:disabled{opacity:.4;cursor:not-allowed}.rd-root .chat-composer-icon:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .chat-composer-counter{font-family:var(--font-mono);color:var(--text-faint);font-size:10.5px}.rd-root .chat-composer-counter.is-over{color:var(--danger-ink)}.rd-root .chat-composer-send{background:var(--primary);width:28px;height:28px;color:var(--on-solid);cursor:pointer;transition:background var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease);border:none;border-radius:50%;place-items:center;margin-left:auto;display:grid}.rd-root .chat-composer-send:hover:not(:disabled){background:var(--primary-hover)}.rd-root .chat-composer-send:disabled{background:var(--text-disabled);cursor:not-allowed}.rd-root .chat-composer-send:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .chat-composer-stop{border:1px solid var(--border-strong);background:var(--surface);height:26px;color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:4px;margin-left:auto;padding:0 10px;font-family:inherit;font-size:11px;display:inline-flex}.rd-root .chat-composer-stop:hover{border-color:var(--danger);color:var(--danger-ink)}.rd-root .chat-composer-hint{color:var(--text-faint);text-align:right;margin:5px 0 0;font-size:10.5px}.rd-root .chat-list{flex-direction:column;gap:14px;max-width:860px;margin:0 auto;display:flex}.rd-root .chat-list.is-empty{place-items:center;height:100%;display:grid}.rd-root .chat-row{gap:var(--sp-2);align-items:flex-start;display:flex}.rd-root .chat-row.is-user{justify-content:flex-end}.rd-root .chat-row.is-continuation{margin-top:-10px}.rd-root .chat-avatar{background:var(--surface);border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid;overflow:hidden}.rd-root .chat-avatar img{object-fit:cover;width:100%;height:100%}.rd-root .chat-avatar-fallback{color:var(--primary);letter-spacing:.02em;font-size:10px;font-weight:700}.rd-root .chat-avatar-fallback.is-user{color:var(--text-muted)}.rd-root .chat-main{flex-direction:column;gap:5px;min-width:0;max-width:78%;display:flex}.rd-root .chat-row.is-user .chat-main{align-items:flex-end}.rd-root .chat-row.is-assistant .chat-main{min-width:min(300px,100%)}.rd-root .chat-meta{color:var(--text-faint);align-items:baseline;gap:6px;font-size:11px;display:flex}.rd-root .chat-meta time{font-variant-numeric:tabular-nums}.rd-root .chat-name{font-size:var(--fs-2xs);color:var(--text);font-weight:600}.rd-root .chat-model{border-radius:var(--radius-xs);background:var(--surface-fill);padding:0 5px;font-size:10px}.rd-root .chat-bubble{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:var(--fs-md);word-break:break-word;border-top-left-radius:var(--radius-xs);padding:9px 12px;line-height:1.7}.rd-root .chat-row.is-user .chat-bubble{background:var(--primary);border-color:var(--primary);color:var(--on-solid);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-xs)}.rd-root .chat-row.is-user .chat-bubble a{color:inherit;text-decoration:underline}.rd-root .chat-row.is-user .chat-inline-code{background:#ffffff2e;border-color:#ffffff3d}.rd-root .chat-row.is-user .chat-caret{background:var(--on-solid)}.rd-root .chat-attachments{flex-wrap:wrap;gap:6px;display:flex}.rd-root .chat-attachment{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);align-items:center;gap:5px;padding:3px 8px;font-size:11px;text-decoration:none;display:inline-flex}.rd-root .chat-attachment.is-image{flex-direction:column;align-items:stretch;gap:3px;padding:4px}.rd-root .chat-attachment.is-image img{object-fit:cover;border-radius:var(--radius-xs);width:120px;height:78px}.rd-root .chat-attachment-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.rd-root .chat-attachment-size{color:var(--text-faint);font-size:10px}.rd-root .chat-error{border:1px solid color-mix(in srgb, var(--danger) 40%, var(--border));border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger-ink);align-items:center;gap:6px;padding:6px 10px;font-size:11.5px;display:flex}.rd-root .chat-error button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;align-items:center;gap:3px;margin-left:auto;padding:1px 8px;font-family:inherit;font-size:11px;display:inline-flex}.rd-root .chat-stopped{color:var(--text-faint);font-size:11px}.rd-root .chat-actions{opacity:0;transition:opacity var(--dur-fast) var(--ease);gap:4px;display:flex}.rd-root .chat-actions button{border-radius:var(--radius-xs);color:var(--text-faint);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:3px;padding:1px 6px;font-family:inherit;font-size:10.5px;display:inline-flex}.rd-root .chat-actions button:hover{background:var(--surface-fill);color:var(--text);border-color:var(--border)}.rd-root .chat-actions button:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .chat-row:hover .chat-actions,.rd-root .chat-row:focus-within .chat-actions{opacity:1}.rd-root .chat-system{justify-content:center;display:flex}.rd-root .chat-system span{background:var(--surface-fill);color:var(--text-faint);border-radius:999px;padding:2px 10px;font-size:11px}@keyframes chat-blink{to{visibility:hidden}}@keyframes chat-spin{to{transform:rotate(360deg)}}@media (max-width:640px){.rd-root .chat-main{max-width:88%}.rd-root .chat-scroll{padding:var(--sp-2)}.rd-root .chat-bubble{font-size:var(--fs-2xs)}.rd-root .chat-avatar{display:none}.rd-root .chat-actions{opacity:1}.rd-root .chat-jump{bottom:96px}}.rd-root .chat-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:0;box-shadow:var(--shadow-sm);flex-direction:column;display:flex;position:relative;overflow:hidden}.rd-root .chat-head{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);display:flex}.rd-root .chat-head-avatar{border-radius:var(--radius-md);background:var(--primary-soft);width:30px;height:30px;color:var(--primary);flex:none;place-items:center;display:grid}.rd-root .chat-head-text{flex-direction:column;min-width:0;display:flex}.rd-root .chat-head-text b{font-size:var(--fs-md)}.rd-root .chat-head-text span{color:var(--text-faint);font-size:11px}.rd-root .chat-head-actions{gap:var(--sp-1);margin-left:auto;display:flex}.rd-root .chat-scroll{min-height:0;padding:var(--sp-3) var(--sp-3) var(--sp-2);background:var(--bg-subtle);flex:1;overflow-y:auto}.rd-root .chat-jump{border:1px solid var(--border-strong);background:var(--surface);height:26px;color:var(--text-muted);box-shadow:var(--shadow-md);cursor:pointer;z-index:3;border-radius:999px;align-items:center;gap:4px;padding:0 12px;font-family:inherit;font-size:11px;display:inline-flex;position:absolute;bottom:108px;left:50%;transform:translate(-50%)}.rd-root .chat-jump:hover{color:var(--text)}.rd-root .chat-jump:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .chat-empty{padding:var(--sp-5);text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.rd-root .chat-empty h3{font-size:var(--fs-lg);margin:0}.rd-root .chat-empty p{color:var(--text-muted);font-size:var(--fs-2xs);margin:0}.rd-root .chat-empty-icon{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:50%;place-items:center;display:grid}.rd-root .chat-suggestions{margin-top:var(--sp-2);flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.rd-root .chat-suggestion{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);border-radius:999px;padding:5px 12px;font-family:inherit;font-size:11.5px}.rd-root .chat-suggestion:hover{border-color:var(--primary-border);color:var(--primary);background:var(--primary-softer)}.rd-root .chat-suggestion:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .spin{animation:.9s linear infinite chat-spin}.rd-root .device-map{border:1px solid var(--border);border-radius:var(--radius-lg);background-color:var(--surface);background-image:linear-gradient(to right, color-mix(in srgb, var(--border) 42%, transparent) 1px, transparent 1px),linear-gradient(to bottom, color-mix(in srgb, var(--border) 42%, transparent) 1px, transparent 1px);background-size:24px 24px;position:relative;overflow:hidden}.rd-root .device-map-links{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.rd-root .device-map-link{fill:none;stroke:var(--border-strong);stroke-width:1.6px;vector-effect:non-scaling-stroke;transition:stroke var(--dur-fast) var(--ease),stroke-width var(--dur-fast) var(--ease)}.rd-root .device-map-link[data-kind=power]{stroke:var(--warning);stroke-width:2.4px}.rd-root .device-map-link[data-kind=process]{stroke:var(--primary);stroke-width:2px}.rd-root .device-map-link[data-kind=signal]{stroke:var(--success);stroke-dasharray:5 4}.rd-root .device-map-link[data-kind=network]{stroke:var(--text-muted);stroke-dasharray:2 3}.rd-root .device-map-link[data-active="1"]{stroke-width:3px}.rd-root .device-map-node{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:86px;max-width:146px;color:var(--text);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);flex-direction:column;gap:2px;padding:7px 9px 8px;display:flex;position:absolute;transform:translate(-50%,-50%)}.rd-root .device-map-node:hover{border-color:var(--border-strong)}.rd-root .device-map-node:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.rd-root .device-map-node[data-selected="1"]{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.rd-root .device-map-node[data-status=stop],.rd-root .device-map-node[data-status=offline]{background:var(--surface-sunken)}.rd-root .device-map-head{color:var(--text-muted);align-items:center;gap:6px;display:flex}.rd-root .device-map-head svg{flex:none}.rd-root .device-map-name{font-size:var(--fs-xs);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.rd-root .device-map-dot{background:var(--text-muted);border-radius:50%;flex:none;width:8px;height:8px;margin-left:auto}.rd-root .device-map-dot[data-status=run]{background:var(--success)}.rd-root .device-map-dot[data-status=stop]{background:var(--text-muted)}.rd-root .device-map-dot[data-status=warn]{background:var(--warning)}.rd-root .device-map-dot[data-status=fault]{background:var(--danger)}.rd-root .device-map-dot[data-status=offline]{background:var(--border-strong)}.rd-root .device-map-tag{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-muted)}.rd-root .device-map-metrics{font-size:var(--fs-2xs);color:var(--text-muted);flex-wrap:wrap;gap:2px 8px;display:flex}.rd-root .device-map-metrics b{color:var(--text);margin-left:2px;font-weight:600}.rd-root .device-map-script{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;bottom:3px;right:3px}.rd-root .device-map-script:hover{background:var(--primary-soft);color:var(--primary-ink)}.rd-root .device-map-script:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.rd-root .device-map-legend{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--fs-2xs);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px 10px;padding:4px 8px;display:flex;position:absolute;bottom:8px;left:8px}.rd-root .device-map-legend-item{align-items:center;gap:4px;display:inline-flex}.rd-root .device-map-legend-item i{border-top:2px solid var(--border-strong);width:14px;height:0}.rd-root .device-map-legend-item i[data-kind=power]{border-color:var(--warning)}.rd-root .device-map-legend-item i[data-kind=process]{border-color:var(--primary)}.rd-root .device-map-legend-item i[data-kind=signal]{border-color:var(--success);border-top-style:dashed}.rd-root .device-map-legend-item i[data-kind=network]{border-color:var(--text-muted);border-top-style:dotted}.rd-root .device-map-legend-item .device-map-dot{margin-left:0}.rd-root .device-map-legend-sep{background:var(--border);width:1px;height:12px}@media (max-width:768px){.rd-root .device-map-node{min-width:78px;max-width:128px;padding:6px 7px}.rd-root .device-map-metrics,.rd-root .device-map-legend{display:none}}.rd-root .drawing-board{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;min-height:0;display:flex;overflow:hidden}.rd-root .db-toolbar{align-items:center;gap:var(--sp-2);border-bottom:1px solid var(--border);flex-wrap:wrap;padding:6px 10px;display:flex}.rd-root .db-tools{border-radius:var(--radius-sm);background:var(--surface-fill);gap:2px;padding:2px;display:flex}.rd-root .db-tool{border-radius:var(--radius-xs);min-width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:4px;padding:0 6px;font-family:inherit;font-size:11.5px;display:inline-flex}.rd-root .db-tool:hover:not(:disabled){background:var(--surface);color:var(--text)}.rd-root .db-tool.is-active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-xs)}.rd-root .db-tool.is-primary{background:var(--primary);border-color:var(--primary);color:var(--on-solid)}.rd-root .db-tool.is-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:var(--on-solid)}.rd-root .db-tool:disabled{opacity:.4;cursor:not-allowed}.rd-root .db-tool:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .db-colors{align-items:center;gap:4px;display:flex}.rd-root .db-color{cursor:pointer;border:2px solid #0000;border-radius:50%;width:18px;height:18px;padding:0}.rd-root .db-color.is-active{border-color:var(--text);box-shadow:inset 0 0 0 2px var(--surface)}.rd-root .db-color:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .db-color-input{cursor:pointer;background:0 0;border:none;width:22px;height:22px;padding:0}.rd-root .db-width{color:var(--text-muted);align-items:center;gap:6px;font-size:11px;display:flex}.rd-root .db-width input{width:88px;accent-color:var(--primary)}.rd-root .db-width b{font-family:var(--font-mono);color:var(--text);font-size:11px}.rd-root .db-actions{align-items:center;gap:2px;margin-left:auto;display:flex}.rd-root .db-stage{background:var(--surface);flex:1;min-height:0;position:relative;overflow:hidden}.rd-root .db-stage.is-empty{background-image:radial-gradient(var(--border-strong) 1px, transparent 1px);background-position:-1px -1px;background-size:16px 16px}.rd-root .db-bg{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.rd-root .db-canvas{touch-action:none;cursor:crosshair;outline:none;position:absolute;inset:0}.rd-root .db-canvas:focus-visible{box-shadow:inset var(--ring)}.rd-root .fp-overlay{z-index:1200;background:var(--backdrop);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.rd-root .file-preview{border-radius:var(--radius-lg);background:var(--surface-elevated);width:min(1080px,94vw);height:min(760px,88vh);color:var(--text);box-shadow:var(--shadow-lg);outline:none;flex-direction:column;display:flex;overflow:hidden}.rd-root .file-preview.size-md{width:min(760px,92vw);height:min(560px,82vh)}.rd-root .file-preview.size-full{width:96vw;height:92vh}.rd-root .file-preview.mode-fullscreen{border:none;border-radius:0;width:100vw;max-width:none;height:100dvh}.rd-root .file-preview.mode-page{width:100%;height:100%;max-height:none;box-shadow:none;border:none;border-radius:0}.rd-root .fp-overlay.is-fullscreen{padding:0}.rd-root .fp-head{align-items:center;gap:var(--sp-3);padding:10px var(--sp-3);border-bottom:1px solid var(--border);background:var(--surface);display:flex}.rd-root .fp-head-text{flex-direction:column;gap:2px;min-width:0;display:flex}.rd-root .fp-name{text-overflow:ellipsis;white-space:nowrap;max-width:50vw;font-size:13.5px;overflow:hidden}.rd-root .fp-meta{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.rd-root .fp-actions{flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.rd-root .fp-btn{border:1px solid var(--border);border-radius:var(--radius-sm);height:28px;color:var(--text);font-family:inherit;font-size:var(--fs-2xs);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:5px;padding:0 10px;text-decoration:none;display:inline-flex}.rd-root .fp-btn:hover{background:var(--surface-fill)}.rd-root .fp-btn:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .fp-btn.is-icon{padding:0 7px}.rd-root .fp-body{background:var(--surface-sunken);border-top:1px solid var(--border);flex:1;justify-content:center;align-items:center;min-height:0;padding:8px;display:flex;position:relative}.rd-root .fp-watermark,.rd-root .fp-image{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.rd-root .fp-image img{object-fit:contain;-webkit-user-select:none;user-select:none;touch-action:none;max-width:100%;max-height:100%;transition:transform .1s ease-out}.rd-root .fp-image-tools{border:1px solid var(--border);background:var(--surface-elevated);border-radius:999px;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.rd-root .fp-image-tools button{min-width:26px;height:24px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;padding:0 7px;font-family:inherit;font-size:11px;display:grid}.rd-root .fp-image-tools button:hover{background:#ffffff1a}.rd-root .fp-image-tools button:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .fp-zoom-label{text-align:center;min-width:38px;font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.rd-root .fp-video{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.rd-root .fp-video video{border-radius:var(--radius-sm);background:#000;max-width:100%;max-height:100%}.rd-root .fp-audio{width:min(440px,94%);padding:var(--sp-5) var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;align-items:center;gap:10px;display:flex}.rd-root .fp-audio-cover{background:var(--primary-soft);width:64px;height:64px;color:var(--primary);border-radius:50%;place-items:center;display:grid}.rd-root .fp-audio-name{font-size:var(--fs-2xs);color:var(--text-muted);text-align:center;word-break:break-all}.rd-root .fp-audio-controls{align-items:center;gap:var(--sp-2);width:100%;display:flex}.rd-root .fp-audio-controls input[type=range]{accent-color:var(--primary);flex:1;min-width:40px}.rd-root .fp-audio-play{background:var(--primary);width:38px;height:38px;color:var(--on-solid);cursor:pointer;border:none;border-radius:50%;flex:none;place-items:center;display:grid}.rd-root .fp-audio-play:focus-visible{outline:none;box-shadow:0 0 0 3px #4d9bff66}.rd-root .fp-time{text-align:center;min-width:36px;font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.rd-root .fp-rate{border:1px solid var(--border);border-radius:var(--radius-xs);height:24px;color:var(--text);background:0 0;font-family:inherit;font-size:11px}.rd-root .fp-pages{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.rd-root .fp-pages-bar{border-bottom:1px solid var(--border);background:var(--surface);flex:none;align-items:center;gap:4px;padding:4px 8px;display:flex}.rd-root .fp-page-zoom{border-radius:var(--radius-xs);height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:4px;padding:0 8px;font-family:inherit;font-size:11px;display:inline-flex}.rd-root .fp-page-zoom:hover:not(:disabled){background:var(--surface-fill);color:var(--text)}.rd-root .fp-page-zoom.is-active{background:var(--primary-soft);color:var(--primary)}.rd-root .fp-page-zoom:disabled{opacity:.4;cursor:not-allowed}.rd-root .fp-page-zoom:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .fp-pages-spacer{flex:1}.rd-root .fp-pages-count{text-align:center;min-width:48px;font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.rd-root .fp-pages-scroll{background:var(--surface-sunken);flex-direction:column;flex:1;align-items:center;gap:12px;min-height:0;padding:10px 12px 16px;display:flex;overflow:auto}.rd-root .fp-page{width:100%;max-width:900px;box-shadow:var(--shadow-sm);background:#fff;border-radius:3px;flex:none;overflow:hidden}.rd-root .fp-page img{width:100%;height:auto;display:block}.rd-root .fp-page.is-actual,.rd-root .fp-page.is-actual img{width:auto;max-width:none}.rd-root .fp-frame{flex-direction:column;gap:6px;width:100%;height:100%;display:flex}.rd-root .fp-frame-body{border-radius:var(--radius-sm);background:#fff;border:none;flex:1;width:100%}.rd-root .fp-frame-tip{text-align:center;color:var(--text-muted);margin:0;font-size:11px}.rd-root .fp-frame-tip a{color:var(--primary)}.rd-root .fp-text{width:100%;height:100%;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);overflow:auto}.rd-root .fp-text pre{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;margin:0;font-size:12px;line-height:1.75}.rd-root .fp-text-tip{color:var(--text-faint);margin:10px 0 0;font-size:11px}.rd-root .fp-fallback{padding:var(--sp-6);text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.rd-root .fp-fallback-icon{background:var(--surface-fill);width:56px;height:56px;color:var(--text-muted);border-radius:50%;place-items:center;display:grid}.rd-root .fp-fallback-name{font-size:var(--fs-md);word-break:break-all;max-width:420px}.rd-root .fp-fallback-meta{color:var(--text-muted);font-size:11.5px}.rd-root .fp-fallback-actions{gap:8px;margin-top:6px;display:flex}.rd-root .fp-media-tip{max-width:420px;color:var(--text-muted);text-align:center;margin:4px 0 0;font-size:11px;line-height:1.7}.rd-root .fp-media-tip.is-error{color:var(--danger-ink)}.rd-root .fp-loading{font-size:var(--fs-2xs);color:var(--text-muted);align-items:center;gap:8px;display:flex}.rd-root .fp-loading.is-block{text-align:center;flex-direction:column;max-width:420px}.rd-root .fp-loading.is-block b{color:var(--text);font-size:var(--fs-md)}.rd-root .fp-loading.is-block p{margin:6px 0 12px;line-height:1.7}.rd-root .fp-nav{z-index:2;border:1px solid var(--border);background:var(--surface-elevated);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.rd-root .fp-nav.is-prev{left:12px}.rd-root .fp-nav.is-next{right:12px}.rd-root .fp-nav:disabled{opacity:.3;cursor:not-allowed}.rd-root .fp-nav:focus-visible{outline:none;box-shadow:0 0 0 3px #4d9bff66}.rd-root .fp-thumbs{padding:8px var(--sp-3);border-top:1px solid var(--border);background:var(--surface);gap:6px;display:flex;overflow-x:auto}.rd-root .fp-thumb{border:1px solid var(--border);border-radius:var(--radius-sm);max-width:190px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;flex:none;align-items:center;gap:6px;padding:0 8px;font-family:inherit;font-size:11.5px;display:flex}.rd-root .fp-thumb.is-active{border-color:var(--primary);color:var(--text);background:var(--primary-soft)}.rd-root .fp-thumb:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .fp-thumb img{object-fit:cover;border-radius:3px;width:28px;height:28px}.rd-root .fp-thumb-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rd-root .fp-thumb-icon{background:var(--surface-fill);border-radius:3px;place-items:center;width:28px;height:28px;display:grid}.rd-root .fp-annotate{z-index:5;border-radius:var(--radius-md);background:var(--surface-elevated);position:absolute;inset:8px;overflow:hidden}@media (max-width:640px){.rd-root .fp-overlay{padding:0}.rd-root .file-preview{border-radius:0;width:100vw;height:100dvh}.rd-root .fp-name{max-width:42vw}.rd-root .fp-btn span{display:none}.rd-root .fp-nav{width:32px;height:32px}.rd-root .fp-audio{padding:var(--sp-4) var(--sp-3)}.rd-root .db-toolbar{gap:4px}.rd-root .db-width input{width:64px}}.rd-root .chat-content p{margin:0 0 8px}.rd-root .chat-content p:last-child{margin-bottom:0}.rd-root .chat-content ul{margin:0 0 8px;padding-left:1.2em}.rd-root .chat-content li{margin:2px 0}.rd-root .chat-content strong{font-weight:600}.rd-root .chat-inline-code{border-radius:var(--radius-xs);background:var(--surface-fill);border:1px solid var(--border);font-family:var(--font-mono);padding:0 4px;font-size:.92em}.rd-root .chat-code{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);margin:6px 0;overflow:hidden}.rd-root .chat-code-head{border-bottom:1px solid var(--border);font-family:var(--font-mono);color:var(--text-faint);justify-content:space-between;align-items:center;padding:3px 8px;font-size:10.5px;display:flex}.rd-root .chat-code-head button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:10.5px}.rd-root .chat-code-head button:hover{color:var(--primary)}.rd-root .chat-code pre{font-family:var(--font-mono);margin:0;padding:8px 10px;font-size:11.5px;line-height:1.65;overflow-x:auto}.rd-root .chat-code pre code{background:0 0;border:0;padding:0}.rd-root .chat-caret{vertical-align:-2px;background:var(--primary);border-radius:1px;width:6px;height:13px;margin-left:2px;animation:1s steps(2,start) infinite chat-blink;display:inline-block}.rd-root .bsp-presets{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));width:100%;display:grid}.rd-root .bsp-presets.is-dense{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.rd-root .bsp-preset{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.rd-root .bsp-preset:hover{border-color:var(--primary-border);background:var(--primary-softer)}.rd-root .bsp-preset:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .bsp-preset-title{font-size:var(--fs-2xs);color:var(--text);align-items:center;gap:5px;font-weight:600;display:flex}.rd-root .bsp-preset-title svg{color:var(--primary);flex:none}.rd-root .bsp-preset-desc{color:var(--text-muted);font-size:11.5px;line-height:1.6}.rd-root .bsp-preset-tags{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.rd-root .bsp-preset-tags span{background:var(--surface-fill);color:var(--text-faint);border-radius:999px;padding:1px 6px;font-size:10px}.rd-root .schematic-canvas{--sc-ink:var(--text);--sc-wire:var(--text-muted);--sc-paper:#fff;--sc-grid-line:#e6ebf4;--sc-grid-line-strong:#d5deec;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);touch-action:none;width:100%;position:relative;overflow:hidden}.rd-root .schematic-canvas.is-placing{cursor:crosshair}.rd-root .sc-surface{outline:none;width:100%;height:100%;display:block}.rd-root .sc-surface:focus-visible{box-shadow:inset var(--ring)}.rd-root .sc-paper{fill:var(--sc-paper);stroke:var(--border-strong);stroke-width:1px;vector-effect:non-scaling-stroke}.rd-root .sc-grid-minor{stroke:var(--sc-grid-line)}.rd-root .sc-grid-major{stroke:var(--sc-grid-line-strong)}.rd-root .sc-grid{pointer-events:none}.rd-root .sc-wire{stroke:var(--sc-wire);stroke-linejoin:round;stroke-linecap:round;transition:stroke var(--dur-fast) var(--ease)}.rd-root .sc-wire.is-selected{stroke:var(--primary);stroke-width:2.4px}.rd-root .sc-wire.is-highlighted{stroke:var(--warning);stroke-width:2.6px}.rd-root .sc-wire-preview{stroke:var(--primary)}.rd-root .sc-node{color:var(--sc-ink)}.rd-root .sc-selection{fill:var(--primary);fill-opacity:.06;stroke:var(--primary);stroke-dasharray:4 3;pointer-events:none}.rd-root .sc-port{fill:var(--surface);stroke:var(--primary);opacity:.75;transition:opacity var(--dur-fast) var(--ease),fill var(--dur-fast) var(--ease)}.rd-root .sc-node:hover .sc-port{opacity:1}.rd-root .sc-labels{pointer-events:none}.rd-root .sc-reference{font-family:var(--font-mono);fill:var(--text);font-size:11px;font-weight:600}.rd-root .sc-value{font-family:var(--font-sans);fill:var(--text-muted);font-size:10px}.rd-root .sc-hud{left:var(--sp-2);bottom:var(--sp-2);align-items:center;gap:var(--sp-2);padding:2px var(--sp-2);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 84%, transparent);border:1px solid var(--border);color:var(--text-faint);font-family:var(--font-mono);font-size:var(--fs-2xs);pointer-events:none;display:flex;position:absolute}.rd-root .sc-hud-tag{color:var(--warning-ink)}.rd-root .schematic-designer{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:0;box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.rd-root .sdd-toolbar{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;display:flex}.rd-root .sdd-title{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.rd-root .sdd-title-input{width:200px;height:28px;padding:0 var(--sp-2);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:var(--fs-md);background:0 0;border:1px solid #0000;font-weight:600}.rd-root .sdd-title-input:hover{background:var(--surface-fill)}.rd-root .sdd-title-input:focus{border-color:var(--primary);background:var(--surface);box-shadow:var(--ring);outline:none}.rd-root .sdd-paper{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-faint);white-space:nowrap}.rd-root .sdd-actions{align-items:center;gap:var(--sp-1);margin-left:auto;display:flex}.rd-root .sdd-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:28px;color:var(--text-muted);font-family:inherit;font-size:var(--fs-2xs);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);align-items:center;gap:5px;padding:0 7px;display:inline-flex}.rd-root .sdd-btn:hover:not(:disabled){background:var(--surface-fill);color:var(--text);border-color:var(--border-strong)}.rd-root .sdd-btn:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .sdd-btn:disabled{opacity:.4;cursor:not-allowed}.rd-root .sdd-sep{background:var(--border);width:1px;height:18px;margin:0 2px}.rd-root .sdd-body{flex:1;grid-template-columns:132px minmax(0,1fr) 272px;min-height:0;display:grid}.rd-root .sdd-palette{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;min-height:0;display:flex}.rd-root .sdd-palette-head{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-2xs);color:var(--text-faint);letter-spacing:.06em;border-bottom:1px solid var(--border)}.rd-root .sdd-palette-grid{padding:var(--sp-2);grid-template-columns:1fr 1fr;gap:4px;display:grid;overflow-y:auto}.rd-root .sdd-symbol{border-radius:var(--radius-sm);color:var(--text-muted);font-family:inherit;font-size:var(--fs-2xs);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;line-height:1.2;display:flex}.rd-root .sdd-symbol span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.rd-root .sdd-symbol:hover{background:var(--surface-fill);color:var(--text)}.rd-root .sdd-symbol:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .sdd-symbol.is-active{background:var(--primary-soft);border-color:var(--primary-border);color:var(--primary)}.rd-root .sdd-glyph{color:var(--text)}.rd-root .sdd-glyph .sc-shape{stroke-width:1.3px}.rd-root .sdd-palette-tip{padding:var(--sp-2) var(--sp-3) var(--sp-3);border-top:1px solid var(--border);font-size:var(--fs-2xs);color:var(--text-faint);margin:0;line-height:1.6}.rd-root .sdd-canvas{min-width:0;min-height:0;padding:var(--sp-2);background:var(--surface-sunken);position:relative}.rd-root .sdd-panel{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;min-height:0;display:flex}.rd-root .sdd-tabs{border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.rd-root .sdd-tab{padding:var(--sp-2) 10px;color:var(--text-muted);font-family:inherit;font-size:var(--fs-2xs);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:none}.rd-root .sdd-tab:hover{color:var(--text)}.rd-root .sdd-tab.is-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.rd-root .sdd-tab:focus-visible{box-shadow:inset var(--ring);outline:none}.rd-root .sdd-panel-body{min-height:0;padding:var(--sp-3);flex:1;overflow-y:auto}.rd-root .sdd-form{gap:var(--sp-2);display:grid}.rd-root .sdd-form-row{align-items:center;gap:var(--sp-2);font-size:var(--fs-2xs);grid-template-columns:44px minmax(0,1fr);display:grid}.rd-root .sdd-form-row label,.rd-root .sdd-form-row .sdd-form-label{color:var(--text-muted)}.rd-root .sdd-form-static{color:var(--text);font-family:var(--font-mono);font-size:var(--fs-2xs)}.rd-root .sdd-form-row input,.rd-root .sdd-form-row select{width:100%;height:30px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--fs-2xs)}.rd-root .sdd-form-row input:focus,.rd-root .sdd-form-row select:focus{border-color:var(--primary);box-shadow:var(--ring);outline:none}.rd-root .sdd-empty{color:var(--text-faint);font-size:var(--fs-2xs);margin:0;line-height:1.7}.rd-root .sdd-nets{gap:2px;display:grid}.rd-root .sdd-net{gap:2px var(--sp-2);width:100%;padding:7px var(--sp-2);border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:auto 1fr;font-family:inherit;display:grid}.rd-root .sdd-net:hover{background:var(--surface-fill)}.rd-root .sdd-net.is-active{background:var(--warning-soft);border-color:var(--warning)}.rd-root .sdd-net:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .sdd-net-name{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--primary);font-weight:700}.rd-root .sdd-net-meta{color:var(--text-faint);text-align:right;font-size:11px}.rd-root .sdd-net-terminals{color:var(--text-muted);grid-column:1/-1;font-size:11px;line-height:1.6}.rd-root .sdd-issues{gap:4px;display:grid}.rd-root .sdd-issue{gap:var(--sp-2);width:100%;padding:7px var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);text-align:left;cursor:pointer;grid-template-columns:34px minmax(0,1fr);font-family:inherit;font-size:11.5px;line-height:1.6;display:grid}.rd-root .sdd-issue:hover{background:var(--surface-fill)}.rd-root .sdd-issue:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .sdd-issue.is-error{border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.rd-root .sdd-issue.is-error .sdd-issue-level{color:var(--danger-ink);background:var(--danger-soft)}.rd-root .sdd-issue-level{border-radius:var(--radius-xs);background:var(--warning-soft);color:var(--warning-ink);text-align:center;align-self:start;padding:0 4px;font-size:10px}.rd-root .sdd-bom table{border-collapse:collapse;width:100%;font-size:11px}.rd-root .sdd-bom th{text-align:left;color:var(--text-faint);border-bottom:1px solid var(--border);white-space:nowrap;padding:4px 3px;font-weight:500}.rd-root .sdd-bom td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:top;padding:5px 3px}.rd-root .sdd-bom .num{text-align:right;font-variant-numeric:tabular-nums}.rd-root .sdd-bom .refs{color:var(--text-muted);font-family:var(--font-mono);font-size:10px}.rd-root .sdd-export{margin-top:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:28px;color:var(--text-muted);font-family:inherit;font-size:var(--fs-2xs);cursor:pointer;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.rd-root .sdd-export:hover{background:var(--surface-fill);color:var(--text)}.rd-root .sdd-export:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .sdd-status{align-items:center;gap:var(--sp-3);padding:5px var(--sp-3);border-top:1px solid var(--border);background:var(--surface);color:var(--text-faint);font-size:11px;display:flex}.rd-root .sdd-status .is-error{color:var(--danger-ink)}.rd-root .sdd-status .is-warn{color:var(--warning-ink)}.rd-root .sdd-status-hint{text-overflow:ellipsis;white-space:nowrap;margin-left:auto;overflow:hidden}.rd-root .sc-symbol{color:var(--sc-ink)}.rd-root .sc-symbol .sc-shape{stroke-width:1.1px}.rd-root .sc-symbol{pointer-events:none}@media (max-width:980px){.rd-root .sdd-body{grid-template-rows:auto minmax(280px,1fr) auto;grid-template-columns:1fr}.rd-root .sdd-palette{border-right:none;border-bottom:1px solid var(--border)}.rd-root .sdd-palette-grid{grid-template-columns:repeat(6,minmax(56px,1fr));max-height:96px;overflow-x:auto}.rd-root .sdd-palette-tip{display:none}.rd-root .sdd-panel{border-left:none;border-top:1px solid var(--border);max-height:260px}.rd-root .sdd-status-hint{display:none}}.rd-root .schematic-viewer{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.rd-root .scv-head{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);font-size:var(--fs-2xs);display:flex}.rd-root .scv-title{color:var(--text);font-weight:600}.rd-root .scv-meta{color:var(--text-faint);font-family:var(--font-mono);margin-left:auto}.rd-root .scv-foot{padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border);color:var(--text-faint);font-size:11px}.rd-root .sc-symbol-text{font-family:var(--font-sans);font-weight:600}.rd-root .tool-call{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);margin:4px 0 2px;overflow:hidden}.rd-root .tool-call.is-error{border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.rd-root .tool-call-head{background:var(--surface-fill);align-items:center;gap:5px;padding:4px 8px;font-size:11px;display:flex}.rd-root .tool-call-icon{color:var(--text-muted);place-items:center;display:grid}.rd-root .tool-call.is-error .tool-call-icon{color:var(--danger-ink)}.rd-root .tool-call-name{font-family:var(--font-mono);color:var(--text);font-size:11px}.rd-root .tool-call-time{color:var(--text-faint);font-family:var(--font-mono);font-size:10px}.rd-root .tool-call-status{color:var(--success);align-items:center;gap:2px;margin-left:auto;font-size:10.5px;display:inline-flex}.rd-root .tool-call.is-error .tool-call-status{color:var(--danger-ink)}.rd-root .tool-call.is-running .tool-call-status{color:var(--warning-ink)}.rd-root .tool-call-section{padding:2px 8px 6px}.rd-root .tool-call-result-head{color:var(--text-faint);justify-content:space-between;align-items:center;font-size:10.5px;display:flex}.rd-root .tool-call-toggle,.rd-root .tool-call-copy{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:10.5px}.rd-root .tool-call-toggle:hover,.rd-root .tool-call-copy:hover{color:var(--primary)}.rd-root .tool-call-toggle:focus-visible,.rd-root .tool-call-copy:focus-visible{box-shadow:var(--ring);outline:none}.rd-root .tool-call-copy{align-items:center;gap:3px;display:inline-flex}.rd-root .tool-call-pre{border-radius:var(--radius-xs);background:var(--surface);border:1px solid var(--border);max-height:200px;color:var(--text-muted);font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:3px 0 0;padding:6px 8px;font-size:10.5px;line-height:1.6;overflow:auto}.rd-root .watermark{position:relative}.rd-root .watermark-layer{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;position:absolute;inset:0}.rd-root .search-box{border:1px solid var(--border);border-radius:var(--radius-md);min-height:var(--control-height);background:var(--surface);min-width:220px;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);align-items:center;gap:8px;padding:0 12px;display:flex}.rd-root .search-box svg{color:var(--text-faint);flex:none}.rd-root .search-box:hover{border-color:var(--border-strong)}.rd-root .search-box:focus-within{border-color:var(--primary);box-shadow:var(--ring)}.rd-root .search-box input{width:100%;font-size:var(--fs-md);color:var(--text);background:0 0;border:0;outline:0}.rd-root .search-box input::placeholder{color:var(--text-faint)}.rd-root .perm-browser{grid-template-columns:1fr 300px;gap:16px;display:grid}.rd-root .perm-tree{border:1px solid var(--border);border-radius:var(--radius-lg);max-height:46vh;padding:10px;overflow:auto}.rd-root .perm-node{font-size:var(--fs-xs);margin:3px 0;padding:3px 0;display:block}.rd-root .perm-node input{margin-right:6px}.rd-root .perm-acts{color:var(--text-muted);flex-wrap:wrap;gap:8px;margin-left:8px;display:inline-flex}.rd-root .perm-acts span{font-size:var(--fs-xs);align-items:center;gap:3px;display:inline-flex}.rd-root .perm-scopes{max-height:46vh;overflow:auto}.rd-root .scope-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.rd-root .scope-mod{font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.rd-root .fz-last{box-shadow:6px 0 10px -6px #00000038}.rd-root .perm-tree::-webkit-scrollbar{width:var(--scroll-size-sm,8px);height:var(--scroll-size-sm,8px)}.rd-root .perm-scopes::-webkit-scrollbar{width:var(--scroll-size-sm,8px);height:var(--scroll-size-sm,8px)}.rd-root .perm-tree{scrollbar-gutter:stable}.rd-root{--font-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Source Han Sans SC", "Noto Sans CJK SC", "Segoe UI", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "PingFang SC", "Microsoft YaHei", monospace;--font-size-base:.875rem;--lh-tight:1.3;--lh-base:1.5715;--fs-2xs:12px;--fs-xs:var(--fs-2xs);--fs-sm:var(--fs-2xs);--fs-md:13px;--fs-base:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--control-height-sm:28px;--control-height:34px;--control-height-lg:40px;--ease:cubic-bezier(.4, 0, .2, 1);--dur-fast:.13s;--dur:.2s;--content-max-width:1680px;--content-gutter:24px;--topbar-height:58px;--tabs-height:42px;--sidebar-width:252px;--sidebar-collapsed-width:68px;--scroll-size:8px;--scroll-size-sm:6px;--scroll-thumb:#c2cbd9;--scroll-thumb-hover:#9dabc2;--bg:#f4f6fb;--bg-subtle:#eef1f8;--surface:#fff;--surface-elevated:#fff;--surface-fill:#f0f3f8;--surface-sunken:#e9edf6;--border:#e3e8f0;--border-strong:#ccd6e6;--on-solid:#fff;--text:#152238;--text-muted:#5b6880;--text-faint:#667490;--primary:#1769e0;--primary-strong:#1157c0;--primary-hover:#337be4;--primary-active:#155fca;--text-disabled:#a8b3c6;--primary-soft:#e8f1ff;--primary-softer:#f4f8ff;--primary-border:#bfd7ff;--grad-brand:linear-gradient(135deg, #1f7af0 0%, #1157c0 100%);--grad-surface:linear-gradient(180deg, #fff 0%, #f7f9fd 100%);--success:#078b89;--success-strong:#056b69;--success-soft:#e2f7f5;--success-ink:#05645f;--warning:#d98213;--warning-strong:#a9610a;--warning-soft:#fff2de;--warning-ink:#8a4b00;--danger:#d25a77;--danger-strong:#a8385a;--danger-soft:#f9e9ee;--danger-ink:#a12a4a;--info:#1769e0;--info-soft:#e8f1ff;--info-ink:#1257c4;--violet:#7858c9;--violet-strong:#5b3fb0;--violet-soft:#f0eaff;--violet-ink:#5b3fb0;--cyan:#0e8fa8;--cyan-soft:#e0f5f9;--cyan-ink:#0a6a7d;--indigo:#4a5bd6;--indigo-soft:#eaecff;--indigo-ink:#3846a8;--primary-ink:#1257c4;--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 1px 3px #1018280f, 0 1px 2px #1018280a;--shadow-md:0 4px 14px #10182814, 0 2px 4px #1018280a;--shadow-lg:0 18px 44px #10182824, 0 4px 10px #1018280f;--shadow-primary:0 6px 16px -6px color-mix(in srgb, var(--primary) 60%, transparent);--ring:0 0 0 3px var(--focus-ring);--grad-primary:linear-gradient(180deg, color-mix(in srgb, var(--primary) 86%, #fff) 0%, var(--primary) 100%);--grad-head:linear-gradient(180deg, color-mix(in srgb, var(--table-head) 55%, var(--surface)) 0%, var(--table-head) 100%);--table-head:#eef1f7;--table-head-line:#d8e0ee;--table-col-line:#e6ebf4;--zebra:#f8fafc;--row-hover:#eaf1fb;--row-active:var(--primary-soft);--focus-ring:#1769e024;--step-ring:#1769e02e;--backdrop:#1017226b;--sb-bg:#fff;--sb-gradient:#fff;--sb-fg:#152238;--sb-fg-muted:#5b6880;--sb-fg-faint:#667490;--sb-border:#1018281a;--sb-hover:#1018280d;--sb-active-bg:#1769e01f;--sb-active-fg:#1769e0;--sb-input-bg:#1018280a;--sb-logo-size:32px;--login-logo-size:44px}.rd-root[data-theme=dark]{--bg:#0e1320;--bg-subtle:#131a2a;--surface:#181f30;--surface-elevated:#212a3e;--surface-fill:#212a3e;--surface-sunken:#101725;--border:#2a3346;--border-strong:#3d4a63;--on-solid:#0b1220;--text:#e7ecf6;--text-muted:#a2aec4;--text-faint:#7b8aa4;--primary:#4d9bff;--primary-strong:#7db4ff;--primary-hover:#6ca0ec;--primary-active:#4c7ec8;--text-disabled:#5b6880;--primary-soft:#1d2f52;--primary-softer:#16233c;--primary-border:#2f4d80;--grad-brand:linear-gradient(135deg, #4d9bff 0%, #2f6fd0 100%);--grad-surface:linear-gradient(180deg, #1a2233 0%, #171e2e 100%);--success:#2fc0a0;--success-strong:#5fd0bb;--success-soft:#183b36;--success-ink:#5fd0bb;--warning:#f2a549;--warning-strong:#f0b463;--warning-soft:#3f2f18;--warning-ink:#f0b463;--danger:#eb849f;--danger-strong:#f0a0b6;--danger-soft:#43242f;--danger-ink:#f0a0b6;--info:#4d9bff;--info-soft:#1d2f52;--info-ink:#7db4ff;--violet:#a48be6;--violet-strong:#c3b0f0;--violet-soft:#2e2548;--violet-ink:#c3b0f0;--cyan:#3cc3d8;--cyan-soft:#10333c;--cyan-ink:#6fd6e6;--indigo:#8b97f0;--indigo-soft:#23274a;--indigo-ink:#a7b0f7;--primary-ink:#7db4ff;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #00000057, 0 1px 2px #0000003d;--shadow-md:0 4px 14px #00000061, 0 2px 4px #0000003d;--shadow-lg:0 18px 44px #00000085, 0 4px 10px #0000004d;--shadow-primary:0 6px 16px -6px color-mix(in srgb, var(--primary) 45%, transparent);--ring:0 0 0 3px var(--focus-ring);--grad-primary:linear-gradient(180deg, color-mix(in srgb, var(--primary) 88%, #fff) 0%, color-mix(in srgb, var(--primary) 86%, #000) 100%);--grad-head:linear-gradient(180deg, color-mix(in srgb, var(--table-head) 60%, var(--surface)) 0%, var(--table-head) 100%);--table-head:#1e2739;--table-head-line:#35415a;--table-col-line:#303b52;--zebra:#1a2233;--row-hover:#22304a;--row-active:var(--primary-soft);--focus-ring:#4d9bff38;--step-ring:#4d9bff3d;--backdrop:#0009;--sb-bg:#141c2e;--sb-gradient:#141c2e;--sb-fg:#e9eefb;--sb-fg-muted:#e9eefbad;--sb-fg-faint:#e9eefb7a;--sb-border:#ffffff1a;--sb-hover:#ffffff14;--sb-active-bg:#4d9bff2e;--sb-active-fg:#fff;--sb-input-bg:#ffffff14;--scroll-size:8px;--scroll-size-sm:6px;--scroll-thumb:#3d4a63;--scroll-thumb-hover:#56668a}@media (prefers-color-scheme:dark){.rd-root:not([data-theme]){--bg:#0e1320;--bg-subtle:#131a2a;--surface:#181f30;--surface-elevated:#212a3e;--surface-fill:#212a3e;--surface-sunken:#101725;--border:#2a3346;--border-strong:#3d4a63;--on-solid:#0b1220;--text:#e7ecf6;--text-muted:#a2aec4;--text-faint:#7b8aa4;--primary:#4d9bff;--primary-strong:#7db4ff;--primary-hover:#6ca0ec;--primary-active:#4c7ec8;--text-disabled:#5b6880;--primary-soft:#1d2f52;--primary-softer:#16233c;--primary-border:#2f4d80;--grad-brand:linear-gradient(135deg, #4d9bff 0%, #2f6fd0 100%);--grad-surface:linear-gradient(180deg, #1a2233 0%, #171e2e 100%);--success:#2fc0a0;--success-strong:#5fd0bb;--success-soft:#183b36;--success-ink:#5fd0bb;--warning:#f2a549;--warning-strong:#f0b463;--warning-soft:#3f2f18;--warning-ink:#f0b463;--danger:#eb849f;--danger-strong:#f0a0b6;--danger-soft:#43242f;--danger-ink:#f0a0b6;--info:#4d9bff;--info-soft:#1d2f52;--info-ink:#7db4ff;--violet:#a48be6;--violet-strong:#c3b0f0;--violet-soft:#2e2548;--violet-ink:#c3b0f0;--cyan:#3cc3d8;--cyan-soft:#10333c;--cyan-ink:#6fd6e6;--indigo:#8b97f0;--indigo-soft:#23274a;--indigo-ink:#a7b0f7;--primary-ink:#7db4ff;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #00000057, 0 1px 2px #0000003d;--shadow-md:0 4px 14px #00000061, 0 2px 4px #0000003d;--shadow-lg:0 18px 44px #00000085, 0 4px 10px #0000004d;--shadow-primary:0 6px 16px -6px color-mix(in srgb, var(--primary) 45%, transparent);--ring:0 0 0 3px var(--focus-ring);--grad-primary:linear-gradient(180deg, color-mix(in srgb, var(--primary) 88%, #fff) 0%, color-mix(in srgb, var(--primary) 86%, #000) 100%);--grad-head:linear-gradient(180deg, color-mix(in srgb, var(--table-head) 60%, var(--surface)) 0%, var(--table-head) 100%);--table-head:#1e2739;--table-head-line:#35415a;--table-col-line:#303b52;--zebra:#1a2233;--row-hover:#22304a;--row-active:var(--primary-soft);--focus-ring:#4d9bff38;--step-ring:#4d9bff3d;--backdrop:#0009;--sb-bg:#141c2e;--sb-gradient:#141c2e;--sb-fg:#e9eefb;--sb-fg-muted:#e9eefbad;--sb-fg-faint:#e9eefb7a;--sb-border:#ffffff1a;--sb-hover:#ffffff14;--sb-active-bg:#4d9bff2e;--sb-active-fg:#fff;--sb-input-bg:#ffffff14;--scroll-size:8px;--scroll-size-sm:6px;--scroll-thumb:#3d4a63;--scroll-thumb-hover:#56668a}}
