/* client/css/portal.css — portal Grimvane V4 (strona główna, mechaniki, pobieranie).
   Układ klasycznego portalu MMORPG: lewe menu, pergaminowa kolumna centralna, prawy sidebar.
   Bazą są reguły zaakceptowanej makiety V4; tekstury w client/assets/portal/. Poniżej: dodatki produkcyjne. */

/* Zmienne używane przez widgety z landing-widgets.css (kalendarz, Discord, Twitch, ranking, modal). */
:root{--bg:#172924;--bg2:#1f2a24;--bg3:#27231a;--bg4:#3a2e1d;--amber:#c8963a;--amber-bright:#f0c868;--amber-dim:#8b6914;--gold-border:#7a5c2c;--text:#e2d6b6;--text-dim:#ab9d83;--border:#5b4526;--border-lit:#a08040;--font-title:'IM Fell English SC','Cinzel',Georgia,serif;--font:Verdana,Tahoma,sans-serif}
:root{--ink:#342a1e;--paper:#e4d3ac;--paper2:#d3bf92;--rim:#997342;--gold:#e9be67;--stone:#1b2930;--wood:#33271e;--wood2:#513b27;--cream:#f4e9ca;--paper-text:#3b3024;--rock:url('../assets/portal/rock.webp');--plank:url('../assets/portal/plank.webp');--papertile:url('../assets/portal/papertile.webp')}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0b151a var(--rock);background-size:144px;color:#eadfc2;font:13px/1.52 Verdana,Tahoma,sans-serif}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #d19a44;outline-offset:3px}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}strong,b{font-weight:700}
.site-frame{margin:0 auto;background:var(--rock);background-size:144px;min-height:100vh;position:relative;overflow:hidden}.site-frame:before{content:'';position:absolute;z-index:0;left:-10%;top:130px;width:120%;height:460px;background:radial-gradient(ellipse at top,#5f777036,transparent 58%);pointer-events:none}.top-ribbon{position:relative;z-index:2;background:#101b21;border-bottom:2px solid #665033;box-shadow:0 2px 2px #070c0c;display:flex;justify-content:space-between;gap:14px;align-items:center;min-height:37px;padding:5px max(22px,calc((100% - 1340px)/2));font-size:11px;color:#d1c2a1}.top-ribbon .ribbon-play{color:#efd5a2;font-weight:bold;font-size:12px}.top-ribbon .ribbon-play .bright{color:#ffdd7a}.top-ribbon .ribbon-side{color:#a7a9a0;font-size:10px}
.masthead{height:159px;position:relative;padding:15px 36px 13px;display:flex;align-items:center;justify-content:space-between;gap:22px;max-width:1380px;margin:auto}.masthead:after{content:'';position:absolute;bottom:0;left:10px;right:10px;border-bottom:2px solid #b38c51;box-shadow:0 3px #171d1c}.logo-wrap{display:flex;align-items:center;gap:18px}.crest{height:75px;width:66px;flex:0 0 auto;border:3px ridge #ad8c4d;outline:2px solid #1b100e;background:radial-gradient(ellipse at 45% 30%,#7c5b31,#241b14 75%);display:grid;place-items:center;clip-path:polygon(8% 0,92% 0,100% 7%,94% 79%,50% 100%,6% 79%,0 7%)}.crest svg{width:45px;height:50px;filter:drop-shadow(1px 2px 1px #000)}.logo-title{display:block;font:700 clamp(39px,4vw,57px)/1.06 'IM Fell English SC','Cinzel',Georgia,serif;letter-spacing:.018em;color:#e5bb6b;text-shadow:2px 3px #100c08,-1px -1px #725025,0 0 18px #ad73242e}.logo-sub{display:block;font:11px Georgia,serif;letter-spacing:.19em;color:#bba786;margin:5px 0 0 4px}.mast-right{text-align:right;display:flex;flex-direction:column;gap:12px;align-items:flex-end}.mast-note{font:italic 15px Georgia,serif;color:#c2af8d}.mast-actions{display:flex;align-items:center;gap:8px}.mini-button{background:#31291d;border:2px outset #947549;box-shadow:inset 0 0 0 2px #493420;color:#eee0b9;padding:8px 15px;text-shadow:1px 1px #000;font:bold 11px Verdana,sans-serif}.mini-button.gold{background:linear-gradient(#edcc83,#af7431);color:#241a10;text-shadow:0 1px #f6d99a;border-color:#9c713d}
.portal-layout{position:relative;z-index:1;max-width:1380px;margin:0 auto;padding:18px 12px 46px;display:grid;grid-template-columns:212px minmax(0,1fr) 244px;gap:14px;align-items:start}.left-rail,.right-rail{min-width:0}.wood-panel{border:4px ridge #826441;outline:1px solid #0c0d0b;box-shadow:inset 0 0 0 2px #2a2016,3px 6px 8px #0005;margin-bottom:16px;background:var(--plank),linear-gradient(#4a3422,#38281f);background-size:144px}.wood-heading{background:linear-gradient(#81613a,#412d1e);border-bottom:2px ridge #a88750;box-shadow:inset 0 1px #c8a76b;color:#f0dbab;text-shadow:1px 2px #24170e;text-align:center;font:700 17px/1 'IM Fell English SC',Georgia,serif;letter-spacing:.03em;padding:10px 7px 9px}.nav-group{background:linear-gradient(90deg,#132d2b,#19413a 40%,#142e2a);font:700 11px Verdana,sans-serif;color:#ddbe7b;text-shadow:1px 1px #000;padding:8px 11px;border-top:1px solid #61724c;border-bottom:1px solid #090f0e}.side-nav{list-style:none;margin:0;padding:3px 4px 9px}.side-nav li a{display:flex;align-items:center;gap:9px;padding:7px 8px;border-bottom:1px solid #a0894a33;color:#dfd5b9;font-size:12px}.side-nav li a:hover,.side-nav li a.active{background:#9f8c5f24;color:#fbd88f;text-decoration:none}.pixel-icon{font:15px/1 Georgia,serif;color:#d4a15c;width:17px;text-align:center;flex-shrink:0}.rail-note{padding:14px;color:#c0af8d;font:12px/1.65 Georgia,serif;text-align:center}.rail-note b{display:block;font:14px 'IM Fell English SC',Georgia,serif;color:#e6c58c}.rail-note a{color:#e8bd6c}
/* Every main content surface is parchment, not a dark SaaS card. */
.parchment{background:var(--papertile),#e4d3ae;background-size:144px;color:var(--paper-text);border:5px ridge #9d8250;box-shadow:0 0 0 2px #30261a,inset 0 0 0 2px #e7d8af,5px 8px 15px #0009;position:relative;min-width:0}.parchment:before{content:'';position:absolute;inset:9px;pointer-events:none;border:1px solid #a58d5e56}.main-pad{padding:17px 20px 26px}.scroll-header{background:#d8c396;color:#5b4223;display:flex;gap:10px;align-items:center;border-bottom:2px solid #ab9064;padding:6px 10px;font:700 12px Georgia,serif}.scroll-header strong{white-space:nowrap}.scroll-header i{width:8px;height:8px;background:#926a38;transform:rotate(45deg);flex-shrink:0}.ticker-items{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticker-items span{margin-right:15px}.ticker-items b{color:#72511c}
.intro-label{font:700 11px Georgia,serif;letter-spacing:.1em;color:#745329;text-align:center;padding:22px 0 0}.intro-title{text-align:center;margin:4px 0 1px;font:700 clamp(27px,3vw,38px) 'IM Fell English SC',Georgia,serif;color:#54402b;text-shadow:0 1px #ffedbb}.intro-rule{margin:0 auto 15px;text-align:center;color:#906b3b;font:17px Georgia,serif}.intro-layout{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);gap:19px;align-items:center}.intro-image{border:5px solid #413a2f;outline:3px ridge #a7885b;box-shadow:2px 4px #a4926c;position:relative;overflow:hidden;background:#171a1e}.intro-image img{aspect-ratio:1.5;width:100%;object-fit:cover;image-rendering:auto}.intro-image .image-caption{position:absolute;bottom:0;left:0;right:0;background:#191e1cdd;padding:5px 8px;color:#efdbb2;font-size:10px}.intro-text h2{font:700 23px/1.12 'IM Fell English SC',Georgia,serif;margin:0 0 10px;color:#49351d}.intro-text p{font:13px/1.65 Georgia,serif;margin:0 0 10px}.browser-stamp{border:1px solid #9b7c4b;background:#f1e3c0;box-shadow:inset 0 0 0 3px #dfc69c;margin:14px 0;padding:11px 11px;display:flex;gap:10px;align-items:center;color:#554024;font:700 12px Georgia,serif}.browser-stamp svg{color:#785d34;flex-shrink:0}.browser-stamp small{display:block;font:11px Verdana,sans-serif;color:#785f3d;margin-top:4px}.main-cta{display:inline-block;background:linear-gradient(#d5a861,#a3682d);color:#23180f;border:3px outset #a3733e;box-shadow:inset 0 0 0 1px #ebcb84;text-shadow:0 1px #e2bc7f;font:bold 12px Verdana,sans-serif;padding:10px 14px;max-width:100%;text-align:center}.main-cta:hover{filter:brightness(1.07);text-decoration:none}
.section-bar{background:linear-gradient(#466b55,#2b4e40 49%,#234035);border:3px ridge #9b7c4c;color:#fff0c2;text-shadow:1px 2px #11291d;margin:29px -11px 13px;min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:6px 13px;font:700 21px 'IM Fell English SC',Georgia,serif}.section-bar small{font:10px Verdana,sans-serif;color:#d5c8a6;letter-spacing:0}.section-note{font:13px/1.58 Georgia,serif;margin:10px 0 16px;color:#514330}.feature-list{border-top:1px solid #b7a074}.feature-row{width:100%;background:none;border:0;border-bottom:1px solid #bca878;display:grid;grid-template-columns:188px minmax(0,1fr);gap:16px;padding:16px 2px;text-align:left;color:#41362a;transition:background .15s}.feature-row:nth-child(even){background:#b09b7220}.feature-row:hover{background:#d1b8845c}.feature-picture{background:#272820;border:4px ridge #977b4b;position:relative;align-self:center;overflow:hidden}.feature-picture img{width:100%;height:112px;object-fit:cover}.zoom-mark{position:absolute;right:4px;bottom:3px;color:#f1d7a2;background:#191d19bb;font-size:20px;line-height:1}.feature-copy{display:flex;flex-direction:column;gap:5px;justify-content:center}.feature-copy small{font:bold 10px Verdana,sans-serif;letter-spacing:.06em;color:#8b6031;text-transform:uppercase}.feature-copy strong{font:700 22px 'IM Fell English SC',Georgia,serif;color:#4c331b;line-height:1.05}.feature-copy>span{font:13px/1.52 Georgia,serif;color:#564632}.feature-copy em{font:700 11px Verdana,sans-serif;color:#785028;font-style:normal;margin-top:4px}.feature-copy em b{font-size:16px}
.catalog-controls{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0 13px}.catalog-search{flex:1 1 175px;min-width:0;border:2px inset #a08b69;background:#faf0d5;color:#372d21;padding:9px 10px;font:12px Verdana,sans-serif}.filter-tabs{display:flex;gap:3px;flex-wrap:wrap}.filter-tab{background:#ccbb90;border:1px solid #907b55;color:#614a2e;padding:8px 10px;font:700 10px Verdana,sans-serif}.filter-tab.active{background:#46694f;color:#fff4ce;border-color:#3b533c}.catalog-count{font:italic 12px Georgia,serif;color:#8e7148;margin:6px 0 12px}.catalog-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.catalog-group{min-width:0;margin:2px 0 14px}.catalog-group h3{margin:0 0 6px;padding:5px 7px;border-bottom:2px solid #9e8b64;font:700 17px 'IM Fell English SC',Georgia,serif;color:#50402c}.catalog-entry{border:0;border-bottom:1px dotted #c1ad83;background:transparent;display:flex;width:100%;align-items:flex-start;gap:8px;padding:7px 5px;text-align:left;color:#42362b;font-size:11px}.catalog-entry:hover{background:#cfb88d5c}.catalog-entry .book-icon{color:#86662f;font:16px Georgia,serif;line-height:1}.catalog-entry b{font-size:12px;color:#4d3821;display:block}.catalog-entry small{font:11px/1.42 Georgia,serif;color:#70604b;display:block;margin-top:2px}
.class-table{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 6px}.class-portrait{min-width:0;border:3px ridge #9d7e4c;background:#31291f;text-align:center;position:relative;color:#e6d1a0}.class-portrait img{height:117px;width:100%;object-fit:contain;background:radial-gradient(circle at center,#6b5630,#222621 66%);image-rendering:pixelated;padding:3px}.class-portrait h3{background:#493823;border-top:1px solid #b39551;margin:0;padding:5px 3px;font:700 19px 'IM Fell English SC',Georgia,serif}.class-portrait p{margin:0;padding:4px 4px 8px;font:11px Georgia,serif;min-height:40px}.class-portrait:hover{border-color:#d0a35e}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.gallery-thumb{border:3px ridge #806d4b;padding:0;background:#262520;color:#eadbb9;text-align:left;overflow:hidden}.gallery-thumb img{height:115px;width:100%;object-fit:cover}.gallery-thumb span{display:block;background:#312c22;padding:5px 7px;font:bold 10px Verdana,sans-serif}
.end-note{margin:23px 0 2px;text-align:center;border-top:1px solid #a99266;padding:20px 8px 4px;font:italic 15px Georgia,serif;color:#675238}.end-note a{color:#744919;text-decoration:underline}
/* Right side looks like a real RPG portal utility column. */
.server-state{padding:12px 11px;background:#172924;color:#e4d7b0}.state-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #c5a57322;padding:7px 0;font-size:11px}.state-row:last-child{border:0}.server-state .value{color:#efc674;text-align:right}.status-dot{display:inline-block;width:7px;height:7px;border:1px solid #af9467;background:#686d52;vertical-align:middle;margin-right:5px}.join-box{padding:14px 11px;text-align:center;background:radial-gradient(ellipse at 50% 0,#72603c,#332519 65%)}.join-box strong{display:block;font:700 23px 'IM Fell English SC',Georgia,serif;color:#ffe3a2}.join-box p{color:#d6c4a0;font:12px/1.5 Georgia,serif}.join-box .main-cta{display:block;margin:11px 0 4px}.join-box small{color:#b0aa8f;font:10px Georgia,serif}.right-list{list-style:none;margin:0;padding:8px 11px 12px}.right-list li{padding:7px 0;border-bottom:1px solid #8c714333;color:#ded1b2;font-size:11px;display:flex;gap:8px;justify-content:space-between}.right-list a{color:#f4d58e}.right-list span{color:#a7997f;font-size:10px}.mini-calendar{padding:10px;color:#e2d4ae}.month{font:700 13px Georgia,serif;text-align:center;margin-bottom:8px}.weekdays,.dates{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:2px}.weekdays{font-size:9px;color:#b9aa8b;margin-bottom:4px}.dates button,.dates span{background:#29342d;border:1px solid #5e5740;color:#e2d7ad;padding:5px 0;font:10px Verdana,sans-serif}.dates span{background:transparent;border:0}.dates button.highlight{border-color:#bb9755;color:#ffdf9b}.dates button.active{background:#927146;border-color:#e1be78;color:#19140c}.calendar-hint{text-align:center;font:11px/1.6 Georgia,serif;color:#bfb099;margin:10px 0 2px;min-height:32px}.twitch-box{padding:12px;text-align:center;font:12px/1.6 Georgia,serif;color:#ccbda6}.twitch-box a{color:#d6b9fc;text-decoration:underline}.sidefooter{text-align:center;color:#ad9d81;font-size:10px;line-height:1.7;padding:0 8px}
.footer{max-width:1380px;margin:0 auto;border-top:3px double #97794b;padding:24px 18px 38px;text-align:center;color:#a6a697;font:11px Verdana,sans-serif}.footer a{color:#dbc18f}
/* lightbox interactions */
.mech-modal{display:none;position:fixed;inset:0;z-index:50;background:#070909df;align-items:center;justify-content:center;padding:20px}.mech-modal.open{display:flex}.mech-modal-card{width:min(820px,100%);max-height:90vh;overflow:auto;background:var(--papertile),#ead8b1;background-size:144px;border:6px ridge #bca06b;box-shadow:0 15px 70px #000;color:#403021;position:relative}.mech-modal-head{background:#2d4f40;color:#f9e2b5;border-bottom:4px ridge #9b7e49;padding:9px 13px;display:flex;align-items:center;justify-content:space-between}.mech-modal-head strong{font:700 23px 'IM Fell English SC',Georgia,serif}.mech-modal-head button{background:#d3c097;border:2px outset #846c49;color:#3b2919;padding:3px 10px;font:bold 14px Verdana,sans-serif}.mech-modal-body{padding:18px;font:14px/1.55 Georgia,serif}.mech-modal-body img{margin-top:14px;border:5px ridge #8d7551;width:100%;max-height:430px;object-fit:contain;background:#1e2624}.mech-modal-foot{font:11px Georgia,serif;color:#826e4d;padding:4px 18px 16px}.mobile-menu-button{display:none}.mobile-links{display:none}.no-results{padding:15px;font:13px Georgia,serif;color:#886238}
/* Actual phone as well as switchable phone in the file. */
@media(max-width:1130px){.portal-layout{grid-template-columns:186px minmax(0,1fr) 210px;gap:10px}.masthead{padding:13px 17px}.intro-layout{grid-template-columns:1fr}.intro-image img{aspect-ratio:2.1}.feature-row{grid-template-columns:153px 1fr}.feature-picture img{height:100px}.main-pad{padding:13px 14px 23px}}
@media(max-width:780px){.portal-layout{grid-template-columns:1fr;max-width:690px;padding:12px 12px 25px}.left-rail{display:none}.right-rail{display:grid;grid-template-columns:1fr 1fr;gap:10px}.right-rail .wood-panel{margin-bottom:0}.masthead{height:auto;min-height:120px}.mast-note{display:none}.logo-title{font-size:39px}.crest{height:61px;width:53px}.mast-actions .mini-button:not(.gold){display:none}.mobile-menu-button{display:block;background:#473423;color:#f6e0b0;border:2px ridge #a5874f;padding:8px 10px}.mobile-links{display:none;background:#1a312d;border:3px ridge #a18351;padding:8px 12px;margin:0 14px 10px}.mobile-links.open{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.mobile-links a{padding:8px;color:#f1d8a7;border-bottom:1px solid #7b715055}.top-ribbon{padding:6px 13px}.top-ribbon .ribbon-side{display:none}}
@media(max-width:520px){.preview-toolbar{justify-content:space-between;gap:8px}.preview-toolbar b{font-size:9px}.preview-toolbar button{font-size:10px}.top-ribbon{justify-content:center;text-align:center;font-size:10px}.top-ribbon .ribbon-play{font-size:11px}.masthead{min-height:89px;padding:10px 10px;gap:8px}.logo-wrap{gap:8px}.logo-title{font-size:28px}.logo-sub{font-size:8px;letter-spacing:.1em}.crest{height:47px;width:40px}.crest svg{width:31px}.mast-right{flex-direction:row}.mast-right .mini-button{display:none}.portal-layout{padding:11px 8px 24px}.main-pad{padding:12px 11px 20px}.scroll-header{display:block;padding:8px}.ticker-items{white-space:normal;font-size:10px;margin-top:4px}.intro-label{padding-top:15px;font-size:10px}.intro-title{font-size:28px}.intro-layout{grid-template-columns:1fr;gap:17px}.intro-image img{aspect-ratio:1.55}.intro-text h2{font-size:22px}.intro-text p{font-size:13px}.section-bar{font-size:21px;margin:23px -4px 10px}.section-bar small{display:none}.feature-row{grid-template-columns:125px minmax(0,1fr);gap:10px;padding:10px 0}.feature-picture img{height:95px}.feature-copy small{font-size:8px}.feature-copy strong{font-size:19px}.feature-copy>span{font-size:11px}.feature-copy em{font-size:9px}.catalog-groups{grid-template-columns:1fr}.right-rail{grid-template-columns:1fr}.class-table{gap:4px}.class-portrait img{height:89px}.class-portrait h3{font-size:16px}.class-portrait p{font-size:10px}.gallery-grid{gap:5px}.gallery-thumb img{height:80px}.gallery-thumb span{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}


/* V4 news-led Tibia portal: adds functionality without flattening the heritage look. */
.top-ribbon .ribbon-play {display:flex; align-items:center; flex-wrap:wrap; gap:5px;}
.top-ribbon .ribbon-download {font:bold 11px Verdana,sans-serif; color:#ffe5ae; padding:4px 8px; border:1px solid #9c7740; background:#382819; margin-left:5px;}
.main-intro-note{padding:12px 14px;background:#e2d0a7;border-bottom:2px solid #baa072;font-size:12px;color:#4e3b26}
.main-intro-note strong{color:#775321}
.page-heading{font:700 39px/1.12 'IM Fell English SC',Georgia,serif;color:#473320;text-align:center;margin:15px 0 6px;letter-spacing:.012em}
.page-lead{font:italic 15px Georgia,serif;text-align:center;color:#766046;margin:0 0 22px}
.news-feature{border:3px double #ad8852;background:#ebdbb9;box-shadow:inset 0 0 0 3px #e0cda4;margin:4px 0 18px;padding:14px 15px 17px;position:relative}
.news-feature .news-feature-marker{display:inline-block;font:bold 10px/1.3 Verdana,sans-serif;letter-spacing:.09em;color:#fff0cc;background:#70492b;border:1px solid #8d6c40;padding:5px 8px}
.news-feature h2{font:700 29px/1.12 'IM Fell English SC',Georgia,serif;margin:12px 0 6px;color:#46311e}
.news-feature p{font:13px/1.6 Georgia,serif;color:#574937;margin:7px 0 0}
.news-feature figure{margin:12px 0 0;position:relative;border:4px ridge #a78651;max-height:225px;overflow:hidden}
.news-feature figure img{width:100%;height:215px;object-fit:cover;image-rendering:auto}
.news-feature figcaption{position:absolute;bottom:0;left:0;right:0;color:#fff0cd;padding:5px 8px;background:#1a221ccd;font:10px Verdana,sans-serif}
.news-pageswitch{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0 9px;padding-bottom:6px;border-bottom:2px solid #bca378;color:#674e30}
.news-pageswitch h2{font:700 22px 'IM Fell English SC',Georgia,serif;margin:0;color:#49351f}
.news-pageswitch a{font:11px Verdana,sans-serif;text-decoration:underline;color:#65471f}
.news-entries{display:flex;flex-direction:column;gap:0}
.news-entry{border-bottom:1px solid #b4a17a;padding:14px 1px 16px;display:grid;grid-template-columns:85px 1fr;column-gap:15px}
.news-entry:last-child{border-bottom:0}
.news-entry time{color:#66513a;font:11px/1.4 Verdana,sans-serif;display:block;margin:6px 0}
.news-entry .news-version{display:block;font:bold 11px Verdana,sans-serif;color:#f2ddb2;background:#695137;border:1px solid #9e8053;max-width:max-content;padding:3px 6px;margin:3px 0 7px}
.news-entry .news-entry-title{font:700 23px/1.12 'IM Fell English SC',Georgia,serif;color:#573a20;margin:0}
.news-entry .news-entry-intro{font:12px/1.6 Georgia,serif;color:#4d4435;margin:7px 0}
.news-entry .news-expand{font:11px Verdana,sans-serif;background:none;border:0;color:#775020;text-decoration:underline;padding:3px 0}
.news-entry .news-changes{padding:8px 12px 8px 22px;margin:6px 0 0;background:#dcc9a331;border-left:2px solid #ba955b;font:12px/1.65 Georgia,serif;color:#574631}
.news-entry .news-changes li+li{margin-top:5px}
.news-fetch-info{font:10px/1.5 Verdana,sans-serif;color:#826f50;text-align:right;margin-top:15px}
.news-footer-more{margin:22px 0 4px;padding:17px 8px;text-align:center;border:3px double #aa936b;color:#634a2b}
.news-footer-more a{color:#6c461b;text-decoration:underline;font-weight:bold}
.join-box p{max-width:210px;margin:8px auto 12px}
.join-box .download-cta{display:block;margin-top:8px;padding:8px 5px;color:#f6deb2;background:#33291f;border:2px ridge #ad8d57;font:bold 11px Verdana,sans-serif;text-shadow:1px 1px #000;text-decoration:none}
.join-box .download-cta:hover{background:#503c27}
#server-status.status-online{color:#c3edb1}#server-status.status-closed{color:#ffc882}#server-status.status-offline{color:#df9797}
#character-count{font-weight:bold}
.server-note{font:10px/1.4 Georgia,serif;margin-top:7px;color:#a89e83}
.download-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:15px 0 20px}
.download-box{background:#eddfbf;border:4px double #a98955;padding:14px;box-shadow:inset 0 0 0 2px #d5be93;min-width:0;color:#3c3125}
.download-box.wide{grid-column:1 / -1}
.download-box h2{font:700 29px 'IM Fell English SC',Georgia,serif;color:#49321f;margin:0 0 9px}
.download-box p{font:12px/1.65 Georgia,serif;margin:7px 0 15px}
.download-box .availability{font:bold 10px Verdana,sans-serif;color:#52734c;margin:0 0 12px}
.download-box .notready{color:#8d5d3c}
.download-choice-button{display:inline-block;padding:10px 15px;background:linear-gradient(#b18a53,#79532b);border:3px ridge #987241;color:#fff1d0;text-shadow:1px 1px #271809;text-decoration:none;font:bold 11px Verdana,sans-serif}
.download-choice-button:hover{text-decoration:none;background:#7c5c36}
.download-box .instructions{padding-left:18px;margin:7px 0 0;font:12px/1.7 Georgia,serif}
.download-box .instructions li{margin-bottom:4px}
.callout-download{font:11px/1.6 Verdana,sans-serif;color:#745535;padding:12px 14px;background:#d9c399;border-left:3px solid #866037}
@media(max-width:680px){.news-entry{grid-template-columns:1fr;gap:2px}.news-entry .news-meta{display:flex;gap:7px;align-items:center}.news-entry time{margin:0}.news-entry .news-version{margin:0}.news-feature figure img{height:145px}.download-options{grid-template-columns:1fr}.download-box.wide{grid-column:auto}.page-heading{font-size:31px}.news-feature h2{font-size:24px}.top-ribbon .ribbon-side{display:none}}

/* ─── Dodatki produkcyjne ─── */
.hidden{display:none!important}
.news-empty{font:italic 13px Georgia,serif;color:#7b6542;padding:10px 2px}
.skip-link{position:absolute;left:-999px;top:0;z-index:100;background:#f1e3c0;color:#2b2013;padding:8px 12px;font:bold 12px Verdana,sans-serif}.skip-link:focus{left:8px;top:8px}
.panel-body{padding:10px 11px 12px}
.lang-picker{display:inline-flex;gap:2px}.lang-picker-btn{background:#222622;border:1px solid #706042;color:#eee2c1;padding:3px 9px;font:bold 10px Verdana,sans-serif}.lang-picker-btn.active{background:#bfa270;color:#201b16;border-color:#e8cc88}
.top-ribbon .ribbon-tools{display:flex;align-items:center;gap:12px}
.server-state .value.status-online{color:#c3edb1}.server-state .value.status-closed{color:#ffc882}.server-state .value.status-offline,.server-state .value.status-unavailable{color:#df9797}.server-state .value.status-checking{color:#c9bd9d}
.server-state .value.is-unknown{color:#c9bd9d}
.state-help{cursor:help;border-bottom:1px dotted #a8935f}
.login-links{display:flex;justify-content:center;gap:10px;margin-top:10px;font:11px Verdana,sans-serif}.login-links a{color:#f4d58e;text-decoration:underline}
.is-disabled,.download-choice-button[aria-disabled=true]{opacity:.55;cursor:not-allowed;filter:grayscale(.4)}
.download-choice-button{cursor:pointer;border:3px ridge #987241;font-family:Verdana,sans-serif}
.download-status{font:italic 12px Georgia,serif;color:#7a5a36;margin-top:8px}
.availability.ok{color:#52734c}.availability.notready{color:#8d5d3c}
.mech-note{font:italic 12px Georgia,serif;color:#7a5a36;margin-top:6px}
.news-feature .news-feature-actions{margin-top:12px}
.news-feature .news-teaser{margin:8px 0 0;padding-left:20px;font:13px/1.6 Georgia,serif;color:#574937}
.news-feature .news-meta-line{font:11px Verdana,sans-serif;color:#74603f;margin-top:6px}
.news-feature .news-open{margin-top:12px}
.news-open{font:bold 11px Verdana,sans-serif;background:#695137;color:#f2ddb2;border:2px ridge #9e8053;padding:7px 12px}
.news-open:hover{background:#7c5c36}
.news-entry .news-expand{cursor:pointer}

.wood-panel .landing-twitch-box{background:transparent;border:0;box-shadow:none}
.wood-panel .panel-body.ranking-body{padding:6px 8px 10px}
.wood-panel .ranking-panel-head{background:#1f2a24}
.mech-modal-card{width:min(820px,100%)}
.mech-modal-body img{width:100%}
@media(max-width:780px){.top-ribbon .ribbon-tools{gap:8px}.lang-picker-btn{padding:3px 7px}}
@media(max-width:520px){.news-feature{padding:12px 11px 14px}.news-pageswitch{flex-wrap:wrap}}
html,body{max-width:100%;overflow-x:hidden}

/* ─── /mechaniki: karty klas, rozdziały, treść modala ─── */
.feature-copy .feature-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.feature-row{cursor:pointer;font:inherit}
.mech-intro{max-width:760px;margin:0 auto}
.mech-classes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 6px}
.mech-class{border:3px ridge #9d7e4c;background:#31291f;color:#e6d1a0;padding:12px 14px;min-width:0}
.mech-class h3{margin:0 0 6px;font:700 22px 'IM Fell English SC',Georgia,serif;color:#f0d9a2}
.mech-class p{margin:0 0 10px;font:12px/1.6 Georgia,serif;color:#d9c9a4}
.mech-class a{font:bold 11px Verdana,sans-serif;color:#f4d58e;text-decoration:underline}
.mech-class.is-soon{opacity:.75;border-style:dashed}
.mech-class-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.class-pill{display:inline-block;padding:2px 9px;font:bold 10px Verdana,sans-serif;background:#4a3a24;border:1px solid #9c7d46;color:#f3dfae}
.class-pill.pill-soon{background:#2c3330;border-color:#6c7a72;color:#b9c4bd}
.mech-modal-list{margin:8px 0 0;padding-left:20px;font:13px/1.65 Georgia,serif}
.mech-section-head{font:700 17px 'IM Fell English SC',Georgia,serif;margin:14px 0 4px;color:#4c331b}
.mech-section-body{font:13px/1.6 Georgia,serif;margin:0 0 8px;white-space:pre-line}
.mech-modal-body img{max-height:430px;object-fit:contain;background:#1e2624}
.download-box .instructions li.is-detected{background:#d9c399;padding:3px 6px;border-left:3px solid #52734c}
.download-box .download-choice-button{margin:4px 6px 4px 0}
.download-note{font:11px/1.5 Verdana,sans-serif;color:#745535;margin-top:8px}
@media(max-width:520px){.mech-classes{grid-template-columns:1fr}}

/* ─── Transmisja Twitch w kolumnie głównej (player wymaga min. 400 px szerokości) ─── */
.parchment .landing-twitch-box{margin:0 0 18px;border:4px ridge #826441;background:var(--plank),linear-gradient(#4a3422,#38281f);background-size:144px;box-shadow:inset 0 0 0 2px #2a2016,3px 6px 8px #0005}
.landing-twitch-box .twitch-box{text-align:left}
.landing-twitch-box:not(.is-live) .panel-body{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:8px 12px}
.landing-twitch-box:not(.is-live) .landing-twitch-msg{margin:0;font-size:13px}
.landing-twitch-box:not(.is-live) .landing-twitch-hint{margin:0}
.landing-twitch-box:not(.is-live) .landing-twitch-link{margin:0 0 0 auto}

/* Cele dotyku ≥ 24 px (WCAG 2.2 SC 2.5.8) */
.login-links a{display:inline-flex;align-items:center;min-height:28px;padding:4px 8px}

/* Wyróżniona aktualizacja: infografika zawsze w całości (bez przycinania do wąskiego kadru z makiety) */
.news-feature figure{max-height:none}
.news-feature figure img{height:auto;object-fit:contain;aspect-ratio:auto;background:#171a1e}

/* Tło i górny pasek na całą szerokość okna; treść (masthead, układ, stopka) pozostaje wycentrowana do 1380 px. */
