.auth-layout { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding-block:65px; align-items:start; }
.auth-intro { padding-block:35px; }.auth-intro h1 { font-size:36px; line-height:1.8; margin-block:24px; }.auth-intro p { color:#71829c; line-height:2.2; font-size:14px; }
.auth-symbol { width:110px; height:110px; display:grid; place-items:center; margin-top:40px; border-radius:30px; background:linear-gradient(135deg,#edf5ff,#f7faff); border:1px solid #dbe8fa; color:#3e7ee8; font-size:50px; }
.auth-card { border:1px solid #e4ebf5; border-radius:22px; padding:32px; background:#fff; box-shadow:0 18px 60px #143f7810; }.auth-card h2 { margin:15px 0; font-size:25px; }
.community-form { display:grid; gap:19px; margin-top:25px; }.form-field { display:grid; gap:8px; min-width:0; }.form-field label { font-size:13px; font-weight:600; }
.form-field input { width:100%; min-width:0; border:1px solid #dce5f2; border-radius:10px; padding:13px; background:#fbfdff; font:inherit; color:#142641; }.form-field input:focus { outline:2px solid #78aaff; outline-offset:2px; }
.form-field small,.form-field small ul { font-size:10px; color:#7b8ca6; line-height:1.9; padding-inline:0; }.errorlist { list-style:none; padding:10px 12px; margin:0; background:#fff0f0; color:#a9273a; border-radius:8px; font-size:12px; line-height:1.9; }
.auth-switch { margin-top:25px; font-size:12px; }.auth-switch a { color:#2f6fcd; }.account-menu { position:relative; }.account-menu summary { cursor:pointer; list-style:none; border:1px solid #dce5f2; border-radius:50%; width:38px; height:38px; display:grid; place-items:center; }.account-menu summary::-webkit-details-marker { display:none; }.account-menu > div { position:absolute; top:48px; left:0; z-index:50; width:210px; padding:20px; background:white; border:1px solid #dce5f2; border-radius:14px; box-shadow:0 15px 35px #07173518; }.account-menu strong,.account-menu small { display:block; margin-bottom:12px; }.account-menu button { cursor:pointer; background:#f2f6ff; border:0; border-radius:8px; padding:10px 15px; font:inherit; color:#344d76; }
.site-messages { margin:25px 5%; padding:14px 20px; border:1px solid #bde7d6; background:#f0fbf6; color:#237251; border-radius:12px; font-size:14px; }
.competition-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-bottom:45px; }.competition-card { border:1px solid #e1e9f5; border-radius:18px; background:linear-gradient(150deg,#fff,#f7faff); overflow:hidden; transition:box-shadow .2s,border-color .2s; }.competition-card:hover { border-color:#aac9f9; box-shadow:0 12px 30px #143f7810; }
.competition-card-main { display:block; text-align:right; width:100%; cursor:pointer; border:0; background:transparent; padding:28px; font:inherit; color:inherit; }.competition-card-main h3 { font-size:21px; margin:24px 0 10px; }.competition-card-main p { color:#71829c; font-size:13px; line-height:2; }.competition-status { display:inline-block; padding:7px 12px; border-radius:20px; font-size:10px; background:#edf2f9; color:#657997; }.status-open { color:#18704c; background:#e7f7ef; }.status-running { color:#245fb2; background:#e7f0ff; }.competition-winner { display:block; font-size:12px; color:#73839b; margin-block:25px; }.competition-winner i { color:#ac8948; margin-left:7px; }.competition-enroll { margin:0 28px 25px; }.competition-joined { display:block; margin:0 28px 25px; font-size:12px; color:#18704c; }
.competition-dialog { width:min(680px,calc(100% - 28px)); max-height:88dvh; margin:auto; padding:0; border:1px solid #dfe8f5; border-radius:22px; color:#12243f; box-shadow:0 30px 100px #030b2455; overflow:auto; }.competition-dialog::backdrop { background:#06132caa; backdrop-filter:blur(6px); }.dialog-close { position:absolute; top:15px; left:15px; z-index:1; width:36px; height:36px; border:0; border-radius:50%; background:#fff; color:#18375f; cursor:pointer; font-size:25px; }.dialog-content { padding:32px; }.dialog-content h2 { font-size:28px; margin-block:18px 10px; }.dialog-content h3 { font-size:16px; margin-block:15px; }.competition-information,.competition-rules { font-size:13px; color:#657994; line-height:2.2; }.competition-art { height:170px; background:radial-gradient(ellipse at 20% 30%,#28508c,#08182e); display:flex; align-items:center; justify-content:center; gap:25px; color:#91b7ee; direction:ltr; }.competition-art i { font-size:55px; }.competition-art span { font:600 11px var(--font-en); letter-spacing:3px; }.competition-image { width:100%; height:230px; object-fit:cover; }.competition-dates { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-block:25px; padding:20px; background:#f5f8fd; border-radius:14px; }.competition-dates dt { font-size:10px; color:#72829a; }.competition-dates dd { margin:8px 0 0; font-size:13px; }.competition-rules { border-block:1px solid #e5ecf6; padding-block:15px; margin-bottom:25px; }.rules-check { display:flex; gap:10px; align-items:center; font-size:12px; }.rules-check input { width:18px; height:18px; flex-shrink:0; accent-color:#316dca; }.membership-success { background:#eaf8f0; padding:16px; border-radius:12px; color:#21714c; font-size:14px; }.contest-modal-open { overflow:hidden; }
@media(max-width:1050px) { .main-nav { gap:12px; }.brand-text { max-width:130px; }.competition-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.auth-layout { gap:30px; } }
@media(max-width:820px) { .auth-layout { grid-template-columns:1fr; }.auth-intro { padding:0; }.auth-symbol { display:none; }.account-menu > div { position:static; margin-top:10px; }.auth-intro h1 { font-size:28px; } }
@media(max-width:560px) { .competition-grid { grid-template-columns:1fr; }.auth-card,.dialog-content { padding:24px; }.auth-layout { padding-block:30px; }.competition-dates { grid-template-columns:1fr; }.dialog-content h2 { font-size:23px; } }
