/* NEIS Game Hub v2. Fully scoped, lightweight vector covers, phone/tablet/desktop. */
.neis-games-open{overflow:hidden!important}
.neis-games-overlay{position:fixed;inset:0;z-index:99998;font-family:inherit;color:var(--ink,#172839);font-size:14px;isolation:isolate}
.neis-games-overlay *{box-sizing:border-box}
.neis-games-overlay .neis-connect-backdrop{position:absolute;inset:0;background:rgba(9,20,34,.66);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.neis-games-overlay .neis-connect-dialog{position:absolute;inset:clamp(12px,3vh,26px) max(12px,calc((100vw - 1280px)/2));min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--card,#fff);border:1px solid var(--line,#d8e3ec);border-radius:24px;box-shadow:0 26px 80px rgba(3,18,35,.26);color:var(--ink,#182938)}
.neis-games-overlay button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.neis-games-overlay button:disabled{cursor:wait;opacity:.6}
.neis-games-overlay :is(button,input,a):focus-visible{outline:3px solid var(--accent,#2977bb);outline-offset:3px}
.neis-games-overlay .neis-connect-header{flex:0 0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:clamp(20px,2.5vw,29px) clamp(19px,3vw,34px) 21px;border-bottom:1px solid var(--line,#dce7ef);background:var(--card,#fff)}
.neis-games-overlay .neis-connect-header-copy{max-width:775px;min-width:0}
.neis-games-overlay .neis-connect-eyebrow{display:inline-block;letter-spacing:.17em;font-weight:850;font-size:10px;color:var(--accent,#3179b6)}
.neis-games-overlay .neis-connect-slash{opacity:.38;margin:0 5px}
.neis-games-overlay .neis-connect-header h2{font-size:clamp(25px,3vw,36px);line-height:1.15;font-weight:850;letter-spacing:-.055em;margin:8px 0 7px}
.neis-games-overlay .neis-connect-header p{margin:0;color:var(--muted,#6b7d90);font-size:13px;line-height:1.6}
.neis-games-overlay .neis-connect-header-side{display:flex;gap:14px;align-items:center;flex:0 0 auto}
.neis-games-overlay .neis-connect-count{border-radius:999px;padding:8px 12px;border:1px solid var(--line,#dce7ef);background:var(--soft,#f5f8fb);color:var(--muted,#62778b);white-space:nowrap;font-size:11px;font-weight:700}
.neis-games-overlay .neis-connect-dismiss{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;border:1px solid var(--line,#dce7ef);background:var(--soft,#f5f8fb);font-size:24px;font-weight:400;color:var(--ink,#182b3b);line-height:1}
.neis-games-overlay .neis-connect-dismiss:hover{background:color-mix(in srgb,var(--soft,#e9f0f7) 72%,var(--accent,#3879b7));border-color:var(--accent,#3879b7)}
.neis-games-overlay .neis-connect-layout{flex:1;min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:minmax(0,1.54fr) minmax(355px,.96fr);align-items:start;gap:clamp(18px,2vw,26px);padding:25px clamp(19px,3vw,34px) 28px;scrollbar-color:var(--line,#d5e3ec) transparent;scrollbar-width:thin}
.neis-games-overlay .neis-connect-list{min-width:0}
.neis-games-overlay .neis-connect-list-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:17px}
.neis-games-overlay .neis-connect-list-heading h3{font-size:19px;font-weight:820;letter-spacing:-.035em;margin:0 0 3px}
.neis-games-overlay .neis-connect-list-heading p{font-size:11px;color:var(--muted,#708193);margin:0}
.neis-games-overlay .neis-connect-provider-note{font-size:10px;font-weight:680;color:var(--muted,#718297);white-space:nowrap}
.neis-games-overlay .neis-connect-filters{display:flex;gap:7px;min-width:0;overflow-x:auto;scrollbar-width:none;padding:0 0 14px}
.neis-games-overlay .neis-connect-filters::-webkit-scrollbar{display:none}
.neis-games-overlay .neis-connect-filters button{flex:0 0 auto;border:1px solid var(--line,#dce6ef);background:var(--card,#fff);color:var(--muted,#536d81);font-size:11px;font-weight:750;line-height:1;border-radius:999px;padding:10px 14px;min-height:33px;transition:background .2s,border-color .2s,color .2s}
.neis-games-overlay .neis-connect-filters button:hover{border-color:var(--accent,#3179bb);color:var(--ink,#233447)}
.neis-games-overlay .neis-connect-filters button.active{background:var(--ink,#1b3143);color:var(--card,#fff);border-color:var(--ink,#1b3143)}
.neis-games-overlay .neis-connect-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.neis-games-overlay .neis-connect-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:186px;padding:0;text-align:start;background:var(--card,#fff);border:1px solid var(--line,#e0e8f0);border-radius:16px;overflow:hidden;color:var(--ink,#182c3c);transition:transform .2s,border-color .2s,box-shadow .2s;box-shadow:0 2px 10px rgba(10,36,55,.018)}
.neis-games-overlay .neis-connect-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent,#3175b4) 55%,var(--line,#d7e2ec));box-shadow:0 12px 24px rgba(7,30,51,.09)}
.neis-games-overlay .neis-connect-card.is-active{border-color:var(--accent,#2877ba);box-shadow:0 0 0 1px var(--accent,#2877ba),0 9px 25px rgba(21,90,146,.11)}
.neis-games-overlay .neis-connect-cover{height:108px;position:relative;width:100%;overflow:hidden;background:linear-gradient(125deg,var(--coverA) 0%,var(--coverB) 94%);color:#fff;isolation:isolate}
.neis-games-overlay .neis-connect-cover::before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 76% 32%,var(--coverC) 0%,transparent 34%);opacity:.13;z-index:1;pointer-events:none}
.neis-games-overlay .neis-connect-cover svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.neis-games-overlay .neis-connect-cover-mark{position:absolute;bottom:9px;left:12px;display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(255,255,255,.28);border-radius:9px;background:rgba(255,255,255,.12);backdrop-filter:blur(5px);color:#fff;font:700 17px Georgia,serif}
.neis-games-overlay .neis-connect-cover-glint{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.15),transparent 42%);pointer-events:none}
.neis-games-overlay .neis-connect-card-body{display:flex;flex-direction:column;gap:5px;min-width:0;padding:12px 12px 14px;flex:1}
.neis-games-overlay .neis-connect-card-name{display:block;color:var(--ink,#152a3d);font-size:13.5px;font-weight:820;line-height:1.3;letter-spacing:-.016em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.neis-games-overlay .neis-connect-card-caption{font-size:11px;color:var(--muted,#718395);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.neis-games-overlay .neis-connect-card-meta{font-size:10px;color:var(--accent,#347aaf);font-weight:670;margin-top:auto;line-height:1.2}
.neis-games-overlay .neis-connect-card-arrow{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:25px;height:25px;border-radius:8px;border:1px solid rgba(255,255,255,.33);background:rgba(5,23,39,.18);color:white;font-size:16px;line-height:1;backdrop-filter:blur(3px)}
.neis-games-overlay .neis-connect-empty{grid-column:1/-1;padding:22px;color:var(--muted,#697d91);border:1px dashed var(--line,#dce6ef);border-radius:14px}
.neis-games-overlay .neis-connect-selected{position:sticky;top:0;min-width:0;overflow:hidden;background:var(--card,#fff);border:1px solid var(--line,#dce6ed);border-radius:20px;box-shadow:0 12px 36px rgba(8,38,64,.055)}
.neis-games-overlay .neis-connect-selected-cover{position:relative}
.neis-games-overlay .neis-connect-cover.is-large{height:139px}
.neis-games-overlay .neis-connect-cover.is-large .neis-connect-cover-mark{width:35px;height:35px;font-size:22px;bottom:12px;left:17px;border-radius:11px}
.neis-games-overlay .neis-connect-selected-tag{position:absolute;right:14px;bottom:15px;border:1px solid rgba(255,255,255,.24);background:rgba(7,19,42,.38);color:#fff;padding:7px 11px;border-radius:999px;font-size:10px;font-weight:750;backdrop-filter:blur(7px)}
.neis-games-overlay .neis-connect-selected-content{display:grid;gap:15px;padding:19px 20px 22px}
.neis-games-overlay .neis-connect-selected-heading small{font-size:9px;letter-spacing:.13em;font-weight:850;color:var(--accent,#2477b8)}
.neis-games-overlay .neis-connect-selected-heading h3{font-size:24px;letter-spacing:-.045em;font-weight:850;line-height:1.14;margin:6px 0 4px}
.neis-games-overlay .neis-connect-selected-heading p{margin:0;color:var(--muted,#6c7e8d);font-size:11px}
.neis-games-overlay .neis-connect-instructions{margin:0;color:var(--muted,#697b8e);font-size:12px;line-height:1.55}
.neis-games-overlay .neis-connect-launch-actions{display:flex;align-items:stretch;gap:8px}
.neis-games-overlay .neis-connect-launch,.neis-games-overlay .neis-connect-invite-main,.neis-games-overlay .neis-connect-send{display:flex;align-items:center;justify-content:center;gap:10px;min-height:43px;border:1px solid var(--accent,#2676b5);border-radius:11px;background:var(--accent,#2676b5);color:#fff;font-weight:780;font-size:12px;line-height:1.2;padding:11px 14px}
.neis-games-overlay .neis-connect-launch{flex:1;justify-content:space-between}
.neis-games-overlay .neis-connect-launch span{font-size:18px}
.neis-games-overlay .neis-connect-launch:hover,.neis-games-overlay .neis-connect-invite-main:hover,.neis-games-overlay .neis-connect-send:hover{filter:brightness(.94)}
.neis-games-overlay .neis-connect-secondary{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:43px;padding:0 16px;border:1px solid var(--line,#d9e5ed);border-radius:11px;background:var(--soft,#f3f7fa);color:var(--ink,#263c4a);font-size:12px;font-weight:750;text-decoration:none}
.neis-games-overlay .neis-connect-account{width:max-content;max-width:100%;background:transparent;border:0;padding:0;color:var(--accent,#2674b4);text-align:start;font-size:11px;font-weight:680;text-decoration:none}
.neis-games-overlay .neis-connect-account:hover,.neis-games-overlay .neis-connect-text-button:hover{text-decoration:underline}
.neis-games-overlay .neis-connect-link-box{display:grid;gap:8px;border-top:1px solid var(--line,#e3e9f0);padding-top:15px}
.neis-games-overlay .neis-connect-link-box label{font-size:12px;font-weight:760}
.neis-games-overlay .neis-connect-link-row{display:flex;gap:5px;min-width:0;align-items:stretch;background:var(--soft,#f7fafc);border:1px solid var(--line,#d7e3ed);border-radius:11px;padding:4px}
.neis-games-overlay .neis-connect-link-row:focus-within{border-color:var(--accent,#3479b8);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#3179b5) 13%,transparent)}
.neis-games-overlay .neis-connect-link-row input{flex:1;min-width:0;width:30px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent;color:var(--ink,#233548);font:inherit;font-size:12px;line-height:1.3;padding:8px;direction:ltr;text-align:left}
.neis-games-overlay .neis-connect-link-row input::placeholder{color:var(--muted,#93a1ac)}
.neis-games-overlay .neis-connect-inline-button{flex:0 0 auto;background:var(--card,#fff);border:1px solid var(--line,#dce5ed);border-radius:8px;color:var(--ink,#32485b);font-size:10px;font-weight:760;padding:0 10px}
.neis-games-overlay .neis-connect-inline-button:hover{border-color:var(--accent,#2677b6)}
.neis-games-overlay .neis-connect-help{margin:0;font-size:10.5px;line-height:1.5;color:var(--muted,#7a8a9c)}
.neis-games-overlay .neis-connect-invite-main{width:100%;justify-content:space-between;background:var(--ink,#1c3448);border-color:var(--ink,#1c3448);font-size:12px}
.neis-games-overlay .neis-connect-invite-main span{font-size:17px}
.neis-games-overlay .neis-connect-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.neis-games-overlay .neis-connect-steps>div{display:grid;gap:7px;align-content:start;background:var(--soft,#f5f8fb);border:1px solid var(--line,#e1e9f0);border-radius:10px;padding:10px;min-width:0}
.neis-games-overlay .neis-connect-steps b{font-size:10px;letter-spacing:.08em;color:var(--accent,#2978b4)}
.neis-games-overlay .neis-connect-steps span{font-size:10px;line-height:1.32;color:var(--muted,#617589)}
.neis-games-overlay .neis-connect-share{display:grid;gap:12px;border-top:1px solid var(--line,#dbe7ef);padding-top:15px}
.neis-games-overlay .neis-connect-share-top{display:flex;align-items:start;justify-content:space-between;gap:9px}
.neis-games-overlay .neis-connect-share-top h4{font-size:14px;margin:0 0 3px;font-weight:800}
.neis-games-overlay .neis-connect-share-top p{font-size:11px;color:var(--muted,#64798b);line-height:1.4;margin:0}
.neis-games-overlay .neis-connect-text-button{border:0;background:none;color:var(--accent,#3177b4);font-weight:700;font-size:11px}
.neis-games-overlay #neisRecipientSearch{width:100%;height:39px;border:1px solid var(--line,#dce6ee);background:var(--soft,#f6f9fb);border-radius:10px;color:var(--ink,#21374b);padding:8px 12px;font:inherit;font-size:12px}
.neis-games-overlay .neis-connect-recipients{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.neis-games-overlay .neis-connect-recipient-group{min-width:0}
.neis-games-overlay .neis-connect-recipient-group h5{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:850;margin:0 0 7px;color:var(--ink,#253d50)}
.neis-games-overlay .neis-connect-recipient-group h5 span{font-size:10px;font-weight:600;color:var(--muted,#6c8292)}
.neis-games-overlay .neis-connect-recipient-items{max-height:174px;min-height:55px;overflow-y:auto;overscroll-behavior:contain;display:grid;align-content:start;gap:5px;scrollbar-width:thin;scrollbar-color:var(--line,#dce6ed) transparent}
.neis-games-overlay .neis-connect-recipient{display:flex;align-items:center;gap:6px;text-align:start;padding:7px 6px;min-height:46px;min-width:0;border:1px solid var(--line,#e1e8ef);border-radius:10px;background:var(--card,#fff);color:var(--ink,#1c3144)}
.neis-games-overlay .neis-connect-recipient:hover{border-color:var(--accent,#397eb5)}
.neis-games-overlay .neis-connect-recipient.is-selected{background:color-mix(in srgb,var(--accent,#2977b6) 8%,var(--card,#fff));border-color:var(--accent,#2977b6)}
.neis-games-overlay .neis-connect-avatar{width:27px;height:27px;flex:0 0 27px;border-radius:8px;display:grid;place-items:center;background:var(--soft,#edf4f7);font-size:12px;font-weight:800;color:var(--accent,#2776ae)}
.neis-games-overlay .neis-connect-recipient-name{flex:1;min-width:0;display:grid;gap:2px}
.neis-games-overlay .neis-connect-recipient-name strong,.neis-games-overlay .neis-connect-recipient-name small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px}
.neis-games-overlay .neis-connect-recipient-name small{font-size:9px;color:var(--muted,#718293)}
.neis-games-overlay .neis-connect-tick{display:grid;place-items:center;width:15px;height:15px;flex:0 0 15px;border-radius:5px;border:1px solid var(--line,#d6e1e8);background:var(--card,#fff);font-weight:800;font-size:10px}
.neis-games-overlay .neis-connect-recipient.is-selected .neis-connect-tick{border-color:var(--accent,#317db7);background:var(--accent,#317db7);color:#fff}
.neis-games-overlay .neis-connect-recipient-empty{font-size:10px;line-height:1.5;color:var(--muted,#748597);margin:5px 0}
.neis-games-overlay .neis-connect-send{width:100%;border-radius:10px}
.neis-games-overlay .neis-connect-footer{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:12px clamp(19px,3vw,34px);border-top:1px solid var(--line,#e0e8f0);color:var(--muted,#738397);font-size:10.5px;line-height:1.45}
.neis-games-overlay .neis-connect-footer-dot{height:7px;width:7px;flex:0 0 7px;background:#45a18b;border-radius:50%}
.neis-games-overlay .neis-connect-notice{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px clamp(19px,3vw,34px) 0;padding:10px 13px;border-radius:11px;background:var(--soft,#eff6fb);border:1px solid var(--line,#dce8ee);color:var(--ink,#28445c);font-size:11px;line-height:1.4}
.neis-games-overlay .neis-connect-notice.error{border-color:#d99393;background:color-mix(in srgb,#e75252 10%,var(--card,#fff))}
.neis-games-overlay .neis-connect-notice.success{border-color:#6bb6a1;background:color-mix(in srgb,#57aa91 10%,var(--card,#fff))}
.neis-games-overlay .neis-connect-notice button{background:transparent;border:0;padding:0 4px;font-size:19px;color:inherit}
@media(max-width:1150px){
 .neis-games-overlay .neis-connect-layout{grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:17px}
 .neis-games-overlay .neis-connect-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .neis-games-overlay .neis-connect-dialog{inset:10px;border-radius:19px}
 .neis-games-overlay .neis-connect-layout{grid-template-columns:1fr;gap:20px;overflow-y:auto;padding:17px}
 .neis-games-overlay .neis-connect-selected{position:static}
 .neis-games-overlay .neis-connect-header{padding:17px 19px 15px}
 .neis-games-overlay .neis-connect-header h2{font-size:26px}
 .neis-games-overlay .neis-connect-footer{padding:10px 17px}
 .neis-games-overlay .neis-connect-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
 .neis-games-overlay .neis-connect-dialog{inset:0;border:0;border-radius:0;max-height:100dvh}
 .neis-games-overlay .neis-connect-header{padding:16px 15px 13px;gap:10px}
 .neis-games-overlay .neis-connect-header h2{font-size:23px}
 .neis-games-overlay .neis-connect-header p{font-size:11px}
 .neis-games-overlay .neis-connect-header-side{gap:6px}
 .neis-games-overlay .neis-connect-count{display:none}
 .neis-games-overlay .neis-connect-dismiss{width:34px;height:34px;border-radius:10px}
 .neis-games-overlay .neis-connect-layout{padding:14px;gap:18px}
 .neis-games-overlay .neis-connect-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .neis-games-overlay .neis-connect-card{min-height:168px;border-radius:13px}
 .neis-games-overlay .neis-connect-cover{height:92px}
 .neis-games-overlay .neis-connect-card-body{padding:10px;gap:4px}
 .neis-games-overlay .neis-connect-card-name{font-size:12px}
 .neis-games-overlay .neis-connect-card-caption{font-size:10px}
 .neis-games-overlay .neis-connect-card-meta{font-size:9px}
 .neis-games-overlay .neis-connect-card-arrow{width:22px;height:22px;font-size:13px}
 .neis-games-overlay .neis-connect-selected-content{padding:16px;gap:12px}
 .neis-games-overlay .neis-connect-cover.is-large{height:115px}
 .neis-games-overlay .neis-connect-selected-heading h3{font-size:21px}
 .neis-games-overlay .neis-connect-recipients{grid-template-columns:1fr}
 .neis-games-overlay .neis-connect-recipient-items{max-height:142px}
 .neis-games-overlay .neis-connect-footer{display:none}
 .neis-games-overlay .neis-connect-notice{margin:10px 14px 0}
}
@media(max-width:360px){
 .neis-games-overlay .neis-connect-recipient-group{min-width:0}
 .neis-games-overlay .neis-connect-recipients{grid-template-columns:1fr}
 .neis-games-overlay .neis-connect-link-row input{font-size:11px}
 .neis-games-overlay .neis-connect-inline-button{padding:0 7px}
 .neis-games-overlay .neis-connect-steps>div{padding:8px}
}
@media(prefers-reduced-motion:reduce){.neis-games-overlay *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}


/* Game hub v2.2 — one chat-composer entry and readable native chat invitations. */
#view #liveChatForm .neis-connect-chat-trigger,
#view #circleChatForm .neis-connect-chat-trigger{
 flex:0 0 auto!important;
 width:auto!important;
 min-width:75px!important;
 height:38px!important;
 padding:0 10px!important;
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 gap:6px!important;
 border-radius:11px!important;
 border:1px solid var(--line,#d8e4ee)!important;
 background:var(--card,#fff)!important;
 color:var(--ink,#22394c)!important;
 font-family:inherit!important;
 font-size:11px!important;
 font-weight:700!important;
 line-height:1.2!important;
 white-space:nowrap!important;
}
#view #liveChatForm .neis-connect-chat-trigger:hover,
#view #circleChatForm .neis-connect-chat-trigger:hover{
 border-color:var(--accent,#2678b3)!important;
 background:var(--soft,#eaf3f8)!important;
}
#view .neis-connect-chat-trigger span:first-child{font-size:17px;line-height:1}
.mobile-nav-list .neis-mobile-game-entry .neis-mobile-game-icon{display:grid;place-items:center;justify-self:center;align-self:center;width:36px;height:36px;min-width:36px;min-height:36px;margin:0;padding:0;font-size:20px;line-height:1;font-weight:400;font-style:normal}

#view .chat-message .message-text[data-neis-game-enhanced="1"]{
 display:grid;
 gap:7px;
 min-width:0;
 white-space:normal;
 width:min(100%,330px);
}
#view .chat-message .neis-chat-game-card{
 min-width:0;
 width:100%;
 display:flex;
 align-items:center;
 gap:11px;
 padding:11px;
 border:1px solid var(--line,#d7e4ee);
 border-radius:13px;
 background:var(--card,#fff);
 color:var(--ink,#1d3345);
 text-decoration:none!important;
 direction:inherit;
 text-align:start;
 transition:border-color .15s,box-shadow .15s;
}
#view .chat-message .neis-chat-game-card:hover{
 border-color:var(--accent,#2c79b4);
 box-shadow:0 4px 14px rgba(15,46,77,.12);
}
#view .chat-message .neis-chat-game-art{
 width:46px;
 height:46px;
 flex:0 0 46px;
 border-radius:12px;
 display:grid;
 place-items:center;
 background:var(--game-accent,#2874b2);
 color:white;
 font:700 28px/1 Georgia,serif;
}
#view .chat-message .neis-chat-game-detail{
 display:grid;gap:3px;min-width:0;flex:1;overflow:hidden;
}
#view .chat-message .neis-chat-game-eyebrow{
 font-size:9px;line-height:1.25;font-weight:850;letter-spacing:.09em;
 color:var(--accent,#2977b5);
}
#view .chat-message .neis-chat-game-detail strong{
 font-size:13px;line-height:1.2;font-weight:820;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#view .chat-message .neis-chat-game-detail small{
 font-size:10px;line-height:1.2;color:var(--muted,#728697);
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#view .chat-message .neis-chat-game-cta{
 align-self:center;
 border-radius:9px;
 background:var(--soft,#e9f2fa);
 color:var(--accent,#2378b4);
 padding:8px;
 max-width:95px;
 font-size:10px;
 line-height:1.35;
 text-align:center;
 font-weight:800;
 flex:0 0 auto;
}
#view .chat-message button.neis-chat-game-copy{
 justify-self:start;
 width:auto!important;
 min-height:26px;
 padding:4px 8px;
 border:1px solid transparent;
 background:transparent;
 color:inherit;
 font-size:10px;
 font-weight:700;
 border-radius:7px;
 cursor:pointer;
}
#view .chat-message button.neis-chat-game-copy:hover{
 background:color-mix(in srgb,var(--accent,#2579b6) 10%,transparent);
}
@media(max-width:520px){
 #view #liveChatForm .neis-connect-chat-trigger,
 #view #circleChatForm .neis-connect-chat-trigger{
  width:38px!important;min-width:38px!important;padding:0!important;
 }
 #view .neis-connect-chat-trigger .neis-connect-chat-label{display:none}
 #view .chat-message .neis-chat-game-card{gap:7px;padding:9px}
 #view .chat-message .neis-chat-game-art{width:33px;height:38px;flex-basis:33px;font-size:22px;border-radius:9px}
 #view .chat-message .neis-chat-game-cta{font-size:9px;padding:6px;max-width:63px}
}

/* Native new-tab game links, and sidebar entry mounted after the sidebar labels. */
.neis-games-overlay a.neis-connect-launch{text-decoration:none;cursor:pointer}
.neis-games-overlay a.neis-connect-secondary:hover{border-color:var(--accent,#2977b5)}
@media (min-width:1024px){
 .rail.neis-hover-rail .nav-btn[data-neis-connect-open] .neis-connect-rail-icon{
  grid-column:1;grid-row:1;align-self:center;justify-self:center;
  width:28px;height:28px;display:grid;place-items:center;
  font-size:19px;line-height:1;
 }
}

/* Shared, accent-aware Home/Admin hero. Both surfaces use precisely the same
   gradient and respond to the user's existing selected color theme. */
#view{
 --neis-shared-hero-gradient:
  radial-gradient(ellipse at 94% 8%,
   color-mix(in srgb,var(--accent,#2678b3) 19%,transparent) 0%,transparent 67%),
  linear-gradient(128deg,
   color-mix(in srgb,var(--accent,#2678b3) 10%,#101d1d) 0%,
   color-mix(in srgb,var(--accent,#2678b3) 22%,#17282b) 54%,
   color-mix(in srgb,var(--accent,#2678b3) 33%,#1b3332) 100%);
}
#view :is(.hero-main,.admin-banner),
html[data-theme="dark"] #view :is(.hero-main,.admin-banner){
 background:var(--neis-shared-hero-gradient)!important;
 color:#f5f8fa!important;
 border:1px solid color-mix(in srgb,var(--accent,#2678b3) 16%,#293b40)!important;
 box-shadow:0 16px 40px rgba(0,13,21,.14);
}
#view :is(.hero-main,.admin-banner) h1{
 color:#f7fafc!important;
}
#view :is(.hero-main,.admin-banner) p{
 color:#c5d1d5!important;
}
#view .hero-main:before,
#view .hero-main:after{
 /* The old oversized geometric ornaments were unrelated to the Admin card
    and clashed with custom themes; show the shared gradient instead. */
 display:none!important;
 content:none!important;
}
#view .hero-main .kicker{color:#d4e2e8!important;opacity:.9}

/* APPY mirrors Explore Circles, including typography and touch targets.
   Keep both at 13px without affecting other buttons or destinations. */
#view .hero-main .neis-home-actions{
 display:flex;
 flex-wrap:wrap;
 align-items:center;
 gap:8px;
 position:relative;
 z-index:2;
}
#view .hero-main .neis-home-actions > :is(button.primary,a.neis-home-appy-link){
 box-sizing:border-box;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 flex:0 0 auto;
 min-height:43px;
 height:43px;
 padding:0 16px;
 border:0;
 border-radius:13px;
 background:var(--accent,#2678b3)!important;
 color:var(--accent-contrast,#fff)!important;
 font-family:inherit;
 font-size:13px!important;
 font-weight:700;
 line-height:1.35!important;
 letter-spacing:normal;
 text-decoration:none;
 white-space:nowrap;
 cursor:pointer;
}
#view .hero-main .neis-home-actions > :is(button.primary,a.neis-home-appy-link):hover{
 filter:brightness(1.06);
}
#view .hero-main .neis-home-actions > :is(button.primary,a.neis-home-appy-link):focus-visible{
 outline:3px solid color-mix(in srgb,var(--accent,#2678b3) 50%,#fff);
 outline-offset:3px;
}
/* The light secondary connection button stays legible on the dark gradient. */
#view .hero-main .neis-home-actions > button.secondary,
html[data-theme="dark"] #view .hero-main .neis-home-actions > button.secondary{
 background:#f1f6fa!important;
 color:#172b38!important;
 border-color:#d9e5ed!important;
}
@media(max-width:520px){
 #view .hero-main .neis-home-actions{gap:7px}
 #view .hero-main .neis-home-actions > :is(button.primary,a.neis-home-appy-link){
  min-height:40px;height:40px;padding-inline:12px;font-size:12px!important;
 }
}

/* Narrow mobile hero: three destinations on ONE row without clipping. */
@media(max-width:620px){
 #view .hero-main .neis-home-actions{
  display:flex!important;flex-flow:row nowrap!important;
  align-items:stretch!important;gap:6px!important;
  min-width:0;width:100%;max-width:100%;margin-top:15px!important;
 }
 #view .hero-main .neis-home-actions > :is(button.primary,button.secondary,a.neis-home-appy-link){
  flex:0 1 auto!important;width:auto!important;min-width:0!important;
  height:38px!important;min-height:38px!important;
  padding:0 clamp(6px,1.8vw,11px)!important;
  font-size:clamp(10px,2.6vw,12px)!important;line-height:1.2!important;
  white-space:nowrap!important;letter-spacing:-.015em!important;
  border-radius:10px!important;
 }
 #view .hero-main .neis-home-actions > button.secondary{flex-shrink:1!important}
 #view .hero-main .neis-home-actions > a.neis-home-appy-link{flex-shrink:0!important}
}
@media(max-width:370px){
 #view .hero-main .neis-home-actions{gap:4px!important}
 #view .hero-main .neis-home-actions > :is(button.primary,button.secondary,a.neis-home-appy-link){
  padding-inline:5px!important;font-size:10px!important;
 }
}

/* DM and Circle invite cards: identical SVG artwork to the Games tab. */
#view .chat-message .message-text[data-neis-game-enhanced="1"]{width:min(100%,350px);gap:5px}
#view .chat-message a.neis-chat-game-card{
 display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;
 overflow:hidden;border-radius:16px;background:var(--card,#fff);
 box-shadow:0 2px 12px rgba(10,36,55,.045)
}
#view .chat-message .neis-chat-game-banner{display:block;position:relative;flex:none;width:100%;height:112px;overflow:hidden}
#view .chat-message .neis-chat-game-banner .neis-connect-cover{
 height:100%;width:100%;position:relative;overflow:hidden;
 background:linear-gradient(125deg,var(--coverA),var(--coverB) 94%);color:#fff;isolation:isolate
}
#view .chat-message .neis-chat-game-banner .neis-connect-cover::before{
 content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 76% 32%,var(--coverC) 0%,transparent 34%);
 opacity:.13;z-index:1;pointer-events:none
}
#view .chat-message .neis-chat-game-banner .neis-connect-cover svg{position:absolute;inset:0;display:block;width:100%;height:100%}
#view .chat-message .neis-chat-game-banner .neis-connect-cover-mark{
 position:absolute;bottom:9px;left:12px;display:grid;place-items:center;
 width:27px;height:27px;border:1px solid rgba(255,255,255,.28);
 border-radius:9px;background:rgba(255,255,255,.12);color:#fff;font:700 17px Georgia,serif
}
#view .chat-message .neis-chat-game-banner .neis-connect-cover-glint{
 position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.15),transparent 42%)
}
#view .chat-message .neis-chat-game-content{
 display:flex;align-items:center;gap:11px;min-width:0;padding:12px;direction:inherit
}
#view .chat-message .neis-chat-game-content .neis-chat-game-detail{min-width:0;flex:1}
#view .chat-message .neis-chat-game-content .neis-chat-game-cta{padding:8px 10px;max-width:104px}
#view .chat-message a.neis-chat-game-card:hover{
 border-color:var(--accent,#2c79b4);box-shadow:0 6px 20px rgba(15,46,77,.14)
}
@media(max-width:520px){
 #view .chat-message .neis-chat-game-banner{height:92px}
 #view .chat-message .neis-chat-game-content{padding:10px;gap:7px}
 #view .chat-message .neis-chat-game-content .neis-chat-game-cta{padding:7px;max-width:80px}
}
@media(prefers-reduced-motion:reduce){#view .chat-message a.neis-chat-game-card{transition:none}}
