:root{--backgroundColor:#e6e4d9;--color:#29334a;--textColor:#29334a;--accent:#9c2350;--ink:#29334a}
.retro-site{background:repeating-linear-gradient(90deg,#00000002 0 1px,transparent 1px 4px),#d9d7cc;color:#29334a;font:14px/1.6 Arial,"Microsoft YaHei",sans-serif;min-height:100vh}
[hidden]{display:none!important}button,input,textarea,select{font:inherit}button:disabled{opacity:.42;cursor:default}a,button,input,textarea,select{outline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #9c2350}
.site-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;height:auto;min-height:86px;margin:0 auto;padding:16px 0;width:89.2%;max-width:1338px;border-bottom:3px solid #29334a}
.site-brand{border:3px solid #b42c35;border-radius:40px;padding:0 14px;color:#b42c35;font:bold 25px/1.4 Arial;text-decoration:none;letter-spacing:-1.5px;white-space:nowrap}.site-brand sup{font-size:9px;vertical-align:top;line-height:2.3;margin-left:3px;letter-spacing:0}
.site-header .press-nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap;height:auto;font:600 12px Arial}.site-header .press-nav a{text-decoration:none}.site-header .press-nav a:hover{color:#9c2350}.site-header .press-nav form{margin:0}.site-header .press-nav button{font:inherit;padding:5px 0}.site-header .who-link{display:flex;align-items:center;gap:8px}.site-header .who{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lang-switch{display:inline-flex;align-items:baseline;gap:8px;margin-left:4px;padding-left:12px;border-left:1px solid #b7bcad}.site-header .press-nav .lang-switch a{color:#616d65;text-decoration:none;font:inherit;line-height:1;letter-spacing:.4px}.site-header .press-nav .lang-switch a.is-on{color:#9c2350}.site-header .press-nav .lang-switch a:hover{color:#9c2350}
.retro-site .press-main{position:relative;max-width:1500px;width:100%;margin:0 auto;padding:0 5.4%}.site-footer{display:flex;justify-content:space-between;gap:16px;width:89.2%;max-width:1338px;margin:30px auto 0;padding:22px 0 26px;border-top:1px solid #aeb2a6;color:#616d65;font:10px monospace}
.retro-site .page-wrap{width:min(760px,100%);margin:38px auto 55px;padding:34px 38px 40px;background:#e6e4d9;border-radius:9px 9px 36px 9px;box-shadow:inset 2px 2px #f8f7ed,inset -2px -3px #afafa4,0 6px #b6b7ac,0 8px #91958e}.retro-site .page-wide{width:100%;max-width:1100px}.page-wrap h1{font:800 32px/1.2 Arial,"Microsoft YaHei",sans-serif;color:#29334a;letter-spacing:-1px}.page-kicker{font:11px monospace;color:#962b4a;letter-spacing:2px}.lede{font-size:13px;line-height:1.9;color:#637063;max-width:70ch}.page-hr{width:100%;background:#b7bcad;margin:25px 0}.page-h2{font-size:18px}.press-note{font-size:12px;line-height:1.8;color:#667060}
.retro-site .press-play{display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;border:1px solid #7b2947;border-radius:30px;background:#9c2350;color:#fff2f5;font:600 12px Arial,"Microsoft YaHei",sans-serif;text-decoration:none;box-shadow:inset 0 2px #c26585,0 3px #622139;letter-spacing:0;gap:8px}.retro-site .press-play:hover{background:#ad315e}.retro-site .press-play-sm{padding:8px 16px;font-size:11px}
.press-form input,.press-form textarea,.press-form select{background:#f0eee4;border:1px solid #b1b7a7;border-radius:5px;padding:11px 12px;font-size:14px;box-shadow:inset 0 2px 3px #464e3610}.press-form input[type=file]{padding:12px;font-size:12px}.press-form label,.field-label{font-size:12px;color:#52604f}.press-form input[type=radio],.press-form input[type=checkbox]{accent-color:#9c2350;box-shadow:none}.alert-line{border-left:3px solid #9c2350;padding:10px 14px;background:#9c23500b;color:#8b2b49;font-size:13px}.project-card{background:#dedfd2;border:1px solid #b4b9aa;border-radius:7px;padding:20px}.project-card-title{font-size:19px}.project-card-desc{font-size:13px;color:#65715f}.project-cover{border-radius:4px}.admin-table{font-size:12px}.kind-btn span{border-radius:5px}.page-wrap pre{max-width:100%;overflow:auto}.page-wrap .admin-table{display:block;overflow-x:auto}
.gh-library .intro{padding:30px 0}.gh-library .intro h1{line-height:.95}.gh-library .collection{line-height:1.4}.gh-library .card h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.gh-library .card-info>div{min-width:0}.gh-library .byline{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gh-library .detail-panel{padding-top:22px;top:64px}.gh-library .detail-panel h2{font-size:30px;overflow-wrap:anywhere;line-height:1.2}.gh-library #detail-description{max-height:96px;overflow:auto;white-space:pre-wrap;margin-top:16px;line-height:1.8}.gh-library .spec{gap:22px;padding:14px 0;margin-top:15px}.gh-library .spec span{min-width:0}.gh-library .spec strong{overflow-wrap:anywhere}.gh-library .detail-bottom{margin-top:18px;padding-top:15px;display:flex;flex-wrap:wrap;gap:12px}.gh-library .detail-bottom p{width:100%;margin:0}.gh-library .detail-bottom a{font-size:11px;color:#8b2a4b}.gh-library .play{padding:15px 18px}.gh-library .play span{float:right}.gh-library .demo-note{font-size:10px;line-height:1.5}.gh-library .shelf-footer{align-items:center;gap:16px}.pagination{display:flex;align-items:center;gap:12px;margin-left:auto;font:10px monospace}.pagination button{padding:5px 8px;border:1px solid #b1b6a8;border-radius:3px}.gh-library .shelf-footer>span:last-child{margin:0}.gh-library #empty{padding:30px 12px}.gh-library #empty p{margin-bottom:20px}.gh-library #scene-status{pointer-events:none}
/* 3D 卡带就位前用 CSS 壳占住槽位，避免货架先空着再突然长出模型。 */
.slot-anchor{perspective:720px}
.slot-anchor::before{content:"";position:absolute;left:50%;top:46%;width:min(46%,152px);aspect-ratio:151/173;transform:translate(-50%,-54%) rotateX(12deg) rotateY(-15deg) rotateZ(-8deg);border-radius:8px 8px 5px 5px;background:linear-gradient(#9fa194,#9fa194) 14% 7%/72% 11% no-repeat,linear-gradient(180deg,var(--cart-label,#ecebe3) 42%,transparent 42%),linear-gradient(110deg,#efece4,var(--cart-shell,#c8c8be) 58%,#b0b1a7);border:1px solid #acaea3;box-shadow:inset 2px 2px 2px #f8f7ec,inset -3px -2px 2px #969b8d,6px 10px 16px -8px #484c4a4a;transition:opacity .28s ease;pointer-events:none}
.card[data-cart="3d"] .slot-anchor::before{opacity:0}
.card:not([data-cart="3d"]) .slot-anchor:after{opacity:.55}
.card[data-cart="3d"] .slot-anchor:after{opacity:0}
.scene-deck:not([data-ready]):not([data-fallback]) .slot-anchor::before{animation:pak-settle .45s ease-out}
@keyframes pak-settle{from{opacity:0;transform:translate(-50%,-48%) rotateX(12deg) rotateY(-15deg) rotateZ(-8deg)}to{opacity:1;transform:translate(-50%,-54%) rotateX(12deg) rotateY(-15deg) rotateZ(-8deg)}}
@media(prefers-reduced-motion:reduce){.slot-anchor::before{animation:none!important;transition:none}}
/* 3D 卡带就位后才交接：模型还在路上、或根本没有 WebGL，CSS 卡面都仍然在。 */
.scene-deck[data-fallback=true]>canvas{display:none}.scene-deck[data-fallback=true][data-mode=detail]{height:500px}.scene-deck[data-fallback=true] .inspect-hint{display:none}
.detail-stage{position:absolute;inset:70px 48% 64px 5%;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none}
.detail-stage img{max-width:72%;max-height:86%;object-fit:contain;border-radius:8px;box-shadow:0 14px 32px #29372c28}
.detail-stage-cart{width:min(180px,42%);aspect-ratio:5/6;border-radius:10px 10px 6px 6px;background:linear-gradient(110deg,var(--cart-shell,#c8c8be),#b4b5ab);box-shadow:inset 2px 2px #f4f3ea,6px 10px 18px #484c4a33;display:flex;flex-direction:column;padding:22px 14px 16px}
.detail-stage-brand{font:italic bold 11px Arial;letter-spacing:1px;color:#8c8e84}
.detail-stage-cart strong{margin-top:16px;font:bold 15px/1.35 Arial,"Microsoft YaHei",sans-serif;color:#212c44}
.scene-deck[data-mode=browse] .detail-stage{display:none}
@media(max-width:760px){.detail-stage{inset:58px 8% 400px}.detail-stage img{max-width:58%}.detail-stage-cart{width:min(140px,36%)}}
.community{margin:35px 0 0;padding:30px;background:#e6e4d9;border:1px solid #b5baac;border-radius:9px 9px 28px 9px}.community>article{max-width:850px;margin:auto}.community-heading{padding:0 0 24px;border-bottom:2px solid #727b6a}.community-heading h2{font-size:25px}.community header{height:auto;margin:0;padding:0;border:0;display:flex;justify-content:space-between;align-items:center}.community .press-timeline{list-style:none}.community .press-timeline-item{border-color:#b3b9a9}.community .press-timeline-body{min-width:0}.community .press-timeline-log,.community .press-timeline-open{overflow-wrap:anywhere}.community .review-composer,.community .comment-composer{background:#dfe2d3;border-radius:6px}.community textarea{font:13px/1.7 Arial,"Microsoft YaHei",sans-serif}.community .comment-card{padding:20px;background:#eeeee4;border:1px solid #c1c7b5;border-radius:6px;margin-top:12px}.community h2{font-size:20px}.community .comments-head{padding-bottom:15px}.community .review-hero,.community .review-summary{background:#c7ceac;padding:16px;border:1px solid #9da78c;color:#3f5335;border-radius:5px}.community .comment-byline{font-size:11px;flex-wrap:wrap}.community .comment-body{font-size:13px}.community :target{scroll-margin-top:22px}
#game-player{position:fixed;inset:0;margin:auto;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:#202727;overflow:hidden;box-shadow:none}#game-player[open]{display:flex;flex-direction:column}#game-player::backdrop{background:#202727}.player-bar{display:flex;align-items:center;gap:16px;flex:none;min-height:52px;padding:8px 18px;background:#d4d7c7;color:#29334a;border-bottom:3px solid #687158}.player-bar strong{font-size:13px;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-bar #player-status{font:10px monospace;color:#5d7051;margin-right:auto}.player-bar button{padding:7px 12px;border:1px solid #929c81;border-radius:20px;font-size:11px;white-space:nowrap}.player-bar #player-close{background:#9c2350;border-color:#7b2947;color:white}#play-frame{display:block;width:100%;flex:1;min-height:0;border:0;background:#202727}.is-playing{overflow:hidden}
@media(max-width:760px){.site-header{min-height:76px;gap:14px;flex-wrap:wrap;padding:15px 0;width:89.2%}.site-brand{font-size:21px}.site-header .press-nav{gap:13px;font-size:11px}.site-header .who-avatar{display:none}.site-header .who{max-width:65px}.retro-site .page-wrap{margin-top:25px;padding:25px 20px 30px}.page-wrap h1{font-size:27px}.site-footer{font-size:9px}.site-footer>span:last-child{font-size:8px}.gh-library .toolbar{height:auto;min-height:80px;gap:10px;padding:10px 0}.gh-library .tabs{gap:13px}.gh-library .search{margin-left:auto}.gh-library .detail-panel{top:390px;padding:22px 14px}.gh-library .detail-panel h2{font-size:25px}.gh-library .detail-bottom{display:flex}.gh-library .detail-bottom p{font-size:10px}.gh-library #detail-description{max-height:86px}.gh-library .scene-deck{height:850px}.gh-library .inspect-hint{top:352px}.gh-library .browse-controls{flex-wrap:wrap}.gh-library .pick-hint{font-size:9px}.gh-library .shelf-footer{gap:10px}.gh-library .shelf-footer:after{display:none}.community{padding:22px 14px}.community .comment-card{padding:14px}.community .comment-avatar{width:27px;height:27px}.community .comment-composer-bar{flex-wrap:wrap}.player-bar{gap:8px;padding:8px}.player-bar #player-status{font-size:8px}.player-bar button{font-size:10px;padding:7px 9px}.player-bar strong{max-width:30%}.pagination{gap:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.community .press-timeline{max-width:none}.community .press-timeline-top{font-size:12px}.community .press-timeline-log,.community .press-timeline-meta{font-size:12px}
/* Keep the stage in place while removing browsing-only controls in detail mode. */
.gh-library .toolbar[inert],.gh-library .browse-controls[inert],.gh-library .pagination[inert],.gh-library .tag-tabs[inert]{visibility:hidden;pointer-events:none}
.gh-library .pagination{flex-wrap:wrap}.gh-library .pagination button[aria-current=page]{background:#9c2350;border-color:#7b2947;color:#fff}
#player-surface{display:flex;flex-direction:column;position:relative;width:100%;height:100%;min-height:0;background:#202727}
#player-surface:fullscreen{width:100vw;height:100dvh}
#player-surface.is-immersive .player-bar{position:absolute;z-index:2;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));min-height:0;background:transparent;border:0;padding:0;gap:8px}
#player-surface.is-immersive #player-title,#player-surface.is-immersive #player-status{display:none}
#player-surface.is-immersive .player-bar button{background:#d4d7c7;box-shadow:0 2px 8px #0003}
#player-surface.is-immersive .player-bar #player-close{background:#9c2350}
/* Every avatar opens its owner's personal space. */
.avatar-link{display:inline-flex;flex:none;border-radius:50%;text-decoration:none;transition:transform .12s}
.avatar-link:hover{transform:translateY(-1px)}
.site-header .who-link{cursor:default}.site-header .who-link a{opacity:1}
.detail-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.detail-owner{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:4px 13px 4px 4px;border:1px solid #a8ae9d;border-radius:30px;background:#f0eee4;color:#3d4a63;font:600 12px Arial,"Microsoft YaHei",sans-serif;text-decoration:none}
.detail-owner:hover{background:#e3e6d6;color:#9c2350}
.detail-owner .who-avatar{width:26px;height:26px}
.detail-owner #detail-owner-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.space-profile{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.space-identity{display:flex;align-items:center;gap:18px;min-width:0}
.space-avatar{flex:none;width:76px;height:76px;border-radius:50%;object-fit:cover;border:1px solid #29334a;display:inline-flex;align-items:center;justify-content:center;font:700 28px Arial}
.space-identity-text{min-width:0}.space-identity-text h1{margin:0 0 7px;overflow-wrap:anywhere}
.space-stats{display:flex;gap:26px;margin:0 0 0 auto;padding:0;list-style:none}
.space-stats li{display:flex;flex-direction:column;align-items:center;gap:3px}
.space-stats strong{font:800 22px Arial;color:#29334a}
.space-stats span{font:11px monospace;color:#6b7566;letter-spacing:1px}
.space-edit{width:100%}
.space-edit>summary{width:fit-content;list-style:none}
.space-edit>summary::-webkit-details-marker{display:none}
.space-edit[open]>summary{background:#6d7566;border-color:#59614f;box-shadow:inset 0 2px #98a08e,0 3px #454b3d}
.space-edit .press-form{margin-top:18px;max-width:520px}
.space-count{font:12px monospace;color:#8d2a4c;margin-left:8px}
.space-feed{list-style:none;margin:18px 0 0;padding:0}
.space-feed-item{padding:16px 0;border-top:1px solid #c1c7b5}.space-feed-item:first-child{border-top:0}
.space-feed-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 8px;font:11px monospace;color:#6b7566}
.space-badge{padding:3px 10px;border:1px solid #a8ae9d;border-radius:20px;background:#dfe2d3;color:#3f4a3c;font:600 11px Arial,"Microsoft YaHei",sans-serif}
.space-badge.is-release{background:#c7ceac;border-color:#9da78c;color:#3f5335}
.space-badge.tone-yes{background:#cfdcc0;border-color:#93a683;color:#33502f}
.space-badge.tone-no{background:#e9d2d6;border-color:#c09aa2;color:#7b2947}
.space-badge.is-comment_in,.space-badge.is-review_in,.space-badge.is-comment_reply_in{background:#e6ded1;border-color:#bda98d;color:#7a5a32}
.space-hint{color:#8d2a4c}
.space-feed-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:14px}
.game-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.game-tag{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid #b4b9aa;border-radius:20px;background:#e8eadc;color:#4a5544;font:600 11px Arial,"Microsoft YaHei",sans-serif;letter-spacing:.3px}
.tag-picks{margin-top:8px}
.gh-library .tag-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 14px;border-bottom:1px solid #d4d3cd}
.gh-library .tag-tabs button{padding:4px 10px;border:1px solid #c4c7ba;border-radius:20px;background:#eeeee4;color:#5c6556;font:600 11px Arial,"Microsoft YaHei",sans-serif}
.gh-library .tag-tabs button.selected,.gh-library .tag-tabs button[aria-pressed=true]{background:#9c2350;border-color:#7b2947;color:#fff2f5}
.featured-tags{margin:8px 0 10px}
.gh-library .detail-en{margin-bottom:10px}
.gh-library #detail-tags{margin:0 0 2px}
.gh-library #detail-tags .game-tag{padding:4px 12px;background:#f0eee4;border-color:#c4c7ba}
.project-card .game-tags{margin-top:8px}
.community-heading .game-tags{margin-top:10px}
.space-feed-avatar{width:22px;height:22px;font-size:10px}
.space-feed-title a{color:#29334a;text-decoration:none;border-bottom:1px solid #b7bcad}
.space-feed-title a:hover{color:#9c2350}
.space-feed-body{margin:6px 0 0;font-size:13px;line-height:1.8;color:#65715f;white-space:pre-wrap;overflow-wrap:anywhere}
.space-playtime{display:inline-block;margin-left:12px;padding:3px 12px;border-radius:20px;background:#dfe2d3;border:1px solid #b1b7a7;font:600 13px Arial,"Microsoft YaHei",sans-serif;color:#3f4a3c;vertical-align:middle;white-space:nowrap}
.space-progress-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 18px}
.space-game-select{padding:8px 14px;border:1px solid #b1b7a7;border-radius:8px;background:#f4f5ef;color:#29334a;font:600 13px Arial,"Microsoft YaHei",sans-serif;min-width:200px;max-width:100%;cursor:pointer}
.space-game-select:focus{outline:2px solid #9c2350;outline-offset:1px}
@media(max-width:760px){.site-header .avatar-link{display:none}.space-avatar{width:60px;height:60px;font-size:22px}.space-stats{gap:18px;margin-left:0}.detail-owner{font-size:11px}.space-playtime{font-size:11px;margin-left:8px;padding:2px 8px}}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gh-library .scene-deck[data-turning]{will-change:transform,opacity}.gh-library .scene-deck[data-turning]{overflow-anchor:none}



/* 进度系统：项目页签、定义表单、展示组件、卡带页进度区 */
.studio-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 6px;padding-bottom:14px;border-bottom:2px solid #b7bcad}
.studio-tab{padding:8px 16px;border:1px solid #b1b7a7;border-radius:20px;background:#dfe2d3;color:#3f4a3c;font:600 12px Arial,"Microsoft YaHei",sans-serif;text-decoration:none}
.studio-tab:hover{background:#d3d8c4;color:#9c2350}
.studio-tab.is-on{background:#9c2350;border-color:#7b2947;color:#fff2f5;box-shadow:inset 0 2px #c26585}
.page-h3{font-size:15px;margin:26px 0 10px}
.field-note{font:11px monospace;color:#7c8477;letter-spacing:.4px}
.alert-ok{border-left:3px solid #4f7a4a;padding:10px 14px;background:#4f7a4a0f;color:#3c5c38;font-size:13px}
.prog-table{width:100%;border-collapse:collapse;margin:6px 0 4px}
.prog-table th,.prog-table td{padding:9px 10px;border-bottom:1px solid #c1c7b5;text-align:left;vertical-align:top}
.prog-table th{font:600 11px monospace;color:#6b7566;letter-spacing:1px}
.prog-table code{font-size:12px;color:#8d2a4c}
.prog-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.prog-row-actions form{margin:0}
.prog-row-actions a,.prog-row-actions button{font:600 11px Arial,"Microsoft YaHei",sans-serif;color:#3f4a3c;background:none;border:0;padding:2px 4px;cursor:pointer;text-decoration:none;border-bottom:1px solid #b7bcad}
.prog-row-actions a:hover,.prog-row-actions button:hover{color:#9c2350}
.prog-icon{width:30px;height:30px;object-fit:cover;border:1px solid #b1b7a7;border-radius:5px;background:#f0eee4}
.prog-icon.is-locked{filter:grayscale(1) brightness(.7)}
.prog-form{max-width:720px}
.prog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:4px 0}
.prog-grid label{display:flex;flex-direction:column;gap:5px}
.prog-fieldset{border:1px solid #b7bcad;border-radius:7px;padding:14px 16px;margin:8px 0;background:#dfe2d3}
.prog-fieldset legend{font:600 12px Arial,"Microsoft YaHei",sans-serif;color:#52604f;padding:0 6px}
.prog-fieldset label{display:flex;flex-direction:column;gap:5px;margin-top:10px}
.src-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}
.src-row select,.src-row input{flex:1 1 130px;min-width:0}
.src-row select[name$="_op"]{flex:0 0 62px}
.src-row input[type=color]{flex:0 0 46px;padding:2px;height:38px}
.src-op-fixed{flex:0 0 62px;text-align:center;font:600 14px monospace;color:#7c8477}
.prog-advanced,.prog-schema{margin:14px 0}
.prog-advanced summary,.prog-schema summary{cursor:pointer;font:600 12px Arial,"Microsoft YaHei",sans-serif;color:#52604f}
.prog-advanced textarea,.prog-schema textarea{width:100%;font:12px/1.6 monospace}
.prog-json{max-height:280px;overflow:auto;background:#f0eee4;border:1px solid #b1b7a7;border-radius:6px;padding:12px;font:12px/1.6 monospace}
.prog-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:6px 0 4px}

.gw-card{background:#eeeee4;border:1px solid #c1c7b5;border-radius:7px;padding:16px 18px}
.gw-title{margin:0 0 12px;font:700 14px Arial,"Microsoft YaHei",sans-serif;color:#29334a}
.gw-number{margin:0;font:800 34px/1.1 Arial;color:#9c2350;letter-spacing:-1px}
.gw-chart{display:flex;flex-direction:column;gap:12px}
.gw-pie svg{width:100%;max-width:190px;margin:0 auto;display:block}
.gw-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.gw-legend li{display:flex;align-items:center;gap:8px;font-size:12px}
.gw-legend-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gw-dot{width:11px;height:11px;border-radius:3px;flex:none}
.gw-bar-row,.gw-rate-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:12px}
.gw-bar-label{flex:0 0 34%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gw-bar-track{flex:1;height:12px;border-radius:8px;background:#d6dac9;overflow:hidden}
.gw-bar-fill{height:100%;border-radius:8px;background:#9c2350}
.gw-bar-value{flex:0 0 auto;font:600 12px monospace}
.gw-table{width:100%;border-collapse:collapse;font-size:12px}
.gw-table th,.gw-table td{padding:6px 8px;border-bottom:1px solid #ccd2bf;text-align:left}
.gw-table tr.is-me{background:#dfe6cf}
.gw-rank{width:34px;color:#7c8477;font:600 12px monospace}
.gw-score{text-align:right;font:600 12px monospace}
.gw-table a{color:#29334a;text-decoration:none;border-bottom:1px solid #b7bcad}
.gw-mine{margin:8px 0 0;font:600 11px monospace;color:#8d2a4c}
.gw-empty{margin:0;font-size:12px;color:#7c8477}
.gw-sandbox{width:100%;border:1px solid #c1c7b5;border-radius:6px;background:#fff}
.gw-subhead{display:flex;align-items:baseline;gap:10px;margin:18px 0 10px}
.gw-subhead h3{margin:0;font-size:15px}
.gw-count{font:600 11px monospace;color:#8d2a4c}
.gw-ach-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.gw-ach{display:flex;gap:12px;padding:12px;background:#eeeee4;border:1px solid #c1c7b5;border-radius:6px;opacity:.72}
.gw-ach.is-on{opacity:1;border-color:#9aa88c;background:#e9efdc}
.gw-ach-icon{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #b1b7a7;border-radius:6px;background:#f0eee4;font-size:20px;color:#8d2a4c;overflow:hidden}
.gw-ach-icon img{width:100%;height:100%;object-fit:cover}
.gw-ach:not(.is-on) .gw-ach-icon img{filter:grayscale(1) brightness(.7)}
.gw-ach-main{min-width:0;flex:1}
.gw-ach-name{margin:0;font:700 13px Arial,"Microsoft YaHei",sans-serif}
.gw-ach-desc{margin:3px 0 0;font-size:12px;color:#65715f;overflow-wrap:anywhere}
.gw-ach-progress,.gw-ach-meta{margin:4px 0 0;font:11px monospace;color:#7c8477}
.gw-stat-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.gw-stat{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;background:#eeeee4;border:1px solid #c1c7b5;border-radius:6px;font-size:12px}
.gw-stat-value{font:700 13px monospace;color:#29334a}
.community .game-progress{padding-bottom:8px}
.community .progress-community{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
@media(max-width:760px){.prog-table{display:block;overflow-x:auto}.src-row select,.src-row input{flex:1 1 100%}}
.build-stamp{position:fixed;right:8px;bottom:8px;z-index:40;display:flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid #b9bfae;border-radius:4px;background:#e9e8dccc;color:#6a7266;font:10px/1 monospace;letter-spacing:1px;text-decoration:none;opacity:.5;transition:opacity .15s;backdrop-filter:blur(3px)}
.build-stamp b{font:bold 8px/1 monospace;letter-spacing:1px;color:#9aa290}
.build-stamp:hover,.build-stamp:focus-visible{opacity:1}
@media(max-width:760px){.build-stamp{right:4px;bottom:4px;padding:3px 6px;font-size:9px;opacity:.35}.build-stamp b{display:none}}
@media print{.build-stamp{display:none}}
.coin-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.coin-actions form { margin: 0; }
.coin-actions button:disabled { opacity: .45; cursor: not-allowed; }
.coin-panel .press-note { margin-top: 14px; }
.coin-entry { display: flex; justify-content: space-between; gap: 20px; padding: 16px 0; border-bottom: 1px solid currentColor; overflow-wrap: anywhere; }
.coin-entry small { opacity: .65; }
.space-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}
.space-tools a{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid #29334a40;border-radius:8px;background:#eeeadd;text-decoration:none;color:#29334a}
.space-tools a:hover{border-color:#9c2350;color:#9c2350}
.space-tools strong{font-size:19px}.space-tools span{font-size:12px}
@media(max-width:520px){.space-tools{grid-template-columns:1fr}}
.community .comment-replies .comment-card{background:transparent;border:0;border-top:1px solid #c1c7b5;border-radius:0;margin-top:8px;padding:12px 0 0}
.community .comment-composer.is-reply{margin-top:12px}
