/* KOYINT site — flat, dense, neutral greys, one accent. No external fonts or CDNs. */
*{box-sizing:border-box}
html{color-scheme:dark;-webkit-text-size-adjust:100%}
body{margin:0;background:#1d1d1d;color:#d6d6d6;font:14px/1.65 "Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Meiryo",system-ui,sans-serif}
a{color:#6aaef0;text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,p,ul,ol,dl,dd{margin:0}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:980px;margin:0 auto;padding:0 16px}
/* header */
.top{background:#161616;border-bottom:1px solid #2e2e2e}
.top .wrap{display:flex;align-items:center;height:44px;gap:20px}
.logo{display:flex;align-items:center;gap:8px;color:#ececec;font:700 14px/1 Arial,sans-serif;letter-spacing:.5px}
.logo:hover{text-decoration:none}
.logo i{display:inline-block;width:20px;height:20px;background:#3a3a3a;color:#e6e6e6;font:700 11px/20px Arial,sans-serif;font-style:normal;text-align:center;border-radius:2px}
.top nav{margin-left:auto;display:flex;gap:16px;font-size:13px}
.top nav a{color:#a8a8a8}
.top nav a:hover{color:#fff;text-decoration:none}
/* sections */
section{border-bottom:1px solid #2a2a2a;padding:28px 0}
.label{font:700 11px/1 Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase;color:#8a8a8a;margin-bottom:12px}
h1{font-size:28px;line-height:1.2;color:#f2f2f2;letter-spacing:.5px}
h2{font-size:18px;color:#ececec;margin-bottom:12px}
h3{font-size:14px;color:#e2e2e2;margin:20px 0 6px}
.lead{color:#a8a8a8;margin-top:6px}
.hero{padding:28px 0 20px}
.hero .row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.shot{border:1px solid #333;background:#232323}
.shot+.shot{margin-top:12px}
/* spec table */
.spec{display:grid;grid-template-columns:120px 1fr;border-top:1px solid #2e2e2e}
.spec dt,.spec dd{padding:7px 0;border-bottom:1px solid #2e2e2e}
.spec dt{color:#8f8f8f}
.spec dd{color:#dcdcdc}
.two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}
/* pricing */
.plans{display:grid;grid-template-columns:1fr 1fr;border:1px solid #333}
.plan{padding:16px;background:#232323}
.plan+.plan{border-left:1px solid #333}
.plan h3{margin:0 0 4px;font-size:13px;color:#a8a8a8;font-weight:700}
.price{font:700 26px/1.2 Arial,"Hiragino Sans",sans-serif;color:#f2f2f2}
.price small{font-size:12px;color:#8f8f8f;font-weight:400;margin-left:4px}
.plan ul{list-style:none;padding:0;margin:10px 0 14px;font-size:13px}
.plan li{padding:4px 0;border-bottom:1px solid #2e2e2e}
.plan li:last-child{border-bottom:0}
.btn{display:inline-block;width:100%;padding:8px 12px;border:1px solid #2d8ceb;border-radius:2px;background:#2d8ceb;color:#fff;font:700 14px/1.3 inherit;font-family:inherit;text-align:center;cursor:pointer}
.btn:hover{background:#3d98f0;border-color:#3d98f0;text-decoration:none}
.btn.sub{background:#2b2b2b;border-color:#444;color:#dcdcdc;font-weight:400}
.btn.sub:hover{background:#333;border-color:#555}
form{margin:0}
.terms{margin-top:12px;font-size:12px;color:#9a9a9a}
.terms li{margin:2px 0}
.small{font-size:12px;color:#9a9a9a}
/* legal pages */
.doc{padding-top:24px;padding-bottom:32px}
.doc h1{font-size:22px;margin-bottom:4px}
.doc .updated{font-size:12px;color:#8a8a8a;margin-bottom:18px}
.doc p,.doc li{color:#cfcfcf}
.doc p+p{margin-top:8px}
.doc ol,.doc ul{padding-left:1.4em}
.doc li{margin:3px 0}
table.legal{width:100%;border-collapse:collapse;border-top:1px solid #333;font-size:13px}
table.legal th,table.legal td{text-align:left;vertical-align:top;padding:8px 10px;border-bottom:1px solid #333}
table.legal th{width:200px;color:#9a9a9a;font-weight:400;background:#212121}
.ph{color:#e8c46a;border-bottom:1px dashed #8a7536}
.en-block{margin-top:24px;padding-top:16px;border-top:1px solid #333;color:#b8b8b8}
.en-block p,.en-block li{color:#b8b8b8}
/* key box */
.key{margin:10px 0;padding:10px 12px;background:#161616;border:1px solid #2d8ceb;font:700 20px/1.3 ui-monospace,Consolas,"Courier New",monospace;letter-spacing:1px;color:#f2f2f2;word-break:break-all;user-select:all}
.notice{padding:8px 10px;border-left:2px solid #b8892e;background:#262320;color:#e6e6e6;font-size:13px}
.steps{padding-left:1.4em}
.steps li{margin:4px 0}
.muted{color:#8f8f8f}
[hidden]{display:none!important}
/* footer */
footer{padding:18px 0 28px;font-size:12px;color:#8a8a8a}
footer .links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:8px}
footer a{color:#a8a8a8}
@media (max-width:720px){
  body{font-size:14px}
  .top nav{gap:12px;font-size:12px}
  .top nav .opt{display:none}
  h1{font-size:24px}
  .two,.plans{grid-template-columns:1fr}
  .plan+.plan{border-left:0;border-top:1px solid #333}
  .spec{grid-template-columns:110px 1fr}
  table.legal th{width:110px}
  table.legal th,table.legal td{padding:7px 6px}
}
.btn.auto{width:auto}
.mt{margin-top:12px}
