/* Nyugi V13 — modern, humane social interface with nostalgic personality. */
.nyugi-community-head{display:flex;gap:8px;flex-wrap:wrap;margin:5px 0 22px}
.nyugi-community-head .soft-btn{font-size:.83rem}
.nyugi-person-link{border:0;background:none;padding:0;min-height:30px;display:inline-flex;align-items:center;color:var(--primary);font-weight:800;font-size:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;cursor:pointer}
.nyugi-person-link:hover,.nyugi-person-link:focus-visible{text-decoration-color:currentColor}
.cc-feed-post{border:1px solid var(--line);transition:box-shadow .2s}
.cc-feed-post .cc-post-image{width:auto;max-height:520px;max-width:100%;border:1px solid var(--line);background:var(--subtle)}
.cc-feed-post .button-row{border-top:1px solid var(--line);padding-top:12px}
.cc-feed-post .ghost-btn{background:var(--subtle);min-height:40px;font-size:.78rem;padding:8px 10px}
.nyugi-notice-button{position:relative}
#nyugiUnread{position:absolute;top:-8px;right:-8px;min-width:19px;height:19px;padding:2px;border-radius:100px;background:#b34566;color:white;font:bold 11px system-ui;text-align:center;line-height:15px}
.nyugi-notice-pop,.nyugi-floating-chat{position:fixed;z-index:175;background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 60px #241d3549;border-radius:20px;color:var(--ink);display:flex;flex-direction:column;overflow:hidden}
.nyugi-notice-pop{top:76px;right:18px;width:min(410px,calc(100vw - 22px));max-height:min(680px,80dvh);padding:13px}
.nyugi-popup-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 5px 10px;border-bottom:1px solid var(--line)}
.nyugi-popup-header h3{font-size:1rem;margin:0}.nyugi-popup-header .button-row{gap:3px}
.nyugi-popup-scroll{overflow-y:auto;min-height:70px;max-height:430px;overscroll-behavior:contain}
.nyugi-notice-line{display:block;text-align:left;width:100%;padding:13px 11px;background:var(--surface);border:0;border-bottom:1px solid var(--line);line-height:1.45;font-size:.87rem}
.nyugi-notice-line:hover,.nyugi-notice-line.nyugi-unread{background:var(--subtle)}
.nyugi-notice-line small{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}
.nyugi-chat-launcher{position:fixed;z-index:75;right:18px;bottom:19px;display:flex;align-items:center;gap:7px;border-radius:25px;background:var(--primary);color:#fff;border:2px solid #fff;padding:12px 17px;box-shadow:0 8px 28px #25193355;font-weight:800;font-size:1rem;min-height:48px}
.nyugi-floating-chat{right:15px;bottom:82px;width:min(400px,calc(100vw - 22px));height:min(630px,calc(100dvh - 165px));padding:12px}
.nyugi-chat-friends{display:flex;gap:6px;overflow-x:auto;padding:11px 0;border-bottom:1px solid var(--line);min-height:53px}
.nyugi-chat-friend{flex:0 0 auto;border:1px solid var(--line);border-radius:99px;padding:8px 13px;background:var(--subtle);font-size:.78rem;white-space:nowrap;min-height:36px}
.nyugi-chat-friend.chosen{background:var(--tint);border-color:var(--primary)}
.nyugi-chat-conversation{min-height:0;flex:1;display:flex;flex-direction:column}
.nyugi-chat-label{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:8px 0}
.nyugi-chat-label .ghost-btn{min-height:34px;padding:4px 10px}
.nyugi-mini-messages{display:flex;flex-direction:column;gap:6px;flex:1;border-radius:12px;background:var(--subtle);padding:10px;min-height:100px;max-height:none}
.nyugi-chat-conversation form{padding-top:10px}
.nyugi-chat-conversation textarea{min-height:55px;max-height:100px;padding:9px}
.nyugi-chat-conversation form .button-row{justify-content:space-between;align-items:center}
.nyugi-profile-overlay{position:fixed;inset:0;z-index:135;background:var(--bg);color:var(--ink);overflow-y:auto;overscroll-behavior:contain}
.nyugi-profile-container{width:min(1160px,100%);min-height:100dvh;margin:0 auto;padding:18px clamp(13px,3vw,40px) 70px}
.nyugi-full-profile-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 18px;background:var(--bg);position:sticky;top:0;z-index:3}
.nyugi-full-profile-toolbar strong{font-size:.9rem}.nyugi-profile-hero .cc-public-card{margin-bottom:12px}
.nyugi-profile-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;margin-top:15px;align-items:start}
.nyugi-full-theme{width:100%;height:min(68vh,710px);min-height:340px;border:1px solid var(--line);border-radius:15px;background:white}
.nyugi-steam-presence{display:inline-flex;padding:9px 13px;border-radius:12px;background:var(--tint);font-weight:600;font-size:.85rem}
.nyugi-incoming-call{inset:0!important;width:100%!important;height:100dvh!important;max-height:none!important;max-width:none!important;border:0!important;border-radius:0!important;background:#171523d9!important;display:grid!important;place-items:center!important;z-index:260!important;backdrop-filter:blur(13px);color:#fff}
.nyugi-incoming-card{text-align:center;padding:42px 25px;background:#26243c;border:2px solid #8c7daa;border-radius:24px;width:min(430px,94vw);box-shadow:0 20px 90px #0008}
.nyugi-call-orb{width:106px;height:106px;display:grid;place-items:center;border-radius:100%;background:linear-gradient(135deg,#bba2de,#efabc5);color:#352946;font-size:50px;margin:0 auto 24px;animation:nyugi-call-pulse 1.6s ease-in-out infinite}
@keyframes nyugi-call-pulse{50%{box-shadow:0 0 0 17px #cf9ee522}}
.nyugi-incoming-card .button-row{justify-content:center;margin-top:27px}
.nyugi-call-window{width:min(460px,96vw);right:10px;bottom:12px;z-index:210;max-height:88dvh;overflow-y:auto}
.nyugi-call-window.nyugi-call-expanded{inset:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;border:0!important;border-radius:0!important;padding:20px!important;display:flex;flex-direction:column}
.nyugi-call-window.nyugi-call-expanded .stack{height:100%;overflow-y:auto}
.nyugi-call-window.nyugi-call-expanded #remoteVideo{max-height:min(58vh,650px)}
.nyugi-call-tools{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0}
#nyugiCallChat{background:var(--subtle);border-radius:13px;padding:11px;max-height:260px;overflow:auto}
#nyugiCallMessages{height:130px;min-height:75px;max-height:150px}
#nyugiCallMessage{display:flex;gap:7px;margin-top:7px}
#nyugiCallMessage input{min-width:0}
.nyugi-water-status{padding:12px 14px;background:var(--tint);border:1px solid var(--primary);border-radius:14px;font-weight:750;margin:12px 0}
@media(max-width:760px){
 .nyugi-profile-layout{grid-template-columns:1fr}
 .nyugi-notice-pop{top:62px;right:8px;max-height:75dvh}
 .nyugi-profile-container{padding-bottom:90px}
 .nyugi-chat-launcher{bottom:84px;right:9px;padding:10px 12px;border-radius:50%;min-width:45px;min-height:45px}
 .nyugi-chat-launcher span{display:none}
 .nyugi-floating-chat{bottom:140px;right:6px;width:calc(100vw - 12px);height:min(530px,calc(100dvh - 162px))}
 .nyugi-full-profile-toolbar strong{font-size:.78rem}
}
@media(prefers-reduced-motion:reduce){.nyugi-call-orb{animation:none}}

/* Full-resolution image viewer; works on phones and desktop. */
.nyugi-image-lightbox{position:fixed;inset:0;z-index:300;background:#0d0b14f4;display:flex;align-items:center;justify-content:center;padding:60px 12px 18px;overflow:auto}
.nyugi-image-lightbox>img{width:auto;height:auto;max-width:96vw;max-height:calc(100dvh - 85px);object-fit:contain;box-shadow:0 7px 45px #000a}
.nyugi-image-lightbox>button{position:fixed;top:14px;right:18px;z-index:1;background:#f8ecfa;color:#322b40}
.cc-post-image,.chat-bubble img{cursor:zoom-in}

.nyugi-shop-preview{width:100%;border:0;background:linear-gradient(135deg,#e8dbf1,#fff5f0);border-radius:16px;padding:12px;display:grid;place-items:center;gap:3px;min-height:116px}
.nyugi-shop-preview:hover{box-shadow:inset 0 0 0 2px var(--primary)}
.nyugi-shop-preview .cc-item-art{min-height:82px;display:grid;place-items:center}
.nyugi-shop-preview .cc-item-art svg{width:min(100%,110px);height:auto;filter:drop-shadow(0 6px 5px #593c6817)}
.nyugi-item-overlay{position:fixed;inset:0;background:#24182b9c;z-index:230;display:grid;place-items:center;padding:20px;overflow:auto}
.nyugi-item-detail{background:var(--surface);border-radius:24px;border:2px solid var(--line);box-shadow:0 15px 60px #0005;padding:22px;text-align:center;width:min(460px,100%)}
.nyugi-item-detail>.soft-btn{float:right}.nyugi-item-big-art{background:var(--subtle);padding:20px;border-radius:18px;clear:both;margin-top:15px}
.nyugi-item-big-art svg{max-width:100%;height:180px}
.nyugi-item-avatar{width:110px;height:130px;overflow:hidden;margin:0 auto}
.nyugi-item-avatar svg{width:100%;max-height:130px}

/* Release fix: usernames act as real profile links throughout discussion and chat UI. */
.nyugi-person-link{max-width:100%;overflow-wrap:anywhere;text-align:left;vertical-align:baseline;min-height:0;line-height:inherit;border-radius:5px;text-decoration-color:currentColor;text-decoration-thickness:1px}
.nyugi-person-link:hover{background:var(--tint);text-decoration-thickness:2px}
.nyugi-person-link:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.cc-account-handle .nyugi-person-link{font-size:inherit}
/* Replies opened from a full-screen profile must appear above the profile overlay. */
#modalRoot .modal-backdrop{z-index:280}

/* V29.2: reshares keep creator credit, commentary and source visually distinct. */
.cc-is-reshare{border-left:3px solid var(--primary)!important}
.cc-reshare-label{display:flex;align-items:center;gap:8px;color:var(--primary);font-size:.84rem;margin:10px 0;font-weight:650}
.cc-reshare-label svg{width:19px;height:19px;flex:none}
.cc-reshare-note{margin:8px 0 13px}
.cc-reshare-source,.cc-reshare-preview{border:1px solid var(--line);border-radius:17px;background:var(--subtle);padding:clamp(12px,2vw,18px);margin:12px 0;overflow-wrap:anywhere;min-width:0}
.cc-reshare-source-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cc-reshare-badge{border:1px solid var(--primary);border-radius:99px;padding:3px 8px;font-size:.72rem;color:var(--primary);font-weight:750}
.cc-reshare-source .cc-post-image{display:block;width:auto;max-width:100%;max-height:380px;object-fit:contain}
.cc-reshare-source .cc-prewrap{white-space:pre-wrap;overflow-wrap:anywhere}
@media (prefers-reduced-motion:reduce){.cc-is-reshare,.cc-reshare-source{transition:none!important}}
