:root{color-scheme:light;font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.4;--bg-top: #f3d987;--bg-mid: #c8e9e3;--bg-bottom: #eaf4f8;--card-bg: #ffffff;--card-border: #cfdce5;--text-main: #20303a;--text-muted: #5b7082;--panel-bg: #fbfdfd;--panel-border: #d8e4ea;--accent: #4f78a8;--accent-hover: #446a96;--secondary-bg: #ece5f5;--secondary-text: #3f4560;--secondary-hover: #e3d9f1;--error: #b63349;--success: #1f7a50}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,var(--bg-top) 0%,var(--bg-mid) 48%,var(--bg-bottom) 100%);color:var(--text-main)}.page{min-height:100vh;display:grid;place-items:center;padding:24px}.card{width:min(980px,100%);background:var(--card-bg);border-radius:18px;padding:24px;border:1px solid var(--card-border);box-shadow:0 14px 40px #0e2d3e1a}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}h1{margin:0 0 6px}.brand{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:10px;align-items:start}.brand-logo{width:52px;height:52px;display:block}.brand-copy{min-width:0;display:flex;flex-direction:column;gap:8px;max-width:64ch}.brand-copy h1{margin:0;line-height:1.15}.brand-copy p{margin:0;line-height:1.5;letter-spacing:.01em;white-space:normal;overflow-wrap:break-word}.muted{color:var(--text-muted)}.small{font-size:.9rem}.account{min-width:260px;border:1px solid var(--panel-border);border-radius:12px;padding:12px;background:#f6fafb}.account-email{font-weight:600;margin-bottom:8px;overflow-wrap:anywhere}.quota-table{width:100%;border-collapse:collapse;margin-top:10px}.quota-table th,.quota-table td{text-align:left;padding:6px 0;border-bottom:1px solid #e1eaef;font-size:.95rem}.invite-panel{margin-top:12px}.invite-panel input[type=email]{min-width:180px;border:1px solid var(--panel-border);border-radius:8px;padding:8px 10px;font:inherit;color:var(--text-main);background:#fff}.login-wrap{margin-top:28px}.upload-section{margin-top:24px}.upload-box{display:block;border:2px dashed #87aeb7;border-radius:12px;padding:16px;cursor:pointer;margin-bottom:10px;background:#f6fafc}.upload-box span{display:block;font-weight:600;margin-bottom:6px}input[type=file]{width:100%}.panel,.decision-box{margin:14px 0;padding:12px;border:1px solid var(--panel-border);border-radius:10px;background:var(--panel-bg)}.format-snippet{margin:8px 0 0;padding:10px;background:#f4f8fb;border:1px solid #d9e4ec;border-radius:8px;overflow:auto;font-size:.85rem}.actions{display:flex;gap:8px;margin-top:10px;align-items:center;flex-wrap:wrap}.gender-group,.age-group{display:flex;flex-direction:column;gap:6px}.age-group input{width:120px;border:1px solid var(--panel-border);border-radius:8px;padding:7px 10px;font:inherit;color:var(--text-main);background:#fff}button{background:var(--accent);color:#fff;border:0;border-radius:10px;padding:9px 14px;cursor:pointer;font-weight:600}button:hover{background:var(--accent-hover)}button.secondary{background:var(--secondary-bg);color:var(--secondary-text)}button.secondary:hover{background:var(--secondary-hover)}.error{color:var(--error);font-weight:600}.success{color:var(--success);font-weight:600}.result-image{width:min(420px,100%);display:block;border-radius:10px;border:1px solid #d9e4ec;background:#fff}.matched-rsid-wrap{margin-top:10px;overflow:auto;max-height:320px;border:1px solid #d9e4ec;border-radius:8px}.matched-rsid-table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff}.matched-rsid-table th,.matched-rsid-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #eef3f6;white-space:nowrap}.matched-rsid-table thead th{position:sticky;top:0;background:#f7fbfd;z-index:1}@media (max-width: 760px){.topbar{flex-direction:column}.brand{grid-template-columns:44px 1fr}.brand-logo{width:44px;height:44px}.account{width:100%}}
