:root{color-scheme:light;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#282e27;background:#f7f5ef}
*{box-sizing:border-box}body{margin:0}.auth-shell{width:100%;max-width:440px;margin:0 auto;padding:clamp(20px,6vw,40px);display:flex;flex-direction:column;gap:28px}.auth-brand{align-self:flex-start}.auth-brand img{display:block;max-width:100%;height:auto}h1{font-size:clamp(1.5rem,5vw,1.9rem);line-height:1.35;margin:0 0 16px;word-break:keep-all;text-wrap:balance}h1:focus{outline:none}p{line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}a,button{color:inherit;font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #285bc3;outline-offset:4px}.auth-actions{display:grid;gap:12px;margin-top:24px}.auth-actions a,.auth-actions button{display:block;min-height:44px;padding:12px 16px;border:1px solid #8b8b83;border-radius:10px;background:transparent;text-align:center;text-decoration:none;cursor:pointer}.auth-actions .auth-primary{background:#4c623c;border-color:#4c623c;color:#fff}button:disabled{cursor:wait;opacity:.65}.auth-help{font-size:.875rem;color:#50504a;margin:0}nav{display:flex;flex-wrap:wrap;gap:16px}nav a{min-height:44px;display:inline-flex;align-items:center}#auth-status:empty{display:none}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
dialog{width:min(360px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #8b8b83;border-radius:12px;background:#f7f5ef;color:#282e27}dialog::backdrop{background:rgb(0 0 0 / .3)}dialog h2{margin-top:0;font-size:1.3rem;word-break:keep-all}
#invite-create{display:grid;gap:16px}#invite-create[hidden]{display:none}#invite-create label{display:grid;gap:8px}#invite-create label[hidden]{display:none}input,textarea{font:inherit;box-sizing:border-box;width:100%;min-height:44px;padding:12px;border:1px solid #8b8b83;border-radius:8px;background:#fff;color:inherit}input:focus-visible,textarea:focus-visible{outline:3px solid #285bc3;outline-offset:3px}#invite-create button,#invite-more,#invite-result button{min-height:44px;padding:12px 16px;border:1px solid #8b8b83;border-radius:10px;font:inherit;cursor:pointer}#invite-list{list-style:none;padding:0;margin:0}#invite-list li{border-bottom:1px solid #d1d0c8;padding:16px 0}#invite-result{padding:16px;border:1px solid #8b8b83;border-radius:12px}#invite-result textarea{overflow-wrap:anywhere}#invite-result[hidden],#invite-more[hidden]{display:none}
select{font:inherit;width:100%;min-height:44px;padding:10px;border:1px solid #8b8b83;border-radius:8px;background:#fff;color:inherit}select:focus-visible{outline:3px solid #285bc3;outline-offset:3px}dialog label{display:grid;gap:8px;margin:16px 0}#invite-list>li>button{font:inherit;min-height:44px;padding:10px 14px;border:1px solid #8b8b83;border-radius:8px;background:transparent;color:inherit}

.join-form{display:grid;gap:16px}.join-form label{display:grid;gap:8px}.join-form button,#join-content>button{min-height:44px;padding:12px 16px;border:1px solid #8b8b83;border-radius:10px;font:inherit;cursor:pointer}.join-form .auth-primary,#join-content>.auth-primary{background:#4c623c;color:#fff}.join-document{border:1px solid #d1d0c8;padding:16px;border-radius:10px}.join-document h2{font-size:1.125rem;margin:0}.join-document small{overflow-wrap:anywhere}.join-document-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;min-height:60px}.join-document .join-document-body{max-height:320px;overflow:auto}.join-form .join-choice{display:flex;align-items:flex-start;gap:12px}.join-choice input{width:24px;min-height:24px;flex-shrink:0}.policy-shell{max-width:800px}#join-content:empty{display:none}

.auth-remember{display:flex;align-items:center;gap:10px;margin:20px 0;font-size:.875rem}.auth-remember input{width:20px;height:20px;flex:none;margin:0}.auth-secondary{background:transparent!important;color:var(--ink,#263025)!important;border:1px solid currentColor}.auth-actions>*{min-height:44px}

.auth-shell [hidden]{display:none!important}

#join-content>a.auth-primary,#join-content>a.auth-secondary{display:block;min-height:44px;margin-top:12px;padding:12px 16px;border:1px solid #8b8b83;border-radius:10px;text-align:center;text-decoration:none}

.auth-actions a,.auth-actions button,#join-content>a,#join-content>button{word-break:keep-all;overflow-wrap:anywhere}
#join-content>button{width:100%}
