/* Reference-led palette: tangerine stage, cream recruitment paper and yellow
   action buttons. The supplied posters remain unmodified local source assets. */
:root{--orange:#d96835;--red:#a73721;--ink:#71351f;--muted:#99644c;--cream:#fff8e5;--gold:#ffdb67;--line:#e8b77d;--display:"Smiley Sans","YouYuan","Microsoft YaHei",sans-serif;--body:"Source Han Sans SC","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);font:14px/1.65 var(--body);background:radial-gradient(ellipse at 75% 12%,#ed9c5270,transparent 47%),radial-gradient(circle at 10% 45%,#efae6655,transparent 35%),#d96936}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(#fff1bb20 .8px,transparent .8px);background-size:7px 7px;z-index:-1}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{text-decoration:none;color:inherit}button{border:0;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #613b21;outline-offset:4px}[hidden]{display:none!important}.wrap{max-width:1180px;padding-inline:30px;margin:auto}.preview-bar{background:#a84227;color:#fff6d9;font-size:10px;text-align:center;padding:6px 14px}.header{height:99px;display:flex;align-items:center;gap:35px;border-bottom:1px solid #ffdfa04f}.brand{display:flex;align-items:center;gap:11px;font:800 23px var(--display);color:#fff5dc;letter-spacing:1px}.brand-mark{display:grid;place-items:center;width:39px;height:43px;border:1px solid #ffe5ab;border-radius:8px 3px 8px 3px;font:27px serif;background:#a83f2429}.brand small{display:block;font:9px var(--body);letter-spacing:1px;margin-top:5px;color:#ffe6c7}nav{display:flex;align-items:center;gap:25px;margin-left:auto;font-size:13px;color:#fff4dd}nav a,.text-button{min-height:44px;display:inline-flex;align-items:center}.text-button{background:none;padding:0;color:inherit}.unofficial{font-size:10px;color:#ffe6c7;border-left:1px solid #ffdfa063;padding-left:24px}.hero{position:relative;display:grid;grid-template-columns:1fr 1.13fr;align-items:center;gap:22px;min-height:510px;padding:28px 0 38px}.hero-copy{position:relative;z-index:2;padding:12px 0}.activity{font-size:12px;letter-spacing:1px;color:#fff0c9;border:1px solid #ffd9948f;border-radius:30px;padding:5px 14px;display:inline-block;margin:0 0 20px}h1{font:900 clamp(38px,4.5vw,58px)/1.32 var(--display);letter-spacing:0;margin:0 0 19px;color:#fff8df;-webkit-text-stroke:6px #b74f2a;paint-order:stroke fill;text-shadow:1px 6px 0 #9b381e5e;transform:rotate(-2deg);transform-origin:left center}.hero-description{color:#fff3d8;font-size:15px;line-height:1.9;margin:0}.hero-actions{display:flex;gap:12px;margin:27px 0 0}.primary,.secondary{min-height:50px;padding:12px 22px;font-size:14px;font-weight:750;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:21px;transition:transform .15s,background .15s}.primary{color:#84371d;background:var(--gold);border:1px solid #ffec9f;box-shadow:0 4px 0 #a64223}.primary:hover{background:#ffe58a;transform:translateY(-1px)}.primary>span{font-size:24px;line-height:1}.secondary{background:#fff6df;color:#923e25;border:1px solid #f4ce96;box-shadow:0 4px 0 #a64223}.secondary:hover{background:#fffdf2}.hero-note{font-size:10px;color:#ffe1ba;margin:17px 0 0}.hero-art{position:relative;align-self:stretch;min-height:435px;isolation:isolate;overflow:hidden;border-radius:120px 16px 100px 25px;background:#b25731;box-shadow:0 0 0 1px #f3bc6940}.hero-art>img{position:absolute;top:0;left:-12.5%;width:125%;max-width:none;height:auto}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#d96936 0%,transparent 22%);pointer-events:none}.art-note{position:absolute;right:17px;top:15px;font-size:9px;color:white;background:#65381e78;border-radius:20px;padding:2px 8px;z-index:1}.invite-sticker{position:absolute;z-index:2;right:19px;bottom:23px;display:flex;align-items:center;flex-direction:column;background:#fff5d9;color:#a64527;border:3px solid #ffda74;border-radius:19px 19px 19px 4px;padding:8px 16px 10px;transform:rotate(8deg);box-shadow:4px 5px 0 #a93d2245}.invite-sticker small{font-size:11px;font-weight:750}.invite-sticker strong{font:900 45px/1.2 var(--display);letter-spacing:-2px}.invite-sticker>span{font-size:8px}.journey{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--cream);border:2px solid #f6cc7b;border-radius:16px;padding:21px 38px;box-shadow:0 6px 0 #a4492740;margin:0 0 20px}.journey>div{display:flex;align-items:center;gap:14px}.journey b{background:#dc7843;color:#fff6df;font:800 21px var(--display);width:37px;height:37px;border-radius:50%;display:grid;place-items:center;border:1px solid #ed9a58}.journey span{font-size:14px;font-weight:750}.journey small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}.journey i{font:27px serif;color:#d99b65;font-style:normal}.eligibility{display:flex;gap:16px;align-items:center;color:#fff1d4;padding:0 6px 27px;font-size:11px}.eligibility strong{white-space:nowrap;border:1px solid #ffe2a693;border-radius:5px;padding:5px 9px;font-size:11px}.eligibility p{margin:0}.eligibility small{display:block;font-size:9px;color:#ffe0b8;margin-top:3px}
/* Recruitment board has a distinctive stitched double border rather than a
   generic dashboard shell. Each ticket's arithmetic is computed from team data. */
.recruit-board{position:relative;border:2px solid #f9d58b;border-radius:25px;background:var(--cream);padding:44px 30px 22px;box-shadow:0 9px 0 #a7442655;outline:1px dashed #e9ad67;outline-offset:-9px}.recruit-board:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background:conic-gradient(from 45deg,#ffeec9 25%,transparent 0 50%,#ffeec9 0 75%,transparent 0);background-size:52px 52px;border-radius:23px}.board-title,.toolbar,.team-grid,.list-note{position:relative}.board-title{text-align:center;margin-top:-65px;margin-bottom:22px}.board-title h2{position:relative;font:850 26px/1.4 var(--display);display:inline-block;padding:9px 40px;background:#ffdc83;color:#a74024;border:2px solid #bb6538;border-radius:4px;box-shadow:0 3px 0 #fce8b0;margin:0;transform:rotate(-1deg)}.board-title h2:before,.board-title h2:after{content:"";position:absolute;top:8px;bottom:8px;width:22px;background:#f3be60;z-index:-1}.board-title h2:before{left:-19px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,30% 50%)}.board-title h2:after{right:-19px;clip-path:polygon(0 0,100% 0,70% 50%,100% 100%,0 100%)}.board-title p{margin:15px 0 0;color:var(--muted);font-size:11px}.board-corner{position:absolute;top:12px;color:#c88442;border:1px solid #d99e60;border-radius:7px;width:29px;height:29px;display:grid;place-items:center;font-size:18px;background:#ffe3a2}.corner-tl{left:12px}.corner-tr{right:12px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 20px;padding-bottom:17px;border-bottom:1px dashed #dbac79}.filters{display:flex;gap:8px}.filters button{background:transparent;color:#936147;border:1px solid transparent;border-radius:7px;padding:9px 19px;min-height:44px;font-size:12px}.filters button.active{color:#fff8df;background:#b94c2c;box-shadow:0 3px 0 #943a23;font-weight:650}.team-count{color:#9b6d4c;font-size:11px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.team-card{border:1px solid #ebc791;border-radius:11px;background:#fffdf3;padding:20px 19px 16px;position:relative;overflow:hidden;min-width:0}.team-card:before,.team-card:after{content:"";position:absolute;top:114px;width:12px;height:12px;border-radius:50%;background:#fff4db;border:1px solid #ebc791}.team-card:before{left:-7px}.team-card:after{right:-7px}.card-top{display:flex;gap:10px;align-items:center}.avatar{width:37px;height:39px;border-radius:11px 3px 11px 3px;display:grid;place-items:center;color:#a65b32;font:22px serif;background:#fae8c7;border:1px solid #f2d3a2;flex-shrink:0}.card-top>div:not(.avatar){min-width:0}.card-top h3{margin:0;font-size:13px;color:#71351f;font-weight:750;overflow-wrap:anywhere}.card-top small{font-size:9px;color:#ae8366}.badge{margin-left:auto;align-self:start;color:#af4e2b;background:#fff0cf;font-size:9px;border-radius:4px;padding:3px 6px;white-space:nowrap}.recruit-number{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px dashed #e5c69b;padding:13px 0 15px;margin-bottom:12px}.recruit-number strong{font:900 32px/1 var(--display);color:#bc4f2b;letter-spacing:-1px}.recruit-number small{color:#a06c49;font-size:10px}.card-goal{margin:0 0 13px;color:#966043;font-size:10px}.slots{display:flex;gap:7px;align-items:center}.slot{width:24px;height:24px;display:grid;place-items:center;background:#fffbef;color:#c38c5a;border:1px dashed #d7ac76;border-radius:50%;font-size:11px}.slot.filled{background:#e6a15d;color:#fffdf0;border:1px solid #d79555}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:12px}.card-bottom>span{color:#a07a5e;font-size:10px}.card-bottom strong{font:750 20px var(--body);color:#885336}.join{min-height:44px;padding:10px 18px;border-radius:6px;background:#fff0c6;color:#995033;font-size:11px;font-weight:750;border:1px solid #efd098}.join:hover{background:#ffe5a1}.team-card:first-child .join{background:#b94e2c;border-color:#a24227;color:#fff8df;box-shadow:0 3px 0 #8f3e24}.team-card:first-child{border-color:#daa367}.team-card:first-child .recruit-number strong{color:#ad3b21}.empty{grid-column:1/-1;background:#fffcf0;border:1px dashed #dfb57d;padding:35px 18px;border-radius:10px;text-align:center;font-size:12px;color:var(--muted)}.list-note{text-align:center;color:#a17756;font-size:9px;margin:21px 0 0}.my-team{background:var(--cream);border:2px solid #f5cb7d;border-radius:13px;padding:20px;margin-bottom:45px;box-shadow:0 5px 0 #a9452733}.my-team h3{margin:0 0 6px;color:var(--red)}.my-team p{font-size:12px;color:var(--muted);margin:0 0 14px}.my-team .secondary{box-shadow:none}
/* Poster details are displayed with a CSS crop. Percentage coordinates are
   based on the supplied image's 674×2048 normalized reference, preserving
   the original image pixels, labels and proportions without raster editing. */
.rewards-section{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:22px;align-items:stretch;margin-top:44px}.reward-intro{color:#fff2d5;padding:15px 5px}.small-banner{font-size:11px;color:#ffe2a7;margin:0 0 13px}.reward-intro h2{font:800 32px/1.5 var(--display);letter-spacing:1px;margin:0 0 14px}.reward-intro>p:not(.small-banner){font-size:12px;line-height:1.95}.official-button{display:inline-flex;align-items:center;gap:20px;min-height:44px;color:#fff4d5;font-size:12px;border-bottom:1px solid #ffe5ae;margin:4px 0 15px}.reward-intro>small{display:block;color:#ffdfb2;font-size:9px;line-height:1.8}.reward-card{position:relative;display:flex;flex-direction:column;align-items:center;background:#fff7e0;border:2px solid #f3c980;border-radius:17px;padding:38px 22px 20px;box-shadow:0 6px 0 #ad452b55;min-width:0;overflow:hidden}.reward-badge{position:absolute;top:0;left:50%;transform:translateX(-50%);background:#bc5b35;color:#fff4cc;border-radius:0 0 13px 13px;padding:6px 24px;white-space:nowrap;font-size:12px;font-weight:750}.reward-crop{position:relative;overflow:hidden;flex-shrink:0;width:194px;max-width:100%;aspect-ratio:194/155;margin:12px 0 0}.reward-crop img{position:absolute;max-width:none;height:auto}.crop-sticker img{width:347.423%;left:-224.227%;top:-716.129%}.crop-avatar{width:242px;aspect-ratio:242/145;margin-top:14px;margin-bottom:12px}.crop-avatar img{width:278.512%;left:-169.421%;top:-937.931%}.reward-copy{text-align:center;margin-top:auto}.reward-copy>span{font-size:10px;color:#a5784e}.reward-copy h3{margin:3px 0 8px;font:800 23px var(--display);color:#ac4929}.reward-copy p{font-size:10px;color:#a37453;line-height:1.8;margin:0}.bottom-note{display:flex;align-items:center;gap:17px;background:#c45c323b;border-block:1px solid #ffd59660;padding:22px 0;margin:32px 0 0;color:#fff0d0}.bottom-note>span{border:1px solid #ffdb99;border-radius:50%;display:grid;place-items:center;width:40px;height:40px;font:24px serif;flex-shrink:0}.bottom-note h3{font-size:15px;margin:0 0 4px}.bottom-note p{font-size:10px;color:#ffdeb8;margin:0}.bottom-note button{margin-left:auto;font-size:11px;color:#fff0cb;white-space:nowrap}footer{display:flex;align-items:center;gap:19px;color:#ffe1b9;padding-block:26px;font-size:15px}footer small{font-size:9px;color:#ffdeb7}footer button{font-size:10px;margin-left:auto}
/* Native dialogs preserve keyboard focus trapping and escape-to-close, with
   the same paper/button hierarchy as the recruitment board. */
dialog{background:#fffaec;color:var(--ink);width:min(490px,calc(100% - 28px));max-height:90dvh;overflow:auto;border:2px solid #e1aa60;border-radius:17px;padding:27px;box-shadow:0 25px 100px #6c291e45}dialog::backdrop{background:#642f277d;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.dialog-heading h2{font:800 22px/1.5 var(--display);margin:0;color:#a34226}.close{width:44px;height:44px;border-radius:50%;background:#f9ebcd;color:#a67650;font-size:26px;flex-shrink:0}.muted{color:var(--muted);font-size:12px}label{display:block;font-size:12px;font-weight:650;margin:18px 0 7px}input,textarea,select{width:100%;background:#fffef7;color:var(--ink);border:1px solid #e0bb83;border-radius:6px;padding:11px;font-size:16px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.full{width:100%}.local-note{padding:12px;background:#fbefd4;border-radius:6px;color:#986546;font-size:11px}.error{font-size:12px;color:#a52c22}.error:empty{display:none}.help-list{padding-left:23px;font-size:13px}.help-list li{margin:14px 0}.match-state{background:#fbedcc;border-radius:9px;margin:20px 0;padding:18px}.match-state h3{margin:0 0 8px;color:#a34626}.match-state p{font-size:12px;color:var(--muted);margin:5px 0}.timer{font-weight:750;color:#ae4325;font-variant-numeric:tabular-nums}.result-buttons{display:flex;gap:10px;margin-top:15px}.result-buttons button{box-shadow:none;flex:1;font-size:12px;padding:10px}.release{display:block;background:none;color:var(--muted);min-height:44px;margin:10px auto 0;font-size:12px}.help-list+.local-note{line-height:1.9}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#8e3e26;color:#fff4d7;padding:12px 21px;border:1px solid #dda267;border-radius:9px;font-size:12px;z-index:9;width:max-content;max-width:90%}
@media(max-width:980px){.hero{gap:15px;grid-template-columns:1fr 1fr;min-height:470px}.hero-art{min-height:400px}h1{font-size:46px}.hero-actions{gap:10px}.hero-actions button{padding-inline:15px;font-size:12px;gap:14px}.hero-description{font-size:13px}.unofficial{display:none}.hero-art{border-radius:80px 12px 65px 12px}.invite-sticker strong{font-size:36px}.journey{padding:20px 25px;gap:15px}.journey span{font-size:12px}.journey small{font-size:9px}.team-grid{gap:12px}.team-card{padding:17px 14px}.badge{display:none}.recruit-board{padding-inline:24px}.reward-card{padding-inline:14px}.rewards-section{gap:16px}.reward-intro h2{font-size:28px}.card-goal{font-size:9px}.join{padding-inline:13px}}
@media(max-width:700px){.wrap{padding-inline:18px}.preview-bar{font-size:9px;padding:6px}.header{height:79px;gap:12px}.brand{font-size:19px;gap:8px}.brand-mark{width:32px;height:37px;font-size:23px}.brand small{font-size:8px;letter-spacing:0}.header nav{gap:16px;font-size:11px}nav>a[href="#rewards"]{display:none}.hero{display:flex;flex-direction:column-reverse;gap:0;padding:18px 0 26px;min-height:0}.hero-art{width:100%;min-height:0;height:270px;border-radius:35px 8px 45px 8px;margin-bottom:-12px}.hero-art>img{mask-image:linear-gradient(#000 77%,transparent 99%)}.hero-art:after{background:linear-gradient(0deg,#d96936 0%,transparent 20%)}.art-note{font-size:8px;right:12px;top:10px}.invite-sticker{right:13px;bottom:16px;padding:6px 12px;border-width:2px;border-radius:12px 12px 12px 3px}.invite-sticker strong{font-size:32px}.invite-sticker small{font-size:9px}.invite-sticker>span{font-size:7px}.hero-copy{width:100%;padding:0 3px;z-index:3}.activity{font-size:10px;margin-bottom:15px;padding:4px 10px}h1{font-size:45px;line-height:1.28;letter-spacing:0;-webkit-text-stroke-width:5px;margin-bottom:18px}.hero-description{font-size:12px;line-height:1.9}.hero-actions{margin-top:20px;gap:10px}.hero-actions button{flex:1;padding:11px 10px;min-height:48px;font-size:12px;gap:18px}.hero-note{font-size:9px;margin-top:14px}.journey{border-radius:12px;padding:17px 13px;gap:10px;margin-bottom:17px}.journey>div{flex:1;display:block}.journey b{width:25px;height:25px;font-size:15px;margin-bottom:7px}.journey span{font-size:11px}.journey small{font-size:8px;line-height:1.7;margin-top:4px}.journey i{display:none}.eligibility{align-items:start;gap:10px;padding:0 2px 45px;font-size:10px}.eligibility strong{font-size:9px;white-space:normal;flex-shrink:0;max-width:47px;line-height:1.8;padding:4px 7px}.eligibility small{font-size:8px;line-height:1.9;margin-top:6px}.recruit-board{border-radius:17px;padding:39px 14px 19px;outline-offset:-6px}.board-title{margin-top:-59px;margin-bottom:18px}.board-title h2{font-size:20px;padding:8px 16px;letter-spacing:0}.board-title p{font-size:10px;margin-top:16px}.board-corner{width:22px;height:22px;font-size:14px;top:12px}.corner-tl{left:10px}.corner-tr{right:10px}.toolbar{gap:10px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:13px}.filters{gap:3px;width:100%}.filters button{flex:1;padding:8px 7px;font-size:10px;min-height:44px}.team-count{display:block;font-size:9px;margin-top:3px;margin-left:5px}.team-grid{grid-template-columns:1fr;gap:13px}.team-card{padding:17px 16px 16px;border-radius:10px;display:grid;grid-template-columns:1fr auto;gap:0 14px}.team-card:before,.team-card:after{top:auto;bottom:62px}.card-top{grid-column:1/-1}.avatar{width:34px;height:36px;font-size:20px}.card-top h3{font-size:13px}.card-top small{font-size:8px}.badge{display:block;font-size:8px}.recruit-number{grid-column:2;grid-row:2/4;align-self:center;flex-direction:column;align-items:center;justify-content:center;border-bottom:0;margin:13px 0 0;padding:0}.recruit-number strong{font-size:34px}.recruit-number small{font-size:8px;margin-top:6px}.card-goal{grid-column:1;grid-row:2;margin:13px 0 11px;font-size:9px}.slots{grid-column:1;grid-row:3;gap:6px}.slot{width:23px;height:23px;font-size:10px}.card-bottom{grid-column:1/-1;grid-row:4;border-top:1px dashed #e1be8c;padding-top:12px;margin-top:15px}.card-bottom strong{font-size:19px}.join{min-height:44px;padding:10px 20px;font-size:11px}.list-note{font-size:8px;text-align:left;line-height:1.9;margin-top:16px}.rewards-section{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.reward-intro{grid-column:1/-1;padding:0 4px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0 18px}.reward-intro .small-banner{grid-column:1/-1;margin-bottom:9px;font-size:10px}.reward-intro h2{font-size:28px;line-height:1.5;grid-column:1;grid-row:2/4;margin-bottom:10px}.reward-intro>p:not(.small-banner){grid-column:2;grid-row:2;font-size:10px;margin:0}.official-button{font-size:10px;gap:10px;min-height:40px;margin:1px 0 10px;grid-column:2;grid-row:3;width:max-content}.reward-intro>small{grid-column:1/-1;font-size:8px;margin-bottom:10px}.reward-intro>small br{display:none}.reward-card{border-radius:12px;padding:30px 10px 16px;min-height:260px}.reward-badge{font-size:10px;padding:5px 16px;border-radius:0 0 9px 9px}.reward-crop{width:100%;margin-top:12px}.crop-avatar{width:100%;margin-top:31px;margin-bottom:14px}.reward-copy h3{font-size:19px;margin:3px 0 8px}.reward-copy>span{font-size:9px}.reward-copy p{font-size:8px;line-height:1.9}.bottom-note{gap:11px;margin-top:24px;padding:18px 0;flex-wrap:wrap}.bottom-note>span{width:32px;height:32px;font-size:20px}.bottom-note h3{font-size:12px}.bottom-note p{font-size:8px}.bottom-note button{margin-left:43px;min-height:32px;font-size:10px}footer{gap:8px;padding-block:21px;flex-wrap:wrap;font-size:13px}footer small{order:3;flex-basis:100%;font-size:8px}footer button{font-size:9px}dialog{padding:23px}.dialog-heading h2{font-size:20px}.my-team{margin-bottom:48px}.form-row{gap:10px}}
@media(max-width:370px){.wrap{padding-inline:15px}.hero-art{height:245px}h1{font-size:41px}.brand{font-size:17px}.header nav{gap:11px}.hero-actions button{gap:12px;font-size:11px}.badge{display:none}.board-title h2{font-size:18px}.recruit-number strong{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Recruitment totals share one readable size. Wrapping is deliberate: the
   lifetime total can grow without squeezing mobile filters or clipping text. */
.toolbar{flex-wrap:wrap}
.team-stats{display:flex;align-items:center;justify-content:flex-end;gap:8px 18px;flex-wrap:wrap}
.team-stats .team-count{color:#895334;font-size:15px;font-weight:650;line-height:1.7;margin:0}
.reservation-hint{position:relative;color:#895334;font-size:13px;line-height:1.8;margin:-5px 0 18px}
@media(max-width:700px){
  .team-stats{width:100%;justify-content:flex-start;gap:4px 16px;padding-inline:5px}
  .team-stats .team-count{font-size:14px}
  .reservation-hint{font-size:12px;margin:0 5px 16px}
}

/* Official entry instructions reuse the activity palette and preserve long URL
   selection without expanding the mobile dialog beyond its viewport. */
.official-entry{margin:15px 0 10px;max-width:100%}.entry-guidance{font-size:12px;color:#925333;line-height:1.9;margin:0 0 12px}.entry-feedback{font-size:11px;line-height:1.8;color:#85532e;margin:10px 0}.entry-feedback:empty{display:none}.entry-steps{padding-left:22px;margin:15px 0;font-size:11px;line-height:1.9;color:#99644c}.entry-steps li{margin:5px 0}.entry-manual{border:1px dashed #ddbb84;border-radius:7px;padding:10px 12px;margin:12px 0;color:#99644c;font-size:11px}.entry-manual summary{cursor:pointer;min-height:28px}.entry-manual-label{margin-top:10px;font-size:11px}.entry-manual-input{margin-top:7px;font-size:12px;min-width:0;width:100%;direction:ltr}.entry-manual .secondary{box-shadow:none;min-height:44px;font-size:11px;margin-top:10px}.entry-footnote{font-size:10px;color:#986546;line-height:1.9;margin:12px 0 0}.slot.held{background:#fff1c6;border-style:solid;color:#9a633d}

/* 获取邀请的独立入口：整行可点击，说明换行以适配手机窄屏。 */
.get-invite{margin:12px 0 4px;display:grid;gap:8px}
.get-invite>a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;text-align:center;font-size:13px;border:1px solid #d99e5d;border-radius:7px;color:#a34226;background:#fbedcc;text-decoration:none}
.get-invite>a:hover{background:#f8dfb0}
.get-invite>a:focus-visible{outline:3px solid #a34226;outline-offset:3px}
.get-invite>small{line-height:1.8}

/* QQ 群使用原生链接打开新页面，不带 data-filter，避免触发队伍筛选。
   与筛选按钮保持同样的高度；窄屏均分四个入口，保证文字不被裁切。 */
.filters .qq-group{display:inline-flex;align-items:center;justify-content:center;padding:9px 19px;min-height:44px;box-sizing:border-box;border:1px solid #b94c2c;border-radius:7px;background:#fff6df;color:#a84227;font-size:12px;font-weight:650;text-decoration:none;white-space:nowrap}
.filters .qq-group:hover{background:#f9e5ba}
.filters .qq-group:focus-visible{outline:2px solid #943a23;outline-offset:3px}
@media(max-width:700px){.filters .qq-group{flex:1;padding:8px 7px;font-size:10px}}

/* 手机旧版 WebView 可能支持 text-stroke，却不支持 paint-order。
   粗描边会覆盖汉字内部笔画；手机使用实心填色和常规阴影，
   保留活动标题的层次，不依赖描边与填色的绘制顺序。 */
@media(max-width:700px){
  .hero h1{
    color:#fff8df;
    -webkit-text-fill-color:#fff8df;
    -webkit-text-stroke:0 transparent;
    text-shadow:1px 0 #a84227,-1px 0 #a84227,0 1px #a84227,0 -1px #a84227,0 3px 0 #9b381e80;
  }
}
