:root{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN',sans-serif;color:#273750;background:#f3f6fb;font-size:14px}*{box-sizing:border-box}body{margin:0}a{color:#3268db}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:7px;background:#3268db;color:white;padding:12px 18px;font-weight:600}button:disabled{opacity:.5;cursor:wait}input,select{width:100%;border:1px solid #dbe2ed;border-radius:6px;padding:12px;background:white;color:#263d5d}input:focus,select:focus{outline:3px solid #d8e7ff;border-color:#739ce6}label{display:block;font-size:12px;margin:21px 0 8px;color:#536783}p{line-height:1.9;color:#7d8da4}h1{font-size:23px;font-weight:600;margin:32px 0 8px}h2{font-size:18px}form>button{margin-top:23px}.login-body{display:grid;min-height:100vh;place-items:center;padding:24px}.login-card{width:100%;max-width:450px;background:#fff;border:1px solid #e3e9f1;border-radius:13px;padding:36px;box-shadow:0 12px 50px #24395708}.logo{font-size:22px;font-weight:750;letter-spacing:2px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.logo img{width:34px;height:34px;display:block}.logo span{display:block;flex-basis:100%;font-size:10px;letter-spacing:1px;color:#9aa7bb;margin-top:6px}.login-card button{width:100%}.note{font-size:11px;line-height:1.9;color:#98a5b8;border-top:1px solid #edf0f5;padding-top:20px;margin-top:22px}#status{color:#af5945;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}#secret{font-family:monospace;font-size:12px;background:#f6f9ff}.account-page{max-width:950px;margin:40px auto;padding:0 24px}.account-top{display:flex;align-items:center;justify-content:space-between}.account-top a{text-decoration:none}.card{background:#fff;border:1px solid #e2e8f1;border-radius:10px;padding:26px;margin:22px 0}.card h2{margin-top:0}.grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.result{overflow-wrap:anywhere;white-space:pre-wrap;background:#eff5ff;padding:16px;border-radius:6px;font-size:12px;color:#335a91}.result:empty{display:none}.row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid #edf0f5}.row small{display:block;color:#95a2b5;margin-top:6px}.row button{background:#f3f5f9;color:#727f93;font-size:12px;padding:8px 12px}code,pre{font-family:monospace}pre{overflow:auto;background:#f7f9fc;padding:18px;border-radius:6px;font-size:12px}#logout{background:#e8eef8;color:#597197}select{height:43px}[hidden]{display:none!important}@media(max-width:600px){.grid{grid-template-columns:1fr;gap:0}.login-card{padding:25px}.row{align-items:flex-start}.card{padding:20px}}

.login-card #back{margin-top:12px;background:transparent;color:#49658d;border:1px solid #dce4ef;padding:11px 18px;font-weight:500}.login-card form>button{min-height:46px}.login-card #activate button{margin-top:24px}

@keyframes auth-spin{to{transform:rotate(360deg)}}.is-loading::before{content:"";display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:auth-spin .8s linear infinite;margin-right:8px;vertical-align:middle}button:not(:disabled):active{transform:translateY(1px)}

@media(max-width:600px){.login-body{padding:16px;min-height:100dvh}.login-card{padding:24px}.account-page{margin:24px auto;padding:0 16px}.row{flex-wrap:wrap;gap:10px}.row>div{min-width:0;width:100%;overflow-wrap:anywhere}.row button{min-height:44px}.account-top{gap:14px}input,select{font-size:16px;min-height:44px}.account-page h1{font-size:22px}.card{padding:18px}.account-top a{font-size:12px}}

/* 発行した鍵。見えるのは1回だけなので、選んでコピーしやすく大きく出す。 */
.api-key{
  display:block;margin:10px 0;padding:11px 13px;border-radius:8px;
  background:#f4f7fc;border:1px solid #dbe4f2;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;
  word-break:break-all;user-select:all;color:#2d3b50;
}
.subtle{color:#8b97a9;font-size:12px}

/* ログイン画面で止まってしまうのを防ぐ。鍵を持った相手には、入口はAPIだと先に伝える。 */
.api-note{margin-top:10px;font-size:11px;color:#6b7a90}
.api-note code{font-family:ui-monospace,Menlo,monospace;font-size:10.5px;background:#f1f4f9;padding:1px 5px;border-radius:4px}

/* 発行直後にそのまま貼って使える例。改行を残して読めるようにする。 */
#key-usage{white-space:pre-wrap;font-size:11px;background:#f6f8fb;border-radius:8px;padding:10px 12px;margin-top:8px}
