:root { color-scheme: light; --ink:#17202a; --muted:#667085; --brand:#123c69; --gold:#c89532; --line:#e6e8ef; --bg:#f6f8fb; --card:#ffffff; --bad:#b42318; }
* { box-sizing: border-box; }
body { margin:0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background:var(--bg); color:var(--ink); }
.shell { max-width:1100px; margin:0 auto; padding:36px 20px 60px; }
.hero { background:linear-gradient(135deg, var(--brand), #1f5f99); color:white; border-radius:24px; padding:34px; margin-bottom:22px; box-shadow:0 14px 40px rgba(18,60,105,.2); }
.eyebrow { text-transform:uppercase; letter-spacing:.12em; color:#cfe4ff; font-size:13px; margin:0 0 8px; }
h1 { margin:0; font-size:44px; line-height:1; }
h2 { margin:0 0 16px; font-size:22px; }
.sub { max-width:720px; color:#e7f1ff; font-size:18px; }
.notice { display:inline-block; background:#fff7e6; color:#7a4b00; padding:10px 12px; border-radius:12px; margin:8px 0 0; }
.card { background:var(--card); border:1px solid var(--line); border-radius:22px; padding:24px; margin-bottom:22px; box-shadow:0 8px 24px rgba(16,24,40,.05); }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start; }
label { display:block; font-weight:700; margin:14px 0 8px; }
input, select, textarea { display:block; width:100%; margin-top:6px; border:1px solid #cfd6e4; border-radius:12px; padding:12px 13px; font:inherit; background:white; }
textarea { resize:vertical; }
button { border:0; border-radius:12px; padding:12px 16px; background:var(--brand); color:white; font-weight:800; cursor:pointer; margin-top:14px; }
button:hover { filter:brightness(1.06); }
button:disabled { opacity:.6; cursor:wait; }
.secondary { background:#eef2f7; color:#243044; }
.danger { background:#fee4e2; color:var(--bad); margin:0; }
.position { display:flex; justify-content:space-between; gap:16px; border:1px solid var(--line); border-radius:16px; padding:16px; margin-bottom:12px; }
.position p { margin:8px 0; color:var(--muted); white-space:pre-wrap; }
.position small { color:#475467; }
.team-row { display:grid; grid-template-columns:1fr 1fr auto; gap:8px; align-items:end; margin-bottom:8px; }
.team-row button { margin-top:6px; padding:12px 14px; }
.result { white-space:pre-wrap; background:#0f172a; color:#d9e5ff; border-radius:16px; padding:16px; overflow:auto; }
@media (max-width: 800px) { .grid { grid-template-columns:1fr; } h1 { font-size:34px; } .team-row { grid-template-columns:1fr; } }
