:root{--bg:#f8fafc;--surface:#fff;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--brand-from:#0ea5e9;--brand-to:#6366f1;--brand:#4f46e5;--warn-bg:#fffbeb;--warn-border:#f59e0b;--radius:16px;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 8px 24px #0f172a14}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Inter,Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif;font-size:16px;line-height:1.8}a{color:var(--brand)}.site-header{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#ffffffd9;position:sticky;top:0}.site-header .inner{align-items:center;gap:10px;max-width:960px;margin:0 auto;padding:14px 20px;display:flex}.site-header a.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:8px;font-size:1.05rem;font-weight:800;text-decoration:none;display:flex}.site-header a.brand:before{content:"";background:linear-gradient(135deg, var(--brand-from), var(--brand-to));border-radius:5px;width:14px;height:14px;display:inline-block}main{max-width:960px;margin:0 auto;padding:24px 20px 64px}.hero{text-align:center;padding:40px 0 16px}.hero h1{letter-spacing:-.02em;margin:0 0 10px;font-size:2.1rem;font-weight:800;line-height:1.3}.hero h1 .grad{background:linear-gradient(90deg, var(--brand-from), var(--brand-to));color:#0000;-webkit-background-clip:text;background-clip:text}.hero .lead{color:var(--muted);max-width:560px;margin:0 auto 18px;font-size:1rem}.hero .badges{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.hero .badges span{color:var(--brand);background:#eef2ff;border:1px solid #e0e7ff;border-radius:999px;padding:3px 14px;font-size:.8rem;font-weight:600}h1{letter-spacing:-.01em;margin:8px 0 4px;font-size:1.45rem;font-weight:800;line-height:1.4}.section-title{align-items:baseline;gap:10px;margin:40px 0 4px;display:flex}.section-title h2{border:none;margin:0;padding:0;font-size:1.1rem;font-weight:700}.section-title .count{color:var(--muted);font-size:.8rem}h2{margin-top:2.2em;font-size:1.15rem;font-weight:700}h3{margin-top:1.6em;font-size:1rem}.lead{color:var(--muted);margin-bottom:20px;font-size:.92rem}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:16px 0 8px;display:grid}.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow-sm);padding:20px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:block}.tool-card:hover{box-shadow:var(--shadow-md);border-color:#c7d2fe;transform:translateY(-2px)}.tool-card .icon{background:linear-gradient(135deg,#eef2ff,#e0f2fe);border:1px solid #e0e7ff;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:12px;font-size:22px;display:flex}.tool-card .name{letter-spacing:-.01em;margin-bottom:4px;font-size:.98rem;font-weight:700}.tool-card .desc{color:var(--muted);font-size:.84rem;line-height:1.65}.tool-card.coming{pointer-events:none;box-shadow:none}.tool-card.coming .desc{opacity:.8}.tool-card .badge{background:var(--border);color:var(--muted);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 10px;font-size:.7rem;font-weight:600;display:inline-block}.site-footer{border-top:1px solid var(--border);color:var(--muted);background:var(--surface);margin-top:40px;font-size:.82rem}.site-footer .inner{max-width:960px;margin:0 auto;padding:24px 20px}.site-footer a{color:var(--muted);margin-right:16px}table{border-collapse:collapse;background:var(--surface);width:100%;margin:12px 0;font-size:.95rem}th,td{border:1px solid var(--border);text-align:right;padding:8px 10px}th{text-align:center;background:#eef2ff;font-weight:600}td:first-child,th:first-child{text-align:center}.note{background:var(--warn-bg);border-left:4px solid var(--warn-border);border-radius:0 8px 8px 0;margin:16px 0;padding:10px 14px;font-size:.88rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:20px 0;padding:24px}.adslot{text-align:center;min-height:90px;margin:24px 0}input[type=number],input[type=text],input[type=time],select{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;padding:10px 12px;font-size:1.05rem}input:focus,select:focus{border-color:var(--brand);outline:2px solid #c7d2fe}label{font-size:.9rem;font-weight:600}@media (max-width:600px){.hero h1{font-size:1.5rem}h1{font-size:1.25rem}th,td{padding:6px;font-size:.85rem}}
