.as-app{background:#fff;border-radius:14px;padding:clamp(18px,3vw,32px);box-shadow:0 10px 40px rgba(38,38,38,.08)}
.as-lab{display:block;font:600 14px Poppins,Arial,sans-serif;margin-bottom:8px;color:var(--ink)}
.as-old{width:100%;box-sizing:border-box;min-height:260px;padding:14px 16px;border:2px solid #dfe3ea;border-radius:8px;font:16px/1.6 Arial,sans-serif;background:#fff;color:var(--ink);resize:vertical}
.as-app textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(90,80,255,.15)}
.as-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.as-bar #as-count{margin-right:auto;color:#667;font-size:14px}
.as-reset{background:none;border:2px solid #dfe3ea;border-radius:3px;padding:12px 20px;font:600 14px Arial,sans-serif;color:var(--ink);cursor:pointer}
.as-reset:hover{border-color:var(--blue);color:var(--blue)}
.as-priv{margin:14px 0 0;color:#667;font-size:13.5px}
.as-offscreen{position:fixed;left:-9999px;top:0;opacity:0}
#as-result{margin-top:26px}
#as-result:empty{display:none}
.as-msg{margin:0;padding:12px 14px;border-radius:8px;background:#fff4e0;color:#8a5a00;font-size:14.5px}
.as-head{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-bottom:22px}
.as-big{display:flex;align-items:baseline;gap:4px}
.as-num{font:700 64px/1 Poppins,Arial,sans-serif;color:var(--ink)}
.as-of{font-size:20px;color:#778}
.as-side{flex:1;min-width:220px}
.as-sub{margin:8px 0 12px;color:#556;font-size:14.5px}
.as-grade{display:inline-block;padding:5px 14px;border-radius:99px;font:700 13px Poppins,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.as-g-ready{background:#d9f8ee;color:#05694c}.as-g-good{background:#fff1d6;color:#8a5a00}.as-g-work{background:#ffe0e3;color:#a1202e}
.as-top{background:#f4f3ff;border-left:5px solid var(--blue);border-radius:8px;padding:16px 20px;margin-bottom:22px}
.as-top h3{margin:0 0 8px;font-size:17px;color:var(--ink)}
.as-top ol{margin:0;padding-left:20px;color:#334}
.as-top li{margin:6px 0;font-size:14.5px}
.as-row{border:1px solid #e6e9f0;border-left:5px solid #ccd;border-radius:8px;padding:14px 16px;margin-bottom:12px;background:#fff}
.as-row.as-pass{border-left-color:#00c896}.as-row.as-warn{border-left-color:#ffb84d}.as-row.as-fail{border-left-color:#ff5d6c}
.as-rh{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.as-name{margin:0;font:600 16px Poppins,Arial,sans-serif;color:var(--ink);flex:1}
.as-pts{font:600 13px Arial,sans-serif;color:#778;white-space:nowrap}
.as-badge{font:700 11px Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:99px;background:#eceef3;color:#556}
.as-pass .as-badge{background:#d9f8ee;color:#05694c}.as-warn .as-badge{background:#fff1d6;color:#8a5a00}.as-fail .as-badge{background:#ffe0e3;color:#a1202e}
.as-note{margin:8px 0 0;color:#556;font-size:14px}
.as-issues{margin:10px 0 0;padding-left:20px;color:#445;font-size:14px}
.as-issues code{background:#f3f4f8;padding:1px 6px;border-radius:4px;font-size:13px;word-break:break-word}
.as-fix{margin:10px 0 0;padding-top:10px;border-top:1px dashed #e3e6ee;color:#3a30d0;font-size:14px}
.as-ex{margin:10px 0 0;padding:12px;background:#0d1117;color:#c9d1d9;border-radius:8px;font:12.5px/1.6 ui-monospace,Menlo,Consolas,monospace;overflow:auto;white-space:pre-wrap}
.as-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:36px 0 0}
.as-info div{background:#fff;border-radius:10px;padding:18px 20px;box-shadow:0 4px 18px rgba(38,38,38,.06)}
.as-info h3{margin:0 0 6px;font-size:16px;color:var(--ink)}
.as-info p{margin:0;font-size:14.5px;color:#445}
.as-copy{margin-top:0}
@media(max-width:640px){.as-head{justify-content:center;text-align:center}.as-num{font-size:52px}.as-bar .btn,.as-bar .as-reset{flex:1;justify-content:center}}

/* v2: doc-style editor */
.as-docwrap{background:#eef0f6;border-radius:12px;padding:clamp(12px,2.5vw,26px)}
.as-doc{background:#fff;min-height:340px;max-height:620px;overflow:auto;padding:clamp(18px,4vw,44px);border-radius:6px;box-shadow:0 2px 14px rgba(38,38,38,.12);font:16px/1.7 Arial,sans-serif;color:var(--ink);outline:0;word-wrap:break-word}
.as-doc:focus{box-shadow:0 0 0 3px rgba(90,80,255,.25),0 2px 14px rgba(38,38,38,.12)}
.as-doc:empty:before{content:attr(data-ph);color:#8a90a2;white-space:pre-line;pointer-events:none}
.as-doc h1{font:700 30px/1.25 Poppins,Arial,sans-serif;margin:0 0 14px}
.as-doc h2{font:700 23px/1.3 Poppins,Arial,sans-serif;margin:22px 0 8px}
.as-doc h3{font:600 19px/1.35 Poppins,Arial,sans-serif;margin:18px 0 6px}
.as-doc h4,.as-doc h5,.as-doc h6{font:600 16px/1.4 Poppins,Arial,sans-serif;margin:14px 0 4px}
.as-doc p{margin:0 0 12px}.as-doc ul,.as-doc ol{margin:0 0 12px;padding-left:24px}
.as-doc table{border-collapse:collapse;margin:0 0 12px;width:100%}.as-doc td,.as-doc th{border:1px solid #d5d9e3;padding:6px 10px;text-align:left}
.as-doc a{color:var(--blue)}
.as-hint{margin:0 0 10px;color:#556;font-size:14px}
.as-run.as-busy,#as-run:disabled{opacity:.6;cursor:wait}
/* reading */
.as-read{background:#f4f3ff;border-radius:10px;padding:20px 22px}.as-read h3{margin:0 0 12px;font-size:18px}
.as-prog{height:8px;background:#dcd9ff;border-radius:9px;overflow:hidden;margin-bottom:14px}.as-prog i{display:block;height:100%;width:0;background:var(--blue);transition:width .5s ease}
#as-log{list-style:none;margin:0;padding:0}#as-log li{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;padding:5px 0;font-size:14.5px;animation:asin .3s ease}
#as-log em{font-style:normal;color:#556}#as-log b{color:var(--ink)}
.as-ic{width:16px;height:16px;flex:none;align-self:center;border-radius:50%;border:2px solid #b9b4ff;border-top-color:var(--blue);animation:asp .7s linear infinite}
.as-done .as-ic{animation:none;border:0;background:#00c896;position:relative}.as-done .as-ic:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
@keyframes asp{to{transform:rotate(360deg)}}@keyframes asin{from{opacity:0;transform:translateY(5px)}}
/* score ring */
.as-ring{position:relative;width:150px;height:150px}.as-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.as-ring circle{fill:none;stroke-width:10;stroke-linecap:round}.as-bg{stroke:#e8eaf2}.as-fg.as-g-ready{stroke:#00c896}.as-fg.as-g-good{stroke:#ffb84d}.as-fg.as-g-work{stroke:#ff5d6c}
.as-ring .as-big{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.as-ring .as-num{font-size:44px}.as-ring .as-of{font-size:15px}
.as-h{margin:26px 0 12px;font-size:19px}
.as-found{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.as-found>div{border:1px solid #e6e9f0;border-radius:8px;padding:14px 16px;font-size:14px;color:#334}
.as-found b{display:block;margin-bottom:8px;color:var(--ink);font-size:15px}.as-found ul{margin:0;padding-left:18px}.as-found li{margin:4px 0}.as-found p{margin:0}
.as-t{width:100%;border-collapse:collapse;font-size:13.5px}.as-t th{text-align:left;color:#778;font-weight:600;padding:3px 6px}.as-t td{padding:5px 6px;border-top:1px solid #eef0f5}
.as-chip{display:inline-block;padding:2px 8px;border-radius:99px;font:700 11px Arial,sans-serif}.as-chip.ok{background:#d9f8ee;color:#05694c}.as-chip.mid{background:#fff1d6;color:#8a5a00}.as-chip.bad{background:#ffe0e3;color:#a1202e}
.as-bar2{height:6px;background:#eceef3;border-radius:9px;margin-top:8px;overflow:hidden}.as-bar2 i{display:block;height:100%;background:#ccd}
.as-pass .as-bar2 i{background:#00c896}.as-warn .as-bar2 i{background:#ffb84d}.as-fail .as-bar2 i{background:#ff5d6c}
