/* Shared GSing visual system; loaded after page-specific layout styles. */
:root{--paper:#080d16;--ink:#eef3fc;--muted:#a3b0c2;--line:#2a384a;--blue:#72bcff;--cyan:#72bcff;--green:#72bcff;--white:#101a28;--surface:#101a28;--accent:#72bcff;--site-paper:#080d16;--site-ink:#eef3fc;--site-muted:#a3b0c2;--site-green:#72bcff;--site-accent:#a3d4ff;--site-line:#2a384a;--site-tint:#15253a;color-scheme:dark}
body.gsing-page{background:var(--paper);color:var(--ink);font-family:"Segoe UI","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased;margin:0}.gsing-page a{color:inherit}.gsing-page :is(a,button,summary,input,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:4px}.gsing-page ::selection{background:var(--accent);color:#080d16}.gsing-page h1{font-weight:600;letter-spacing:-.04em}.gsing-page h2{font-weight:500;letter-spacing:-.02em}.gsing-page .eyebrow{font-family:Consolas,monospace;color:var(--accent);font-size:11px;letter-spacing:.15em}
.global-header{width:calc(100% - 112px);max-width:1440px;min-height:100px;margin:auto;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line);position:relative;z-index:30}.global-brand{display:flex;align-items:center;gap:13px;font-size:24px;font-weight:800;letter-spacing:.05em;line-height:1.2}.global-brand img{width:46px;height:46px;object-fit:contain;border-radius:7px;background:#fff}.global-brand small{display:block;margin-top:7px;font-size:8px;letter-spacing:.17em;color:var(--muted);font-weight:500}.global-nav{display:flex;gap:28px;margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}.global-nav a{padding:12px 0;border-bottom:1px solid transparent}.global-nav a:hover{color:var(--accent);border-color:var(--accent)}.global-account{position:relative;max-width:30%;font-size:13px}.global-account summary{list-style:none;cursor:pointer;padding:11px 16px;border:1px solid #344359;border-radius:4px;overflow-wrap:anywhere}.global-account summary span{margin-left:12px}.global-account summary::-webkit-details-marker{display:none}.global-account>div{position:absolute;right:0;top:calc(100% + 10px);background:#132033;border:1px solid #344359;min-width:180px;padding:9px;border-radius:6px;box-shadow:0 15px 50px #0008}.global-account a,.global-account button{display:block;width:100%;padding:9px 12px;text-align:left;background:none;border:0;color:var(--ink);cursor:pointer;font:inherit}.global-account a:hover,.global-account button:hover{background:#22344b}.global-account form{display:block;margin:0}.global-footer{width:calc(100% - 112px);max-width:1440px;margin:30px auto 0;padding:30px 0 38px;display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid var(--line)}.global-footer>a:first-child{font-size:24px;font-weight:800}.global-footer span{font:10px Consolas,monospace;color:var(--muted)}.global-footer p,.global-footer>a:last-child{font-size:11px;color:var(--muted)}
.gsing-page main{width:calc(100% - 112px);max-width:1200px;margin:auto}.gsing-page :is(.article-shell,.admin-shell){min-height:calc(100vh - 260px);padding:50px 0 70px}.gsing-page .article-shell>article{max-width:1000px}.gsing-page .back{max-width:1000px;margin-bottom:40px;font-size:12px;color:var(--muted)}.gsing-page .article-shell h1{font-size:clamp(32px,4.7vw,64px);line-height:1.2}.gsing-page .article-summary{font-size:16px;line-height:1.9}.gsing-page .article-meta{font-size:12px;color:var(--muted)}.gsing-page .article-body{font-size:16px;line-height:2}.gsing-page .article-body p{overflow-wrap:anywhere}.gsing-page .article-media{border-radius:6px;background:#101a28}.gsing-page .article-external{border-radius:4px;background:var(--accent);color:#061321}.gsing-page :is(.admin-panel,.editor-card){background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:clamp(24px,4vw,48px);max-width:1200px;box-shadow:none}.gsing-page .admin-top{max-width:1200px;font-size:12px;color:var(--muted);gap:20px}.gsing-page :is(.editor-card h1,.admin-heading h1){font-size:clamp(28px,3.6vw,44px);line-height:1.3}.gsing-page .editor-card>p:not(.eyebrow){font-size:13px;color:var(--muted)}.gsing-page .admin-heading{gap:24px}.gsing-page .admin-actions{font-size:12px}.gsing-page .article-table h2{font-size:22px}.gsing-page .article-table p{font-size:13px;overflow-wrap:anywhere}.gsing-page .article-table small{font-size:11px;color:var(--muted)}.gsing-page .row-actions{font-size:12px;gap:15px}.gsing-page .user-list article,.gsing-page .moderation-grid article{overflow-wrap:anywhere}.gsing-page .moderation-grid h1{font-size:30px}
.gsing-page :is(input,textarea){background:#0b1421;color:var(--ink);border:1px solid #35465d;border-radius:5px;padding:12px 14px}.gsing-page :is(input,textarea)::placeholder{color:#8090a7}.gsing-page :is(input,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px #72bcff18}.gsing-page label{font-size:13px;color:#c6d3e4}.gsing-page input[type=checkbox]{accent-color:var(--accent)}.gsing-page input[type=file]::file-selector-button{background:#213854;border:0;border-radius:3px;color:var(--ink);padding:8px 12px;margin-right:12px}.gsing-page :is(.submit,.primary-action,.media-grid button){background:var(--accent);color:#061321;border:0;border-radius:4px;padding:12px 18px;font-weight:600;font-size:13px}.gsing-page :is(.submit,.primary-action,.media-grid button):hover{background:#a3d4ff}.gsing-page .role-button{background:#172a41;color:var(--accent);border:1px solid #375373;border-radius:4px;font-size:12px}.gsing-page .link-button{color:var(--muted)}.gsing-page .danger{color:#ffa2aa}.gsing-page .super-badge{background:#172e48;color:var(--accent)}.gsing-page .media-upload-inline{background:#0c1624;border-color:#35465d;border-radius:6px}.gsing-page .media-grid article{background:#0b1421;border-color:var(--line);border-radius:6px}.gsing-page .login-comment{background:#101d2e;border-color:var(--line);border-radius:6px;font-size:14px}.gsing-page .login-comment a{color:var(--accent)}.gsing-page .comments h2{font-size:26px}.gsing-page .comment-list article{background:transparent;border-color:var(--line)}.gsing-page .comment-list p{color:#c0ccdc;overflow-wrap:anywhere}.gsing-page .comment-list time{color:var(--muted)}
.gsing-page .blank-team-page{padding:65px 0;min-height:calc(100vh - 260px)}.gsing-page .blank-team-page h1{font-size:clamp(36px,5vw,64px);margin-bottom:25px}.gsing-page .team-lead{color:var(--muted);font-size:16px}.gsing-page .team-timeline{max-width:1000px}.gsing-page .team-timeline p{color:#b5c3d5;font-size:15px}.gsing-page .team-timeline .eyebrow{color:var(--accent)}.gsing-page .team-timeline section::before{background:var(--accent)}.gsing-page .profile-link{color:var(--accent);border-color:#405671}.gsing-page .team-roster{background:var(--surface);border-color:var(--line);border-radius:6px}.gsing-page .team-roster summary{padding:22px;font-weight:500}.gsing-page .team-roster summary:hover{background:#152339}.gsing-page .team-roster thead{background:#17263a;color:var(--muted)}.gsing-page .team-roster th,.gsing-page .team-roster td{border-color:var(--line)}.gsing-page .team-roster tbody tr:hover{background:#132238}.gsing-page .team-group-page{padding:65px 0}.gsing-page .team-group-page h1{font-size:clamp(36px,5vw,64px)}.gsing-page .team-tagline{color:var(--accent)}.gsing-page .group-detail-grid section{background:var(--surface);border:1px solid var(--line);border-radius:6px}.gsing-page .group-detail-grid p,.gsing-page .group-detail-grid li{color:#b9c7d9;font-size:15px}.gsing-page .team-join{background:#102238;border:1px solid #294665;border-radius:6px}.gsing-page .team-join p{color:#b5c7db}.gsing-page .team-join .eyebrow,.gsing-page .team-join .recruitment-flow{color:var(--accent)}.gsing-page .team-group-nav a{border-radius:4px;background:#101a28;color:#becde0;border-color:var(--line)}.gsing-page .team-group-nav a[aria-current=page]{background:var(--accent);color:#061321}
.gsing-page .award-gallery>a{background:#101a28;border:1px solid #34465d;border-radius:6px}.gsing-page .award-gallery>a:hover{border-color:var(--accent)}.gsing-page .award-preview{background:#101a28;border-radius:3px}.gsing-page .award-preview img{background:#fff}.gsing-page .award-gallery>a>span{color:var(--accent)}
body.gsing-page.account-page{background:var(--paper)!important;color:var(--ink)}.gsing-page .page-controls{justify-content:flex-start;width:calc(100% - 112px);max-width:1200px;margin:28px auto 8px;font-size:12px}.gsing-page .page-controls a{background:transparent;border:1px solid var(--line);border-radius:4px;color:var(--muted);font-size:12px;padding:8px 12px}.gsing-page .page-controls a:last-child{background:#14263c;color:var(--accent);border-color:#344c69}.gsing-page .account-main{width:100%;padding:20px 20px 40px;min-height:calc(100vh - 350px)}.gsing-page :is(.login-container,.register-container){background:var(--surface);border-color:var(--line);border-radius:8px;box-shadow:0 20px 80px #0002;max-width:460px;padding:36px}.gsing-page :is(.login-header h1,.register-header h1){color:var(--ink);font-size:30px}.gsing-page :is(.login-header p,.register-header p,.form-group label,.tab-item){color:var(--muted)}.gsing-page .tab-nav{border-color:var(--line)}.gsing-page .tab-item.active{border-color:var(--accent);color:var(--accent)}.gsing-page .form-control{background:#0b1421;border-color:#35465d;color:var(--ink);border-radius:5px}.gsing-page .form-group small{color:var(--muted)}.gsing-page :is(.btn-login,.btn-register,.send-code-btn){background:var(--accent);color:#061321;border-radius:4px;font-weight:600}.gsing-page :is(.btn-login,.btn-register,.send-code-btn):hover{background:#a3d4ff}.gsing-page :is(.btn-login,.btn-register,.send-code-btn):disabled{background:#293b50;color:#91a2b8}.gsing-page :is(.login-link a,.register-link a){color:var(--accent)}.gsing-page .code-message.success{background:#14352b;color:#8fe3be}.gsing-page .code-message.error{background:#3c1f2b;color:#ffb4c0}.gsing-page .password-strength{background:#24364c}.gsing-page .strength-bar{background:var(--accent)}.flash{background:#17263b;color:#dce9fb;border:1px solid #38506e;box-shadow:0 12px 35px #0005}.flash.error{color:#ffb4c0}.flash.success{color:#8fe3be}
@media(max-width:1100px){.global-header,.global-footer,.gsing-page main,.gsing-page .page-controls{width:calc(100% - 64px)}.global-nav{gap:18px}.global-header{gap:18px}.gsing-page .account-main{width:100%}.gsing-page .article-table article{flex-wrap:wrap}}
@media(max-width:760px){.global-header{flex-wrap:wrap;padding-top:18px;gap:14px;min-height:126px}.global-account{margin-left:auto;max-width:48%}.global-nav{order:3;flex:0 0 100%;justify-content:space-between;margin:0;border-top:1px solid var(--line);font-size:12px;gap:12px}.global-nav a{padding:12px 0}.gsing-page .admin-heading,.gsing-page .admin-top{flex-wrap:wrap}.gsing-page .admin-actions{flex-wrap:wrap}.gsing-page .row-actions{flex-wrap:wrap}.global-footer{flex-wrap:wrap}.global-footer p{order:3;flex:0 0 100%;text-align:left;margin:0}.gsing-page .moderation-grid{grid-template-columns:1fr}.gsing-page .group-detail-grid{grid-template-columns:1fr}}
@media(max-width:480px){.global-header,.global-footer,.gsing-page main,.gsing-page .page-controls{width:calc(100% - 36px)}.global-brand{font-size:19px;gap:9px}.global-brand img{width:36px;height:36px}.global-brand small{font-size:6px}.global-account{font-size:11px}.global-account summary{padding:9px 10px}.global-account summary span{margin-left:8px}.gsing-page :is(.article-shell,.admin-shell,.blank-team-page,.team-group-page){padding-top:35px}.gsing-page :is(.admin-panel,.editor-card){padding:22px 18px}.gsing-page .article-meta{flex-wrap:wrap;gap:12px}.gsing-page .account-main{width:100%;padding:12px 18px 30px}.gsing-page :is(.login-container,.register-container){padding:28px 22px}.gsing-page .code-input{gap:7px}.gsing-page .send-code-btn{flex-basis:104px;font-size:12px}.gsing-page .team-table-scroll{padding:0 12px 14px}.gsing-page .award-gallery{width:100%}.gsing-page .user-list article{align-items:flex-start;flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){.gsing-page *{animation:none!important;transition:none!important}}

/* One navigation component across the homepage and all inner pages. */
.global-nav{gap:20px;position:relative;align-items:center}.global-nav>a[aria-current=page],.global-nav .nav-recruit{color:var(--accent)}.nav-group{position:relative}.nav-group summary{display:flex;align-items:center;gap:7px;padding:12px 0;cursor:pointer;list-style:none;border-bottom:1px solid transparent}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:hover,.nav-group[open]>summary{color:var(--accent);border-color:var(--accent)}.nav-group summary span{font-size:10px}.nav-dropdown{position:absolute;top:calc(100% + 8px);left:-16px;min-width:190px;padding:8px;background:#132033;border:1px solid #344359;border-radius:6px;box-shadow:0 15px 50px #0008;z-index:40}.global-nav .nav-dropdown a{display:block;padding:10px 12px;border:0;border-radius:3px;color:#c0cde0}.global-nav .nav-dropdown a:hover{background:#22344b;color:var(--accent)}.global-account summary:focus-visible,.nav-group summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.gsing-home .global-account form{display:block;margin:0}.gsing-home .global-header a{color:inherit}.gsing-home .global-header .nav-recruit,.gsing-home .global-header a[aria-current=page]{color:var(--accent)}
@media(max-width:1150px){.global-header{gap:16px}.global-nav{gap:13px;font-size:11px}.global-account{font-size:12px}.global-brand{font-size:21px}.global-brand small{font-size:7px}}
@media(max-width:980px){.global-header{flex-wrap:wrap;padding-top:18px;gap:14px;min-height:126px}.global-account{margin-left:auto;max-width:48%}.global-nav{order:3;flex:0 0 100%;justify-content:space-between;margin:0;border-top:1px solid var(--line);gap:12px;font-size:12px}.global-nav>a,.nav-group summary{padding:12px 0}}
@media(max-width:600px){.global-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 8px;padding:3px 0}.global-nav>a,.nav-group summary{justify-content:center;text-align:center;font-size:11px}.nav-group{position:static}.nav-dropdown{top:100%;left:0;right:0;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.global-nav .nav-dropdown a{white-space:normal}.global-brand{font-size:19px}.global-brand small{font-size:6px}}

/* Keep the account dropdown above the second navigation row on narrow screens. */
.global-nav{z-index:1}.global-account{z-index:2}.global-account>div{z-index:1}
