:root{--bg:#f6f7f9;--card:#ffffff;--text:#1b1f24;--muted:#6b7280;--primary:#1f4e79;--primary-text:#ffffff;--border:#e2e5ea;--ok:#1a7f4b;--bad:#c0392b;--warn:#b7791f;--na:#6b7280}@media (prefers-color-scheme:dark){:root{--bg:#12151a;--card:#1b2028;--text:#e8eaed;--muted:#9aa3af;--primary:#4a8fd1;--primary-text:#ffffff;--border:#2b323d;--ok:#3cc17f;--bad:#ef6a5b;--warn:#e0a84a;--na:#9aa3af}}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45}a{color:var(--primary);text-decoration:none}.container{max-width:760px;margin:0 auto;padding:16px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}h1{font-size:1.4rem;margin:0 0 4px}h2{font-size:1.1rem;margin:0 0 12px}.muted{color:var(--muted);font-size:.9rem}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:12px}label{display:block;font-size:.85rem;color:var(--muted);margin:10px 0 4px}input,select,textarea{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px}textarea{min-height:84px;resize:vertical}select:disabled,textarea:disabled{opacity:.6}.btn,button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:8px;padding:9px 14px}button.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary);width:100%;margin-top:14px;font-weight:600}.btn.small,button.small{padding:5px 10px;font-size:.85rem}.btn{display:inline-block}button.danger{color:var(--bad)}button:disabled{opacity:.6;cursor:not-allowed}.error{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad);border:1px solid var(--bad);border-radius:8px;margin-bottom:12px}.error,.info{padding:10px 12px;font-size:.9rem}.info{background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid var(--primary);border-radius:8px;margin-top:12px}.project-link{display:block;color:inherit}.badge{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);margin-right:6px}.clause-head{display:flex;gap:10px;align-items:baseline;margin-bottom:8px}.clause-no{font-weight:700;color:var(--primary);min-width:2ch}.clause-title{font-weight:600}.status-conforming{border-left:4px solid var(--ok)}.status-nonconforming{border-left:4px solid var(--bad)}.status-observation{border-left:4px solid var(--warn)}.status-not_applicable{border-left:4px solid var(--na)}.section{margin:22px 0 8px;font-size:1.05rem;color:var(--primary)}.std-line{margin:12px 0 4px;font-weight:600}.clause-block{padding-left:10px;margin-top:10px;border-left:4px solid transparent}.clause-block.status-conforming{border-left-color:var(--ok)}.clause-block.status-nonconforming{border-left-color:var(--bad)}.clause-block.status-observation{border-left-color:var(--warn)}.clause-block.status-not_applicable{border-left-color:var(--na)}.check-list label.check{display:flex;align-items:center;gap:10px;margin:6px 0;color:var(--text);font-size:1rem}.check-list input[type=checkbox]{width:auto}.summary{display:flex;flex-wrap:wrap;gap:8px}.summary .badge{font-size:.85rem}.evidence-list{list-style:none;margin:8px 0 0;padding:0}.evidence-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid var(--border);font-size:.9rem}.evidence-list .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1}.row-actions{display:flex;gap:6px}.file-label{display:inline-block;margin-top:8px;padding:8px 12px;border:1px dashed var(--border);border-radius:8px;cursor:pointer;font-size:.9rem}.file-label input{display:none}.file-row{display:flex;flex-wrap:wrap;gap:8px}.label-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.label-row label{margin:0}.hints{margin:10px 0 0;border:1px dashed var(--border);border-radius:8px;padding:8px 10px}.hints summary{cursor:pointer;font-size:.9rem;color:var(--primary)}.hints ul{list-style:none;margin:8px 0;padding:0}.hints li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;border-top:1px solid var(--border);font-size:.9rem}.hints li:first-child{border-top:none}button.mic{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:var(--muted);flex:none}button.mic:hover:not(:disabled){background:var(--bg);color:var(--text)}button.mic.on{color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent);animation:micpulse 1.4s ease-in-out infinite}@keyframes micpulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--bad) 35%,transparent)}50%{box-shadow:0 0 0 6px transparent}}.composer{gap:6px;margin-top:6px;position:relative}.composer,.composer .plus-wrap{display:flex;align-items:center}.plus-wrap{position:relative}label.plus{width:34px;height:34px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;flex:none;margin:0;cursor:pointer}label.plus input{display:none}label.plus.off{opacity:.5;cursor:not-allowed}label.plus:not(.off):hover{background:var(--bg);color:var(--text)}.menu{position:absolute;left:0;bottom:40px;z-index:5;min-width:230px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:6px;box-shadow:0 6px 24px rgba(0,0,0,.15)}.menu-item{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;border-radius:8px;cursor:pointer;color:var(--text);font-size:.95rem}.menu-item:hover{background:var(--bg)}.menu-item input{display:none}button.bulb{margin-left:auto;width:34px;height:34px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;flex:none}button.bulb.on,button.bulb:hover{background:var(--bg);color:var(--warn)}.install-hint{display:flex;align-items:center;gap:10px;max-width:760px;margin:8px auto 0;padding:10px 12px;border:1px solid #d5dfea;border-radius:10px;background:#f3f7fb;font-size:.88rem;line-height:1.35}.install-hint img{border-radius:8px;flex:none}.install-hint button{flex:none}@media (max-width:800px){.install-hint{margin:8px 12px 0}}@media (display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}