:root{--bg: #15171a;--card: #1f2226;--line: #30343a;--fg: #e8e6e1;--muted: #9aa0a6;--green: #3fb96b;--red: #e5534b;--amber: #e0a526;--blue: #6ea8fe;--radius: 10px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;font-size:16px;line-height:1.6}a{color:var(--blue)}.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;z-index:10;background:var(--card);padding:8px 12px;border-radius:var(--radius)}.app{max-width:880px;margin:0 auto;padding:0 16px 48px}.header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:16px}.header h1{font-size:1.05rem;margin:0;flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.header .who{color:var(--muted);font-size:.85rem;overflow-wrap:anywhere}.btn{appearance:none;border:1px solid var(--line);background:#272b30;color:var(--fg);border-radius:var(--radius);padding:10px 16px;font:inherit;font-size:.95rem;cursor:pointer;min-height:44px}.btn:hover:not(:disabled){border-color:var(--muted)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.btn-primary{background:#1f5d38;border-color:#2b7d4b}.btn-danger{background:#5d2320;border-color:#8a3a35}.btn-dev{background:#4a3a10;border-color:var(--amber);color:#f4dfa6;width:100%}.btn-small{padding:6px 12px;min-height:36px;font-size:.85rem}.btn-link{background:none;border:none;color:var(--blue);padding:4px;min-height:36px;cursor:pointer;font:inherit;text-decoration:underline}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:12px}.card h2{font-size:1rem;margin:0 0 4px;overflow-wrap:anywhere}.card-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.grid{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:620px){.grid{grid-template-columns:1fr 1fr}}.muted{color:var(--muted)}.small{font-size:.85rem}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.badge{display:inline-block;border-radius:999px;padding:2px 10px;font-size:.8rem;border:1px solid var(--line);white-space:nowrap}.badge[data-state=running]{color:var(--green);border-color:var(--green)}.badge[data-state=stopped]{color:var(--muted)}.badge[data-state=starting],.badge[data-state=booting],.badge[data-state=stopping]{color:var(--amber);border-color:var(--amber)}.badge[data-state=maintenance]{color:var(--blue);border-color:var(--blue)}.badge[data-state=unknown]{color:var(--muted);border-style:dashed}.role-tag{font-size:.75rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 8px;white-space:nowrap}.field{display:block;margin-bottom:12px}.field>span{display:block;font-size:.85rem;color:var(--muted);margin-bottom:4px}.field input{width:100%;background:#15171a;color:var(--fg);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;font:inherit;min-height:44px}.field input:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.notice{border:1px solid var(--red);background:#2a1b1a;color:#ffd7d3;border-radius:var(--radius);padding:10px 12px;margin:12px 0;overflow-wrap:anywhere}.notice-info{border-color:var(--blue);background:#1a2130;color:#d5e3ff}.notice-warn{border-color:var(--amber);background:#2a2310;color:#f4dfa6}.backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.backdrop[data-guard=on] .dialog{pointer-events:none}.dialog{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;max-width:420px;width:100%}.dialog h2{margin:0 0 8px;font-size:1.05rem}.dialog p{margin:0 0 16px;overflow-wrap:anywhere}.dialog .actions{justify-content:flex-end}.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:16px;-webkit-overflow-scrolling:touch}.tabs button{appearance:none;background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);padding:10px 12px;font:inherit;font-size:.9rem;cursor:pointer;white-space:nowrap;min-height:44px}.tabs button[aria-selected=true]{color:var(--fg);border-bottom-color:var(--blue)}.tabs button:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.panel{border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;margin-top:16px}.panel h3{font-size:.95rem;margin:0 0 8px}.panel .field{max-width:320px}select{width:100%;background:#15171a;color:var(--fg);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;font:inherit;min-height:44px}select:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.choices{border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px 12px;margin:12px 0}.choices legend{font-size:.85rem;color:var(--muted);padding:0 4px}.choice,.zone{display:flex;align-items:center;gap:8px;padding:8px 4px;min-height:44px;cursor:pointer;border-bottom:1px solid var(--line)}.choice{flex-wrap:nowrap}.choice input,.zone input{flex:0 0 auto}.zone{flex-wrap:wrap}.choice:last-child,.zone:last-child{border-bottom:none}.choice span,.zone span{min-width:0;overflow-wrap:anywhere}.zone-az{font-variant-numeric:tabular-nums}.zone-price{margin-left:auto;font-variant-numeric:tabular-nums}.zone-score{font-variant-numeric:tabular-nums}.dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0}.dl dt{color:var(--muted);font-size:.85rem}.dl dd{margin:0;overflow-wrap:anywhere}.audit{list-style:none;margin:8px 0 0;padding:0}.audit-row{padding:8px 0;border-bottom:1px solid var(--line)}.audit-row:last-child{border-bottom:none}.audit-head{display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--muted)}.audit-who{overflow-wrap:anywhere}.audit-action{font-weight:600}.audit-detail,.audit-raw{margin:2px 0 0;overflow-wrap:anywhere}.members,.invites{list-style:none;margin:8px 0 0;padding:0}.member-row,.invite-row{padding:10px 0;border-bottom:1px solid var(--line)}.member-row:last-child,.invite-row:last-child{border-bottom:none}.member-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.member-name{font-weight:600;overflow-wrap:anywhere}.member-email,.invite-target{overflow-wrap:anywhere}.role-tag.member-admin,.role-tag.invite-admin{color:var(--blue);border-color:var(--blue)}.role-tag.member-off{color:var(--red);border-color:var(--red)}.member-servers{list-style:none;margin:6px 0 0;padding:0}.member-server{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0}.member-server-name{overflow-wrap:anywhere}.member-role{width:auto;min-width:8em;padding:6px 10px;min-height:36px}.member-since{margin-left:auto}.invite-row .badge[data-state=active]{color:var(--green);border-color:var(--green)}.invite-row .badge[data-state=revoked],.invite-row .badge[data-state=expired]{color:var(--muted);border-style:dashed}.invite-row .badge[data-state=used]{color:var(--blue);border-color:var(--blue)}.invite-created{border:1px solid var(--blue);border-radius:var(--radius);padding:12px;margin:12px 0}.invite-created .field{max-width:none}.invite-url{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem}
