/* EduRealm v11 • stabilne przewijanie, komunikacja i rozbudowane animacje ról */
html{overflow-x:hidden;scrollbar-gutter:auto}body{overflow-x:clip}*{scrollbar-width:thin;scrollbar-color:#786f24 #15161e}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:#15161e;border-radius:999px}*::-webkit-scrollbar-thumb{border:2px solid #15161e;border-radius:999px;background:#786f24}*::-webkit-scrollbar-thumb:hover{background:#ffe600}
.auth-forms form,.rich-editor,.forum-shell,.profile-dashboard,.panel-card{scrollbar-gutter:auto}.rich-editor{overflow-x:clip!important}.forum-modal .modal-card{max-width:min(1120px,calc(100vw - 24px));overscroll-behavior:contain}.forum-stream-shell,.profile-dashboard{min-width:0}.forum-layout>*{min-width:0}
.rich-content{overflow-wrap:anywhere}.rich-content blockquote,.rich-editor blockquote{position:relative;margin:20px 0;padding:18px 20px 18px 24px;border:1px solid #5b5670;border-left:5px solid #ffe600;border-radius:0 14px 14px 0;background:linear-gradient(90deg,#2a2817,#171820);color:inherit}.rich-content blockquote:before,.rich-editor blockquote:before{content:"„";position:absolute;right:16px;top:-12px;color:#ffe60055;font:700 4rem Georgia,serif}.rich-content font[color],.rich-editor font[color]{filter:saturate(1.08)}
.forum-image-block{position:relative;clear:both;box-sizing:border-box;max-width:100%!important;transition:width .25s ease,margin .25s ease,transform .25s ease}.forum-image-block img{display:block;width:100%!important;height:auto!important;object-fit:contain}.forum-image-tools{position:sticky;bottom:8px;z-index:8;display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:10px;border:1px solid #474957;border-radius:14px;background:#14151deb;box-shadow:0 12px 30px #0008;backdrop-filter:blur(12px)}.forum-image-tools[hidden]{display:none}.image-fine-controls{flex:1 1 100%;display:grid;grid-template-columns:auto minmax(130px,1fr) 42px auto minmax(130px,1fr) 42px;align-items:center;gap:8px}.image-fine-controls input{accent-color:#ffe600}.image-fine-controls output{color:#ffe600;font-weight:850}.forum-image-block.selected{outline:2px solid #ffe600;outline-offset:5px}
.live-bar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:0 0 16px;padding:12px 15px;border:1px solid #3b3d49;border-radius:15px;background:#13141b}.live-dot{width:9px;height:9px;border-radius:50%;background:#4ee38c;box-shadow:0 0 0 0 #4ee38c88;animation:v11-live 1.7s infinite}.restriction-countdown{position:sticky;top:84px;z-index:15;display:grid;grid-template-columns:auto 1fr;gap:12px;margin-bottom:16px;padding:15px;border:1px solid #82444c;border-radius:16px;background:#241519ee;box-shadow:0 12px 35px #0006;backdrop-filter:blur(12px)}.restriction-countdown strong{color:#ff8a92}.restriction-countdown time{font-variant-numeric:tabular-nums;color:#ffe600;font-weight:900}
.global-chat-launcher{position:fixed;right:18px;bottom:18px;z-index:5000;display:flex;align-items:center;gap:9px;padding:12px 17px;border:1px solid #ffe60066;border-radius:999px;background:#ffe600;color:#111;font-weight:950;box-shadow:0 12px 40px #0009,0 0 22px #ffe60044;animation:v11-float 2.8s ease-in-out infinite}.global-chat-launcher span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#111;color:#ffe600}.communication-grid{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.6fr);gap:16px}.communication-sidebar,.communication-chat{min-width:0}.communication-list{display:grid;gap:8px}.communication-list button{display:flex;width:100%;justify-content:space-between;gap:10px;text-align:left;padding:12px;border:1px solid #383a47;border-radius:13px;background:#14151d;color:#fff}.communication-list button:hover,.communication-list button.active{border-color:#ffe600;background:#211f12}.chat-scroll{display:grid;gap:10px;max-height:440px;overflow:auto;padding:8px}.chat-bubble{max-width:min(82%,620px);padding:12px 14px;border:1px solid #373946;border-radius:16px;background:#1a1b24}.chat-bubble.mine{justify-self:end;border-color:#857b18;background:#2a2710}.chat-bubble small{display:block;margin-top:6px;color:#9598a8}.chat-compose{display:flex;gap:9px;margin-top:12px}.chat-compose textarea{min-height:64px;resize:vertical}.friend-search-results{display:grid;gap:7px;margin-top:8px}.friend-result{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #383a47;border-radius:12px}.communication-admin-grid{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.5fr);gap:16px}.audit-list{display:grid;gap:9px}.audit-entry{display:grid;grid-template-columns:auto 1fr auto;gap:12px;padding:13px;border:1px solid #353744;border-radius:14px;background:#15161e}.audit-entry>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#ffe600;color:#111;font-weight:950}.audit-entry code{color:#c8cad4;white-space:pre-wrap;overflow-wrap:anywhere}.audit-entry time{color:#9295a5;font-size:.8rem}.role-editor [name=display_name]{font-weight:800}
.role-neon{animation:v11-neon 1.5s ease-in-out infinite alternate}.role-fire{animation:v11-fire 1.2s ease-in-out infinite alternate}.role-ice{animation:v11-ice 2s ease-in-out infinite}.role-wave{animation:v11-wave 1.6s ease-in-out infinite}.role-bounce{animation:v11-bounce 1.3s ease-in-out infinite}.role-shake{animation:v11-shake 1.8s ease-in-out infinite}.role-typing{overflow:hidden;white-space:nowrap;animation:v11-typing 2.8s steps(18,end) infinite}.role-gradient{color:transparent!important;background:linear-gradient(90deg,var(--role),#fff,var(--role));background-size:220%;background-clip:text;-webkit-background-clip:text;animation:v11-gradient 2s linear infinite}.role-heartbeat{animation:v11-heartbeat 1.3s ease-in-out infinite}.role-spin{display:inline-block;animation:v11-spin 3.5s linear infinite}.role-flip{display:inline-block;animation:v11-flip 2.2s ease-in-out infinite}.role-swing{display:inline-block;transform-origin:top center;animation:v11-swing 2s ease-in-out infinite}.role-zoom{animation:v11-zoom 1.8s ease-in-out infinite}.role-sparkle{animation:v11-sparkle 1.7s linear infinite}.role-shadow{animation:v11-shadow 2s ease-in-out infinite}.role-outline{animation:v11-outline 1.8s ease-in-out infinite}.role-matrix{animation:v11-matrix 1.7s steps(4,end) infinite}.role-meteor{position:relative;overflow:hidden}.role-meteor:after{content:"";position:absolute;inset:-20% -40%;background:linear-gradient(110deg,transparent 35%,#fff 49%,transparent 62%);animation:v11-meteor 2s linear infinite}
@keyframes v11-live{70%{box-shadow:0 0 0 8px transparent}}@keyframes v11-float{50%{transform:translateY(-5px)}}@keyframes v11-neon{to{text-shadow:0 0 5px var(--role),0 0 18px var(--role),0 0 30px var(--role)}}@keyframes v11-fire{to{filter:drop-shadow(0 -4px 7px #ff5a00);color:#ffd15c}}@keyframes v11-ice{50%{text-shadow:0 0 18px #72dcff;filter:brightness(1.5)}}@keyframes v11-wave{25%{transform:rotate(-2deg) translateY(-2px)}75%{transform:rotate(2deg) translateY(2px)}}@keyframes v11-bounce{50%{transform:translateY(-6px)}}@keyframes v11-shake{5%,15%{transform:translateX(-2px)}10%,20%{transform:translateX(2px)}}@keyframes v11-typing{0%,15%{max-width:0}55%,100%{max-width:220px}}@keyframes v11-gradient{to{background-position:220%}}@keyframes v11-heartbeat{10%,30%{transform:scale(1.12)}20%,40%,100%{transform:scale(1)}}@keyframes v11-spin{50%{transform:rotateY(180deg)}100%{transform:rotateY(360deg)}}@keyframes v11-flip{50%{transform:rotateX(360deg)}}@keyframes v11-swing{25%{transform:rotate(4deg)}75%{transform:rotate(-4deg)}}@keyframes v11-zoom{50%{transform:scale(1.08)}}@keyframes v11-sparkle{25%{text-shadow:7px -5px #fff,-5px 4px var(--role)}75%{text-shadow:-6px -3px #fff,6px 5px var(--role)}}@keyframes v11-shadow{50%{text-shadow:8px 6px 0 color-mix(in srgb,var(--role) 30%,transparent)}}@keyframes v11-outline{50%{-webkit-text-stroke:1px var(--role);color:transparent}}@keyframes v11-matrix{25%{text-shadow:2px 0 #2dff8b}50%{text-shadow:-2px 2px #0a6}75%{text-shadow:1px -2px #7affb6}}@keyframes v11-meteor{to{transform:translateX(180%)}}
@media(max-width:760px){.communication-grid,.communication-admin-grid{grid-template-columns:1fr}.image-fine-controls{grid-template-columns:auto 1fr 42px}.image-fine-controls label:nth-of-type(2){grid-column:1}.global-chat-launcher{right:10px;bottom:10px}.forum-modal .modal-card{max-width:calc(100vw - 12px);padding:18px}.audit-entry{grid-template-columns:auto 1fr}.audit-entry time{grid-column:2}}
@media(prefers-reduced-motion:reduce){[class*=role-],.global-chat-launcher,.live-dot{animation:none!important}}

/* Bez ozdobnych pasków i bez widocznych suwaków, z zachowaniem przewijania. */
html,body,*{scrollbar-width:none!important;-ms-overflow-style:none!important}
*::-webkit-scrollbar,*::-webkit-scrollbar-track,*::-webkit-scrollbar-thumb,*::-webkit-scrollbar-corner{display:none!important;width:0!important;height:0!important;background:transparent!important}
.btn::before,.tab::before,.bot-mini-btn::before,.module-link::before,.bot-choice::before,.admin-nav a::before,
.send-btn::after,.plan-btn::after,.discord-btn::after,.price-card::before,.host-server::after{content:none!important;display:none!important;pointer-events:none!important;animation:none!important}

/* V13: opisy cennika zachowują Enter, a komunikacja ma układ pełnego komunikatora. */
.plan-intro,.price>p,.price-card .plan-intro{white-space:pre-line}
#user-communication{padding:clamp(22px,3vw,34px)!important;overflow:hidden;background:linear-gradient(145deg,#1b1c26,#111219)!important}
#user-communication>.section-heading{display:block;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #333642}
#user-communication>.section-heading h2{margin:10px 0 8px;font-size:clamp(2rem,4vw,3.4rem);line-height:1;letter-spacing:-.045em}
#user-communication>.section-heading p{max-width:680px;margin:0;color:#aeb1c0}
#user-communication .communication-grid{grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:20px;min-height:610px;align-items:stretch}
#user-communication .communication-sidebar{display:flex;flex-direction:column;min-width:0;padding:20px;border:1px solid #353846;border-radius:22px;background:#111219}
#user-communication #friend-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;margin-bottom:4px}
#user-communication #friend-search .field{margin:0}
#user-communication #friend-search label{display:grid;gap:7px;color:#f5f5f8;font-size:.82rem}
#user-communication #friend-search input{width:100%;min-width:0;border:1px solid #3a3d4a;border-radius:13px;background:#0b0c11;color:#fff;padding:12px 13px;outline:none}
#user-communication #friend-search input:focus{border-color:#ffe600;box-shadow:0 0 0 3px #ffe60018}
#user-communication #friend-search .btn{min-height:45px;padding-inline:16px}
#user-communication .friend-search-results{margin:10px 0 2px;color:#9da0ae;font-size:.84rem}
#user-communication .communication-sidebar h3{margin:22px 0 9px;padding-top:17px;border-top:1px solid #2e303b;color:#dfe0e7;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
#user-communication .communication-list{gap:7px}
#user-communication .communication-list>p{margin:4px 2px;color:#858997;font-size:.84rem}
#user-communication .communication-list button{align-items:center;min-height:58px;padding:11px 12px;border-color:#313440;background:#171820;transition:border-color .2s,background .2s,transform .2s}
#user-communication .communication-list button:hover,#user-communication .communication-list button.active{transform:translateX(3px);border-color:#7d7418;background:#24220f}
#user-communication .communication-list button>span:first-child{display:grid;min-width:0;gap:2px}
#user-communication .communication-list button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}
#user-communication .communication-list button small{color:#9195a4;font-size:.73rem}
#user-communication .communication-list button i{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#292b35;color:#ffe600;font-style:normal}
#user-communication .communication-chat{display:flex;flex-direction:column;min-width:0;min-height:610px;padding:0;border:1px solid #383b48;border-radius:22px;background:radial-gradient(circle at 80% 0,#29271355,transparent 28%),#0e0f15;overflow:hidden}
#user-communication .communication-chat>header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:86px;padding:18px 22px;border-bottom:1px solid #333642;background:#171820}
#user-communication .communication-chat>header>div{display:grid;gap:3px}
#user-communication .communication-chat>header h3{margin:0;font-size:1.2rem}
#user-communication .communication-chat>header small{color:#8f93a2}
#user-communication .conversation-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#ffe600;color:#111;font-weight:950}
#user-communication .conversation-person{display:flex!important;align-items:center;gap:12px}
#user-communication .chat-scroll{display:flex;flex:1;flex-direction:column;gap:10px;min-height:390px;max-height:520px;padding:22px;overflow-y:auto}
#user-communication .chat-bubble{align-self:flex-start;max-width:min(76%,620px);padding:11px 14px;border-color:#353844;border-radius:16px 16px 16px 5px;background:#1c1e27}
#user-communication .chat-bubble.mine{align-self:flex-end;border-color:#796f18;border-radius:16px 16px 5px 16px;background:#2b2810}
#user-communication .chat-bubble b{font-size:.77rem;color:#ffe600}
#user-communication .chat-bubble p{margin:4px 0 0;white-space:pre-wrap;color:#f5f5f7}
#user-communication .chat-bubble small{font-size:.68rem}
#user-communication .chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin:0;padding:16px 18px;border-top:1px solid #333642;background:#15161e}
#user-communication .chat-compose textarea{width:100%;min-height:54px;max-height:160px;margin:0;padding:14px 15px;border:1px solid #3a3d49;border-radius:15px;background:#0b0c11;color:#fff;resize:vertical;outline:none}
#user-communication .chat-compose textarea:focus{border-color:#ffe600;box-shadow:0 0 0 3px #ffe60018}
#user-communication .chat-compose .btn{min-height:54px;padding-inline:22px}
#user-communication .communication-chat>.empty-state{display:grid;flex:1;place-items:center;align-content:center;gap:7px;color:#8f93a2;text-align:center}
#user-communication .communication-chat>.empty-state b{color:#fff;font-size:1.3rem}
.ticket-status-label{display:inline-flex;align-items:center;gap:6px;width:max-content;color:#aeb1bf;font-size:.72rem}
.ticket-status-label::before{content:"";width:7px;height:7px;border-radius:50%;background:#57e389}.ticket-status-label.waiting::before{background:#ffe600}.ticket-status-label.closed::before{background:#777b88}
@media(max-width:850px){#user-communication .communication-grid{grid-template-columns:1fr}#user-communication .communication-chat{min-height:540px}#user-communication .communication-sidebar{max-height:none}}
@media(max-width:560px){#user-communication{padding:16px!important}#user-communication #friend-search{grid-template-columns:1fr}#user-communication .chat-scroll{padding:14px}#user-communication .chat-bubble{max-width:90%}#user-communication .chat-compose{grid-template-columns:1fr}#user-communication .chat-compose .btn{width:100%}}

/* V14: kompaktowe pole odpowiedzi w stylu komunikatora. */
.communication-chat .chat-compose{box-sizing:border-box;display:flex!important;align-items:flex-end!important;gap:10px!important;width:100%;margin:0!important;padding:12px 14px!important;border-top:1px solid #30333e;background:#15161ef2;backdrop-filter:blur(14px)}
.communication-chat .chat-compose textarea{box-sizing:border-box;display:block;flex:1 1 auto;width:auto!important;min-width:0;min-height:46px!important;height:46px;max-height:148px!important;margin:0!important;padding:11px 17px!important;border:1px solid #3b3e49!important;border-radius:24px!important;background:#0d0e14!important;color:#f7f7fa!important;font:inherit;line-height:1.45;resize:none!important;overflow-y:hidden;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.communication-chat .chat-compose textarea::placeholder{color:#7f8391}
.communication-chat .chat-compose textarea:focus{border-color:#8c821d!important;background:#111219!important;box-shadow:0 0 0 3px #ffe60014!important}
.communication-chat .chat-compose .chat-send-button{box-sizing:border-box;display:grid!important;flex:0 0 46px!important;place-items:center;width:46px!important;min-width:46px!important;height:46px!important;min-height:46px!important;margin:0!important;padding:0!important;border:1px solid #ffe600!important;border-radius:50%!important;background:#ffe600!important;color:#111!important;font-size:1.15rem!important;line-height:1!important;box-shadow:0 8px 24px #0007,0 0 18px #ffe60024;transform:none!important;transition:transform .18s,box-shadow .18s,filter .18s}
.communication-chat .chat-compose .chat-send-button:hover{transform:translateY(-2px)!important;box-shadow:0 12px 28px #0008,0 0 22px #ffe60042;filter:brightness(1.04)}
.communication-chat .chat-compose .chat-send-button:active{transform:scale(.94)!important}
.communication-chat .chat-compose .chat-send-button:disabled{cursor:wait;filter:grayscale(.45);opacity:.65;transform:none!important}
.communication-admin-grid .communication-chat{display:flex;flex-direction:column;min-height:520px;padding:0;overflow:hidden}
.communication-admin-grid .communication-chat .chat-scroll{flex:1;min-height:320px}
@media(max-width:560px){.communication-chat .chat-compose{display:flex!important;padding:10px!important}.communication-chat .chat-compose .chat-send-button{flex-basis:46px!important;width:46px!important}.communication-chat .chat-compose textarea{width:calc(100% - 56px)!important}}
