:root{--bg:#f8f9fa;--surface:#fff;--line:#dadce0;--text:#202124;--muted:#5f6368;--primary:#1a73e8;--primary-soft:#e8f0fe;--warn:#b06000;--warn-soft:#fef7e0;--bad:#c5221f;--bad-soft:#fce8e6;--ok:#137333;--ok-soft:#e6f4ea}
*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased}
body{margin:0;font-family:"Hiragino Sans","Yu Gothic UI","Noto Sans JP",system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6;letter-spacing:.01em}
header{background:var(--surface);border-bottom:1px solid var(--line);padding:0 24px;height:64px;display:flex;align-items:center;gap:16px}
header h1{font-size:22px;font-weight:500;margin:0;color:var(--muted);letter-spacing:-.01em}
header h1::before{content:"";display:inline-block;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#4285f4,#34a853 50%,#fbbc04 75%,#ea4335);vertical-align:-6px;margin-right:12px}
.wrap{max-width:720px;margin:0 auto;padding:32px 24px}
@media(max-width:600px){.wrap{padding:20px 12px}.card{padding:20px 16px}.btn{max-width:100%;height:auto;min-height:44px;white-space:normal;overflow-wrap:anywhere}h2{font-size:24px}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:32px;margin-bottom:24px}
h2{font-size:28px;font-weight:400;margin:0 0 12px;letter-spacing:-.01em}
p{margin:8px 0}
.big{font-size:16px;color:var(--muted)}
label{display:block;font-weight:500;font-size:13px;color:var(--muted);margin:20px 0 6px}
input[type=text],input[type=email],input[type=url]{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:8px;font-size:16px;font-family:inherit;color:var(--text);background:#fff;outline:none}
input:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}
input::placeholder{color:#80868b}
.btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 24px;border-radius:8px;border:1px solid #1f1f1f;background:#1f1f1f;color:#fff;font-size:15px;font-weight:500;font-family:inherit;letter-spacing:.02em;cursor:pointer;margin:16px 8px 0 0;text-decoration:none}
.btn:hover{background:#3c4043;border-color:#3c4043;box-shadow:0 1px 3px rgba(60,64,67,.3),0 4px 8px 3px rgba(60,64,67,.15)}
.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.btn.sec{background:#fff;border-color:var(--line);color:var(--primary)}
.btn.sec:hover{background:#f6f9fe;border-color:#d2e3fc;box-shadow:none}
.btn:disabled,.btn:disabled:hover{background:#f1f3f4;border-color:#f1f3f4;color:#9aa0a6;box-shadow:none;cursor:not-allowed}
.actions{margin-top:24px}
.actions .btn{display:flex;width:100%;height:52px;font-size:16px;margin:0}
.note{font-size:12px;color:var(--muted);line-height:1.5}
.box{border-radius:8px;padding:14px 16px;margin:12px 0;border:1px solid var(--line);background:#f8f9fa;font-size:14px}
.box.warn{background:var(--warn-soft);border-color:#feefc3;color:#3c4043}
.box.bad{background:var(--bad-soft);border-color:#f6aea9;color:#3c4043}
.box.ok{background:var(--ok-soft);border-color:#ceead6;color:#3c4043}
.box.info{background:var(--primary-soft);border-color:#d2e3fc;color:#3c4043}
code{font-family:ui-monospace,Menlo,monospace;font-size:13px;background:#f1f3f4;padding:2px 6px;border-radius:4px;word-break:break-all;color:var(--text)}
.prog{height:4px;background:#e8eaed;border-radius:2px;overflow:hidden;margin:8px 0}
.prog>div{height:100%;background:var(--primary);width:0;transition:width .2s}
table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0}
td,th{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{color:var(--muted);font-weight:500;font-size:12px;width:140px;white-space:nowrap}
tr:last-child td,tr:last-child th{border-bottom:none}
.hidden{display:none}
