:root{--bg: #f2f4f8;--panel: #ffffff;--ink: #1d232f;--muted: #5e6678;--accent: #0b6e4f;--danger: #af1b3f;--border: #d8dde8}*{box-sizing:border-box}body{margin:0;font-family:Avenir Next,Segoe UI,sans-serif;background:radial-gradient(circle at top left,#ffffff,var(--bg));color:var(--ink)}.app{max-width:1100px;margin:0 auto;padding:20px}.header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}h1,h2,h3,h4{margin:0 0 8px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.layout{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.card,.cardSub{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:12px;box-shadow:0 2px 9px #0000000a}.cardSub{padding:10px}input,select,button{border-radius:10px;border:1px solid var(--border);padding:9px 10px;font:inherit}button{cursor:pointer;background:#fff}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.active{background:#dff4ec;border-color:var(--accent)}.muted{color:var(--muted)}.success{color:var(--accent);font-weight:600}.error{color:var(--danger);font-weight:600}.status{background:#eef9f4;border:1px solid #cde8db;padding:10px;border-radius:10px}.script{font-style:italic;border-left:3px solid var(--accent);padding-left:10px}.check{display:flex;align-items:center;gap:8px}.meterWrap{height:10px;background:#ecf0f4;border-radius:999px;overflow:hidden}.meter{height:100%;background:linear-gradient(90deg,#2ab573,#e0a80d,#d64545)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat{background:#f7fafc;border:1px solid var(--border);border-radius:12px;padding:8px;display:flex;flex-direction:column}.stat strong{font-size:20px}.list{display:flex;flex-direction:column;gap:6px;max-height:250px;overflow:auto}.list.small{max-height:150px}.item{width:100%;text-align:left;background:#fbfcfe}.itemRow{border-bottom:1px dashed var(--border);padding:6px 0;display:flex;justify-content:space-between;gap:8px}.featureTable{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--border);padding:8px;text-align:left;font-size:14px}@media(max-width:900px){.layout,.grid2,.stats{grid-template-columns:1fr}}
