*,*:before,*:after{box-sizing:border-box}:root{--color-bg: #0f1117;--color-surface: #1a1d27;--color-surface-hover: #242837;--color-border: #2e3245;--color-primary: #10b981;--color-primary-hover: #34d399;--color-text: #e8e8ed;--color-text-muted: #8b8fa3;--color-error: #ef4444;--color-error-bg: rgba(239, 68, 68, .08);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .08);--color-info: #6366f1;--color-info-bg: rgba(99, 102, 241, .08);--color-success: #10b981;--color-success-bg: rgba(16, 185, 129, .08);--color-code-bg: #0d0f15;--font-mono: "SF Mono", "Fira Code", "Fira Mono", Menlo, monospace;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}body{margin:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh}.container{max-width:1000px;margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--color-border);padding:16px 0}.site-header .container{display:flex;align-items:center;justify-content:space-between}.logo{font-size:1.25rem;font-weight:700;color:var(--color-text);text-decoration:none;display:flex;align-items:center;gap:8px}.logo-icon{width:28px;height:28px;background:var(--color-primary);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px}.hero{text-align:center;padding:48px 0 32px}.hero h1{font-size:2rem;font-weight:800;margin:0 0 12px;letter-spacing:-.02em}.hero h1 span{color:var(--color-primary)}.hero p{color:var(--color-text-muted);font-size:1.1rem;max-width:560px;margin:0 auto}.tabs{display:flex;gap:4px;background:var(--color-surface);border-radius:10px;padding:4px;margin-bottom:24px}.tab{flex:1;padding:10px 16px;border:none;background:transparent;color:var(--color-text-muted);font-size:.9rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s}.tab:hover{color:var(--color-text)}.tab.active{background:var(--color-primary);color:#fff}.panel{display:none}.panel.active{display:block}.checker-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:24px}.env-textarea{width:100%;min-height:260px;padding:16px;background:var(--color-code-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:.9rem;font-family:var(--font-mono);line-height:1.7;resize:vertical;outline:none;transition:border-color .15s}.env-textarea:focus{border-color:var(--color-primary)}.env-textarea::placeholder{color:var(--color-text-muted)}.sample-section{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sample-section span{font-size:.85rem;color:var(--color-text-muted);font-weight:500}.sample-btn{padding:6px 12px;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:.8rem;cursor:pointer;transition:all .15s}.sample-btn:hover{border-color:var(--color-primary)}.action-bar{display:flex;gap:8px;margin-top:16px}.action-btn{padding:10px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .15s;font-size:.9rem}.action-btn.primary{background:var(--color-primary);color:#fff}.action-btn.primary:hover{background:var(--color-primary-hover)}.action-btn.secondary{background:var(--color-surface-hover);color:var(--color-text);border:1px solid var(--color-border)}.action-btn.secondary:hover{border-color:var(--color-primary)}.summary-bar{display:flex;gap:12px;padding:12px 16px;background:var(--color-code-bg);border-radius:8px;margin:16px 0;font-size:.85rem}.summary-item{display:flex;align-items:center;gap:4px}.summary-item .count{font-weight:700;font-family:var(--font-mono)}.summary-item.errors .count{color:var(--color-error)}.summary-item.warnings .count{color:var(--color-warning)}.summary-item.infos .count{color:var(--color-info)}.issues-list{margin-top:12px;max-height:400px;overflow-y:auto}.issue{display:flex;gap:12px;padding:10px 12px;border-radius:6px;margin-bottom:6px;font-size:.85rem;line-height:1.5}.issue.error{background:var(--color-error-bg);border-left:3px solid var(--color-error)}.issue.warning{background:var(--color-warning-bg);border-left:3px solid var(--color-warning)}.issue.info{background:var(--color-info-bg);border-left:3px solid var(--color-info)}.issue-badge{flex-shrink:0;width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;margin-top:1px}.issue.error .issue-badge{background:var(--color-error);color:#fff}.issue.warning .issue-badge{background:var(--color-warning);color:#000}.issue.info .issue-badge{background:var(--color-info);color:#fff}.issue-content{flex:1}.issue-message{color:var(--color-text)}.issue-line{color:var(--color-text-muted);font-family:var(--font-mono);font-size:.8rem;margin-top:2px}.success-banner{text-align:center;padding:24px;background:var(--color-success-bg);border-radius:8px;border:1px solid var(--color-success)}.success-banner .icon{font-size:2rem;margin-bottom:8px}.success-banner p{color:var(--color-success);font-weight:600;margin:0}.formatter-area{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formatter-panel{display:flex;flex-direction:column}.formatter-panel label{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.formatter-output{flex:1;min-height:260px;padding:16px;background:var(--color-code-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:.9rem;font-family:var(--font-mono);line-height:1.7;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.copy-row{display:flex;justify-content:flex-end;margin-top:8px}.copy-sm{padding:4px 10px;background:var(--color-primary);color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer}.copy-sm:hover{background:var(--color-primary-hover)}.site-footer{border-top:1px solid var(--color-border);padding:24px 0;margin-top:48px;text-align:center;color:var(--color-text-muted);font-size:.85rem}.site-footer a{color:var(--color-primary);text-decoration:none}.seo-content{margin:48px 0}.seo-content h2{font-size:1.4rem;margin:32px 0 16px;color:var(--color-text)}.seo-content p{color:var(--color-text-muted);max-width:640px}.faq{margin-top:24px}.faq-item{border-bottom:1px solid var(--color-border);padding:16px 0}.faq-item h3{font-size:1rem;margin:0 0 8px}.faq-item p{color:var(--color-text-muted);margin:0}@media(max-width:640px){.hero h1{font-size:1.5rem}.formatter-area{grid-template-columns:1fr}.summary-bar{flex-wrap:wrap}}
