.rl-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--card);border-radius:12px;box-shadow:0 1px 4px #00000012;margin-bottom:12px}.rl-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;flex-shrink:0}.rl-banner[data-state=on] .rl-dot{background:#22c55e}.rl-banner-text{flex:1;font-size:14px;color:var(--text);min-width:0}.rl-banner-btn{flex-shrink:0;height:30px;padding:0 14px;border:none;border-radius:8px;background:var(--primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:filter .15s}.rl-banner-btn:hover{filter:brightness(1.05)}.rl-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}.rl-seg{display:inline-flex;background:var(--card);padding:3px;border-radius:10px;box-shadow:0 1px 4px #0000000f}.rl-seg-btn{padding:6px 14px;border:none;background:transparent;color:var(--sub);font-size:13px;font-weight:600;border-radius:8px;cursor:pointer;transition:background .15s,color .15s}.rl-seg-btn.active{background:var(--primary);color:#fff}.rl-info{font-size:12.5px;color:var(--sub);flex:1;text-align:right;min-width:0}.rl-info b{color:var(--text);font-weight:600}.rl-stage{position:relative;background:var(--card);border-radius:14px;padding:0;box-shadow:0 2px 10px #00000014}.rl-stage[data-orient=h]{height:110px;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;-webkit-overflow-scrolling:touch}.rl-stage[data-orient=v]{overflow:visible;touch-action:auto}.rl-canvas{display:block}.rl-cursor{position:absolute;pointer-events:none;top:0;left:0}.rl-stage[data-orient=h] .rl-cursor{width:1px;height:100%;transform:translate(0)}.rl-stage[data-orient=v] .rl-cursor{width:100%;height:1px;transform:translateY(0)}.rl-cursor-line{position:absolute;background:var(--primary);opacity:.85}.rl-stage[data-orient=h] .rl-cursor-line{width:1px;height:100%;left:0;top:0}.rl-stage[data-orient=v] .rl-cursor-line{height:1px;width:100%;top:0;left:0}.rl-cursor-tip{position:absolute;background:var(--primary);color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap;pointer-events:auto;cursor:ew-resize}.rl-stage[data-orient=h] .rl-cursor-tip{top:50%;left:4px;transform:translateY(-50%)}.rl-stage[data-orient=v] .rl-cursor-tip{left:50%;top:4px;transform:translate(-50%);cursor:ns-resize}.rl-hint{margin:14px 4px 4px;font-size:12.5px;color:var(--sub);line-height:1.6}.cal-modal{width:min(95vw,520px)}.modal-mask .cal-modal{max-height:92vh}.cal-modal .modal-body{padding:18px 18px 22px}.cal-tabs{display:flex;background:var(--card-alt);padding:3px;border-radius:10px;gap:0}.cal-tab{flex:1;padding:7px 10px;border:none;background:transparent;color:var(--sub);font-size:13px;font-weight:600;border-radius:8px;cursor:pointer;transition:background .15s,color .15s}.cal-tab.active{background:var(--card);color:var(--text);box-shadow:0 1px 3px #00000014}.cal-pane.hidden{display:none}.cal-search{width:100%;height:36px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--card-alt);color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}.cal-search:focus{border-color:var(--primary)}.cal-list{max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.cal-group-head{padding:7px 12px;background:var(--card-alt);font-size:12px;font-weight:600;color:var(--sub);position:sticky;top:0;z-index:1}.cal-row{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-top:1px solid var(--border);font-size:13px;cursor:pointer;background:var(--card);transition:background .12s}.cal-row:hover{background:var(--card-alt)}.cal-row-name{color:var(--text);font-weight:500;flex:1;min-width:0}.cal-row-meta{color:var(--sub);font-size:11.5px;flex-shrink:0;margin-left:10px;font-variant-numeric:tabular-nums}.cal-tip{font-size:12px;color:var(--sub);line-height:1.5}.cal-tip b{color:var(--text);font-weight:600}.cal-ppi-row{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--card-alt);border-radius:8px;flex-wrap:wrap}.cal-ppi-label{font-size:12.5px;color:var(--sub);font-weight:500;white-space:nowrap}.cal-ppi-input{flex:1;min-width:80px;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s;font-variant-numeric:tabular-nums}.cal-ppi-input:focus{border-color:var(--primary)}.cal-ppi-input::-webkit-outer-spin-button,.cal-ppi-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cal-ppi-btn{flex:0 0 auto;height:32px;padding:0 16px;font-size:13px}.cal-card-tip{font-size:13px;color:var(--text);line-height:1.6}.cal-card-orient{display:flex;gap:0;background:var(--card-alt);padding:3px;border-radius:8px}.cal-orient-btn{flex:1;padding:6px;border:none;background:transparent;color:var(--sub);font-size:12.5px;font-weight:600;border-radius:6px;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.cal-orient-btn.active{background:var(--card);color:var(--text);box-shadow:0 1px 3px #00000014}.cal-card-stage{display:flex;justify-content:center;align-items:center;padding:6px 20px 24px;min-height:180px;overflow:visible}.cal-card{position:relative;width:280px;height:176.5px;border-radius:10px;background:linear-gradient(135deg,#4a5fc1,#6c7be5 60%,#8d99eb);box-shadow:0 4px 14px #0003;flex-shrink:0;user-select:none;touch-action:none}.cal-card-chip{position:absolute;background:linear-gradient(135deg,#d4af37,#f4d96d);border-radius:4px;box-shadow:inset 0 0 0 1px #ffffff4d}.cal-card-num{position:absolute;color:#ffffffd9;font-family:monospace;letter-spacing:1px;white-space:nowrap;overflow:hidden}.cal-card[data-card-orient=port]{box-shadow:0 4px 14px #0003,inset 0 2px #ffffff80,inset 0 -2px #0003}.cal-card-handle{position:absolute;width:32px;height:32px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;box-shadow:0 2px 8px #00000040;touch-action:none}.cal-card[data-card-orient=land] .cal-card-handle{right:-16px;top:50%;transform:translateY(-50%);cursor:ew-resize}.cal-card[data-card-orient=port] .cal-card-handle{bottom:-16px;left:50%;transform:translate(-50%) rotate(90deg);cursor:ns-resize}.cal-card-meta{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--sub)}.cal-card-meta b{color:var(--text);font-variant-numeric:tabular-nums}.cal-card-actions{display:flex;gap:8px}.cal-btn{height:36px;padding:0 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:filter .15s,background .15s;font-family:inherit}.cal-btn-ghost{background:var(--card-alt);color:var(--text);width:36px;padding:0;font-size:18px}.cal-btn-ghost:hover{background:var(--border)}.cal-btn-primary{flex:1;background:var(--primary);color:#fff}.cal-btn-primary:hover{filter:brightness(1.05)}@media(max-width:600px){.cal-modal{width:calc(100vw - 24px)}.cal-card-stage{padding:6px 24px 4px}}
