*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #f5f5f7;--surface: #ffffff;--border: #d2d2d7;--border-light: #e8e8ed;--text: #1d1d1f;--text-secondary: #6e6e73;--text-muted: #86868b;--primary: #0071e3;--primary-hover: #0077ed;--danger: #ff3b30;--row-hover: #f5f5f7;--selected-bg: #e8f0fe;--radius: 10px;--radius-sm: 6px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;--mono: "SF Mono", SFMono-Regular, ui-monospace, Menlo, monospace}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.47;font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;flex-direction:column;height:100%}.app-header{background:#ffffffb8;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border-light);padding:12px 24px;position:sticky;top:0;z-index:100}.app-title-link{text-decoration:none;color:inherit;display:inline-block}.app-title{font-size:17px;font-weight:600;letter-spacing:-.022em}.app-subtitle{color:var(--text-muted);font-size:12px;font-weight:400;letter-spacing:-.01em}.app-main{flex:1;overflow:auto}.list-page{height:100%;display:flex;flex-direction:column}.list-toolbar{display:flex;align-items:center;gap:16px;padding:8px 24px;border-bottom:1px solid var(--border-light);background:var(--surface)}.list-check-all{display:flex;align-items:center}.list-check-all input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.list-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.list-count{font-size:12px;color:var(--text-muted);margin-left:8px}.action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.action-btn:hover:not(:disabled){background:var(--row-hover);color:var(--text)}.action-btn.destructive:hover:not(:disabled){background:#fff0f0;color:var(--danger)}.action-btn:disabled{opacity:.3;cursor:default}.list-table{flex:1;overflow-y:auto;background:var(--surface)}.list-row{display:flex;align-items:center;gap:14px;padding:10px 24px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .1s}.list-row:hover{background:var(--row-hover)}.list-row.is-selected{background:var(--selected-bg)}.list-row-check{width:15px;height:15px;flex-shrink:0;accent-color:var(--primary);cursor:pointer}.list-row-sender{font-weight:500;font-size:13px;min-width:180px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.list-row-content{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row-subject{font-size:13px;color:var(--text)}.list-row-preheader{font-size:12px;color:var(--text-muted)}.list-row-time{font-size:12px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.validation-badge{font-size:11px;font-weight:600;padding:1px 7px;border-radius:4px;flex-shrink:0;letter-spacing:.01em;line-height:1.6}.validation-badge.pass{background:#e8f8ef;color:#1a7f37}.validation-badge.fail{background:#ffeaea;color:#cf222e}.list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center}.list-empty-title{font-size:17px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.list-empty-hint{font-size:13px;color:var(--text-muted)}.spinner{width:24px;height:24px;border:2.5px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.detail-page{height:100%;display:flex;flex-direction:column}.detail-topbar{display:flex;align-items:center;padding:6px 16px;border-bottom:1px solid var(--border-light);background:var(--surface)}.back-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--primary);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;padding:6px 8px;border-radius:var(--radius-sm);transition:background .15s}.back-btn:hover{background:var(--row-hover)}.detail-body{flex:1;display:flex;min-height:0}.detail-nav{width:240px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border-light);background:#fff}.detail-nav-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:12px 14px 8px}.detail-nav-list{flex:1;overflow-y:auto}.detail-nav-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 14px;border:none;border-bottom:1px solid var(--border-light);background:transparent;text-align:left;cursor:pointer;font-family:var(--font);transition:background .1s}.detail-nav-item:hover{background:var(--surface)}.detail-nav-item.is-active{background:var(--selected-bg)}.detail-nav-sender{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-nav-subject{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-nav-time{font-size:10px;color:var(--text-muted)}.detail-main{flex:1;display:flex;align-items:center;justify-content:center;min-width:0}.detail-split{flex:1;display:flex;min-height:0}.detail-preview{flex:1;min-width:0;border-right:1px solid var(--border-light);background:var(--bg);display:flex;flex-direction:column}.preview-toolbar{display:flex;align-items:center;gap:10px;padding:6px 12px;background:var(--surface);border-bottom:1px solid var(--border-light);flex-shrink:0}.viewport-toggle{display:flex;align-items:center;background:var(--bg);border-radius:var(--radius-sm);padding:2px;gap:2px}.viewport-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:26px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.viewport-btn:hover{color:var(--text)}.viewport-btn.is-active{background:var(--surface);color:var(--primary);box-shadow:0 .5px 2px #00000014}.viewport-label{font-size:11px;color:var(--text-muted);font-family:var(--mono);font-weight:500}.preview-frame{flex:1;min-height:0;overflow:auto;display:flex;justify-content:center;background:var(--bg)}.preview-frame iframe{height:100%;border:none;display:block;background:#fff;width:900px;max-width:100%}.preview-frame.is-mobile{padding:16px 0}.preview-frame.is-mobile iframe{width:375px;border-radius:8px;box-shadow:0 2px 16px #0000001a}.preview-frame.source-view{justify-content:stretch;background:#1e1e2e}.source-pre{width:100%;margin:0;padding:16px 20px;font-family:SF Mono,Cascadia Code,Fira Code,Menlo,monospace;font-size:12px;line-height:1.6;color:#cdd6f4;white-space:pre-wrap;word-break:break-all;overflow:auto;-moz-tab-size:4;tab-size:4}.detail-sidebar{width:420px;flex-shrink:0;overflow-y:auto;background:var(--surface)}.inspector{padding:0}.inspector-section{padding:16px 20px;border-bottom:1px solid var(--border-light)}.inspector-heading{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px}.inspector-hint{font-size:13px;color:var(--text-muted)}.validation-panel{padding:14px 20px;border-bottom:1px solid var(--border-light)}.validation-panel.is-pass{background:#f6fef9}.validation-panel.is-fail{background:snow}.validation-panel.is-warn{background:#fffdf5}.validation-toggle{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;text-align:left}.validation-chevron{margin-left:auto;transition:transform .2s ease;color:var(--text-muted);flex-shrink:0}.validation-chevron.is-open{transform:rotate(180deg)}.validation-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.validation-dot.pass{background:#1a7f37}.validation-dot.fail{background:#cf222e}.validation-dot.warn{background:#d4a017}.validation-title{font-size:13px;font-weight:600}.validation-rule{margin-top:8px}.validation-rule-name{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.validation-failures{display:flex;flex-direction:column;gap:3px}.validation-failure-row{display:flex;flex-direction:column;gap:1px;padding:4px 0;border-bottom:1px solid var(--border-light);font-size:11px}.validation-failure-row:last-child{border-bottom:none}.validation-failure-url{font-family:var(--mono);font-size:10px;color:var(--text-secondary);word-break:break-all}.validation-failure-reason{font-size:11px;color:#cf222e;font-weight:500}.validation-rule-name--warn{color:#b08800}.validation-warnings{display:flex;flex-direction:column;gap:3px}.validation-warning-row{display:flex;flex-direction:column;gap:1px;padding:4px 0;border-bottom:1px solid var(--border-light);font-size:11px}.validation-warning-row:last-child{border-bottom:none}.validation-warning-src{font-family:var(--mono);font-size:10px;color:var(--text-secondary);word-break:break-all}.validation-warning-reason{font-size:11px;color:#b08800;font-weight:500}.inspector-link-block{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border-light)}.original-url-row{margin-top:6px;padding-top:6px;border-top:1px dashed var(--border-light)}.original-url-row .info-row{font-size:10px}.original-url-row .info-value.mono{font-size:9px}.utm-block{margin-top:6px;padding-top:6px;border-top:1px dashed var(--border-light)}.info-row{display:flex;align-items:flex-start;gap:8px;padding:3px 0;font-size:12px;line-height:1.5}.info-label{color:var(--text-muted);min-width:72px;flex-shrink:0;font-weight:500}.info-value{color:var(--text);word-break:break-all;display:flex;align-items:center;gap:6px}.info-value.mono{font-family:var(--mono);font-size:11px}.info-value.muted{color:var(--text-muted)}.info-value.bold{font-weight:600}.info-row.is-warn{background:#fff7e0;margin:2px -6px;padding:3px 6px;border-radius:4px}.info-value.warn{color:#b35c00;font-weight:600}.info-row.is-fail{background:#fff0f0;margin:2px -6px;padding:3px 6px;border-radius:4px}.info-value.fail{color:#cf222e;font-weight:600}.info-row.is-pass{background:#f0faf4;margin:2px -6px;padding:3px 6px;border-radius:4px}.info-value.pass{color:#1a7f37;font-weight:600}.color-swatch{display:inline-block;width:14px;height:14px;border-radius:3px;border:1px solid var(--border);flex-shrink:0}@media(max-width:768px){.app-header{padding:10px 16px}.list-toolbar{padding:8px 16px}.list-row{padding:10px 16px}.list-row-sender{min-width:120px;max-width:160px}.detail-nav{display:none}.detail-split{flex-direction:column}.detail-preview{border-right:none;border-bottom:1px solid var(--border-light);height:50%}.detail-sidebar{width:100%;height:50%}}
