/* v1.1: sizing-only corrections; all original screens and interactions retained. */
.shell{width:min(97vw,1800px,calc((100dvh - 115px)*3.24));height:auto;aspect-ratio:3.24;flex:none;min-height:0;padding:clamp(7px,1vw,16px);border-radius:clamp(22px,3.5vw,58px)}
.inner{min-height:0;min-width:0;padding:clamp(8px,1.15vw,19px);gap:clamp(4px,.7vw,11px);border-radius:clamp(15px,2.8vw,43px);grid-template-columns:11% 14% minmax(0,1fr)}
.reader-area,.nav,.content,.body{min-height:0;min-width:0}
.nav{gap:clamp(3px,.35vw,6px)}
.nav button{font-size:clamp(9px,.86vw,15px);padding:0 clamp(4px,.5vw,9px);gap:clamp(3px,.5vw,9px)}
.nav button span{font-size:clamp(13px,1.25vw,23px)}
.reader{height:45%;border-radius:clamp(9px,1.4vw,21px)}
.reader .chip{font-size:clamp(15px,1.8vw,30px);padding:clamp(5px,.9vw,14px)}
.readerhint{font-size:clamp(7px,.68vw,11px);margin-bottom:clamp(4px,1vw,18px)}
.head{height:12%;min-height:0;flex-shrink:0}
.head h1{font-size:clamp(14px,1.75vw,30px)}
.head small{font-size:clamp(8px,.68vw,12px)}
.body{overflow:hidden}
.grid4,.hotlayout,.profile{min-height:0}

.tile .bottom{padding:clamp(3px,.55vw,9px)}
.tile b{font-size:clamp(10px,.95vw,17px)}
.tile small{font-size:clamp(8px,.65vw,11px);margin-top:3px}
.circle{width:clamp(20px,2vw,33px);height:clamp(20px,2vw,33px)}
.panel{padding:clamp(5px,.7vw,12px);overflow:auto}
.panel h3{margin-bottom:clamp(3px,.5vw,9px)}
.digit{padding:clamp(3px,.5vw,8px)}
.rule{padding:clamp(3px,.5vw,8px) 0}
.topbar{width:min(97vw,1800px,calc((100dvh - 115px)*3.24));padding:6px 2px;font-size:clamp(10px,.75vw,13px)}
.topbar button{padding:6px 9px}
.footnote{margin:5px 0 8px;font-size:10px}
@media(max-width:900px){.shell{width:min(98vw,calc((100dvh - 100px)*3.24));aspect-ratio:3.24}.inner{grid-template-columns:10% 15% minmax(0,1fr)}.nav button{font-size:clamp(7px,1vw,10px)}.head h1{font-size:clamp(12px,2vw,18px)}}

/* v1.2: only home carousel, reader sizing and legibility refinements */
.inner{grid-template-columns:10.5% 16.5% minmax(0,1fr)}
.reader-area{justify-content:center;align-items:center;gap:12px}
.reader{height:auto;width:min(92%,135px);aspect-ratio:1.12;align-self:center;border-radius:clamp(10px,1.2vw,20px);border:2px solid #35fa80;flex-shrink:0}
.reader .chip{width:clamp(28px,3.1vw,53px);height:clamp(35px,4vw,68px);display:grid;place-items:center;padding:0;border-radius:9px;font-size:clamp(18px,2vw,34px)}
.readerhint{margin:0;text-align:center;font-size:clamp(9px,.83vw,14px);line-height:1.35;letter-spacing:.05em;color:#c2d2dc}
.nav button{font-size:clamp(11px,1.04vw,19px);gap:clamp(5px,.55vw,11px);padding:0 clamp(6px,.8vw,15px);font-weight:700}
.nav button span{font-size:clamp(16px,1.45vw,27px);flex-shrink:0}
.advert-rotator{border-color:#aa821c;background:#08090e;display:flex;flex-direction:column}
.advert-stage{flex:1;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;cursor:pointer;background:radial-gradient(ellipse at center,#2d1a14 0%,#08090e 75%);padding:clamp(4px,.55vw,10px)}
.advert-stage img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:none}
.advert-controls{height:clamp(25px,2.6vw,43px);display:flex;align-items:center;justify-content:center;gap:15px;background:#090b10;border-top:1px solid #55411a;flex:none}
.advert-arrow{color:#ffda61;border:1px solid #88651b;background:#15100a;border-radius:50%;font-size:clamp(17px,1.5vw,27px);width:clamp(21px,2vw,34px);height:clamp(21px,2vw,34px);display:grid;place-items:center;padding:0}
.advert-dots{display:flex;align-items:center;gap:11px}
.advert-dot{width:clamp(9px,.65vw,13px);height:clamp(9px,.65vw,13px);border-radius:50%;border:1px solid #c69d35;background:#42404a;padding:0}
.advert-dot.selected{background:#ffce41;box-shadow:0 0 7px #ffcc3b}
@media(max-width:900px){.inner{grid-template-columns:10% 18% minmax(0,1fr)}.nav button{font-size:clamp(8px,1.2vw,12px)}.nav button span{font-size:clamp(11px,1.5vw,17px)}.reader-area{gap:5px}.readerhint{font-size:8px}}
.advert-stage{padding:0!important;background:#08090e!important}.advert-stage img{display:block;object-fit:cover!important;object-position:center!important}

/* v1.4 idle, profile retrieval and proportional banner fitting */
.inner.is-idle,.inner.is-loading,.inner.is-goodbye{grid-template-columns:10.5% minmax(0,1fr)}
.inner.is-idle .nav,.inner.is-loading .nav,.inner.is-goodbye .nav{display:none}
.inner.is-idle .reader-area,.inner.is-loading .reader-area,.inner.is-goodbye .reader-area{grid-column:1}
.inner.is-idle .content,.inner.is-loading .content,.inner.is-goodbye .content{grid-column:2}
.advert-stage{background:#08090e!important;padding:0!important;overflow:hidden}
.advert-stage img{width:100%;height:100%;object-fit:contain!important;object-position:center center!important;filter:none!important}
.idle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.5vw,24px);height:100%;padding:clamp(10px,1.5vw,22px)}
.idle-action{border:2px solid #b78a23;border-radius:clamp(12px,1.4vw,22px);background:linear-gradient(145deg,#19100d,#060c13 70%);color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:clamp(9px,1vw,20px);box-shadow:inset 0 0 28px #c98c2419;min-width:0}
.idle-action .idle-icon{font-size:clamp(30px,4.1vw,75px);color:#ffce49}
.idle-action strong{font-size:clamp(16px,1.85vw,32px)}
.idle-action small{font-size:clamp(9px,.8vw,14px);color:#c9c9cc}
.idle-action:hover,.idle-action:focus-visible{border-color:#ffe27c;background:linear-gradient(145deg,#39230b,#08121b)}
.loading-content{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;text-align:center;background:radial-gradient(ellipse,#142335 0%,#05080c 72%);border:1px solid #3e5667;border-radius:16px}
.loading-spinner{width:clamp(40px,4vw,72px);height:clamp(40px,4vw,72px);border:5px solid #2c3b4b;border-top-color:#ffcb3b;border-radius:50%;animation:rotate .8s linear infinite}
.loading-content h2{margin:0;color:#ffe28a;font-size:clamp(19px,2.3vw,39px)}
.loading-content p{margin:0;color:#e1e6ec;font-size:clamp(12px,1.2vw,21px)}
.goodbye-content{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(10px,1.5vw,22px);text-align:center;background:radial-gradient(ellipse at center,#2a1d0b 0%,#10141c 48%,#05080c 82%);border:1px solid #ad8532;border-radius:16px;box-shadow:inset 0 0 45px #ffd05a13}.goodbye-symbol{width:clamp(54px,5vw,90px);height:clamp(54px,5vw,90px);border-radius:50%;display:grid;place-items:center;border:2px solid #ffd45b;color:#ffdb70;font-size:clamp(30px,3vw,54px);box-shadow:0 0 30px #f4af3b55;animation:goodbye-in .45s ease-out both}.goodbye-content h2{margin:0;color:#ffe189;font-size:clamp(24px,3vw,54px);text-shadow:0 2px 20px #e8a83b55;animation:goodbye-in .5s .1s ease-out both}.goodbye-content p{margin:0;color:#e8e9ed;font-size:clamp(13px,1.35vw,23px);animation:goodbye-in .5s .2s ease-out both}@keyframes goodbye-in{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes rotate{to{transform:rotate(360deg)}}
@media(max-width:900px){.idle-grid{gap:6px;padding:5px}.idle-action{gap:4px}.idle-action small{font-size:8px}}

/* v1.9 idle shares the carded home geometry; only navigation changes */
.inner.is-idle{grid-template-columns:12% 13% minmax(0,1fr)}
.inner.is-idle .reader-area{grid-column:1}
.inner.is-idle .nav{display:flex;grid-column:2;justify-content:flex-start}
.inner.is-idle .nav button{flex:0 0 calc((100% - 5 * 7px)/6);min-height:0}
.inner.is-idle .content{grid-column:3}
@media(max-width:900px){.inner.is-idle{grid-template-columns:10% 18% minmax(0,1fr)}}

/* v1.12: stable advert sizing and member inbox */
.head{display:flex;align-items:center;gap:12px}.head h1{margin-right:auto}.head small{margin-left:auto}.head:has(.member-inbox-button[style*="inline-flex"]) small{display:none}
.advert-stage img{object-fit:fill!important;width:100%!important;height:100%!important}
.member-inbox-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #d4a634;background:#17140d;color:#ffdf78;border-radius:9px;padding:7px 13px;font-weight:750;font-size:clamp(12px,1vw,17px);cursor:pointer;white-space:nowrap}
.member-inbox-button:hover{background:#342607}.inbox-badge{border-radius:20px;background:#ffcc3b;color:#171000;min-width:21px;padding:2px 5px;text-align:center;font-size:12px}
.inbox-layout{display:grid;grid-template-columns:37% 1fr;gap:12px;height:100%;min-height:0}
.inbox-list,.inbox-detail{border:1px solid #594719;border-radius:12px;background:#090e15;overflow:auto;min-height:0;padding:12px}
.message-item{display:block;width:100%;text-align:left;padding:12px;border:1px solid #243448;border-radius:9px;background:#111b27;color:#fff;margin-bottom:8px;cursor:pointer}
.message-item.active{border-color:#ffcc3b;background:#252013}.message-item b{display:block;color:#ffdf7b;font-size:clamp(12px,1vw,18px)}.message-item small{display:block;color:#b6c5d3;margin-top:5px}
.inbox-detail h2{color:#ffdf7b;font-size:clamp(18px,1.5vw,26px);margin:4px 0 10px}.inbox-detail p{font-size:clamp(12px,1vw,18px);line-height:1.5;color:#e2e7ee}
.reply-area{display:flex;gap:8px;margin-top:15px}.reply-area input{min-width:0;flex:1;padding:11px;background:#111b27;border:1px solid #52616d;color:#fff;border-radius:7px}.reply-area button{background:#ffca3d;color:#111;border:0;border-radius:7px;padding:8px 16px;font-weight:700}
@media(max-width:950px){.member-inbox-button{font-size:11px;padding:5px 8px}.inbox-list,.inbox-detail{padding:6px}.message-item{padding:7px}}

/* v1.13 — offer inbox, fixed-response interactions only */
.inbox-layout{grid-template-columns:36% minmax(0,1fr);gap:14px}
.inbox-list,.inbox-detail{border-color:#3b3440;background:linear-gradient(145deg,#101722,#070c13);padding:14px}
.inbox-list{display:flex;flex-direction:column;gap:9px}
.inbox-list-header{display:flex;align-items:center;justify-content:space-between;color:#d6e0ea;font-size:12px;font-weight:800;letter-spacing:1px;padding:3px 2px 7px}
.message-item{margin:0;border-color:#293849;background:linear-gradient(120deg,#162331,#0c141e);padding:14px 15px;transition:background .15s,border-color .15s}
.message-item.active{border-color:#f6bd36;background:linear-gradient(110deg,#342a18,#161820);box-shadow:inset 3px 0 #ffce52}
.message-item .message-top{display:flex;justify-content:space-between;gap:6px;align-items:center}
.message-item .message-kind{font-size:10px;color:#ffe19a;text-transform:uppercase;letter-spacing:.7px}
.message-item .message-subject{font-size:clamp(13px,1vw,17px);font-weight:800;color:#fff;margin:7px 0 4px}
.message-item small{font-size:clamp(10px,.7vw,12px);margin-top:0}
.unread-pill{background:#ffce4a;color:#211800;border-radius:99px;width:9px;height:9px;flex:none}
.inbox-detail{padding:clamp(14px,1.35vw,24px);display:flex;flex-direction:column}
.inbox-detail .message-type{font-size:11px;color:#fbd171;letter-spacing:1.3px;font-weight:800}
.inbox-detail h2{font-size:clamp(20px,1.7vw,31px);margin:10px 0 4px;color:#fff}
.inbox-detail .sender{font-size:clamp(11px,.8vw,14px);color:#a9bfd0;margin:4px 0 14px}
.inbox-detail .message-copy{font-size:clamp(13px,1vw,18px);color:#e6ebf1;line-height:1.55;margin:0 0 15px}
.offer-panel{margin-top:auto;border:1px solid #8e6924;border-radius:13px;background:linear-gradient(115deg,#2b2114,#11151c);padding:clamp(12px,1.1vw,20px)}
.offer-panel .offer-label{font-size:11px;font-weight:850;color:#ffdb73;letter-spacing:1px}
.offer-panel .offer-title{font-size:clamp(15px,1.3vw,23px);font-weight:850;color:#fff;margin:7px 0}
.offer-panel .offer-meta{font-size:clamp(11px,.8vw,14px);color:#d7c9ad;margin:0 0 13px}
.offer-actions{display:flex;gap:12px;flex-wrap:wrap}
.offer-actions button{min-height:46px;min-width:125px;padding:10px 22px;font-weight:900;font-size:clamp(13px,1vw,17px);border-radius:9px;cursor:pointer}
.offer-yes{background:linear-gradient(#ffe17a,#ffc22c);color:#1b160a;border:0}
.offer-no{background:#1a222d;color:#fff;border:1px solid #647281}
.offer-status{display:flex;align-items:center;gap:9px;padding:13px 15px;border:1px solid #57765c;border-radius:9px;color:#d8f5df;background:#15261e;font-weight:750}
.offer-status.declined{border-color:#66707c;color:#cbd5df;background:#18212a}
.message-info{margin-top:auto;padding:12px 0;color:#9eb0c1;font-size:clamp(11px,.8vw,14px)}
.inbox-foot{color:#8594a5;font-size:11px;margin-top:10px}
@media(max-width:900px){.inbox-layout{gap:7px}.inbox-list,.inbox-detail{padding:8px}.message-item{padding:9px}.offer-actions button{min-width:90px;min-height:38px}}

/* v1.14 full-bleed advertisements: no fit overrides, no letterboxing */
.content:has(.advert-rotator) .head{display:none!important}
.content:has(.advert-rotator) .view{height:100%!important;min-height:0!important}
.advert-rotator{height:100%!important;position:relative;overflow:hidden;border:0!important;border-radius:12px}
.advert-stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;display:block!important;overflow:hidden!important}
.advert-stage img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important;max-width:none!important;max-height:none!important}
.advert-controls{position:absolute!important;bottom:8px;left:50%;transform:translateX(-50%);height:28px!important;padding:0 8px;border:1px solid #b8882888;border-radius:20px;background:#08090cba!important;z-index:5;gap:10px!important}
.advert-arrow{height:24px!important;width:24px!important;font-size:18px!important}
.advert-dot{height:8px!important;width:8px!important}
.santa-live-clock{display:none;position:absolute;left:75.8%;top:76%;width:16.4%;height:12%;background:linear-gradient(90deg,#220b08,#130b0d);border-radius:8px;z-index:3;color:#fff;font-size:clamp(13px,2.2vw,41px);font-weight:900;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;text-shadow:0 2px 10px #000}
.santa-live-clock.visible{display:flex}

/* v1.15 carousel: arrows at edges, no centre overlay */
.advert-controls{position:absolute!important;inset:0!important;left:0!important;bottom:0!important;transform:none!important;width:100%!important;height:100%!important;background:transparent!important;border:0!important;border-radius:0!important;pointer-events:none!important;display:flex!important;justify-content:space-between!important;align-items:center!important;padding:0 10px!important;box-sizing:border-box!important}
.advert-arrow{pointer-events:auto!important;width:42px!important;height:68px!important;border-radius:14px!important;background:#06050a99!important;border:1px solid #ffd15d88!important;font-size:30px!important;opacity:.4;transition:opacity .2s!important}
.advert-rotator:hover .advert-arrow,.advert-arrow:focus-visible{opacity:1!important}
.advert-dots{pointer-events:auto!important;position:absolute!important;bottom:9px!important;left:50%!important;transform:translateX(-50%)!important;display:flex!important;gap:10px!important;padding:7px 12px!important;border-radius:16px!important;background:#070611a8!important}
.advert-dot{pointer-events:auto!important;width:9px!important;height:9px!important}
/* v1.16: hard clip carousel, single active banner */
.advert-rotator,.advert-stage{overflow:hidden!important;isolation:isolate!important}
.advert-stage img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important;transform:none!important;transition:none!important;clip-path:inset(0)!important}

/* v1.17: unread mail indicator in My Profile navigation */
.nav button{position:relative}
.nav button.profile-has-mail{padding-right:clamp(39px,3.3vw,60px)}
.profile-mail-button{position:absolute;right:clamp(5px,.65vw,12px);top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:clamp(29px,2.6vw,44px);height:clamp(29px,2.6vw,44px);padding:0;border:1px solid #e8b82c;border-radius:8px;background:#17150d;color:#ffce45;cursor:pointer;z-index:3}
.profile-mail-button:hover,.profile-mail-button:focus-visible{background:#382b10;outline:2px solid #ffce45;outline-offset:1px}
.profile-mail-button svg{width:clamp(16px,1.3vw,23px);height:clamp(16px,1.3vw,23px);stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.profile-mail-count{position:absolute;top:-8px;right:-8px;display:grid;place-items:center;min-width:clamp(17px,1.15vw,22px);height:clamp(17px,1.15vw,22px);padding:0 3px;border-radius:99px;background:#ffcf42;color:#191407;font-size:clamp(10px,.72vw,13px);font-weight:900;line-height:1}
