:root{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#112747;background:#eef4fc;color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;padding:24px}
.shell{display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,1.05fr);max-width:1100px;width:100%;background:white;border-radius:28px;overflow:hidden;border:1px solid #d5e3f4;box-shadow:0 22px 65px #123e6a19;min-height:620px}
.intro{padding:47px 46px;background:linear-gradient(145deg,#e7f3ff,#f5f9ff 65%,#eaf7f2);display:flex;flex-direction:column;align-items:flex-start}
.brand{align-self:flex-start}.brand img{display:block;width:172px;height:172px;object-fit:contain;max-width:100%}
.eyebrow{background:#dff5ed;color:#08735e;font-weight:800;letter-spacing:.065em;font-size:11px;border-radius:90px;padding:9px 13px;margin:25px 0 13px}
h1{font-size:clamp(29px,3.5vw,39px);line-height:1.16;letter-spacing:-.045em;margin:8px 0 12px}
.intro p{line-height:1.7;color:#526b88;margin:0;max-width:370px}
.safety{margin-top:auto;background:#ffffffd9;border:1px solid #d8e9f6;border-radius:16px;padding:16px 18px;font-size:13px;font-weight:700;line-height:1.7;width:100%}.safety span{color:#13a983}.safety small{color:#5b748d;font-weight:500}
.panel{padding:45px 47px;display:flex;flex-direction:column}.topline{font-size:13px;font-weight:900;color:#1156a0;display:flex;justify-content:space-between;gap:12px}.topline span{font-size:12px;color:#71849a;font-weight:500}
h2{font-size:29px;letter-spacing:-.03em;margin:50px 0 8px}h3{font-size:18px;margin:18px 0 8px}.sub{color:#61748e;margin:0 0 26px;line-height:1.5}
label:not(.check){display:block;font-weight:700;font-size:14px;margin:17px 0 8px}input:not([type=checkbox]){display:block;width:100%;border:1px solid #c1d2e5;border-radius:12px;background:#fff;color:#102743;padding:14px 15px;font-size:16px;outline:none}
input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #5db0f3;outline-offset:3px}input:not([type=checkbox]):focus{border-color:#308ad1}
button{display:block;border:0;border-radius:12px;background:#146fc3;color:#fff;padding:14px 18px;font-weight:800;font-size:15px;margin-top:22px;cursor:pointer;max-width:100%}button:hover:not(:disabled){background:#095da9}button:disabled{background:#9fb0c2;cursor:not-allowed}.secondary{color:#1259a2;background:#eaf3fc;margin-top:10px}.secondary:hover:not(:disabled){background:#d6e7fa}
.small{font-size:13px;color:#657990;line-height:1.65}.notice{background:#e9f3ff;color:#175589;border:1px solid #c9e0f6;border-radius:13px;padding:14px 16px;margin-top:22px;font-size:13px;line-height:1.55;overflow-wrap:anywhere}.notice[data-state=error]{background:#fff2eb;border-color:#efc9b7;color:#8f421d}.notice[data-state=success]{background:#eaf9ee;border-color:#bfebc8;color:#145e36}
footer{border-top:1px solid #e0eaf4;padding-top:18px;margin-top:auto;display:flex;gap:13px;font-size:13px;color:#8a9aad}a{color:#0d64b6;text-decoration:none}a:hover{text-decoration:underline}.divider{border-top:1px solid #e0eaf4;margin-top:20px}.welcome-line{display:inline-block;margin-top:22px;padding:8px 12px;border-radius:40px;background:#e6f6ee;font-size:12px;color:#107459;font-weight:900}#session-section h2{margin-top:13px}.check{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:13px;color:#263c58;line-height:1.5}.check input{margin-top:3px;flex-shrink:0}.member-list{border:1px solid #dce7f1;border-radius:12px;background:#f8fbff;padding:12px 14px;color:#526982;font-size:13px;max-height:160px;overflow-y:auto}.member-item{padding:8px 0;border-bottom:1px solid #dfe9f3;overflow-wrap:anywhere}.member-item:last-child{border-bottom:0}
[hidden]{display:none!important}
@media(max-width:800px){body{padding:12px}.shell{grid-template-columns:1fr;min-height:0}.intro{padding:22px 24px}.brand img{width:92px;height:92px}.eyebrow{margin-top:12px}.intro h1{font-size:26px}.intro p{display:none}.safety{display:none}.panel{padding:28px 24px}.panel h2{margin-top:22px}.topline{flex-wrap:wrap}.panel footer{margin-top:28px}}
