/* Shared styling for the site's login, application, guide and management pages. */
html body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#35243e;background:#f8f6fa;font-size:1rem;line-height:1.65}
html h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;color:#4d2c5d;font-weight:600;line-height:1.45;letter-spacing:.02em}
html h2{color:#593166;line-height:1.5}
html a{color:#623c75;text-underline-offset:4px}
html input{font:inherit;border:1px solid #d8c8e0;border-radius:9px;padding:12px;background:#fbf9fc;min-height:48px;color:#35243e}
html button{font:inherit;border-radius:9px;background:#623c75;color:#fff;min-height:44px}
html button:hover{background:#4b2b5c}
html :is(button,a,input):focus-visible{outline:3px solid #a77cb9;outline-offset:3px}
html section{border-color:#e1d4e8;border-radius:14px}
html .member-screen{padding:30px 18px;min-height:100svh;background-image:linear-gradient(100deg,#f8f6faee,#f8f6fa80),var(--season-art);background-position:center,center bottom;background-size:cover,auto 700px;background-repeat:no-repeat}
html .member-screen main{box-sizing:border-box;width:min(100%,480px);max-width:480px;margin:30px auto;background:#fff;border:1px solid #e0cfe8;border-top:4px solid #694279;border-radius:18px;padding:34px;box-shadow:0 20px 60px #3c204912}
html .member-screen h1{font-size:1.65rem;margin:10px 0 14px;line-height:1.5}
html .member-screen .brand{padding:0;margin:0 0 12px;background:none;border-radius:0;color:#694279;font-size:.875rem;letter-spacing:.06em}
html .member-screen .brand::before{display:none}
html .member-screen .accent{display:block;color:#7f598f;font-size:1rem;font-family:inherit;margin-bottom:4px}
html .member-screen p{line-height:1.8;color:#706077;font-size:1rem}
html .member-screen label{font-size:1rem;color:#493252;margin-top:20px}
html .member-screen input{border-color:#d8c8e0;background:#fbf9fc;border-radius:9px;padding:13px;min-height:50px}
html .member-screen button{background:#623c75;min-height:50px;padding:12px 18px;letter-spacing:.03em}
html .member-screen .new-user{font-size:.875rem;border-top-color:#e4d9ea;margin-top:26px;padding-top:20px}
html .member-screen .new-user a{border-color:#d5c1df;background:#f7f1fa;color:#623c75;font-size:.9375rem}
html .member-screen .error{color:#a1223e;font-size:.9375rem}
html .member-screen .member-season{margin:0 0 20px;padding:8px 12px;border-radius:8px;background:var(--season-light,#fff0da);color:var(--season-accent,#995322);font-size:.875rem;font-weight:600}
@media(max-width:650px){html .member-screen{padding:22px 16px}html .member-screen main{padding:26px 22px;margin:20px auto}html .member-screen h1{font-size:1.5rem}}
