:root{color-scheme:light;--bg: #f7f8fb;--bg-2: #eef1f5;--ink: #101828;--muted: #475467;--accent: #0b2d4d;--accent-2: #0e7490;--card: #ffffff;--border: #d0d5dd;--shadow: 0 10px 24px rgba(16, 24, 40, .08);--radius: 12px;--mono: "IBM Plex Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--sans: "IBM Plex Sans", "Source Sans 3", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--surface: #f8fafc;--surface-2: #e4e7ec;--on-surface-2: #344054;--btn-fg: white}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--sans);color:var(--ink);background-color:var(--bg);background-image:linear-gradient(90deg,rgba(11,45,77,.04) 1px,transparent 1px),linear-gradient(0deg,rgba(11,45,77,.04) 1px,transparent 1px),linear-gradient(180deg,var(--bg),var(--bg-2));background-size:48px 48px,48px 48px,auto;background-attachment:fixed}main{max-width:760px;margin:0 auto;padding:48px 24px;display:flex;flex-direction:column;gap:24px;min-height:100dvh}header{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:16px}.header-text{display:flex;flex-direction:column;gap:4px}.header-controls{display:flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0;margin-top:8px}.locale-select{width:auto;padding:6px 10px;font-size:.875rem;border-radius:8px;min-width:0}h1{font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.02em;margin:0}.subtitle{color:var(--muted);line-height:1.5;margin:0}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.card{background:var(--card);border-radius:var(--radius);padding:22px;border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}label{font-size:.85rem;color:var(--muted)}input,select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--ink);font-family:inherit;font-size:.95rem}button{border:none;border-radius:10px;padding:10px 18px;font-weight:600;letter-spacing:.01em;cursor:pointer;background:var(--accent);color:var(--btn-fg);transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 8px 16px #0b2d4d2e}button.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent);box-shadow:none}button:disabled{opacity:.6;cursor:not-allowed}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 18px #0b2d4d3d}details[inert]{opacity:.45;cursor:not-allowed}details[inert]>summary{pointer-events:none}.progress-bar-track{position:relative;height:20px;border-radius:999px;background:var(--surface-2);overflow:hidden}@keyframes progress-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress-bar-fill{height:100%;background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px;background-color:#0e7490;animation:progress-stripes 1.8s linear infinite;transition:width .3s ease;min-width:4px}.status-banner{padding:12px 16px;border-radius:10px;font-weight:600;font-size:.95rem;border:1px solid var(--border);background:var(--surface)}.status-banner.ok{background:#e7f8ee;border-color:#a7f3d0;color:#065f46}.status-banner.warning{background:#fffbeb;border-color:#fcd34d;color:#92400e}.status-banner.error{background:#fff7ed;border-color:#fdba74;color:#9a3412}.status-banner.critical{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.level-pill{display:inline-block;font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--on-surface-2);text-transform:uppercase;letter-spacing:.02em;width:max-content}.level-pill.severity-debug{background:#f1f5f9;color:#475467}.level-pill.severity-info{background:transparent;color:#6b7280;border:1px solid #d1d5db}.level-pill.severity-notice{background:#e0f2fe;color:#075985}.level-pill.severity-warning{background:#fef3c7;color:#92400e}.level-pill.severity-error{background:#ffedd5;color:#9a3412}.level-pill.severity-critical{background:#fee2e2;color:#991b1b}.result-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.result-heading{margin:0;font-size:1.1rem}.result-date{margin:2px 0 0;font-family:var(--mono)}.module-list{display:flex;flex-direction:column;gap:12px}.module-card{border:1px solid var(--border);border-radius:6px;background:var(--card);overflow:hidden}.module-summary{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.module-summary::-webkit-details-marker{display:none}.module-summary:hover{background:var(--surface)}.module-chevron{width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .18s ease;flex-shrink:0}details[open]>.module-summary>.module-chevron{transform:rotate(45deg)}.module-name{font-weight:600;font-size:.95rem;flex:1}.module-badges{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.module-entries{border-top:1px solid var(--border);padding:14px 18px;background:var(--surface);display:flex;flex-direction:column;gap:6px}.testcase-group{border:1px solid var(--border);border-radius:4px}.testcase-summary{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:.88rem;list-style:none}.testcase-badge{margin-left:auto;flex-shrink:0}.testcase-summary::-webkit-details-marker{display:none}.testcase-chevron{display:inline-block;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .15s;flex-shrink:0}details[open]>.testcase-summary .testcase-chevron{transform:rotate(45deg)}.testcase-desc{color:var(--ink)}.testcase-entries{border-top:1px solid var(--border);padding:8px 12px;display:flex;flex-direction:column;gap:4px}.result-row{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:flex-start;padding:6px 0;min-width:0}.result-message{min-width:0;overflow-wrap:break-word;word-break:break-word}.entry-level{font-family:var(--mono);font-size:.78rem}.entry-message{font-size:.9rem;color:var(--ink);line-height:1.4}.mono{font-family:var(--mono);font-size:.85rem}.small{font-size:.82rem;color:var(--muted)}.notice{padding:10px 12px;border-radius:10px;background:#fef3c7;color:#92400e;font-size:.85rem}.error-box{padding:10px 12px;border-radius:10px;background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;font-size:.85rem}.theme-toggle{flex-shrink:0;background:transparent;border:1px solid var(--border);color:var(--muted);box-shadow:none;padding:6px 11px;font-size:1rem;line-height:1;border-radius:8px}.theme-toggle:hover:not(:disabled){transform:none;box-shadow:none;background:var(--surface);color:var(--ink)}.reveal{animation:rise .5s ease both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){main{padding:28px 16px 60px}.result-row{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){color-scheme:dark;--bg: #0d1117;--bg-2: #161b22;--ink: #e6edf3;--muted: #8b949e;--accent: #58a6ff;--accent-2: #22d3ee;--card: #161b22;--border: #30363d;--shadow: 0 10px 24px rgba(0, 0, 0, .5);--surface: #21262d;--surface-2: #30363d;--on-surface-2: #8b949e;--btn-fg: #0d1117}:root:not([data-theme=light]):not([data-theme=dark]) body{background-image:linear-gradient(90deg,rgba(200,220,255,.03) 1px,transparent 1px),linear-gradient(0deg,rgba(200,220,255,.03) 1px,transparent 1px),linear-gradient(180deg,var(--bg),var(--bg-2))}:root:not([data-theme=light]):not([data-theme=dark]) .level-pill.severity-notice{background:#0c2233;color:#7dd3fc}:root:not([data-theme=light]):not([data-theme=dark]) .level-pill.severity-warning{background:#2a1f0a;color:#fbbf24}:root:not([data-theme=light]):not([data-theme=dark]) .level-pill.severity-error{background:#2a150a;color:#fb923c}:root:not([data-theme=light]):not([data-theme=dark]) .level-pill.severity-critical{background:#2a0a0a;color:#f87171}}:root[data-theme=dark]{color-scheme:dark;--bg: #0d1117;--bg-2: #161b22;--ink: #e6edf3;--muted: #8b949e;--accent: #58a6ff;--accent-2: #22d3ee;--card: #161b22;--border: #30363d;--shadow: 0 10px 24px rgba(0, 0, 0, .5);--surface: #21262d;--surface-2: #30363d;--on-surface-2: #8b949e;--btn-fg: #0d1117}:root[data-theme=dark] body{background-image:linear-gradient(90deg,rgba(200,220,255,.03) 1px,transparent 1px),linear-gradient(0deg,rgba(200,220,255,.03) 1px,transparent 1px),linear-gradient(180deg,var(--bg),var(--bg-2))}:root[data-theme=dark] .level-pill.severity-notice{background:#0c2233;color:#7dd3fc}:root[data-theme=dark] .level-pill.severity-warning{background:#2a1f0a;color:#fbbf24}:root[data-theme=dark] .level-pill.severity-error{background:#2a150a;color:#fb923c}:root[data-theme=dark] .level-pill.severity-critical{background:#2a0a0a;color:#f87171}.fork-ribbon{width:12.1em;height:12.1em;position:absolute;overflow:hidden;top:0;right:0;z-index:9999;pointer-events:none;font-size:13px;text-decoration:none;text-indent:-999999px}.fork-ribbon.fixed{position:fixed}.fork-ribbon:hover,.fork-ribbon:active{background-color:transparent}.fork-ribbon:before,.fork-ribbon:after{position:absolute;display:block;width:15.38em;height:1.54em;top:3.23em;right:-3.23em;box-sizing:content-box;transform:rotate(45deg)}.fork-ribbon:before{content:"";padding:.38em 0;background-color:#a00;background-image:linear-gradient(to bottom,#0000,#00000026);box-shadow:0 .15em .23em #00000080;pointer-events:auto}.fork-ribbon:after{content:attr(data-ribbon);color:#fff;font:700 1em Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.54em;text-decoration:none;text-shadow:0 -.08em rgba(0,0,0,.5);text-align:center;text-indent:0;padding:.15em 0;margin:.15em 0;border-width:.08em 0;border-style:dotted;border-color:#ffffffb3}.fork-ribbon.right-bottom{top:auto;bottom:0}.fork-ribbon.right-bottom:before,.fork-ribbon.right-bottom:after{top:auto;bottom:3.23em;transform:rotate(-45deg)}.version-footer{display:flex;justify-content:center;margin-top:auto}.version-box{display:inline-flex;flex-direction:column;gap:2px;font-family:var(--mono);font-size:.72rem;color:var(--muted);background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:8px 16px}.version-row{display:flex;gap:8px}.version-name{color:var(--on-surface-2);min-width:7em}
