:root{--bg:#f8faf8;--card:#fff;--text:#1a2e22;--muted:#6b7f71;--border:#d9e3da;--accent:#047857;--accent-hover:#065f46;--green:#16a34a;--amber:#d97706;--red:#dc2626}@media (prefers-color-scheme:dark){:root{--bg:#0d1712;--card:#16241c;--text:#e4efe7;--muted:#8aa393;--border:#2a3d31;--accent:#059669;--accent-hover:#10b981;--green:#22c55e;--amber:#f59e0b;--red:#ef4444}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif;line-height:1.6}.container{max-width:560px;margin:0 auto;padding:48px 20px 80px}.header{justify-content:space-between;align-items:center;gap:12px;display:flex}.header h1{font-size:1.4rem;font-weight:700}.subtitle{color:var(--muted);margin:6px 0 24px;font-size:.85rem}.badge{letter-spacing:.04em;border:1px solid var(--border);background:var(--card);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.badge .dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.badge.online{color:var(--green);border-color:color-mix(in srgb, var(--green) 40%, transparent)}.badge.online .dot{background:var(--green);animation:1.6s ease-in-out infinite pulse}.badge.connecting{color:var(--amber)}.badge.connecting .dot{background:var(--amber);animation:1.1s ease-in-out infinite pulse}.badge.offline{color:var(--muted)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:0 1px 3px #0000000f}.card.center{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.tabs{background:var(--bg);border-radius:10px;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:20px;padding:5px;display:grid}.tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:9px 8px;font-family:inherit;font-size:.9rem;font-weight:600}.tab.active{background:var(--card);color:var(--text);box-shadow:0 1px 3px #0000001a}.label{margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:10px;outline:none;padding:11px 14px;font-family:inherit;font-size:1rem}.input:focus{border-color:var(--accent)}.hint{color:var(--muted);margin:10px 0 18px;font-size:.78rem}.hint.center{text-align:center;margin:24px 0}.primary,.secondary{cursor:pointer;border-radius:10px;width:100%;padding:11px 22px;font-family:inherit;font-size:.95rem;font-weight:600}.primary{background:var(--accent);border:1px solid var(--accent);color:#fff}.primary:hover:not(:disabled){background:var(--accent-hover)}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{border:1px solid var(--border);color:var(--text);background:0 0}.link-button{color:var(--muted);cursor:pointer;background:0 0;border:none;margin:18px auto 0;font-family:inherit;font-size:.82rem;text-decoration:underline;display:block}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dropzone{border:2px dashed var(--border);text-align:center;color:var(--muted);cursor:pointer;border-radius:12px;padding:36px 16px;font-size:.9rem;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.dropzone.disabled{opacity:.55;cursor:not-allowed}.dropzone.disabled:hover{border-color:var(--border);background:0 0}.file-list{flex-direction:column;gap:8px;margin-top:16px;list-style:none;display:flex}.file-row{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.file-info{flex-direction:column;min-width:0;display:flex}.file-name{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.file-size{color:var(--muted);font-size:.75rem}.status{white-space:nowrap;font-size:.78rem;font-weight:600}.status.sent{color:var(--green)}.status.rejected,.status.error{color:var(--red)}.status.queued,.status.waiting-approval{color:var(--amber)}.progress-wrap{align-items:center;gap:8px;display:flex}progress{width:110px;height:8px;accent-color:var(--accent)}.percent{color:var(--muted);text-align:right;min-width:36px;font-size:.75rem}.approval{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);background:color-mix(in srgb, var(--accent) 7%, transparent);border-radius:12px;margin-bottom:16px;padding:18px}.approval p{word-break:break-all;margin-bottom:14px;font-size:.92rem}.approval-buttons{grid-template-columns:1fr 1fr;gap:10px;display:grid}.approval .input{margin-bottom:10px}.approval .error-text{margin-bottom:10px;font-size:.82rem}.section-title{color:var(--muted);margin-top:20px;font-size:.85rem;font-weight:700}.error-text{color:var(--red);font-size:.9rem}.download{color:var(--accent);white-space:nowrap;font-size:.85rem;font-weight:600;text-decoration:none}.download:hover{text-decoration:underline}.ad-area{margin-top:32px}.file-row-block{border:1px solid var(--border);background:var(--bg);border-radius:10px}.file-row.borderless{background:0 0;border:none}.warning-box{border:1px solid color-mix(in srgb, var(--amber) 45%, transparent);background:color-mix(in srgb, var(--amber) 10%, transparent);color:var(--amber);word-break:break-all;border-radius:8px;margin:0 14px 10px;padding:10px 12px;font-size:.8rem}.approval .warning-box{margin:0 0 14px}.warning-box.danger{border-color:color-mix(in srgb, var(--red) 50%, transparent);background:color-mix(in srgb, var(--red) 10%, transparent);color:var(--red)}.scan-note{color:var(--muted);margin:0 14px 10px;font-size:.75rem}.scan-note.clean{color:var(--green)}.how-it-works{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:20px;padding:16px 20px}.how-it-works summary{cursor:pointer;color:var(--accent);font-size:.9rem;font-weight:700;list-style:none}.how-it-works summary::-webkit-details-marker{display:none}.how-it-works summary:before{content:"▸ "}.how-it-works[open] summary:before{content:"▾ "}.how-it-works[open] summary{margin-bottom:14px}.how-illustration{width:100%;height:auto;display:block}.flow-dot{animation:1.8s ease-in-out infinite flow-across}@keyframes flow-across{0%{opacity:0;transform:translate(0)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(72px)}}.how-note{text-align:center;color:var(--muted);margin:10px 0 16px;font-size:.8rem}.how-steps{counter-reset:how-step;flex-direction:column;gap:10px;list-style:none;display:flex}.how-steps li{color:var(--muted);counter-increment:how-step;flex-direction:column;gap:2px;padding-left:28px;font-size:.85rem;display:flex;position:relative}.how-steps li:before{content:counter(how-step);background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.72rem;font-weight:700;display:flex;position:absolute;top:1px;left:0}.how-steps strong{color:var(--text);font-size:.88rem}.site-footer{border-top:1px solid var(--border);margin-top:40px}.footer-inner{flex-direction:column;align-items:center;gap:10px;max-width:560px;margin:0 auto;padding:20px 20px 32px;display:flex}.footer-links{flex-wrap:wrap;justify-content:center;gap:8px 18px;display:flex}.footer-links a{color:var(--muted);font-size:.8rem;text-decoration:none}.footer-links a:hover{color:var(--accent);text-decoration:underline}.footer-copyright{color:var(--muted);font-size:.72rem}.doc-page h1{margin-bottom:6px;font-size:1.3rem;font-weight:700}.doc-page .updated-at{color:var(--muted);margin-bottom:24px;font-size:.78rem}.doc-page h2{margin:28px 0 10px;font-size:1rem;font-weight:700}.doc-page p{margin-bottom:10px;font-size:.9rem}.doc-page ul,.doc-page ol{flex-direction:column;gap:6px;margin-bottom:10px;padding-left:1.3em;font-size:.9rem;display:flex}.doc-page .faq-item{border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:14px 16px}.doc-page .faq-item summary{cursor:pointer;font-size:.9rem;font-weight:700;list-style:none}.doc-page .faq-item summary::-webkit-details-marker{display:none}.doc-page .faq-item summary:before{content:"Q. ";color:var(--accent)}.doc-page .faq-item p{color:var(--muted);margin-top:10px;margin-bottom:0}.doc-page .back-link{color:var(--accent);margin-top:8px;font-size:.85rem;text-decoration:none;display:inline-block}.doc-page .back-link:hover{text-decoration:underline}.doc-page a{color:var(--accent)}
