﻿.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home-highlight-layout{display:grid;grid-template-columns:minmax(0,2.55fr) minmax(270px,1fr);gap:22px;align-items:stretch}.source-hero{min-width:0;border:1px solid #d8cbe8;border-radius:13px;overflow:hidden;background:#fff;display:flex;flex-direction:column;justify-content:space-between}.source-hero #banner-slides{position:relative;width:100%;aspect-ratio:1468/672;background:#f2edf8}.source-banner-slide{width:100%;height:100%;padding:0;border:0;display:block;background:none;overflow:hidden;cursor:pointer}.source-banner-slide[hidden]{display:none}.source-banner-slide>img{width:100%;height:100%;object-fit:contain;display:block}.source-banner-slide:focus-visible{outline:3px solid #ab83cf;outline-offset:-4px}.source-banner-controls{display:flex;align-items:center;justify-content:space-between;gap:17px;padding:13px 17px;min-height:51px;background:#fff;border-top:1px solid #e4daed}.source-banner-controls>span{font-size:10px;letter-spacing:1px;color:#80658e;font-variant-numeric:tabular-nums;min-width:52px}.source-banner-controls>div:last-child{display:flex;align-items:center;gap:7px}.source-banner-controls>div:last-child>button{display:grid;place-items:center;border:1px solid #ddd0e9;border-radius:5px;width:29px;height:27px;background:#fff;color:#77548f;font-size:13px}.source-banner-controls>div:last-child>button:hover{background:#f2e9fa}#banner-dots{display:flex;align-items:center;justify-content:center;gap:7px;flex:1}#banner-dots button{padding:0;width:6px;height:6px;border-radius:4px;background:#d7c9e3;transition:width .2s,background .2s}#banner-dots button.active{background:#8760ab;width:22px}.source-banner-preview{display:block;width:100%;max-height:65vh;object-fit:contain;margin:15px auto 25px}.winning-showcase{padding:21px 19px 14px;border:1px solid #dbd0e6;border-radius:13px;background:linear-gradient(150deg,#f9f5ff,#fff 50%,#f6faff);min-width:0;display:flex;flex-direction:column;overflow:hidden}.winning-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.winning-heading>div>p{font-size:7px;letter-spacing:1.7px;color:#8a6f9e;margin:0 0 7px}.winning-heading h2{font-size:21px;color:#38293f;margin:0;line-height:1.4}.winning-heading h2>span{font-size:15px;color:#bc9ada;margin-left:3px}.winning-tabs{display:flex;padding:3px;background:#efe7f6;border:1px solid #dfd1e9;border-radius:17px;gap:1px}.winning-tabs button{padding:5px 9px;font-size:10px;color:#856b97;border-radius:13px;white-space:nowrap}.winning-tabs button.active{background:#fff;color:#70458e;box-shadow:0 1px 4px #6f518420}.win-source-note{font-size:9px;color:#82708e;margin:10px 0 14px}.winning-cards{display:flex;flex-direction:column;gap:9px;flex:1;min-height:0}.winning-card{display:flex;align-items:center;gap:11px;text-align:left;width:100%;min-width:0;padding:9px;border:1px solid #e4dbea;border-radius:8px;background:#fff;flex:1;transition:border-color .2s,box-shadow .2s}.winning-card:hover{border-color:#bd9dd5;box-shadow:0 3px 9px #80649210}.winning-art{width:58px;height:58px;flex:0 0 58px;border-radius:5px;background:#f7f3fb;overflow:hidden}.winning-art>img{width:100%;height:100%;object-fit:contain}.winning-card-copy{min-width:0;flex:1}.winning-user{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:10px;color:#6f4d89;margin-bottom:6px}.winning-user>em{font-style:normal;font-size:9px;color:#92809e}.winning-user>b{font-size:9px;font-weight:500;background:#f3eafb;color:#895da7;padding:2px 5px;border-radius:3px}.winning-card-copy>strong{font-size:11px;line-height:1.65;font-weight:500;color:#51405e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.winning-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:13px;padding-top:11px;border-top:1px solid #e7ddee;font-size:9px;color:#856d97;gap:10px}.winning-pagination>div{display:flex;gap:7px}.winning-pagination button{width:27px;height:23px;display:grid;place-items:center;background:#fff;border:1px solid #d9c7e7;border-radius:4px;color:#7a548f}.winning-pagination button:disabled{opacity:.35;cursor:default}.winning-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px 9px;color:#685074}.winning-empty>span{font-size:37px;color:#a27fbd;margin-bottom:12px}.winning-empty>strong{font-size:13px;font-weight:500}.winning-empty>p{font-size:10px;line-height:1.9;color:#877192;margin:10px 0 18px}.winning-empty>a{font-size:11px;padding:9px 15px;border:1px solid #d5bfe5;border-radius:5px;color:#80599a;background:#fff}.winning-loading,.winning-error{font-size:11px;line-height:1.9;text-align:center;padding:40px 10px;color:#886e97}.winning-detail{text-align:center;padding-top:10px}.winning-detail>h2{font-size:23px;color:#3e3048;line-height:1.7;max-width:700px;margin:17px auto}.winning-detail>img{width:100%;height:min(45vh,330px);object-fit:contain;margin:18px auto;display:block}.winning-detail-rank{display:inline-block;font-size:14px;color:#88549f;background:#f4e9fa;border:1px solid #d9bfeb;padding:6px 15px;border-radius:6px}.winning-detail>p:not(.eyebrow){font-size:11px;color:#80698e}.winning-detail .info-actions{justify-content:center}.home-highlight-layout+#notice{margin-top:20px}
@media(min-width:1450px){.winning-art{width:66px;height:66px;flex-basis:66px}.winning-card-copy>strong{font-size:12px}.winning-card{padding:11px}}
@media(max-width:1100px) and (min-width:681px){.home-highlight-layout{grid-template-columns:minmax(0,1fr);gap:18px}.winning-showcase{padding:18px}.winning-heading{justify-content:flex-start;gap:20px}.winning-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.winning-card{flex-direction:column;align-items:stretch;padding:11px;gap:10px}.winning-art{width:100%;height:90px;flex-basis:auto}.winning-card-copy>strong{-webkit-line-clamp:2;font-size:10px}.win-source-note{margin-bottom:14px}.winning-showcase .winning-pagination{margin-top:15px}.winning-empty{grid-column:1/-1;min-height:180px}.source-hero #banner-slides{aspect-ratio:1468/672}}
@media(max-width:680px){.home-highlight-layout{grid-template-columns:1fr;gap:15px}.source-hero{border-radius:9px}.source-banner-controls{padding:9px 12px;min-height:44px;gap:10px}.source-banner-controls>span{font-size:9px;min-width:43px}.source-banner-controls>div:last-child{gap:5px}.source-banner-controls>div:last-child>button{width:25px;height:25px;font-size:12px}#banner-dots{gap:6px}#banner-dots button{width:5px;height:5px}#banner-dots button.active{width:17px}.winning-showcase{padding:16px 13px 12px;border-radius:9px}.winning-heading>div>p{font-size:6px;letter-spacing:1.2px;margin-bottom:5px}.winning-heading h2{font-size:20px}.winning-tabs button{font-size:10px;padding:5px 10px}.winning-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.winning-card{align-items:center;flex-direction:column;padding:9px;gap:8px}.winning-art{width:100%;height:86px;flex-basis:auto}.winning-card-copy{width:100%}.winning-card-copy>strong{font-size:10px;line-height:1.7;min-height:34px}.winning-user{font-size:9px;gap:4px;margin-bottom:5px}.winning-user>em{font-size:8px}.winning-user>b{font-size:8px;padding:2px 4px}.win-source-note{font-size:9px;margin:9px 0 12px}.winning-pagination{font-size:9px;margin-top:12px;padding-top:10px}.winning-empty{grid-column:1/-1;min-height:200px}.winning-detail>h2{font-size:19px}.winning-detail>img{height:240px}.winning-detail .primary{font-size:12px;padding:11px 17px}.winning-detail-rank{font-size:12px}.winning-detail .info-actions{gap:9px}}
@media(max-width:350px){.winning-art{height:73px}.winning-user{gap:3px}.winning-card{padding:8px}.winning-card-copy>strong{font-size:9px}.winning-heading h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){#banner-dots button,.winning-card{transition:none}}

@media(min-width:1101px){.winning-card{padding:8px}.winning-art{width:50px;height:50px;flex-basis:50px}}@media(min-width:1450px){.winning-card{padding:9px}.winning-art{width:58px;height:58px;flex-basis:58px}}
/* The banner sets the row height; the feed can never resize the surrounding page. */
.home-highlight-layout{align-items:stretch}.source-hero{justify-content:flex-start;min-height:0}.source-hero #banner-slides{aspect-ratio:1468/672;flex:none;min-height:0}.source-banner-controls{flex:none;margin-top:0;min-height:46px;padding:10px 15px}.winning-shell{position:relative;min-height:0;min-width:0}.winning-shell>.winning-showcase{position:absolute;inset:0;padding:18px 16px 12px;height:auto;min-height:0}.winning-heading,.win-source-note,.winning-pagination{flex:none}.winning-cards{display:flex!important;flex-direction:column;flex:1;min-height:0;gap:9px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cab4db transparent;padding-right:4px;overflow-anchor:none}.winning-card{display:flex!important;flex-direction:row!important;align-items:center!important;flex:0 0 72px!important;min-height:72px;padding:8px!important;gap:10px}.winning-art{width:50px!important;height:50px!important;flex:0 0 50px!important}.winning-card-copy{width:auto;min-width:0}.winning-card-copy>strong{font-size:11px!important;line-height:1.6;min-height:0!important}.winning-user{font-size:10px;gap:4px}.winning-empty{min-height:100%;padding:15px 6px;flex:1}.winning-pagination{margin-top:10px;padding-top:9px}.win-source-note{margin:8px 0 11px}.winning-heading h2{font-size:20px}.winning-pagination>div{display:flex}.winning-pagination button{flex:none}.winning-loading,.winning-error{margin:auto 0}.card-pack-options{grid-template-columns:repeat(2,minmax(0,1fr))}.card-pack-options button{padding:17px 8px;font-size:25px}.card-pack-options button.selected{padding:16px 7px}
@media(min-width:681px) and (max-width:1100px){.winning-shell{height:285px}.winning-shell>.winning-showcase{padding:17px}.winning-card{flex-basis:73px!important}.winning-heading{justify-content:space-between}.winning-heading>div{display:block}}
@media(max-width:680px){.source-banner-controls{min-height:40px;padding:7px 10px}.winning-shell{height:310px}.winning-shell>.winning-showcase{padding:15px 13px 11px}.winning-card{flex-basis:70px!important;min-height:70px}.winning-card-copy>strong{font-size:10px!important}.winning-user{font-size:9px;margin-bottom:5px}.winning-user>em,.winning-user>b{font-size:8px}.winning-art{width:48px!important;height:48px!important;flex-basis:48px!important}.winning-heading h2{font-size:19px}.winning-empty{min-height:100%}.winning-empty>span{font-size:30px;margin-bottom:8px}.winning-empty>p{margin:9px 0 15px}}
