/* Community 18: compact silver, white and blue racing workspace. */
body.portal17{color-scheme:light;--bg:#eef1f6;--panel:#fff;--line:#dce3ec;--ink:#162235;--muted:#64748b;--accent:#235fc6;--blue:#2365df;--danger:#b0273c;background:var(--bg);color:var(--ink);font:14px/1.6 'Segoe UI',Arial,sans-serif}
.portal17 main{max-width:1492px;margin:0 auto 0 212px;padding:0 36px;min-height:100vh}
.portal17 h1,.portal17 h2,.portal17 h3{font-family:inherit;color:var(--ink);font-weight:650}.portal17 h1{font-size:30px;line-height:1.2;letter-spacing:-.9px}.portal17 h2{font-size:20px;line-height:1.35;letter-spacing:-.45px}.portal17 h3{font-size:16px;line-height:1.4}.portal17 .muted,.portal17 .form-note{font-size:12px;color:var(--muted)}.portal17 .eyebrow,.portal17 .tag,.portal17 .download-kind{font-size:10px;font-weight:650;letter-spacing:1.1px;color:var(--muted)}
.portal17 .brand{font-size:17px;letter-spacing:-.4px;gap:10px}.portal17 .brand svg{width:30px;height:30px}.portal17 .brand small{font-size:8px;letter-spacing:1.6px;margin-top:6px}.brand-dot{color:#3175eb}
.portal17 .top{position:fixed;inset:0 auto 0 0;width:212px;z-index:40;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:32px 16px 22px;background:#111d30;color:#d6e0ef;border:0;backdrop-filter:none;overflow:auto}.portal17 .top>.brand{padding:0 10px;margin-bottom:34px;color:white;min-height:40px}.portal17 .top>.brand small{color:#859ab7}
.portal17 .top nav{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:auto;order:initial;overflow:visible}.portal17 .nav-group-label{font-size:9px;font-weight:650;letter-spacing:1.4px;color:#768eaf;padding:22px 14px 9px}.portal17 .nav-group-label:first-child{padding-top:0}.portal17 .top nav a{display:flex;align-items:center;gap:11px;min-height:42px;padding:10px 13px;border-radius:6px;font-size:12px;font-weight:500;line-height:1.3;color:#b7c5d9;white-space:normal;box-shadow:none;border:0;text-decoration:none}.portal17 .top nav a>svg{height:17px;width:17px;flex:0 0 17px;opacity:.8}.portal17 .top nav a:hover{color:white;background:#203049}.portal17 .top nav a.selected{color:white;background:#2365df;box-shadow:0 4px 14px #040c1d30}
.portal17 .top-right{margin:26px 0 0;padding:22px 12px 0;border-top:1px solid #2b3c54;flex-direction:column;align-items:stretch;gap:12px;margin-top:auto}.portal17 .top-right .status{display:block;font-size:10px;color:#9eb4d0;white-space:normal;line-height:1.5}.portal17 .top-right #logout{background:transparent;border:1px solid #314560;color:#c2d0e3;min-height:34px;font-size:11px;padding:7px 10px}.portal17 #portal-menu-toggle{display:none}
.portal17 .workspace-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:80px;padding:19px 0}.workspace-context{display:flex;align-items:center;gap:11px;font-size:11px;color:#7b899d}.workspace-context strong{font-size:12px;color:#32445e;font-weight:600}.workspace-context span+span:before{content:'/';margin-right:11px;color:#acb7c6}.portal17 .workspace-bar .secondary{background:white;min-height:35px;font-size:11px;padding:8px 12px}
.portal17 .primary,.portal17 .secondary,.portal17 .ghost,.portal17 .small{border-radius:6px;min-height:38px;padding:9px 14px;line-height:1.4;font-size:12px;font-weight:600;transition:background .14s,border-color .14s;box-shadow:none}.portal17 .primary{color:white;background:#2365df;border-color:#2365df}.portal17 .primary:hover{background:#1c56c4;border-color:#1c56c4;text-decoration:none}.portal17 .secondary,.portal17 .small{background:#fff;border-color:#ccd6e4;color:#344c6d}.portal17 .secondary:hover,.portal17 .small:hover{background:#f0f5fc;border-color:#90acd1;text-decoration:none}.portal17 .ghost{background:transparent;border-color:#d4dde9;color:#5a6e8b}.portal17 .ghost:hover{background:#e4ebf5;border-color:#b3c4da;color:#23446f}.portal17 .small{min-height:31px;padding:6px 10px;font-size:11px}.portal17 .text-button{color:#345f9e}.portal17 .text-link{font-size:11px;font-weight:600;color:#3266b4;white-space:nowrap}.portal17 button:disabled{cursor:not-allowed;opacity:.45}.portal17 :focus-visible{outline:2px solid #2365df;outline-offset:4px}.portal17 .danger{color:#b0273c;border-color:#ebbdc5}
.portal17 label{font-size:12px;font-weight:550;color:#425571;margin-bottom:18px}.portal17 input,.portal17 select,.portal17 textarea{font-weight:400;color:#1c314e;background:white;border:1px solid #cad4e2;border-radius:6px;padding:10px 12px;font-size:13px;line-height:1.5;min-height:42px}.portal17 input::placeholder,.portal17 textarea::placeholder{color:#91a0b4}.portal17 input:focus,.portal17 select:focus,.portal17 textarea:focus{border-color:#5488df}.portal17 input[type=checkbox]{min-height:0;accent-color:#2365df}
.portal17 .panel,.portal17 .download-card,.portal17 .hosted-card{background:#fff;border:1px solid #dce3ec;border-radius:10px;backdrop-filter:none;padding:24px;box-shadow:0 3px 14px #1f3c6204}.portal17 .public-section{background:transparent;box-shadow:none;padding-top:0}.portal17 .page-heading{padding:8px 0 24px;margin:0 0 23px;border-bottom:1px solid var(--line)}.portal17 .panel-heading{margin-bottom:18px}.portal17 .panel-heading h2{font-size:18px}.portal17 .message{font-size:12px;color:#245ea9;border-radius:6px;padding:11px 14px;background:#e6eefb;border:1px solid #ccdcf4}.portal17 .message.error{color:#a8253e;background:#fff0f3;border-color:#f0c9d2}.portal17 .message:empty{display:none}.portal17 .empty{font-size:12px;line-height:1.7;color:#72839b;border-top:1px solid var(--line);padding:25px 10px}.portal17 .empty b{color:#455e80}
/* The invitation-only entrance never exposes the member workspace. */
.portal17.signed-out main{margin:0;max-width:none;padding:0}.portal17 .auth-gate{min-height:100dvh;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);gap:0;align-items:stretch;justify-items:stretch;background:#fff}.portal17 .auth-art{position:relative;isolation:isolate;display:flex;align-items:flex-end;overflow:hidden;padding:72px 9%;background:#192b45}.portal17 .auth-art:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0c182ce6 0%,#162c4c10 88%),url('/media/community-lines-v20.svg') 64% center/cover no-repeat}.portal17 .auth-art:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:4px;background:#3278ed}.portal17 .auth-art-copy{max-width:520px;color:white}.portal17 .auth-art-copy .eyebrow{color:#d0e1fa;font-size:10px;letter-spacing:2px}.portal17 .auth-art-copy p{font-size:clamp(40px,5vw,68px);font-weight:650;letter-spacing:-2px;line-height:1.04;margin:20px 0 22px}.portal17 .auth-art-copy>span:last-child{font-size:14px;color:#c7d4e8;display:block;max-width:350px;line-height:1.8}.portal17 .auth-card{align-self:center;justify-self:center;width:min(100%,430px);padding:44px 40px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;margin:30px 0}.portal17 .auth-brand{margin-bottom:42px;font-size:21px}.portal17 .auth-brand svg{height:36px;width:36px}.portal17 .auth-brand small{font-size:8px;color:#8b99ae;letter-spacing:1.7px}.portal17 .auth-card h1{font-size:28px;margin:28px 0 10px}.portal17 .auth-card .muted{font-size:13px;margin-bottom:28px}.portal17 .tabs{gap:26px}.portal17 .tabs button{font-size:12px;color:#78889e;padding:0 0 12px}.portal17 .tabs button.selected{color:#1d3558;border-color:#2365df}.portal17 .auth-card .primary{min-height:44px}.portal17 .auth-card #forgot-password{border:0;padding:0;font-size:12px;margin-top:20px;background:transparent;color:#607692}.portal17 .auth-note{font-size:10px;line-height:1.7;color:#8795a9;margin:30px 0 0;padding-top:20px;border-top:1px solid var(--line)}
/* Home: racing banner, meaningful live data, readable news. */
.portal17 .home-heading{position:relative;isolation:isolate;display:flex;flex-direction:row;align-items:center;min-height:295px;margin:0;padding:38px;border:0;border-radius:12px;overflow:hidden;background:#142b48}.portal17 .home-heading:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#10203aeb 0%,#163050b5 40%,#16305005 86%),url('/media/community-lines-v20.svg') 50% 52%/cover no-repeat}.portal17 .home-heading:after{content:'';position:absolute;right:30px;bottom:24px;width:88px;height:4px;transform:skewX(-35deg);background:linear-gradient(90deg,#ffffffa0 0 27%,transparent 27% 34%,#ffffffa0 34% 61%,transparent 61% 68%,#ffffffa0 68%)}.portal17 .home-hero-copy{max-width:500px;padding:0}.portal17 .home-heading .eyebrow{color:#a6c6f5;font-size:9px;letter-spacing:1.7px}.portal17 .home-heading h1{font-size:42px;line-height:1.08;letter-spacing:-1.7px;margin:13px 0 15px;color:white;max-width:400px}.portal17 .home-heading .home-greeting{font-size:13px;color:#dfeaf9;margin:0 0 4px}.portal17 .home-heading .muted{font-size:12px;color:#b5c8e2}.portal17 .home-heading>.tag{position:absolute;right:25px;top:24px;background:#0c223773;color:#dceafa;border:1px solid #ffffff30;border-radius:5px;padding:4px 9px;font-size:10px}.portal17 .hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:21px;margin-top:22px}.portal17 .hero-actions .primary{min-width:148px;justify-content:space-between;background:white;border-color:white;color:#1b3f72}.portal17 .hero-actions .primary:hover{background:#eaf2ff}.portal17 .hero-link{color:#dbe8fa;font-size:12px;font-weight:500}.portal17 .hero-link span{margin-left:4px}
.portal17 .home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:0;margin:18px 0 28px;padding:17px 20px;border:1px solid var(--line);border-radius:9px;background:#fff}.portal17 .home-stats>div{display:flex;gap:12px;align-items:center;padding:0 18px;border-right:1px solid #e7ecf3}.portal17 .home-stats>div:first-child{padding-left:0}.portal17 .home-stats strong{font-size:24px;font-weight:650;line-height:1.2;letter-spacing:-.5px;color:#203b62;font-variant-numeric:tabular-nums}.portal17 .home-stats span{font-size:11px;line-height:1.5;letter-spacing:0;color:#7a8ba3;max-width:80px}.portal17 .home-stats>button{margin-left:15px;min-height:32px;padding:7px 10px;border:0;font-size:11px}
.portal17 .home-grid{grid-template-columns:minmax(0,1.55fr) minmax(285px,1fr);gap:24px}.portal17 .news-panel{padding:25px}.portal17 .news-panel>.panel-heading{margin-bottom:0;padding-bottom:17px;border-bottom:1px solid var(--line)}.portal17 .news-panel>.panel-heading h2{font-size:19px}.portal17 .news-panel>.panel-heading .tag{font-size:8px;letter-spacing:1px}.portal17 .news-item{padding:23px 0;border-bottom:1px solid var(--line)}.portal17 .news-item:last-child{padding-bottom:0;border:0}.portal17 .news-item h3{font-size:21px;line-height:1.3;letter-spacing:-.5px;margin:13px 0 10px;color:#203b60}.portal17 .news-body{font-size:13px;line-height:1.8;color:#687b95;max-width:65ch}.portal17 .news-date{font-size:10px;color:#8998ad}.portal17 .news-byline{gap:8px}.portal17 .news-byline .player-avatar{height:22px;width:22px;flex-basis:22px;font-size:8px;border:0;background:#eaf0fa;color:#6485b4}.portal17 .news-expand{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:33px;margin-top:14px;border:1px solid #d6e0ef;background:#f5f8fd;border-radius:5px;padding:6px 10px;font-size:11px;color:#37659f;font-weight:600}.portal17 .news-expand:after{content:'\2197';font-size:13px}.portal17 .news-expand[aria-expanded=true]:after{content:'\2191'}.portal17 .news-expand:hover{background:#e9f1fe;border-color:#aac4e9}.portal17 .news-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:22px;margin-top:20px;border-top:1px solid var(--line)}.portal17 .news-pagination>span{font-size:10px;color:#7e8fa7}.portal17 .news-pagination>div{display:flex;gap:6px}.portal17 .news-pagination button{font-size:10px;min-height:32px;padding:7px 10px}
.portal17 .home-sidebar{gap:22px}.portal17 .home-sidebar>.panel{padding:22px}.portal17 .home-sidebar .panel-heading{padding-bottom:16px;margin-bottom:0;border-bottom:1px solid var(--line);gap:12px}.portal17 .home-sidebar .panel-heading h2{font-size:17px}.portal17 .live-server{padding:15px 0;gap:10px}.portal17 .live-server:last-child{padding-bottom:0}.portal17 .live-server strong{font-size:12px;font-weight:600;line-height:1.4;color:#344e70}.portal17 .live-server .muted{font-size:10px;line-height:1.5;color:#8291a7;margin-top:5px}.portal17 .live-server .small{white-space:nowrap;font-size:10px;padding:6px 9px;background:#edf3fc;border:1px solid #d8e5f8;color:#3364a9}.portal17 .leader-list li{grid-template-columns:23px minmax(0,1fr) auto;font-size:12px;padding:14px 0;gap:9px}.portal17 .leader-list li:last-child{padding-bottom:0}.portal17 .leader-list strong{font-size:12px;font-weight:600;color:#3c5575}.portal17 .leader-list small{font-size:9px}.portal17 .leader-list .ladder-points{font-size:11px;white-space:nowrap;color:#2d67c8}.portal17 .rank{color:#91a3bd;font-size:11px}.portal17 .player-avatar{background:#ecf2fc;border:1px solid #dce7f7;border-radius:50%;color:#577eae}.portal17 .leader-list .player-avatar{border-radius:6px}
/* Servers and events use real API values, with compact readable cards. */
.portal17 .server-tabs{width:100%;padding:0;gap:27px;border:0;border-bottom:1px solid var(--line);background:none;border-radius:0;margin-bottom:24px}.portal17 .server-tabs [role=tab]{border:0;border-bottom:2px solid transparent;border-radius:0;min-height:44px;padding:10px 2px;background:none;color:#7b8ba1;font-size:13px}.portal17 .server-tabs [role=tab][aria-selected=true]{color:#245bb0;border-color:#2365df;background:none;box-shadow:none}.portal17 .server-tabs [role=tab]:hover{color:#245bb0;background:none}.portal17 .hosted-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;align-items:stretch}.portal17 .hosted-card{padding:19px;gap:9px;overflow:hidden;min-width:0}.portal17 .server-cover{height:125px;flex-basis:125px;margin:-19px -19px 7px;border:0;background-image:linear-gradient(0deg,#142c4b80,#142c4b00),url('/media/community-lines-v20.svg');background-position:64% 54%;background-size:cover;border-radius:0;position:relative}.portal17 .hosted-card:nth-child(2n) .server-cover{background-position:86% 40%}.portal17 .hosted-card:nth-child(3n) .server-cover{background-position:30% 65%}.portal17 .server-cover-label{background:#0d284aa6;border:1px solid #ffffff45;border-radius:4px;color:#fff;font-size:9px;letter-spacing:1.4px;bottom:13px;left:15px;padding:3px 7px}.portal17 .hosted-card h2{font-size:18px;line-height:1.35;letter-spacing:-.4px;color:#284563}.portal17 .hosted-card>small{font-size:10px}.portal17 .hosted-card .server-meta .eyebrow{font-size:9px}.portal17 .state-chip{font-size:9px;padding:3px 7px;border-radius:4px;background:#f5f7fb;color:#8091a7;border-color:#e1e7ef}.portal17 .state-chip.online{background:#edf3ff;border-color:#c6d9fa;color:#356ac4}.portal17 .server-details{gap:15px 10px;margin:10px 0 13px!important}.portal17 .server-details small{font-size:9px;color:#93a0b3;letter-spacing:.3px}.portal17 .server-details strong{font-size:11px;font-weight:550;color:#5e728d}.portal17 .hosted-card>.button-row{padding-top:14px;border-top:1px solid #e8edf5}.portal17 .hosted-card>.button-row>.primary{width:100%;font-size:11px;min-height:35px}.portal17 .showcase-panel,.portal17 .advanced-panel{margin-top:28px}.portal17 .showcase-intro{font-size:12px}.portal17 .showcase-description{color:#637893}.portal17 .advanced-panel>summary{color:#466b9a;font-size:13px;font-weight:600}.portal17 .advanced-panel .panel{box-shadow:none}.portal17 .secret-box{background:#eff5ff;border-color:#b9d1f3}.portal17 .secret-box>span{color:#4b6a96}
.portal17 .events-heading h2{font-size:22px}.portal17 .event-filter{min-height:34px;padding:7px 12px;border-radius:5px;font-size:11px;color:#7186a2;border:1px solid #d9e2ee;background:white}.portal17 .event-filter.selected{color:#265daa;background:#e6effe;border-color:#b7cef2}.portal17 .events-list{gap:16px}.portal17 .event-card{border:1px solid var(--line);border-radius:10px;background:#fff;backdrop-filter:none;box-shadow:none;padding:23px;gap:22px}.portal17 .event-date{background:#edf3fc;border:1px solid #d9e6f8;border-radius:7px;color:#2b5fa8;min-height:80px}.portal17 .event-date span{color:#6d8cb8}.portal17 .event-body h3{font-size:20px}.portal17 .event-time{color:#7489a4;font-size:11px}.portal17 .event-description{color:#6c819a;font-size:12px;line-height:1.8}.portal17 .event-badge{color:#6683ab;border-color:#d8e3f1;background:#f5f8fd;font-size:9px;border-radius:4px}.portal17 .event-badge.live{color:#2459ac;border-color:#b5ccf1;background:#eaf2ff}.portal17 .events-empty{border:1px dashed #c4d1e3;background:#ffffff7d;border-radius:10px;padding:45px 24px}.portal17 .event-admin-card{background:#f4f7fc;border-color:#dbe5f3}
/* Shared tables, profiles, social screens, campaigns and the single installer. */
.portal17 table{font-size:12px}.portal17 th{font-size:10px;letter-spacing:0;text-transform:none;font-weight:500;color:#8191a7;background:#f5f8fc;padding:13px 12px}.portal17 td{padding:16px 12px;border-color:#e5ebf3;color:#506784;line-height:1.5}.portal17 tbody tr:hover{background:#f5f8fe}.portal17 .table-scroll{border:1px solid var(--line);border-radius:8px;background:#fff}.portal17 .ladder-points{color:#2766c7;font-variant-numeric:tabular-nums}.portal17 .ladder-login{font-size:10px;color:#8c9bb0;margin-top:4px}.portal17 .ladder-summary{padding:22px 26px;margin:24px 0;background:white;border:1px solid var(--line);border-radius:9px;gap:50px}.portal17 .ladder-summary span{font-size:29px;font-weight:650;line-height:1.25;letter-spacing:-.5px;color:#365a89}.portal17 .ladder-summary small{font-size:9px;letter-spacing:.5px}.portal17 .profile-stats{background:#e0e7f1;border-color:#dce4ee;border-radius:9px;gap:1px}.portal17 .profile-stats>div{padding:22px;background:#fff}.portal17 .profile-stats .profile-featured{background:#eaf2ff}.portal17 .profile-stats span{font-size:11px;color:#7c8fa8}.portal17 .profile-stats strong{font-size:27px;font-weight:650;color:#3d5c84;letter-spacing:-.6px}.portal17 .profile-stats .profile-featured strong{color:#2463c3}.portal17 .profile-stats small{font-size:10px}
.portal17 .social-grid{gap:23px}.portal17 .social-grid h4{font-size:11px;letter-spacing:.5px}.portal17 .person-row{padding:16px 0;gap:9px}.portal17 .person-row strong{font-size:12px;color:#4a6384}.portal17 .person-row small{font-size:10px}.portal17 .presence-online{color:#326cc9}.portal17 .conversation-button{padding:14px 10px;color:#4a6384}.portal17 .conversation-button.selected,.portal17 .conversation-button:hover{background:#eef4fd}.portal17 .conversation-preview{color:#8192aa}.portal17 .unread-badge{color:#3b70bd;background:#e4efff}.portal17 .chat-message{background:#f2f5fa;border:1px solid #e1e7f0;border-radius:8px;padding:14px}.portal17 .chat-message.own{background:#e7f0ff;border-color:#ccdffb}.portal17 .chat-message small{color:#7a93b5}.portal17 .chat-message p{color:#4d6686;font-size:12px;line-height:1.8}
.portal17 .campaign-card,.portal17 .download-card{background:#fff;border-color:var(--line);border-radius:10px;padding:24px}.portal17 .campaign-map-total{color:#5276a6;font-size:28px}.portal17 .campaign-badge{color:#6f86a5;background:#f4f7fc;border-color:#d4e0ef}.portal17 .campaign-state-published{color:#376abb;border-color:#bed1ef}.portal17 .campaign-state-rejected{color:#a54654;border-color:#e9bfca}.portal17 .campaign-card h2{font-size:20px}.portal17 .campaign-tabs button{background:#fff;color:#7084a0;border-color:#d4deeb}.portal17 .campaign-tabs button.selected{background:#e7effd;color:#3163b3;border-color:#acc6f0}.portal17 .campaign-description{font-size:12px;color:#7b8da6}.portal17 .campaign-map-result,.portal17 .campaign-selected-map{border-color:#e3eaf3}.portal17 .campaign-remove{color:#987687}.portal17 .download-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);gap:23px}.portal17 .download-card{gap:17px}.portal17 .download-card h3{font-size:25px;letter-spacing:-.6px}.portal17 .download-card p{font-size:13px;line-height:1.8;color:#7385a0}.portal17 .download-card small{font-size:10px}.portal17 .download-feature{overflow:hidden;border-top:4px solid #2e70e4;padding:28px}.portal17 .download-feature .primary{min-height:43px;padding-inline:22px}.portal17 .download-feature .download-kind{color:#3971c6}.portal17 .install-steps{margin:5px 0 0;padding-left:24px;color:#4e698c}.portal17 .install-steps li{padding:0 0 20px 7px;font-size:13px;font-weight:600}.portal17 .install-steps li>span{display:block;font-size:12px;font-weight:400;color:#7d90ab;margin-top:5px;line-height:1.7}.portal17 .download-advanced{margin-top:28px}.portal17 .download-advanced>summary{font-size:12px;color:#5478a8;cursor:pointer}.portal17 .download-advanced .download-grid{margin-top:20px}.portal17 .download-advanced .download-card h3{font-size:20px}.portal17 .download-advanced .download-card p{font-size:12px}.portal17 .solo-medal.gold{color:#a67c1a}.portal17 .solo-medal.silver{color:#788a9e}.portal17 .solo-medal.bronze{color:#9a6448}.portal17 .solo-medal.author{color:#3d6cad}
.portal17 footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:40px;padding:25px 0 28px;font-size:10px;color:#91a0b5}.portal17 .footer-brand{font-size:15px;font-weight:650;color:#677f9e;letter-spacing:-.4px}.portal17 footer>a:last-child{font-size:11px;color:#5b7ba7}
@media(min-width:1705px){.portal17 main{margin-left:calc(212px + (100vw - 1704px)/2)}}
@media(max-width:1230px){.portal17 main{padding-inline:26px}.portal17 .home-grid{grid-template-columns:minmax(0,1.4fr) minmax(265px,1fr);gap:20px}.portal17 .home-heading{min-height:285px;padding:30px}.portal17 .home-heading h1{font-size:39px}.portal17 .hosted-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal17 .home-stats{padding:17px 15px}.portal17 .home-stats>div{padding-inline:13px}.portal17 .home-stats strong{font-size:22px}.portal17 .home-stats span{font-size:10px}.portal17 .home-stats>button{margin-left:8px}.portal17 .news-panel{padding:22px}.portal17 .home-sidebar>.panel{padding:19px}.portal17 .news-item h3{font-size:20px}}
@media(max-width:1040px){.portal17 .top{width:190px;padding-inline:12px}.portal17 main{margin-left:190px;padding-inline:22px}.portal17 .top>.brand{font-size:15px}.portal17 .top nav a{font-size:11px}.portal17 .home-grid{grid-template-columns:1fr}.portal17 .home-sidebar{grid-template-columns:1fr 1fr;gap:20px}.portal17 .social-grid{grid-template-columns:1fr}.portal17 .download-grid{grid-template-columns:1fr 1fr}.portal17 .home-stats span{max-width:none}.portal17 .profile-stats>div{padding:18px}.portal17 .profile-stats strong{font-size:24px}}
@media(max-width:820px){.portal17 .top{position:relative;width:auto;inset:auto;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:0;padding:16px 22px;overflow:visible;min-height:66px}.portal17 .top>.brand{margin:0;padding:0;font-size:16px;min-height:34px}.portal17 .top>.brand svg{height:27px;width:27px}.portal17 .top>.brand small{font-size:7px}.portal17 #portal-menu-toggle{display:inline-flex;margin-left:auto;background:#233957;border:1px solid #3a5373;color:#d8e6fa;border-radius:5px;min-height:34px;padding:6px 11px;font-size:11px;align-items:center;gap:8px}.portal17 .top nav{display:none;flex-basis:100%;width:100%;padding:21px 0 12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.portal17 .top.menu-open nav{display:grid}.portal17 .nav-group-label{grid-column:1/-1;padding:12px 10px 2px}.portal17 .nav-group-label:first-child{padding-top:0}.portal17 .top nav a{font-size:12px;min-height:40px}.portal17 .top-right{display:none;flex-basis:100%;margin:0;padding:14px 0 0;flex-direction:row;justify-content:space-between;align-items:center}.portal17 .top.menu-open .top-right{display:flex}.portal17 .top-right #logout{min-width:90px}.portal17 main{margin:0;max-width:none;padding-inline:24px}.portal17 .workspace-bar{min-height:68px;padding:15px 0}.portal17 .home-heading{min-height:300px;padding:32px}.portal17 .home-heading h1{font-size:42px}.portal17 .home-hero-copy{max-width:430px}.portal17 .auth-gate{grid-template-columns:minmax(0,.9fr) minmax(360px,1fr)}.portal17 .auth-card{padding:32px}.portal17 .auth-art{padding:42px 10%}.portal17 .auth-art-copy p{font-size:44px}.portal17 .auth-art-copy>span:last-child{font-size:12px}.portal17 .home-stats span{max-width:80px}.portal17 .page-heading{padding-top:4px}}
@media(max-width:600px){.portal17 main{padding-inline:17px}.portal17 .top{padding:14px 18px}.portal17 .top nav{grid-template-columns:repeat(2,minmax(0,1fr))}.portal17 .workspace-context{gap:8px;font-size:9px}.portal17 .workspace-context strong{font-size:10px}.portal17 .workspace-bar .secondary{font-size:10px;padding:7px 10px;min-height:31px}.portal17 .workspace-bar{min-height:61px;gap:12px}.portal17 .workspace-context span+span:before{margin-right:8px}.portal17 .home-heading{min-height:300px;padding:28px;border-radius:9px}.portal17 .home-heading:before{background-position:60% 50%}.portal17 .home-heading:after{display:none}.portal17 .home-heading h1{font-size:38px;max-width:290px}.portal17 .home-heading>.tag{display:none}.portal17 .home-heading .eyebrow{font-size:8px;letter-spacing:1.1px}.portal17 .home-heading .muted{max-width:240px}.portal17 .hero-actions{gap:16px}.portal17 .hero-link{font-size:11px}.portal17 .hero-actions .primary{min-width:135px;font-size:11px}.portal17 .home-stats{grid-template-columns:repeat(3,minmax(0,1fr));padding:17px 12px;row-gap:14px;margin:14px 0 22px}.portal17 .home-stats>div{flex-direction:column;align-items:flex-start;gap:3px;padding:0 13px}.portal17 .home-stats>div:nth-child(3){border:0}.portal17 .home-stats strong{font-size:22px}.portal17 .home-stats span{max-width:none;font-size:9px;line-height:1.5}.portal17 .home-stats>button{grid-column:1/-1;justify-self:end;min-height:23px;font-size:10px;padding:2px 4px;margin:0}.portal17 .home-sidebar{grid-template-columns:1fr}.portal17 .panel,.portal17 .news-panel,.portal17 .home-sidebar>.panel{padding:21px}.portal17 .news-panel>.panel-heading .tag{display:none}.portal17 .news-item h3{font-size:20px}.portal17 .news-body{font-size:12px}.portal17 .news-pagination{gap:8px}.portal17 .news-pagination button{padding:7px 9px}.portal17 .hosted-grid,.portal17 .download-grid{grid-template-columns:1fr}.portal17 .hosted-card{padding:20px}.portal17 .server-cover{margin:-20px -20px 7px;height:150px;flex-basis:150px}.portal17 h1{font-size:27px}.portal17 .page-heading{padding-bottom:20px;margin-bottom:20px;gap:12px}.portal17 .page-heading .eyebrow{font-size:9px}.portal17 .page-heading .ghost{font-size:10px;padding:7px 9px;min-height:33px}.portal17 .profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.portal17 .profile-stats>div{padding:17px}.portal17 .ladder-summary{padding:18px;gap:24px}.portal17 .ladder-summary span{font-size:23px}.portal17 .ladder-summary small{font-size:8px;letter-spacing:.1px}.portal17 .event-card{grid-template-columns:54px minmax(0,1fr);padding:19px;gap:15px}.portal17 .event-body h3{font-size:18px}.portal17 .event-date{min-height:70px}.portal17 .event-actions{grid-column:1/-1}.portal17 .event-actions .primary{width:100%}.portal17 .section-title{align-items:flex-start;gap:12px}.portal17 .section-title h2{font-size:21px}.portal17 .person-actions{max-width:160px}.portal17 .auth-gate{grid-template-columns:1fr;grid-template-rows:205px auto;min-height:100dvh}.portal17 .auth-art{padding:26px 30px}.portal17 .auth-art:before{background-position:65% 45%}.portal17 .auth-art-copy p{font-size:36px;letter-spacing:-1.2px;margin:12px 0}.portal17 .auth-art-copy>span:last-child{display:none}.portal17 .auth-art-copy .eyebrow{font-size:9px}.portal17 .auth-card{padding:32px 28px;margin:0;width:min(100%,430px)}.portal17 .auth-brand{margin-bottom:26px}.portal17 .auth-card h1{font-size:27px}.portal17 footer{flex-wrap:wrap;gap:12px}.portal17 footer>span{order:3;flex-basis:100%;font-size:9px}}
@media(prefers-reduced-motion:reduce){.portal17,.portal17 *{scroll-behavior:auto!important;transition:none!important}}

/* Community 19: readable racing identities, denser useful content and name tools. */
body.portal17{--muted:#536780;--line:#d5deea;background:#edf1f7}
.portal17 .top{padding-top:25px}.portal17 .top>.brand{margin-bottom:25px}.portal17 .top nav a{font-size:13px;min-height:43px}.portal17 .nav-group-label{color:#91a7c5;font-size:10px;padding-top:20px}.portal17 .top-right .status{color:#b4c6df;font-size:11px}
.portal17 .workspace-bar{min-height:68px;padding-block:15px}.portal17 .workspace-context{font-size:12px;color:#5c708b}.portal17 .workspace-context strong{font-size:13px}.portal17 .workspace-bar .secondary{font-size:12px;min-height:36px}
.portal17 .primary,.portal17 .secondary,.portal17 .ghost,.portal17 .small{font-size:13px;min-height:38px;border-radius:7px}.portal17 .small{min-height:34px;padding:7px 11px;font-size:12px}.portal17 .primary:active{background:#184cae;border-color:#184cae}.portal17 .secondary:active,.portal17 .small:active{background:#e1eafb}.portal17 .ghost{color:#405b7e}.portal17 .ghost:hover{color:#173d73}.portal17 .text-link{font-size:12px;color:#255ba5}.portal17 .muted,.portal17 .form-note{color:#536780}.portal17 .eyebrow,.portal17 .tag,.portal17 .download-kind{color:#5c708b}
.portal17 .panel,.portal17 .download-card,.portal17 .hosted-card{border-color:#d5deea;box-shadow:0 2px 7px #18385706}.portal17 .panel-heading h2,.portal17 .panel-heading h3{color:#1c3354}.portal17 .page-heading{padding-bottom:19px;margin-bottom:20px}.portal17 .empty{color:#566e8c;padding-block:22px}.portal17 .empty a{font-weight:600}
.portal17 .home-heading{min-height:250px;padding:30px 34px;border-radius:12px}.portal17 .home-heading h1{font-size:39px;margin:10px 0 12px}.portal17 .home-heading .home-greeting{font-size:14px;line-height:1.6}.portal17 .home-heading .muted{font-size:13px;color:#d0def0}.portal17 .home-heading .eyebrow{font-size:10px;color:#c3d9fa}.portal17 .home-heading>.tag{font-size:11px;top:19px;right:20px}.portal17 .home-hero-copy{max-width:470px}.portal17 .hero-actions{margin-top:20px;gap:20px}.portal17 .hero-actions .primary{min-width:154px;min-height:40px}.portal17 .hero-link{font-size:13px}.portal17 .hero-link:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.portal17 .home-stats{padding:14px 20px;margin:15px 0 23px}.portal17 .home-stats strong{font-size:25px;color:#1f406e}.portal17 .home-stats span{font-size:12px;color:#536780;max-width:94px}.portal17 .home-stats>button{font-size:12px;min-height:34px}.portal17 .home-stats>div{gap:10px}
.portal17 .home-grid{gap:20px}.portal17 .news-panel{padding:22px}.portal17 .news-panel>.panel-heading{padding-bottom:15px}.portal17 .news-panel>.panel-heading .tag{font-size:9px;letter-spacing:.8px;background:#edf3fd;padding:4px 7px;border:1px solid #d6e3f6;border-radius:4px;color:#496c9d}.portal17 .news-item{padding:20px 0}.portal17 .news-item h3{font-size:21px;line-height:1.3;margin:11px 0 10px;color:#19375f}.portal17 .news-body{font-size:14px;line-height:1.7;color:#465c78}.portal17 .news-date{font-size:11px;color:#61758f}.portal17 .news-byline .player-avatar{height:26px;width:26px;flex-basis:26px;font-size:9px;color:#3d6396;background:#e8f0fc}.portal17 .news-expand{min-height:36px;margin-top:12px;padding:7px 12px;font-size:12px;border-color:#bfcee2;background:#f4f7fc;color:#25558f}.portal17 .news-pagination{padding-top:17px;margin-top:17px}.portal17 .news-pagination>span{font-size:12px;color:#536b88}.portal17 .news-pagination button{font-size:12px;min-height:35px;padding:7px 11px}
.portal17 .home-sidebar{gap:20px}.portal17 .home-sidebar>.panel{padding:20px}.portal17 .home-sidebar .panel-heading{padding-bottom:14px}.portal17 .home-sidebar .panel-heading h2{font-size:18px}.portal17 .live-server{padding:13px 0;gap:12px}.portal17 .live-server>div{min-width:0;flex:1}.portal17 .live-server strong{font-size:13px;line-height:1.55;color:#223f65}.portal17 .live-server .muted{font-size:11px;color:#60748f;margin-top:3px}.portal17 .live-server .small{font-size:12px;min-height:34px;padding:6px 11px;flex-shrink:0;color:#24569e;border-color:#c6d7f0}
.portal17 .leader-list li{grid-template-columns:24px minmax(0,1fr) auto;padding:13px 0;gap:9px}.portal17 .leader-list li>span:nth-child(2){min-width:0}.portal17 .leader-list strong{font-size:13px;color:#203f65;line-height:1.5}.portal17 .leader-list small{font-size:11px;color:#5e7490}.portal17 .leader-list .ladder-points{font-size:12px;font-weight:650;color:#245eb6}.portal17 .rank{font-size:12px;color:#586f8e}.portal17 .leader-list li:first-child>.rank{font-weight:700;color:#235cb5}.portal17 .player-avatar{color:#3b629b;background:#e8f0fc;border-color:#ccdaf0}
.portal17 .server-tabs{gap:25px;margin-bottom:21px}.portal17 .server-tabs [role=tab]{font-size:14px;min-height:45px;color:#526984;font-weight:600}.portal17 .hosted-grid{gap:18px}.portal17 .hosted-card{padding:18px;gap:8px;border-radius:10px}.portal17 .server-cover{height:104px;flex-basis:104px;margin:-18px -18px 8px}.portal17 .server-cover-label{font-size:11px;letter-spacing:1px;left:16px;bottom:12px;padding:4px 8px;background:#102a4dd9}.portal17 .hosted-card h2{font-size:20px;line-height:1.5;color:#1d3b62}.portal17 .hosted-card>small{font-size:11px;color:#5c7390}.portal17 .hosted-card .server-meta .eyebrow{font-size:10px;color:#4c6a91}.portal17 .state-chip{font-size:11px;line-height:1.4;padding:4px 8px;color:#586c85;background:#eff2f7;border-color:#d3dce9}.portal17 .state-chip.online{color:#2158a5;background:#e8f1ff;border-color:#b8cff2}.portal17 .server-details{gap:12px 14px;margin:9px 0 13px!important}.portal17 .server-details>div{min-width:0}.portal17 .server-details small{font-size:11px;color:#60748e;margin-bottom:3px}.portal17 .server-details strong{font-size:13px;font-weight:600;color:#29466c;line-height:1.5}.portal17 .server-details>div:nth-child(3){grid-column:1/-1;padding-top:11px;border-top:1px solid #e3eaf3}.portal17 .server-details>div:nth-child(4){grid-column:1/-1;display:flex;gap:9px;align-items:baseline}.portal17 .server-details>div:nth-child(4)>small{margin:0}.portal17 .server-details>div:nth-child(4)>strong{font-size:12px;color:#3765a2}.portal17 .hosted-card>.button-row{padding-top:12px}.portal17 .hosted-card>.button-row>.primary{min-height:39px;font-size:13px}.portal17 .showcase-description{color:#4b627f;font-size:13px}.portal17 .showcase-intro{font-size:13px;color:#536b88}.portal17 .showcase-listing>small{font-size:11px;color:#617690}.portal17 .showcase-status-pending{background:#fff6e5;color:#8b5c17;border-color:#e7d2a8}.portal17 .showcase-status-disabled{color:#5c6f88}.portal17 .showcase-counter{color:#536b88;font-size:11px}
.portal17 .event-card{padding:20px;gap:20px}.portal17 .event-body h3{font-size:21px;line-height:1.4}.portal17 .event-time{font-size:12px;color:#536d8d}.portal17 .event-description{font-size:13px;line-height:1.7;color:#4e6480}.portal17 .event-badge{font-size:10px;color:#45668f}.portal17 .event-filter{font-size:12px;min-height:36px}
.portal17 table{font-size:13px}.portal17 th{font-size:11px;font-weight:600;color:#4d6380;background:#eef3fa;padding:12px}.portal17 td{padding:13px 12px;color:#364f71}.portal17 .ladder-login{font-size:11px;color:#60758f}.portal17 .ladder-points{font-weight:600;color:#245db5}.portal17 .ladder-toolbar{gap:18px}.portal17 .ladder-toolbar label{max-width:420px}.portal17 .ladder-summary{padding:18px 23px;margin:20px 0;gap:42px}.portal17 .ladder-summary span{font-size:28px;color:#214879}.portal17 .ladder-summary small{font-size:11px;letter-spacing:0;color:#5c7390}.portal17 .player-identity-copy>a{font-weight:600;color:#244e87;line-height:1.55}.portal17 .profile-stats>div{padding:18px 20px}.portal17 .profile-stats span{font-size:12px;color:#526b8a}.portal17 .profile-stats strong{font-size:26px;color:#264872;line-height:1.35;font-variant-numeric:tabular-nums}.portal17 .profile-stats small{font-size:11px;color:#5b7495}.portal17 #profile-solo-note,.portal17 #profile-time-note{font-size:12px;line-height:1.7}.portal17 .profile-history{margin:21px 0}
.portal17 .social-grid{gap:20px}.portal17 .person-row{padding:13px 0;align-items:center}.portal17 .person-row strong{font-size:14px;line-height:1.5;color:#294970}.portal17 .person-row small{font-size:11px;color:#607693}.portal17 .presence-online,.portal17 .presence-offline{font-size:11px}.portal17 .social-grid h4{font-size:12px;color:#4d6788;letter-spacing:0}.portal17 .conversation-button{padding:13px 12px;border-radius:7px}.portal17 .conversation-button strong{font-size:13px;line-height:1.5}.portal17 .conversation-button.selected{background:#e9f1ff;box-shadow:inset 3px 0 #2b6bd6}.portal17 .conversation-preview{font-size:12px;color:#5b7391}.portal17 .conversation-button small{font-size:10px;color:#5f7490}.portal17 .unread-badge{font-size:10px;font-weight:600;background:#dbe9ff;color:#235caf}.portal17 .thread-heading h4{font-size:14px}.portal17 .chat-message{padding:12px 14px;background:#f3f6fb}.portal17 .chat-message small{font-size:11px;color:#5e7797}.portal17 .chat-message p{font-size:13px;line-height:1.7;color:#2e496c}.portal17 .compose-footer small{font-size:11px;color:#5c7390}
.portal17 .profile-editor{margin:22px 0;padding:0;overflow:hidden}.portal17 .profile-editor>summary{min-height:58px;padding:18px 22px;color:#244b7e;font-size:15px;font-weight:650;cursor:pointer;background:#f7faff}.portal17 .profile-editor>summary::marker{color:#2c67c4}.portal17 .profile-editor[open]>summary{border-bottom:1px solid #d8e3f1}.portal17 .profile-editor>form{padding:22px}.portal17 .profile-editor label{font-size:13px;color:#304e75}.portal17 #nickname-value{font-family:Consolas,'Cascadia Mono',monospace;font-size:14px;background:#fbfcff;border-color:#b9cbe4}.portal17 .nickname-preview{min-height:74px;display:flex;align-items:center;padding:18px 20px;border:1px solid #304665;border-radius:8px;background:linear-gradient(120deg,#14233a,#243b59);color:#fff;font-size:22px;line-height:1.5;overflow-wrap:anywhere;margin:16px 0}.portal17 .tm-code-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:12px 0}.portal17 .tm-code-tools button{min-height:35px;padding:7px 11px;background:#f4f7fc;border:1px solid #c7d5e8;border-radius:6px;font-size:12px;line-height:1.5;font-weight:600;color:#2d507d;cursor:pointer}.portal17 .tm-code-tools button:hover{border-color:#82a7dc;background:#e8f0fe;color:#19498e}.portal17 .tm-code-tools button:active{background:#dce8fb}.portal17 .tm-code-tools button:disabled{cursor:not-allowed;opacity:.45}.portal17 .tm-code-help{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px;line-height:1.6;color:#526b8b;margin:13px 0 18px}.portal17 .tm-code-help code{display:inline-block;padding:1px 5px;background:#edf2fa;border-radius:4px;color:#28558e;font-size:12px}.portal17 .editor-meta{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:12px;color:#546d8e;margin:10px 0 14px}.portal17 .editor-meta small{font-size:12px;color:inherit}.portal17 #nickname-status{margin-bottom:0}
.portal17 .campaign-description,.portal17 .download-card p{color:#506987;font-size:13px}.portal17 .campaign-map-result,.portal17 .campaign-selected-map{font-size:13px}.portal17 .campaign-map-total{color:#335d96}.portal17 .download-card small{font-size:11px;color:#5e7390}.portal17 .install-steps li>span{font-size:13px;color:#5b7392}.portal17 footer{margin-top:30px;padding-block:22px;font-size:11px;color:#526b8c}
@media(max-width:1040px){.portal17 .top nav a{font-size:12px}.portal17 .home-heading{min-height:246px;padding:28px}.portal17 .home-stats span{font-size:11px}.portal17 .home-stats strong{font-size:24px}}
@media(max-width:820px){.portal17 .top{padding:16px 22px}.portal17 .top>.brand{margin-bottom:0}.portal17 .workspace-bar{min-height:62px}.portal17 .home-heading{min-height:260px}.portal17 .home-heading h1{font-size:38px}.portal17 .top nav a{font-size:13px}}
@media(max-width:600px){.portal17 .top{padding:14px 18px}.portal17 .workspace-context{font-size:10px}.portal17 .workspace-context strong{font-size:11px}.portal17 .workspace-bar .secondary{font-size:11px}.portal17 .home-heading{min-height:276px;padding:25px}.portal17 .home-heading h1{font-size:36px}.portal17 .home-heading .eyebrow{font-size:9px;letter-spacing:1px}.portal17 .home-heading .home-greeting{font-size:13px}.portal17 .home-heading .muted{font-size:12px}.portal17 .hero-actions{gap:14px}.portal17 .hero-link{font-size:12px}.portal17 .home-stats{padding:14px 12px}.portal17 .home-stats span{font-size:10px}.portal17 .home-stats strong{font-size:23px}.portal17 .home-stats>button{min-height:36px}.portal17 .panel,.portal17 .news-panel,.portal17 .home-sidebar>.panel{padding:19px}.portal17 .news-item h3{font-size:20px}.portal17 .news-body{font-size:13px}.portal17 .news-date{font-size:10px}.portal17 .news-pagination>span{font-size:11px}.portal17 .news-pagination button{font-size:11px;min-height:40px;padding:8px 10px}.portal17 .hosted-card{padding:19px}.portal17 .server-cover{height:128px;flex-basis:128px;margin:-19px -19px 8px}.portal17 .primary,.portal17 .secondary,.portal17 .small,.portal17 .ghost{min-height:42px}.portal17 .live-server .small{min-height:38px}.portal17 .leader-list li{gap:7px}.portal17 .leader-list strong{font-size:12px}.portal17 .leader-list .ladder-points{font-size:11px}.portal17 .leader-list small{font-size:10px}.portal17 .person-actions{max-width:150px;gap:5px}.portal17 .person-actions .small{font-size:11px;min-height:38px;padding:7px 9px}.portal17 .person-row strong{font-size:13px}.portal17 .event-card{padding:18px;gap:14px}.portal17 .event-body h3{font-size:19px}.portal17 .profile-stats>div{padding:16px}.portal17 .profile-stats strong{font-size:24px}.portal17 .profile-stats span{font-size:11px}.portal17 .ladder-summary{gap:24px;padding:17px}.portal17 .ladder-summary small{font-size:10px}.portal17 .profile-editor{padding:0}.portal17 .profile-editor>summary{font-size:14px;padding:16px 18px;min-height:55px}.portal17 .profile-editor>form{padding:18px}.portal17 .nickname-preview{font-size:20px;padding:15px;min-height:68px}.portal17 .tm-code-tools{gap:6px}.portal17 .tm-code-tools button{min-height:40px;padding:8px 11px}.portal17 .tm-code-help{gap:7px 12px;font-size:11px}.portal17 .editor-meta{font-size:11px}.portal17 .editor-meta small{font-size:11px}}
@media(max-width:380px){.portal17 .workspace-context>span{display:none}.portal17 .workspace-bar .secondary{flex-shrink:0}.portal17 .home-heading{padding:23px}.portal17 .news-pagination{flex-wrap:wrap}.portal17 .news-pagination>div{margin-left:auto}.portal17 .leader-list li{grid-template-columns:19px minmax(0,1fr) auto}.portal17 .leader-list li>span:nth-child(2){grid-template-columns:27px minmax(0,1fr);column-gap:7px}.portal17 .leader-list .player-avatar{height:27px;width:27px;flex-basis:27px}.portal17 .tm-code-help{display:block}.portal17 .tm-code-help>*{margin-right:9px}}

/* Community 22: compact editorial hierarchy, with the existing account controls intact. */
body.portal17{--bg:#f5f6f8;--panel:#fff;--line:#dce2ea;--ink:#182436;--muted:#5b6b80;--accent:#235ccc;--blue:#2464e8;background:var(--bg)}
.portal17 main{max-width:none;width:calc(100% - 206px);margin:0 0 0 206px;padding:0 clamp(24px,3.1vw,52px)}
.portal17 #dashboard{max-width:1320px;margin:0 auto}
.portal17 h1{font-size:32px;letter-spacing:-1.1px}.portal17 h2{letter-spacing:-.5px}
.portal17 .top{width:206px;padding:27px 13px 19px;background:#142034}.portal17 .top>.brand{padding:0 12px;margin-bottom:29px;min-height:38px}.portal17 .top>.brand small{color:#91a7c6}
.portal17 .top nav{gap:3px}.portal17 .nav-group-label{font-size:9px;letter-spacing:1.3px;color:#8da3c1;padding:22px 12px 9px}.portal17 .nav-group-label:first-child{padding-top:0}
.portal17 .top nav a{gap:10px;min-height:40px;padding:10px 12px;border-radius:5px;font-size:12px;color:#bdcce0}.portal17 .top nav a:hover{color:#fff;background:#22324b}.portal17 .top nav a.selected{color:#fff;background:#2768e7;box-shadow:none}
.portal17 .top-right{margin:28px 6px 0;padding:19px 5px 0;border-color:#304057;margin-top:auto}.portal17 .top-right .status{font-size:10px;color:#b0c1d9;line-height:1.6}.portal17 .top-right #logout{border-color:#41526c;color:#d1dceb;min-height:33px}
.portal17 .workspace-bar{min-height:66px;padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:27px}.portal17 .workspace-context{gap:10px;font-size:11px;color:#67768b}.portal17 .workspace-context strong{font-size:12px;color:#37465b}.portal17 .workspace-context>span{padding-left:10px;border-left:1px solid #cad3df}.portal17 .workspace-bar .secondary{background:transparent;min-height:32px;font-size:11px;padding:6px 11px}
.portal17 .primary,.portal17 .secondary,.portal17 .ghost,.portal17 .small{border-radius:5px;min-height:37px;padding:8px 13px;line-height:1.45;font-size:12px}.portal17 .primary{background:var(--blue);border-color:var(--blue)}.portal17 .primary:hover{background:#1855ce;border-color:#1855ce}.portal17 .secondary,.portal17 .small{border-color:#c8d2df;color:#304966}.portal17 .small{min-height:32px;padding:6px 10px;font-size:11px}.portal17 .ghost{border-color:#d2dbe7;color:#536781}
.portal17 .panel,.portal17 .download-card,.portal17 .hosted-card{border-radius:8px;box-shadow:none}.portal17 .page-heading{padding:3px 0 20px;margin-bottom:22px}.portal17 .page-heading h1{margin-bottom:0}.portal17 .page-heading .eyebrow{color:#3662a3;font-size:9px;letter-spacing:1.3px}
.portal17 .message{border-radius:5px;padding:10px 13px;background:#eaf1fc}.portal17 .message.error{background:#fff0f3}
/* The journal starts above the fold: masthead, live band, then real posts. */
.portal17 .home-heading{position:relative;isolation:auto;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:22px;min-height:0;margin:0 0 22px;padding:1px 0 0;border:0;border-radius:0;overflow:visible;background:none}
.portal17 .home-heading:before,.portal17 .home-heading:after{display:none}
.portal17 .home-hero-copy{min-width:0;max-width:none}.portal17 .home-heading .eyebrow{font-size:9px;letter-spacing:1.6px;color:#3662a3}.portal17 .home-heading h1{font-size:36px;line-height:1.18;letter-spacing:-1.35px;margin:7px 0 11px;color:#18293f;max-width:none}
.portal17 .home-heading .home-greeting{display:flex;flex-wrap:wrap;align-items:baseline;gap:9px;font-size:13px;line-height:1.6;color:#60718a;margin:0}.portal17 #display-name{color:#2c425f;font-weight:600}.portal17 .greeting-divider{color:#a9b5c6}
.portal17 .home-heading-actions{display:flex;align-items:flex-end;flex-direction:column;gap:11px;flex-shrink:0}.portal17 .home-heading-actions>.tag{color:#6a7b91;font-size:10px;font-weight:400;letter-spacing:0}.portal17 .home-heading-actions>.primary{min-width:143px;gap:20px;min-height:39px}
.portal17 .home-stats{display:flex;align-items:center;gap:21px;margin:0 0 25px;padding:13px 0;border:0;border-top:1px solid #cdd7e4;border-bottom:1px solid #cdd7e4;border-radius:0;background:transparent}
.portal17 .home-stats>.live-caption{display:flex;align-items:center;gap:7px;flex-shrink:0;font-size:10px;font-weight:650;color:#315987;max-width:none;letter-spacing:0}.portal17 .live-caption>span{height:6px;width:6px;max-width:none;border-radius:50%;background:#3475e8;box-shadow:0 0 0 3px #e0eafd}
.portal17 .home-stats>div{display:flex;flex-direction:row;align-items:baseline;gap:6px;padding:0;border:0}.portal17 .home-stats strong{font-size:17px;font-weight:650;line-height:1.2;letter-spacing:-.4px;color:#253d5c;font-variant-numeric:tabular-nums}.portal17 .home-stats div>span{font-size:11px;line-height:1.5;letter-spacing:0;color:#64758a;max-width:none;white-space:nowrap}
.portal17 .home-stats>button{margin-left:auto;min-height:28px;padding:3px 0 3px 9px;border:0;font-size:11px;gap:8px}.portal17 .home-stats>button:hover{background:transparent;color:#245bc4}
.portal17 .home-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:28px;align-items:start}.portal17 .home-sidebar{display:grid;grid-template-columns:1fr;gap:24px;min-width:0}.portal17 .section-index{display:block;font-size:9px;font-weight:650;letter-spacing:1.1px;color:#69809d;line-height:1.4;margin-bottom:7px}
.portal17 .news-panel{padding:25px 28px 0;border-top:3px solid #2868dd;overflow:hidden}.portal17 .news-panel>.panel-heading{padding:0 0 18px;margin:0;border-bottom:1px solid var(--line);align-items:flex-end;gap:12px}.portal17 .news-panel>.panel-heading h2{font-size:23px;letter-spacing:-.65px}.portal17 .news-panel>.panel-heading>.tag{font-size:8px;letter-spacing:.7px;color:#71819a;white-space:nowrap;line-height:1.5;background:none;border:0;border-radius:0;padding:0}
.portal17 .news-item{padding:22px 0;border-bottom:1px solid var(--line)}.portal17 .news-item:last-child{padding-bottom:23px;border-bottom:0}.portal17 .news-item h3{font-size:23px;line-height:1.3;letter-spacing:-.6px;margin:12px 0 11px;color:#233b5c}.portal17 .news-item:first-child h3{font-size:29px;line-height:1.2;letter-spacing:-.9px;max-width:24ch}.portal17 .news-body{font-size:14px;line-height:1.8;color:#4a5c76;max-width:65ch}.portal17 .news-date{font-size:10px;line-height:1.6;color:#657a96}.portal17 .news-byline{gap:8px;align-items:center}.portal17 .news-byline .player-avatar{height:24px;width:24px;flex-basis:24px;font-size:8px;border:1px solid #dce5f2;background:#edf2fa;color:#5675a5}
.portal17 .news-expand{min-height:33px;margin-top:14px;border-color:#bacce6;background:#f7faff;border-radius:4px;padding:7px 11px;font-size:11px;color:#295a9c}.portal17 .news-expand:hover{background:#e9f1fe;border-color:#93b3e1}
.portal17 .news-pagination{padding:15px 0;margin:0}.portal17 .news-pagination>span{font-size:11px;color:#5a718f}.portal17 .news-pagination button{font-size:11px;min-height:32px;padding:6px 10px}
.portal17 .community-discover{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dce5f1;background:#f7f9fc;margin:0 -28px}.portal17 .community-discover>a{display:flex;align-items:center;gap:10px;padding:20px;min-width:0;color:#254b81;text-decoration:none}.portal17 .community-discover>a+a{border-left:1px solid #dce5f1}.portal17 .community-discover>a:hover{background:#eaf1fc}.portal17 .community-discover .discover-symbol{height:30px;width:30px;flex:0 0 30px;display:grid;place-items:center;background:#e7eefb;color:#2960ba;font-size:18px;border-radius:5px}.portal17 .community-discover strong{display:block;font-size:12px;line-height:1.45;font-weight:600}.portal17 .community-discover small{display:block;margin-top:3px;font-size:10px;line-height:1.5;color:#627a9a}.portal17 .community-discover>a>span:last-child{margin-left:auto}
.portal17 .home-sidebar>.panel{padding:21px 22px}.portal17 .home-sidebar .panel-heading{padding:0 0 17px;margin:0;border-bottom:1px solid var(--line);gap:10px;align-items:flex-end}.portal17 .home-sidebar .panel-heading h2{font-size:19px}.portal17 .home-sidebar .text-link{font-size:10px}.portal17 .home-sidebar .section-index{font-size:8px;letter-spacing:.9px}
.portal17 .live-server{padding:13px 0;gap:12px}.portal17 .live-server strong{font-size:13px;font-weight:600;line-height:1.5;color:#2a466b}.portal17 .live-server .muted{font-size:10px;line-height:1.6;color:#677d9b;margin-top:3px}.portal17 .live-server .small{font-size:11px;min-height:31px;padding:6px 11px;color:#265bb0;border-color:#bfcfea;background:#f7faff}
.portal17 .leader-list li{grid-template-columns:21px minmax(0,1fr) auto;padding:13px 0;gap:9px}.portal17 .leader-list strong{font-size:12px;font-weight:600;color:#304c70}.portal17 .leader-list small{font-size:10px;color:#6c809c}.portal17 .leader-list .ladder-points{font-size:12px;font-weight:650;color:#245fbd}.portal17 .rank{font-size:11px;color:#617997}.portal17 .player-avatar{border-radius:6px}
/* Distinct server identities; a compact cover, readable map, one clear join action. */
.portal17 .hosted-grid{gap:20px;align-items:stretch}.portal17 .hosted-card{padding:20px;gap:8px;overflow:hidden}.portal17 .server-cover{height:88px;flex-basis:88px;margin:-20px -20px 11px;background:#18304d url('/media/community-lines-v20.svg') 68% 45%/cover}.portal17 .hosted-card:nth-child(2n) .server-cover{background-position:100% 10%}.portal17 .hosted-card:nth-child(3n) .server-cover{background-position:0 100%}.portal17 .server-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#102441b3,#10244100)}.portal17 .server-cover-label{z-index:1;bottom:15px;left:20px;font-size:11px;letter-spacing:1.7px;font-weight:650;color:#fff;background:none;border:0;border-radius:0;padding:0}
.portal17 .hosted-card h2{font-size:21px;line-height:1.35;letter-spacing:-.5px;color:#203b5d}.portal17 .hosted-card>small{font-size:11px;color:#6b819e}.portal17 .hosted-card .server-meta .eyebrow{font-size:9px;color:#61799a;letter-spacing:1.1px}.portal17 .state-chip{font-size:10px;line-height:1.5;padding:3px 7px;border-radius:4px}.portal17 .state-chip.online:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#3979e8;margin-right:5px;vertical-align:1px}
.portal17 .server-details{gap:14px 12px;margin:9px 0 12px!important;padding-top:14px;border-top:1px solid #e0e7f0}.portal17 .server-details small{font-size:10px;color:#637d9d;margin-bottom:3px}.portal17 .server-details strong{font-size:14px;font-weight:600;color:#2e4d76}.portal17 .server-details>div:nth-child(3)>strong{font-size:13px}.portal17 .server-details>div:nth-child(4)>strong{font-size:12px;color:#4971a6}.portal17 .hosted-card>.button-row{padding-top:11px;border-top:1px solid #e1e8f2}.portal17 .hosted-card>.button-row>.primary{min-height:37px;font-size:12px}
.portal17 .server-tabs{margin-bottom:23px;gap:25px}.portal17 .server-tabs [role=tab]{min-height:43px;font-size:13px}.portal17 .event-card{grid-template-columns:72px minmax(0,1fr) auto;border-radius:8px;padding:22px;gap:22px;align-items:center}.portal17 .event-date{background:#edf3fe;border-color:#d3e2fa;border-radius:6px;color:#285eae;min-height:81px}.portal17 .event-body h3{font-size:22px;line-height:1.35;letter-spacing:-.6px}.portal17 .event-description{font-size:13px;line-height:1.8}.portal17 .event-actions .primary{min-width:116px}
.portal17 .nickname-preview{min-height:68px;padding:16px 19px;border:1px solid #c9d7ea;border-radius:6px;background:#fff;color:#263d5a}.portal17 .profile-stats>div{padding:19px 21px}.portal17 .profile-stats strong{font-size:27px}.portal17 .ladder-summary{padding:19px 23px;border-radius:7px}.portal17 .download-feature{border-top:3px solid var(--blue)}
/* A framed invitation-only entrance in the same visual family. */
.portal17.signed-out main{margin:0;max-width:none;width:100%;padding:clamp(20px,5vw,64px);display:grid;align-items:center}.portal17 .auth-gate{width:min(100%,1090px);min-height:680px;margin:auto;grid-template-columns:minmax(0,1.05fr) minmax(390px,1fr);overflow:hidden;border:1px solid #d7dfeb;border-radius:12px;box-shadow:0 16px 50px #1b3a6210}
.portal17 .auth-art{padding:48px;background:#152b48}.portal17 .auth-art:before{background:linear-gradient(0deg,#10203dec 0%,#10203d00 80%),url('/media/community-lines-v20.svg') 60% center/cover no-repeat}.portal17 .auth-art:after{left:48px;width:76px;background:#4388fa}.portal17 .auth-art-copy{max-width:400px}.portal17 .auth-art-copy .eyebrow{color:#c1d7f7;font-size:9px;letter-spacing:1.7px}.portal17 .auth-art-copy p{font-size:52px;letter-spacing:-1.8px;line-height:1.08;margin:17px 0 20px}.portal17 .auth-art-copy>span:last-child{font-size:13px;color:#c6d6eb;max-width:285px;line-height:1.8}
.portal17 .auth-card{width:100%;max-width:435px;padding:43px;margin:0}.portal17 .auth-brand{margin-bottom:36px;font-size:21px}.portal17 .auth-brand svg{height:34px;width:34px}.portal17 .auth-brand small{color:#6a809f}.portal17 .auth-card h1{font-size:29px;margin:25px 0 9px}.portal17 .auth-card .muted{font-size:12px;margin-bottom:24px}.portal17 .auth-card .primary{min-height:43px}
@media(min-width:1720px){.portal17 .home-grid{grid-template-columns:minmax(0,1.7fr) minmax(350px,1fr)}.portal17 .news-panel{padding-inline:33px}.portal17 .community-discover{margin-inline:-33px}}
@media(max-width:1280px){.portal17 main{padding-inline:27px}.portal17 .home-grid{grid-template-columns:minmax(0,1.45fr) minmax(285px,1fr);gap:21px}.portal17 .news-panel{padding:22px 23px 0}.portal17 .community-discover{margin-inline:-23px;grid-template-columns:1fr}.portal17 .community-discover>a{padding:15px 20px}.portal17 .community-discover>a+a{border-left:0;border-top:1px solid #dce5f1}.portal17 .home-sidebar>.panel{padding:20px}.portal17 .news-panel>.panel-heading>.tag{display:none}.portal17 .home-stats{gap:17px}.portal17 .home-stats>.live-caption{font-size:9px}.portal17 .home-stats div>span{font-size:10px}.portal17 .hosted-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1060px){.portal17 .home-grid{grid-template-columns:1fr}.portal17 .home-sidebar{grid-template-columns:1fr 1fr;gap:21px}.portal17 .community-discover{grid-template-columns:1fr 1fr}.portal17 .community-discover>a+a{border-top:0;border-left:1px solid #dce5f1}.portal17 .home-stats{gap:19px}.portal17 .home-stats>.live-caption{display:none}.portal17 .home-stats div>span{font-size:11px}.portal17 .event-card{grid-template-columns:66px minmax(0,1fr)}.portal17 .event-actions{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start}.portal17 .event-body h3{font-size:20px}.portal17 .auth-art{padding:39px}.portal17 .auth-art-copy p{font-size:44px}}
@media(max-width:820px){.portal17 .top{position:relative;inset:auto;width:auto;padding:14px 22px;min-height:64px}.portal17 .top>.brand{margin:0;padding:0;font-size:16px;min-height:34px}.portal17 .top nav a{font-size:12px;min-height:40px}.portal17 .top-right{margin:0;padding:14px 0 0}.portal17 main{width:100%;margin:0;padding-inline:24px}.portal17 .workspace-bar{min-height:59px;padding-block:12px;margin-bottom:24px}.portal17 .home-heading h1{font-size:33px}.portal17 .home-stats{margin-bottom:23px}.portal17 .auth-gate{grid-template-columns:minmax(0,.85fr) minmax(330px,1fr);min-height:620px}.portal17 .auth-card{padding:31px}.portal17 .auth-art{padding:30px}.portal17 .auth-art-copy p{font-size:39px}.portal17 .auth-art-copy>span:last-child{font-size:12px}}
@media(max-width:600px){.portal17 main{padding-inline:17px}.portal17 .top{padding:13px 18px}.portal17 .workspace-context{font-size:10px;gap:8px}.portal17 .workspace-context strong{font-size:11px}.portal17 .workspace-context>span{padding-left:8px}.portal17 .workspace-bar .secondary{font-size:10px;padding:6px 9px;min-height:32px}.portal17 .workspace-bar{gap:10px;margin-bottom:20px}.portal17 .home-heading{gap:15px;align-items:flex-start;margin-bottom:19px}.portal17 .home-heading h1{font-size:29px;letter-spacing:-1px}.portal17 .home-heading .eyebrow{font-size:8px;letter-spacing:1px}.portal17 .home-heading .home-greeting{font-size:12px;gap:5px 8px}.portal17 .home-heading .home-greeting>span:last-child{flex-basis:100%;font-size:11px}.portal17 .greeting-divider{display:none}.portal17 .home-heading-actions{padding-top:20px}.portal17 .home-heading-actions>.tag{display:none}.portal17 .home-heading-actions>.primary{min-width:0;min-height:38px;font-size:10px;padding:8px 11px;gap:9px}.portal17 .home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 5px;padding:13px 0}.portal17 .home-stats>div{flex-direction:column;align-items:flex-start;gap:2px}.portal17 .home-stats strong{font-size:21px}.portal17 .home-stats div>span{font-size:10px}.portal17 .home-stats>button{grid-column:1/-1;justify-self:end;min-height:27px;font-size:10px;padding:2px 0;margin:0}.portal17 .home-sidebar{grid-template-columns:1fr;gap:19px}.portal17 .news-panel{padding:21px 21px 0}.portal17 .news-panel>.panel-heading h2{font-size:21px}.portal17 .news-item{padding:20px 0}.portal17 .news-item h3{font-size:21px}.portal17 .news-item:first-child h3{font-size:25px}.portal17 .news-body{font-size:13px;line-height:1.8}.portal17 .community-discover{margin-inline:-21px;grid-template-columns:1fr}.portal17 .community-discover>a+a{border-left:0;border-top:1px solid #dce5f1}.portal17 .news-pagination{gap:8px}.portal17 .news-pagination>span{font-size:10px}.portal17 .news-pagination button{font-size:10px;min-height:37px;padding:7px 10px}.portal17 .hosted-grid,.portal17 .download-grid{grid-template-columns:1fr}.portal17 .hosted-card{padding:20px}.portal17 .server-cover{height:94px;flex-basis:94px;margin:-20px -20px 11px}.portal17 h1{font-size:28px}.portal17 .profile-stats>div{padding:16px}.portal17 .profile-stats strong{font-size:25px}.portal17 .event-card{grid-template-columns:53px minmax(0,1fr);padding:18px;gap:14px}.portal17 .event-body h3{font-size:19px}.portal17 .event-date{min-height:70px}.portal17 .event-actions{grid-column:1/-1;align-items:stretch;flex-direction:column}.portal17 .event-actions .primary{width:100%}.portal17.signed-out main{display:block;padding:0}.portal17 .auth-gate{grid-template-columns:1fr;grid-template-rows:185px auto;min-height:100dvh;border:0;border-radius:0;box-shadow:none}.portal17 .auth-art{padding:26px 30px}.portal17 .auth-art:before{background-position:65% 45%}.portal17 .auth-art-copy p{font-size:36px;letter-spacing:-1.1px;margin:12px 0 7px}.portal17 .auth-art-copy>span:last-child{display:none}.portal17 .auth-card{padding:30px 28px;max-width:420px;align-self:start}.portal17 .auth-brand{margin-bottom:27px}.portal17 .auth-card h1{font-size:27px}}
@media(max-width:380px){.portal17 .home-heading h1{font-size:26px}.portal17 .home-heading-actions>.primary>span{display:none}}
