/* Shared visual finish. No fonts, media downloads or animation runtime. */
.shell:has(>.store-hero)>.quick-card{margin-bottom:0}
.shell:has(>.store-hero)>.section-head{margin-top:12px;margin-bottom:8px}
.shell>.hot-grid .game-card,.shell>.hot-grid .game-card:hover{box-shadow:0 2px 5px rgba(32,36,55,.025);transform:none;transition:background-color .15s ease}
.notice-grid>.notice-card{height:160px;min-height:0;max-width:100%;padding:16px;overflow:hidden}
.notice-grid>.notice-card.has-cover{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;align-items:start}
.notice-grid>.notice-card .notice-cover{display:block;width:100px;height:126px;min-height:0;max-height:126px;min-width:0;object-fit:cover;object-position:top;border-radius:8px}
.notice-grid>.notice-card>div{min-width:0;overflow:hidden}
.notice-grid>.notice-card h3,.notice-grid>.notice-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.notice-grid>.notice-card h3{line-height:21px;margin:0 0 6px}
.notice-grid>.notice-card p{font-size:13px;line-height:19px;margin:0 0 8px}
.notice-grid>.notice-card .notice-meta{font-size:12px;line-height:18px;gap:8px;flex-wrap:wrap}
@media(max-width:600px){
 .notice-grid>.notice-card{height:148px;padding:12px}
 .notice-grid>.notice-card.has-cover{grid-template-columns:80px minmax(0,1fr);gap:12px}
 .notice-grid>.notice-card .notice-cover{width:80px;height:122px;max-height:122px}
}
:root{
 --bg:#f7f8fb;--card:#fff;--text:#202437;--ink:#202437;--muted:#637084;
 --line:#e5e9f0;--shadow:0 3px 12px #20243708;--soft-shadow:0 2px 8px #20243706;
 --ui-radius:8px;--ui-focus:#5c3cba;
}
body{background:var(--bg);font-family:system-ui,-apple-system,'Segoe UI','Microsoft YaHei',sans-serif}
button,input,textarea,select{font-family:inherit;letter-spacing:0}
::selection{background:#e8dfff;color:#202437}
:focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}
input:not([type=checkbox]):not([type=radio]):not([type=color]),textarea,select{
 border-color:#d9dfe9;border-radius:8px;box-shadow:none;caret-color:var(--purple,#7c4dff);
}
input::placeholder,textarea::placeholder{color:#717b8b;opacity:1}
input:focus,textarea:focus,select:focus{border-color:var(--purple,#7c4dff)}
button:disabled{cursor:not-allowed}
.primary,.primary-btn,.entry-submit,.enter-btn,.room-enter{
 box-shadow:none;background:var(--purple,#7c4dff);font-weight:600;
}
.soft,.icon-btn{box-shadow:none}
.game-card,.notice-card,.conversation-row,.room-card,.fold-card,.download-card{
 border-radius:var(--ui-radius);box-shadow:var(--shadow);border:1px solid #edf0f5;
}
.quick-panel,.list-panel,.detail-card,.panel{box-shadow:none;background:#fff}
.section-head h2,.section-actions h2{color:var(--ink);font-weight:650;line-height:1.4}
.section-head{margin-top:24px;margin-bottom:12px}
.game-card .game-cover,.game-list-card .game-cover,.new-item .game-cover{border-radius:8px}
.game-card h3,.game-info h3,.new-item h3{font-weight:650;line-height:1.4}
.side-nav,.desktop-sidebar{background:white;border-right:1px solid var(--line);box-shadow:none}
.nav-item,.desktop-sidebar nav a{border-radius:6px}
.search-pill,.mobile-brand .icon-btn{box-shadow:none;border:1px solid var(--line);background:#fff}
.messages-page .personal{border-radius:8px}
.messages-page .section-actions{align-items:center}
.conversation-copy p{color:var(--muted);line-height:1.5}
.conversation-row{box-shadow:none}
.conversation-link{align-items:center}
.chat-header{border-bottom:1px solid var(--line);background:#fafbfe}
.chat-room-note{border-radius:8px;background:#f1edfc}
.chat-page .bubble{box-shadow:none}
.chat-page .composer{border-top:1px solid var(--line);box-shadow:none;background:white}
.chat-page .history{overscroll-behavior:contain}
.entry-panel{border-radius:12px;box-shadow:var(--shadow);background:#fff}
.entry-option{border-radius:8px;box-shadow:none}
.entry-notice{border-radius:8px}
.account-form{background:transparent;border-radius:0;box-shadow:none}
.admin-shell .panel{border-radius:0;background:transparent}
.admin-shell .fold-head{min-height:66px}
.admin-shell .fold-title{font-size:16px;line-height:1.5;font-weight:600}
.admin-shell .fold-actions .icon-btn{border-radius:6px}
.admin-shell .field>label,.community-admin form>label{font-size:13px;font-weight:500;color:var(--muted)}
.admin-shell .fixed-save,.room-save-bar{box-shadow:none}
.community-tabs{gap:6px}
.community-tabs button{border-radius:6px}
.community-admin th{font-weight:600}
.community-admin tr:last-child td{border-bottom:0}
/* Remove expensive glass layers and ornamental movement; preserve controls. */
.topbar,.side-nav,.desktop-sidebar,.chat-header,.composer,.entry-panel,.fixed-save,.modal-backdrop,.shared-bottom-navigation{
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
#app.route-enter,#app.route-enter-active,#app.route-leave{animation:none!important;filter:none!important;transform:none!important;opacity:1!important;transition:none!important}
.quick-icon,.category-icon,.game-cover,.screen-img,.nav-item svg,.quick-item,.category-item,.notice-card,.new-item,.game-list-card,.download-card{
 transition:background-color 120ms ease,color 120ms ease;transform:none!important;translate:none!important;
}
.fold-reveal,.fold-reveal>.fold-clip{transition:none}
.primary:hover,.primary-btn:hover,.entry-submit:hover,.enter-btn:hover{filter:none;opacity:.94}
@media(max-width:600px){
 .hot-grid{display:flex;overflow-x:auto;gap:10px;align-items:stretch}
 .hot-grid .game-card{flex:0 0 112px;min-width:0;padding:10px;border-radius:8px}
 .hot-grid .game-info h3{font-size:13px;line-height:18px;min-height:36px;margin:8px 0 4px}
 .hot-grid .game-info p{font-size:12px;line-height:18px}
 .section-head h2{font-size:18px}
 .game-card h3{font-size:15px}
 .admin-shell .fold-head{min-height:60px}
 .admin-shell .fold-title{font-size:14px}
}
.upload-placeholder{display:grid;place-items:center;min-height:90px;border:1px dashed #d9dfe9;border-radius:8px;background:#f5f7fa;color:#637084;font-size:12px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
