.rc-hero{background:linear-gradient(180deg, var(--color-bg-raised), var(--color-bg));padding-block:var(--space-16) var(--space-10);border-bottom:1px solid var(--color-border-subtle);isolation:isolate;position:relative;overflow:hidden}.rc-orb{border-radius:var(--radius-full);filter:blur(80px);opacity:.5;pointer-events:none;z-index:0;position:absolute}.rc-orb-1{background:radial-gradient(circle,#2563eb6b,#0000 70%);width:460px;height:460px;top:-160px;left:-120px}.rc-orb-2{background:radial-gradient(circle,#05966942,#0000 70%);width:400px;height:400px;top:-80px;right:-120px}.rc-hero .container{z-index:1;position:relative}.rc-hero-inner{text-align:center;max-width:760px;margin-inline:auto}.rc-hero h1{font-size:3rem;font-weight:var(--weight-bold);letter-spacing:-.03em;margin-bottom:var(--space-3);line-height:1.05}.rc-lead{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);max-width:640px;margin-inline:auto}.rc-form{gap:var(--space-3);margin-top:var(--space-8);max-width:720px;margin-inline:auto;display:flex}.rc-input{min-width:0;padding:var(--space-3) var(--space-4);font-size:var(--text-base);background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex:1}.rc-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb29}.dm-selector{flex:0 220px}.rc-btn{padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:#fff;background:var(--color-primary);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);border:none;flex-shrink:0}.rc-btn:hover{background:var(--color-primary-hover)}.rc-btn:disabled{opacity:.65;cursor:default}.rc-error{max-width:720px;margin:var(--space-4) auto 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:#b91c1c;font-size:var(--text-sm);text-align:left;background:#dc262614;border:1px solid #dc262640}.ws-note{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.sp-label{font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);margin:var(--space-4) 0 6px;display:block}.dm-meta{max-width:980px;margin:var(--space-8) auto 0;font-family:var(--font-mono,monospace);font-size:12.5px;font-weight:var(--weight-semibold);color:var(--color-text-secondary);word-break:break-all}.dm-results{max-width:980px;margin:var(--space-3) auto 0;gap:var(--space-4);grid-template-columns:1fr;display:grid}.dm-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6)}.dm-card-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.dm-card-head h2{font-size:var(--text-lg);font-weight:var(--weight-bold)}.dm-badge{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-bold);white-space:nowrap;flex-shrink:0;padding:4px 12px}.dm-mini{padding:2px 9px;font-size:11px}.dm-badge-ok{color:#047857;background:#0596691f}.dm-badge-warn{color:#b45309;background:#d977061f}.dm-badge-bad{color:#b91c1c;background:#dc26261a}.dm-badge-mid{background:var(--color-bg-raised);color:var(--color-text-muted);border:1px solid var(--color-border)}.dm-record{padding:var(--space-3) var(--space-4);background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono,monospace);color:var(--color-text);word-break:break-all;margin-bottom:var(--space-2);font-size:12.5px;line-height:1.6;display:block}.dm-counters{font-size:13px;font-weight:var(--weight-semibold);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;margin:var(--space-2) 0}.dm-terminal{font-size:var(--text-sm);color:var(--color-text-secondary);margin:var(--space-2) 0;line-height:1.6}.dm-terminal strong{color:var(--color-text)}.dm-hint{color:var(--color-text-muted);margin:var(--space-2) 0 0;font-size:13px;line-height:1.6}.dm-tree-wrap{margin:var(--space-3) 0}.dm-tree-wrap summary{cursor:pointer;font-size:13px;font-weight:var(--weight-semibold);color:var(--color-primary)}.dm-tree{margin-top:var(--space-2);padding:var(--space-3);background:var(--color-bg-raised);border-radius:var(--radius-md);overflow-x:auto}.dm-tree-line{font-family:var(--font-mono,monospace);white-space:nowrap;font-size:12px;line-height:1.9}.dm-tree-domain{font-weight:var(--weight-bold);color:var(--color-text);margin-right:10px}.dm-tree-rec{color:var(--color-text-secondary)}.dm-tree-miss{color:#b45309;font-weight:var(--weight-semibold)}.dm-tags{margin:var(--space-3) 0;flex-direction:column;gap:6px;display:flex}.dm-tag-row{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;font-size:13px;display:flex}.dm-tag-name{font-family:var(--font-mono,monospace);font-weight:var(--weight-semibold);color:var(--color-text)}.dm-tag-msg{color:var(--color-text-secondary);line-height:1.5}.dm-issues{margin:var(--space-3) 0 0;flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.dm-issues li{align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6;display:flex}.dm-gen{margin-top:var(--space-4);padding:var(--space-5);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.dm-gen-row{gap:var(--space-3);display:flex}.sv-ghost{padding:var(--space-3) var(--space-5);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;flex-shrink:0}.sv-ghost:hover{border-color:var(--color-primary)}.dm-presets{gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.dm-preset{font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.dm-preset input{accent-color:var(--color-primary)}.dm-preset-src{color:var(--color-primary);font-size:12px;text-decoration:none}.dm-preset-src:hover{text-decoration:underline}.dm-gen-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.dm-ta{width:100%;min-height:84px;padding:var(--space-3);font-family:var(--font-mono,monospace);background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);resize:vertical;font-size:13px}.dm-ta:focus{border-color:var(--color-primary);outline:none}.dm-policy{max-width:420px}.dm-warnbox{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:#b45309;background:#d9770612;border:1px solid #d977064d;font-size:13px;line-height:1.6}.dm-gen-out{gap:var(--space-3);margin-top:var(--space-4);align-items:stretch;display:flex}.dm-gen-out .dm-record{flex:1;margin-bottom:0}.dm-gen-out .rc-btn{align-self:center}.rc-about{max-width:760px;margin:var(--space-12) auto var(--space-8)}.rc-about h2{font-size:var(--text-xl);font-weight:var(--weight-bold);margin-bottom:var(--space-3)}.rc-about p{color:var(--color-text-secondary);line-height:var(--leading-relaxed);font-size:var(--text-base)}.rc-about p+p{margin-top:var(--space-3)}.rc-faq{border:1px solid var(--color-border);padding:0 var(--space-5);background:var(--color-bg);border-radius:14px}.rc-faq-item{border-bottom:1px solid var(--color-border-subtle)}.rc-faq-item:last-child{border-bottom:none}.rc-faq-item summary{padding:var(--space-4) 0;cursor:pointer;font-size:15px;font-weight:var(--weight-semibold);color:var(--color-text);list-style:none}.rc-faq-item summary::-webkit-details-marker{display:none}.rc-faq-item summary:hover{color:var(--color-primary)}.rc-faq-item p{padding:0 0 var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.7}.rc-tools-links{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}.rc-tools-links a{color:var(--color-primary);font-weight:var(--weight-medium);text-decoration:none}.rc-tools-links a:hover{text-decoration:underline}@media (width<=720px){.rc-hero h1{font-size:var(--text-3xl)}.rc-form{flex-direction:column}.dm-selector{flex:1}.rc-btn{width:100%}.dm-gen-grid{grid-template-columns:1fr}.dm-gen-row,.dm-gen-out{flex-direction:column}}
