.community { color:#173839; background:#fff2df; padding:clamp(28px,5vw,72px); border-top:1px solid #d6cebf; }
body.community { margin:0; font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif; }
.community a { color:#236a62; text-underline-offset:3px; }
.community .account-page h1 { font-size:40px; margin:26px 0 14px; }
.community .account-page h2 { font-size:28px; }
.community-inner { max-width:1060px; margin:auto; }
.community h2 { font-size:clamp(28px,4vw,44px); margin:0 0 12px; }
.community h3 { margin:24px 0 14px; }
.community p { line-height:1.7; }
.community label { display:block; margin:16px 0 8px; font-weight:600; }
.community input:not([type=checkbox]),.community textarea,.community select { box-sizing:border-box; width:100%; padding:12px; border:1px solid #8b9d96; border-radius:2px; background:#fffaf1; color:#173839; font:inherit; }
.community textarea { resize:vertical; min-height:110px; }
.community button,.community .button { display:inline-block; font:inherit; cursor:pointer; background:#173839; color:#fff2df; padding:11px 20px; border:1px solid #173839; text-decoration:none; transition:background .16s,transform .16s; }
.community button:hover,.community .button:hover { background:#296a63; }
.community button:active { transform:translateY(1px); }
.community button:disabled { opacity:.5; cursor:not-allowed; }
.community :focus-visible { outline:3px solid #b56e30; outline-offset:3px; }
.community .secondary { background:transparent; color:#173839; }
.community .actions { display:flex; flex-wrap:wrap; gap:12px; margin:16px 0; align-items:center; }
.community .muted { color:#566c67; font-size:14px; }
.community .notice { border-left:3px solid #9c713d; padding:8px 16px; background:#eee4d2; }
.community [role=status] { min-height:24px; color:#805624; }
.community .review { padding:24px 0; border-bottom:1px solid #d6cebf; }
.community .review p { white-space:pre-wrap; overflow-wrap:anywhere; }
.community .review-head { display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
.community .stars { color:#805624; letter-spacing:3px; }
.community .summary { display:flex; gap:16px; align-items:baseline; margin:16px 0 30px; }
.community .summary strong { font-size:44px; }
.community .account-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.community .account-page { max-width:880px; margin:3vh auto; }
.community .check { display:flex; gap:10px; align-items:flex-start; font-weight:normal; font-size:14px; }
.community [hidden] { display:none!important; }
.member-link { color:inherit; margin-inline:16px; font-size:14px; white-space:nowrap; }
.site-header.has-member-slot,.vg-header.has-member-slot { grid-template-columns:minmax(0,1fr) auto auto auto; }
.app-header.has-member-slot { grid-template-columns:auto minmax(0,1fr) minmax(180px,300px) auto; }
.has-member-slot > .header-account { grid-column:4; grid-row:1; justify-self:end; min-width:0; max-width:100%; }
.has-member-slot > :is(.brand,.vg-brand,.app-brand) { grid-column:1; grid-row:1; }
.header-account { margin-left:auto; flex-shrink:0; }
.member-link.is-signed-in { display:inline-flex; gap:8px; align-items:center; max-width:240px; vertical-align:middle; }
.member-link.is-signed-in span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.member-link small { font-size:11px; opacity:.8; flex-shrink:0; }
.header-account .member-link { color:inherit; margin:0; padding:10px 0 10px 16px; text-decoration:none; }
.header-account .member-link:hover { text-decoration:underline; text-underline-offset:5px; }
.header-account .member-link:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
@media(max-width:1120px){.app-header.has-member-slot{grid-template-columns:auto minmax(0,1fr) auto auto;}}
@media(max-width:900px){
  .site-header.has-member-slot,.vg-header.has-member-slot{column-gap:14px;}
  .vg-header.has-member-slot{grid-template-rows:64px auto;row-gap:0;}
  .vg-header.has-member-slot > nav{grid-row:2;}
  .vg-header.has-member-slot > .header-source,.site-header.has-member-slot > .product-back{grid-column:3;grid-row:1;}
}
@media(max-width:820px){.app-header.has-member-slot{grid-template-columns:minmax(0,1fr) auto;}.app-header.has-member-slot > .header-account{grid-column:2;}}
@media(max-width:650px){
  .site-header.has-member-slot,.vg-header.has-member-slot{grid-template-columns:minmax(0,1fr) auto;column-gap:12px;}
  .has-member-slot > .header-account{grid-column:2;}
  .header-account .member-link{max-width:130px;font-size:12px;padding-left:0;}
  .header-account .member-link small{font-size:10px;}
  .product-header.has-member-slot{height:auto;min-height:64px;grid-template-rows:64px auto;}
  .site-header.has-member-slot > .product-back{grid-column:1/-1;grid-row:2;justify-self:start;padding-bottom:12px;}
  .vg-header.has-member-slot > .header-source{display:none;}
}
@media(max-width:360px){.header-account .member-link{max-width:112px;}.member-link.is-signed-in{gap:5px;}}
.rating-overview { display:flex; flex-wrap:wrap; align-items:center; gap:24px 48px; margin:28px 0; }
.game-rating { scroll-margin-top:90px; }
.community.member-page .account-page { max-width:1120px; }
.member-heading { border-bottom:1px solid #d6cebf; padding-bottom:24px; }
.member-heading #memberInfo { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; }
.member-heading #memberInfo h2,.member-heading #memberInfo p { margin:0; overflow-wrap:anywhere; }
.member-stats { display:flex; flex-wrap:wrap; gap:20px 40px; padding:16px 0 28px; }
.member-stats strong { font-size:32px; margin-right:8px; font-variant-numeric:tabular-nums; }
.member-tabs { display:flex; flex-wrap:wrap; gap:8px; border-bottom:1px solid #b9c3b7; padding-bottom:16px; margin-bottom:32px; }
.community .member-tabs button { background:transparent; color:#173839; border-color:transparent; }
.community .member-tabs button[aria-current=page] { background:#173839; color:#fff2df; }
.member-tabs a { padding:11px 16px; }
.community #memberHome h2 { font-size:28px; }
.member-add { border-block:1px solid #d6cebf; padding:18px 0; margin:20px 0; }
.member-add summary,.account-settings>summary { cursor:pointer; font-weight:600; padding:6px 0; }
.member-filters { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin:20px 0; }
.community .member-filters label { flex:1 1 160px; margin:0; font-size:14px; }
.community .member-filters input,.community .member-filters select { margin-top:8px; }
.member-record { display:flex; gap:20px; align-items:center; padding:24px 0; border-top:1px solid #d6cebf; }
.record-main { flex:1; min-width:0; }
.community .record-main h3 { margin:0 0 6px; font-size:19px; overflow-wrap:anywhere; }
.record-main p { margin:4px 0; }
.record-content { white-space:pre-wrap; overflow-wrap:anywhere; }
.game-kind { flex:0 0 56px; min-height:64px; display:flex; align-items:center; justify-content:center; background:#e6e6d3; font-size:22px; font-weight:600; }
.game-kind small { font-size:12px; }
.private-tags { display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; }
.private-tags:empty,.detail-library p:empty { display:none; }
.private-tags span { background:#e4e9d9; color:#234e46; font-size:13px; padding:4px 10px; overflow-wrap:anywhere; max-width:100%; }
.member-empty { padding:30px 0; color:#566c67; }
.search-game { display:flex; gap:20px; align-items:center; justify-content:space-between; border-top:1px solid #d6cebf; padding:12px 0; }
.search-game span { min-width:0; overflow-wrap:anywhere; }
.search-game button { flex-shrink:0; }
.account-settings { margin-top:36px; border-top:1px solid #d6cebf; padding-top:20px; scroll-margin-top:30px; }
.community .account-grid.signed-in { display:block; max-width:600px; }
.member-footer { display:flex; flex-wrap:wrap; gap:24px; margin-top:40px; padding:24px 0; border-top:1px solid #d6cebf; font-size:14px; }
.community.library-dialog { box-sizing:border-box; width:min(540px,calc(100% - 28px)); max-height:90dvh; padding:28px; border:1px solid #8b9d96; overflow:auto; }
.community.library-dialog h2 { font-size:26px; }
.library-dialog::backdrop { background:rgb(12 34 32 / .55); }
.detail-library { border-top:1px solid #d6cebf; padding-top:16px; margin-top:24px; }
@media(max-width:650px){ .member-record{flex-wrap:wrap;gap:12px;}.member-record>.actions{width:100%;margin:0;}.member-stats{gap:18px;}.member-stats strong{font-size:26px;}.member-tabs{gap:2px;}.community .member-tabs button,.member-tabs a{padding:10px;}.game-kind{flex-basis:46px;}.community.library-dialog{padding:20px;} }
.rating-value strong { font-size:clamp(56px,9vw,82px); font-variant-numeric:tabular-nums; line-height:1; }
.rating-overview p { margin:6px 0 0; }
.rating-method { max-width:740px; margin:20px 0 28px; font-size:14px; line-height:1.8; }
.rating-method summary { cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.game-rating fieldset { padding:0; border:0; margin:0; min-width:0; }
.game-rating legend { font-size:20px; font-weight:600; margin-bottom:14px; }
.rating-options { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:8px; max-width:640px; }
.community .rating-options label { margin:0; position:relative; cursor:pointer; }
.community .rating-options input { position:absolute; opacity:0; width:1px; height:1px; padding:0; }
.rating-options span { display:flex; align-items:center; justify-content:center; min-height:46px; border:1px solid #8b9d96; transition:background .16s,color .16s; }
.rating-options input:checked + span { background:#173839; color:#fff2df; border-color:#173839; }
.rating-options input:focus-visible + span { outline:3px solid #b56e30; outline-offset:3px; }
.rating-options input:disabled + span { opacity:.55; cursor:wait; }
.rating-options label:hover span { border-color:#173839; }
.game-rating .check { flex-wrap:wrap; gap:6px; }
@media(max-width:650px) { .rating-options{grid-template-columns:repeat(5,minmax(0,1fr));} }
@media(prefers-reduced-motion:reduce){.rating-options span{transition:none;}}
@media(max-width:650px) { .community .account-grid{grid-template-columns:1fr;gap:24px;} .member-link{margin-inline:8px;} }
@media(prefers-reduced-motion:reduce){.community button{transition:none;}}
