.ut-container{height:100%;display:flex;flex-direction:column;background:#fff}.ut-kpi-bar{background:#f8f9fb;border-bottom:1px solid #eaeef2;flex-shrink:0}.ut-kpi-progress-row{display:flex;align-items:center;gap:10px;padding:14px 16px 8px}.ut-kpi-rate{font-size:13px;font-weight:700;color:#43a047;white-space:nowrap;min-width:90px}.ut-kpi-rate--failing{color:#ef5350}.ut-kpi-bar-wrap{flex:1;height:8px;background:#e8ecf0;border-radius:4px;overflow:hidden;display:flex}.ut-kpi-bar-pass{height:100%;background:#43a047;border-radius:4px 0 0 4px;transition:width .3s ease}.ut-kpi-bar-pass--full{border-radius:4px}.ut-kpi-bar-fail{height:100%;background:#ef5350;flex:1;border-radius:0 4px 4px 0}.ut-kpi-pills{display:flex;gap:6px;padding:0 16px 14px;flex-wrap:wrap}.ut-kpi-pill{display:flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border-radius:20px;font-size:11px;font-weight:600;background:#fff;border:1px solid #e3e8ef;color:#1a1f2e}.ut-kpi-pill-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.ut-kpi-pill-dot--pass{background:#43a047}.ut-kpi-pill-dot--fail{background:#ef5350}.ut-kpi-pill-dot--skip{background:#bbb}.ut-kpi-pill-name{color:#8a94a0;font-weight:400;margin-left:2px;font-size:10px}.ut-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-bottom:1px solid #eaeef2;flex-shrink:0}.ut-toolbar-left{display:flex;align-items:center;gap:8px;font-size:11px;color:#888}.ut-toolbar-cmd{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;background:#f4f4f4;border:1px solid #ddd;border-radius:3px;padding:1px 6px;color:#555}.ut-btn{padding:4px 10px;font-size:12px;border-radius:4px;border:1px solid rgba(0,0,0,.15);background:transparent;color:#444;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .15s,border-color .15s}.ut-btn:hover{background:#0000000a}.ut-btn--run{background:#43a047;border-color:#43a047;color:#fff;font-weight:600}.ut-btn--run:hover{background:#388e3c;border-color:#388e3c}.ut-btn--run:disabled{opacity:.55;cursor:not-allowed}.ut-test-list{flex:1;overflow:auto;padding:8px 0 16px}.ut-describe-card{margin:0 10px 6px;border:1px solid #d8dfe8;border-radius:6px;overflow:hidden}.ut-describe-card--collapsed .ut-describe-header{border-bottom:none}.ut-describe-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ecf0f6;border-bottom:1px solid #d8dfe8;-webkit-user-select:none;user-select:none;cursor:pointer;transition:background .15s;flex-wrap:wrap}.ut-describe-header:hover{background:#e2e8f0}.ut-describe-toggle{font-size:10px;color:#999;width:12px;flex-shrink:0}.ut-describe-name{font-size:12px;font-weight:600;color:#333;flex:1}.ut-describe-badge{font-size:10px;font-weight:700;padding:1px 7px;border-radius:10px;background:#d2ebd3;color:#4a894d}.ut-describe-badge--fail{background:#fde8e7;color:#c62828}.ut-test-row{display:flex;align-items:center;padding:5px 12px 5px 32px;gap:8px;border-bottom:1px solid #f2f4f7;font-size:12px}.ut-test-row:hover{background:#f9fafb}.ut-test-row--fail{background:#fff8f8}.ut-test-row--fail:hover{background:#fff0f0}.ut-test-icon{flex-shrink:0;width:16px;text-align:center;font-size:11px}.ut-test-icon--pass{color:#43a047}.ut-test-icon--fail{color:#ef5350}.ut-test-icon--skip{color:#bbb}.ut-test-name{flex:1;color:#333}.ut-test-name--fail{color:#c62828}.ut-test-duration{color:#aaa;font-size:11px;font-family:ui-monospace,SFMono-Regular,monospace;flex-shrink:0}.ut-test-failure{margin:0 12px 6px 32px;background:#fff8f8;border:1px solid #f5c6c6;border-radius:4px;padding:8px 10px;font-size:11px;font-family:ui-monospace,SFMono-Regular,monospace;color:#c62828;line-height:1.6;white-space:pre-wrap;word-break:break-word}.ut-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:#999;font-size:13px;text-align:center;padding:24px}.ut-empty-cmd{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;background:#f4f4f4;border:1px solid #ddd;border-radius:3px;padding:4px 10px;color:#555;margin-top:4px}.ut-confirm-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:9999;cursor:pointer}.ut-confirm-dialog{background:#1e1e1e;border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:0 8px 32px #00000080;width:420px;max-width:90vw;overflow:hidden;cursor:default}.ut-confirm-header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.ut-confirm-title{font-size:14px;font-weight:600;color:#f5f5f5}.ut-confirm-message{padding:16px 22px;font-size:13px;color:#ccc;line-height:1.6}.ut-confirm-message code{font-family:ui-monospace,SFMono-Regular,monospace;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:3px;padding:1px 6px;font-size:11px;color:#ddd}.ut-confirm-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 22px 16px;border-top:1px solid rgba(255,255,255,.1)}.ut-confirm-btn{padding:5px 14px;font-size:12px;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#ccc;cursor:pointer;font-family:inherit}.ut-confirm-btn:hover{background:#ffffff0f}.ut-confirm-btn--run{background:#66bb6a26;border-color:#66bb6a66;color:#66bb6a;font-weight:600}.ut-confirm-btn--run:hover{background:#66bb6a40}.ut-progress-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:9999}.ut-progress-panel{background:#1e1e1e;border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:0 8px 32px #00000080;width:520px;max-width:92vw;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}.ut-progress-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.ut-progress-title{font-size:12px;font-weight:600;color:#ccc;text-transform:uppercase;letter-spacing:.4px}.ut-progress-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.15);border-top-color:#66bb6a;border-radius:50%;animation:ut-spin .8s linear infinite;flex-shrink:0}@keyframes ut-spin{to{transform:rotate(360deg)}}.ut-progress-close{padding:3px 10px;font-size:11px;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#ccc;cursor:pointer;font-family:inherit}.ut-progress-close:hover{background:#ffffff0f}.ut-progress-body{flex:1;overflow:auto;padding:10px 14px 14px}.ut-progress-line{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;color:#aaa;line-height:1.7;white-space:pre-wrap;word-break:break-all}.ut-progress-line--success{color:#66bb6a;font-weight:600}.ut-progress-line--error{color:#ef5350;font-weight:600}.pp-container{height:100%;display:flex;flex-direction:column;position:relative;background:#fff}.pp-tab-bar{display:flex;justify-content:space-between;align-items:center;padding:0 16px;border-bottom:1px solid #eaeef2;flex-shrink:0;flex-wrap:wrap;gap:8px}.pp-tab-group{display:flex;gap:0}.pp-table-wrap{flex:1;overflow:auto;margin:-1px 5px 16px}.pp-toolbar-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pp-btn{padding:4px 10px;font-size:12px;border:1px solid rgba(0,0,0,.15);border-radius:4px;background:transparent;color:#444;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .15s,border-color .15s}.pp-btn:hover{background:#0000000a}.pp-btn--run{background:#43a047;border-color:#43a047;color:#fff;font-weight:600}.pp-btn--run:hover,.pp-btn--run-empty:hover{background:#388e3c;border-color:#388e3c}.pp-btn--run:disabled,.pp-btn--run-empty:disabled{opacity:.55;cursor:not-allowed}.pp-btn--run-empty{background:#43a047;border-color:#43a047;color:#fff;font-weight:600;font-size:13px;padding:7px 18px}.pp-btn--figma{color:#7b1fa2;border-color:#7b1fa259}.pp-btn--figma:hover{background:#7b1fa20d}.pp-btn--figma:disabled{opacity:.5;cursor:not-allowed}.pp-btn--mapping{border-color:#8e24aa59;color:#8e24aa}.pp-btn--mapping:hover{background:#8e24aa0d}.pp-btn--mapping-active{border-color:#2e7d3266;color:#2e7d32}.pp-btn--mapping-active:hover{background:#2e7d320d}.pp-empty-actions{display:flex;gap:8px;align-items:center}.pp-tab-btn{padding:8px 16px;font-size:12px;font-weight:600;color:#666;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s;white-space:nowrap}.pp-tab-btn:hover{color:#333}.pp-tab-count{margin-left:6px;padding:2px 8px;border-radius:10px;background:#ce94d8;color:#fff;font-size:10px;font-weight:600}.pp-action-btn{padding:2px 8px;font-size:11px;border:1px solid rgba(0,0,0,.12);border-radius:3px;background:transparent;color:#555;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.pp-action-btn:hover{background:#0000000a;border-color:#0003}.pp-action-btn--diff{color:#c62828;border-color:#c628284d}.pp-action-btn--diff:hover{background:#c628280d;border-color:#c6282880}.pp-action-btn--promote{color:#e65100;border-color:#e651004d}.pp-action-btn--promote:hover{background:#ff980012;border-color:#e6510080}.pp-action-btn--history{color:#1565c0;border-color:#1565c04d}.pp-action-btn--history:hover{background:#1565c00d;border-color:#1565c080}.pp-divider{display:inline-block;width:1px;height:18px;background:#0000001a;margin:0 4px}.pp-kpi-bar{margin-bottom:12px;background:#f8f9fb;border-bottom:1px solid #eaeef2;flex-shrink:0}.pp-kpi-progress-row{display:flex;align-items:center;gap:10px;padding:14px 16px 8px}.pp-kpi-rate{font-size:13px;font-weight:700;white-space:nowrap;min-width:100px}.pp-kpi-bar-wrap{flex:1;height:8px;background:#e8ecf0;border-radius:4px;overflow:hidden;display:flex}.pp-kpi-bar-pass{height:100%;background:#43a047;border-radius:4px 0 0 4px;transition:width .3s ease}.pp-kpi-bar-pass--full{border-radius:4px}.pp-kpi-bar-fail{height:100%;background:#ef5350;flex:1;border-radius:0 4px 4px 0}.pp-kpi-counts{font-size:10px;color:#8a94a0;white-space:nowrap}.pp-kpi-pills{display:flex;gap:6px;padding:0 16px 16px;flex-wrap:wrap}.pp-kpi-pill{display:flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border-radius:20px;font-size:11px;font-weight:600;background:#fff;border:1px solid #e3e8ef;color:#1a1f2e}.pp-kpi-pill-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.pp-kpi-pill-name{color:#8a94a0;font-weight:400;margin-left:2px;font-size:10px}.pp-story-card{margin:10px;border:1px solid rgb(216 223 232);border-radius:6px;overflow:hidden}.pp-story-card--collapsed .pp-story-header{border-bottom:none}.pp-story-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ecf0f6;border-bottom:1px solid rgba(255,255,255,.06);flex-wrap:wrap;gap:6px;-webkit-user-select:none;user-select:none;transition:background .15s}.pp-story-header:hover{background:#e2e8f0}.pp-story-header-left{display:flex;align-items:center;gap:6px}.pp-story-toggle{font-size:11px;color:#888;width:12px;flex-shrink:0}.pp-story-group{font-weight:600;font-size:12px;color:#006eeb}.pp-story-variant{color:#666;font-size:11px}.pp-story-summary{font-size:10px;color:#999;margin-left:4px}.pp-table{width:100%;border-collapse:collapse;font-size:12px}.pp-th{padding:6px 10px;text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#777;border-bottom:1px solid rgba(255,255,255,.05)}.pp-th--status{width:24px}.pp-th--viewport{width:90px}.pp-th--diff{width:80px;text-align:right}.pp-th--commit{width:60px}.pp-th--actions{text-align:left}.pp-td{padding:7px 10px;border-bottom:1px solid rgba(255,255,255,.03);vertical-align:middle;font-size:12px;color:#e0e0e0}.pp-td--diff{text-align:right;font-family:monospace;font-weight:600}.pp-td--commit{font-family:monospace;color:#888;font-size:11px}.pp-td--tested{font-size:10px;color:#777}.pp-td--actions{text-align:left}.pp-action-group,.pp-actions-wrap{display:flex;gap:4px;justify-content:left;flex-wrap:wrap}.pp-viewport-badge{font-size:11px;white-space:nowrap;color:#666}.pp-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.pp-history-row{background:#ffffff04}.pp-history-row:hover{background:#ecf0f7}.pp-history-row--best{background:#66bb6a0a}.pp-history-cell{opacity:.6;font-size:11px}.pp-history-best-row{background:#66bb6a0a}.pp-history-best-cell{font-size:10px;opacity:.7}.pp-history-best-tag{display:inline-block;margin-left:6px;padding:0 5px;border-radius:3px;background:#66bb6a26;color:#66bb6a;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.pp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#999;font-size:14px;gap:8px}.pp-code{padding:4px 8px;border-radius:4px;background:#ffffff1a;font-size:13px;font-family:monospace;color:#666}.pp-toast{position:absolute;top:8px;right:16px;padding:6px 14px;border-radius:4px;background:#66bb6ae6;color:#fff;font-size:12px;font-weight:600;z-index:100;pointer-events:none}.pp-modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0009;backdrop-filter:blur(3px);cursor:pointer}.pp-modal{background:#1e1e1e;border:1px solid rgba(255,255,255,.12);border-radius:8px;max-width:95vw;max-height:95vh;display:flex;flex-direction:column;cursor:default;overflow:hidden;box-shadow:0 8px 32px #00000080}.pp-modal--confirm{max-width:420px;padding:0}.pp-modal--mapping{max-width:500px;padding:0}.pp-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 26px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.pp-modal-title{font-size:16px;font-weight:600;color:#f5f5f5}.pp-modal-close{padding:4px 12px;font-size:12px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:transparent;color:#ccc;cursor:pointer}.pp-modal-body{padding:16px;overflow:auto;display:flex;align-items:center;justify-content:center;position:relative}.pp-modal-image{max-width:100%;max-height:80vh;object-fit:contain;border-radius:4px;border:1px solid rgba(255,255,255,.1)}.pp-modal-browser-logo{width:36px;height:36px;object-fit:contain;margin-right:16px;vertical-align:middle;flex-shrink:0}.pp-modal-counter{margin-left:8px;font-size:11px;color:#888;font-weight:400}.pp-modal-nav{position:absolute;top:50%;transform:translateY(-50%);background:#0009;border:1px solid rgba(255,255,255,.15);color:#fff;font-size:28px;width:40px;height:60px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s;z-index:10;padding:0;line-height:1}.pp-modal-nav:hover{background:#000000d9}.pp-modal-nav--left{left:8px}.pp-modal-nav--right{right:8px}.pp-modal__message{padding:16px 20px;font-size:13px;color:#ccc;line-height:1.5}.pp-modal__footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;border-top:1px solid rgba(255,255,255,.1)}.pp-modal__body-form{padding:12px 24px 26px;font-size:13px;color:#ccc;line-height:1.8}.pp-btn--baseline-confirm{background:#ffb74d;color:#1a1a1a;border-color:#ffb74d;font-weight:600}.pp-btn--mapping-confirm{background:#ce93d8;color:#1a1a1a;border-color:#ce93d8;font-weight:600}.pp-img-error{color:#999;font-size:14px}.pp-baseline-empty{font-size:10px;color:#555;font-style:italic}.pp-baseline-wrap{font-size:10px}.pp-baseline-badge{display:inline-block;padding:1px 5px;border-radius:3px;font-weight:700;font-size:9px;text-transform:uppercase;letter-spacing:.4px;margin-right:4px}.pp-baseline-date{color:#999}.pp-progress-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;background:#0009;backdrop-filter:blur(3px)}.pp-progress-panel{background:#1e1e1e;border:1px solid rgba(255,255,255,.12);border-radius:8px;width:420px;max-width:90%;max-height:60%;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}.pp-progress-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.pp-progress-title{font-size:12px;font-weight:600;color:#ccc;text-transform:uppercase;letter-spacing:.4px}.pp-progress-close{padding:3px 10px;font-size:11px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:transparent;color:#ccc;cursor:pointer}.pp-progress-body{padding:12px 16px;overflow:auto;flex:1}.pp-progress-line{font-size:11px;font-family:monospace;color:#aaa;line-height:1.7}.pp-progress-line--success{color:#66bb6a;font-weight:600}.pp-progress-line--error{color:#ef5350;font-weight:600}.pp-progress-header-right{display:flex;align-items:center;gap:8px}@keyframes pp-spin{to{transform:rotate(360deg)}}.pp-progress-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.15);border-top-color:#66bb6a;border-radius:50%;animation:pp-spin .8s linear infinite}.pp-browser-progress{display:flex;flex-direction:column;gap:4px;margin:6px 0 8px 12px}.pp-browser-progress-item{display:flex;align-items:center;gap:6px;font-size:12px;font-family:monospace;color:#888;transition:color .2s}.pp-browser-progress-item--running{color:#ccc}.pp-browser-progress-item--done{color:#66bb6a}.pp-browser-check{color:#66bb6a;font-weight:700;font-size:13px;width:14px;text-align:center}.pp-browser-pending-dot{color:#555;font-size:13px;width:14px;text-align:center}.pp-browser-mini-spinner{display:inline-block;width:12px;height:12px;border:1.5px solid rgba(255,255,255,.12);border-top-color:#ffa726;border-radius:50%;animation:pp-spin .8s linear infinite;flex-shrink:0}.pp-browser-progress-label{font-size:12px}.pp-mapping-hint{margin:0 0 12px;color:#999;font-size:14px;line-height:1.4em}.pp-mapping-autodetect{margin:8px 0 0;font-size:11px;color:#66bb6a}.pp-field-label{display:block;font-size:11px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.4px;margin-top:8px;margin-bottom:3px}.pp-field-input{display:block;width:100%;padding:6px 10px;font-size:13px;font-family:monospace;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#e0e0e0;outline:none;box-sizing:border-box}.pp-modal--run-tests{max-width:480px;padding:0}.pp-run-type-options{display:flex;flex-direction:column;gap:8px;margin-top:12px}.pp-run-type-btn{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff08;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.pp-run-type-btn--active{border-color:#ce93d8;background:#ce93d814}.pp-run-type-label{font-size:13px;font-weight:600;color:#e0e0e0}.pp-run-type-desc{font-size:11px;color:#888;line-height:1.4}.pp-modal--help{max-width:540px;padding:0}.pp-help-body{padding:20px 24px;overflow:auto;max-height:70vh}.pp-help-section{margin-bottom:20px}.pp-help-section:last-child{margin-bottom:0}.pp-help-heading{font-size:13px;font-weight:700;color:#ce93d8;margin:0 0 6px;text-transform:uppercase;letter-spacing:.3px}.pp-help-section p{font-size:12px;color:#bbb;line-height:1.5;margin:0 0 8px}.pp-help-steps{margin:0;padding-left:18px;font-size:12px;color:#aaa;line-height:1.7}.pp-help-steps strong{color:#e0e0e0}.pp-btn--clear{color:#c62828;border-color:#c628284d;font-size:11px}.pp-btn--clear:hover{background:#c628280d}.pp-browser-selector{margin-bottom:16px}.pp-browser-options{display:flex;gap:8px;margin-top:6px}.pp-browser-btn{display:flex;flex:1;flex-direction:column;align-items:center;gap:10px;padding:12px 14px;border:1px solid #444;border-radius:6px;background:transparent;color:#aaa;cursor:pointer;transition:border-color .15s,background .15s,color .15s;font-size:12px}.pp-browser-btn:hover{border-color:#666;color:#e0e0e0}.pp-browser-btn--active{border-color:#b39ddb;background:#b39ddb1a;color:#e0e0e0}.pp-browser-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.pp-browser-label{font-size:12px}.pp-th--browser-diff{width:60px;text-align:right;padding:6px 8px}.pp-th--browser-diff svg{display:inline-block;opacity:.7}.pp-td--browser-diff{text-align:right;font-size:12px;font-variant-numeric:tabular-nums;padding:6px 8px}.pp-td--avg-diff{text-align:right;font-size:12px;font-style:italic;font-variant-numeric:tabular-nums}.pp-btn--help{width:26px;height:26px;padding:0;font-size:12px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;background:transparent;border-color:#00000026;color:#666;margin-left:4px}.pp-btn--help:hover{background:#0000000a}
