*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f3e9;color:#24473e;font:16px/1.5 'Microsoft YaHei','PingFang SC',sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #c3954e;outline-offset:3px}a{text-decoration:none;color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'SimSun','Songti SC',serif}h2{font-size:32px;margin-bottom:0}h3{font-size:22px}.topbar{height:84px;border-bottom:1px solid #34534620;background:#f9f7efe8}.top-inner{width:90%;max-width:1640px;margin:auto;display:flex;align-items:center;justify-content:space-between;height:100%;gap:25px}.brand{display:flex;align-items:center;gap:12px;font:600 27px 'SimSun',serif;letter-spacing:4px}.brand i{display:grid;place-items:center;font-style:normal;border:2px solid #a94e36;background:#ae5b3e;color:#fcf2d7;width:36px;height:40px;border-radius:3px;font-size:21px;letter-spacing:0;transform:rotate(-4deg)}.topbar nav{display:flex;gap:48px;font-size:15px}.topbar nav a{padding:28px 0}.topbar nav a[aria-current=page]{color:#a67b3d;box-shadow:0 2px 0 #b68d4c}.account{border:1px solid #b6bbaa;background:transparent;border-radius:28px;color:#36574a;padding:9px 23px;min-width:110px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:13px 32px;min-height:48px;border:1px solid #234f41;border-radius:6px;background:#244e40;color:#fff7dd;font-size:16px;transition:transform .18s,background .18s,box-shadow .18s}.button:hover{background:#173e31;box-shadow:0 5px 16px #274e3920}.button:active{transform:translateY(2px)}.outline{display:inline-block;border:1px solid #b9b594;background:transparent;color:#62705a;border-radius:6px;padding:9px 20px;font:inherit;cursor:pointer}.button.outline{background:transparent;color:#315544}.text-button{background:none;color:#476650;border:0;padding:8px;font:inherit}.wide{width:100%}main{max-width:1680px;width:92%;margin:auto}.dragon-hero{position:relative;min-height:545px;display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center;overflow:hidden}.hero-copy{padding:45px 0 65px 36px;position:relative;z-index:1}.festival-tag{display:flex;align-items:center;gap:15px;letter-spacing:5px;color:#6d806d;font-size:14px}.festival-tag i{width:34px;height:1px;background:#ad9668}.hero-copy h1{font-size:105px;line-height:1.15;letter-spacing:13px;margin:25px 0 18px;color:#1b493c;text-shadow:0 3px 0 #fffbef}.hero-copy>p{font:27px 'SimSun',serif;letter-spacing:9px;color:#677b64;margin-bottom:40px}.hero-actions{display:flex;align-items:center;gap:23px}.hero-stamp{position:absolute;right:22px;top:150px;border:1px solid #b05d43;color:#a84c36;padding:7px;font:16px/1.2 'SimSun',serif;transform:rotate(7deg);background:#fcf7eb}.hero-scene{position:relative;height:100%;min-height:500px}.sun-disc{position:absolute;width:410px;height:410px;background:radial-gradient(circle,#e9d6a46b,#e6d4a13b 60%,#e0c88d00 70%);border:1px solid #c6bb9166;border-radius:50%;top:45px;right:120px;box-shadow:0 0 0 14px #c3b88b08}.hero-boat{position:absolute;width:100%;height:95%;object-fit:contain;right:0;top:3%;filter:drop-shadow(0 25px 15px #3152411a);animation:boat-float 7s ease-in-out infinite}.hero-poem{position:absolute;right:24px;top:55px;writing-mode:vertical-rl;font:20px/1.9 'SimSun',serif;letter-spacing:6px;color:#7c865f}.hero-poem span{padding-top:33px}.water-ring{position:absolute;width:85%;height:65px;bottom:48px;right:12px;border:1px solid #6f9f9722;border-radius:50%;animation:water-spread 4s infinite}.r2{animation-delay:2s}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.section-heading a{font-size:14px;color:#718366}.kicker{font-size:12px;color:#9b8455;letter-spacing:5px;display:block;margin-bottom:6px}.race-wrap{scroll-margin-top:25px}.race-grid{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:24px}.race-panel{background:#fffdf6;border:1px solid #c9ccb4;border-radius:12px;padding:22px;box-shadow:inset 0 0 0 5px #f4f3e7,0 6px 20px #46554008}.river{background:linear-gradient(90deg,#e3ede6,#eef1df);border-radius:8px;overflow:hidden;border:1px solid #d2ddcf}.race-lane{display:grid;grid-template-columns:38px minmax(0,1fr) 140px;gap:12px;align-items:center;min-height:67px;padding:6px 13px;border-bottom:1px dashed #a0b7a959;position:relative}.race-lane:last-child{border-bottom:0}.lane-number{font:italic 24px Georgia,serif;color:#6e8c78}.water-track{height:55px;position:relative;background:repeating-linear-gradient(0deg,transparent 0 12px,#b7d5c021 13px 14px)}.boat-runner{position:absolute;left:0;top:0;width:99px;height:55px}.boat-runner img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 2px #3b624a24)}.boat-runner>span{position:absolute;left:6px;bottom:0;font-size:9px;color:#426551}.finish{position:absolute;right:1px;top:5px;bottom:5px;width:5px;background:repeating-linear-gradient(#638774 0 5px,#f3f4e8 5px 10px);opacity:.6}.lane-reward b{font-size:12px;font-weight:500;color:#496a55}.lane-reward small{font-size:9px;color:#8a977d;display:block;margin-top:4px}.race-lane.winner{background:#f5e5b8;box-shadow:inset 3px 0 #b79247}.race-controls{display:flex;align-items:center;gap:18px;margin:22px 5px 0}.race-controls>div>span{font-size:11px;color:#879079}.race-controls strong{display:block;font:600 28px Georgia,serif;color:#937540;margin-top:5px}.race-controls small{font:12px system-ui;color:#8e967e}.race-controls p{font-size:12px;color:#899480;flex:1;margin:0}.race-controls .button{background:linear-gradient(115deg,#b68946,#d4b676);border-color:#b99557;color:#fffaf0;padding:12px 35px;min-width:185px}.my-gifts{border:1px solid #617966;background:linear-gradient(130deg,#1f4538,#375d47);border-radius:12px;padding:30px 27px;color:#efe7c8;position:relative;overflow:hidden}.my-gifts:after{content:'舟';position:absolute;right:-18px;top:47px;color:#ffffed06;font:210px 'SimSun',serif;pointer-events:none}.my-gifts>span{font-size:12px;letter-spacing:3px;color:#c5cba9}.my-gifts h3{font-size:24px;margin:13px 0 28px}.my-gifts>small{font-size:11px;color:#b9c3a5}.my-gifts>strong{display:block;font:38px Georgia,serif;margin:12px 0 25px;color:#eed6a1}.my-gifts>div{display:flex;align-items:center;justify-content:space-between;font-size:11px;padding-bottom:25px;border-bottom:1px solid #a5b79833}.my-gifts a{display:block;font-size:12px;margin-top:20px;color:#dbd6b3}.race-steps{border:1px solid #d8d7c4;background:#eeeedd80;border-radius:12px;margin-top:20px;padding:23px 27px}.race-steps h3{font-size:21px;margin-bottom:24px}.race-steps>div{display:flex;align-items:center;gap:18px;margin:22px 0}.race-steps i{font:italic 27px Georgia,serif;color:#ac965d}.race-steps b{font-size:13px;font-weight:500}.race-steps small{display:block;font-size:10px;color:#89937d;margin-top:5px}.gifts-section{padding:40px 0 45px}.gift-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.gift-card{background:#fffdf7;border:1px solid #d9dcc8;border-radius:9px;overflow:hidden;transition:transform .2s}.gift-card:hover{transform:translateY(-4px)}.gift-visual{height:180px;background:radial-gradient(#f6ebcd,#f0f0e4);position:relative;display:grid;place-items:center;border-bottom:1px solid #e9e8d8}.gift-visual img{width:70%;height:85%;object-fit:contain}.gift-visual>span:not(.gift-seal){position:absolute;left:13px;top:12px;font-size:10px;color:#9a834f;border:1px solid #bcaa7899;padding:3px 9px;border-radius:3px}.gift-card h3{font-size:21px;margin:18px 20px 5px}.gift-card p{font-size:13px;color:#a0814c;margin:0 20px 15px}.gift-card a{display:block;padding:12px 20px;font-size:12px;border-top:1px solid #e8eadc;color:#779077}.gift-seal{font:70px 'SimSun',serif;color:#b29257}.site-footer{text-align:center;color:#9aa18a;font-size:11px;letter-spacing:5px;padding:14px 20px 30px}.page-heading{padding:55px 0 40px;text-align:center}.seal{display:inline-block;color:#a96546;border:1px solid #c7a382;border-radius:3px;padding:5px 12px;font-size:12px;letter-spacing:3px}.page-heading h1{font-size:54px;margin:18px 0 12px}.page-heading p{color:#8a957d;font-size:15px;letter-spacing:3px}.history,.rules-paper{background:#fffdf8;border:1px solid #d9dcc9;border-radius:14px;padding:35px;margin-bottom:50px}.rules-paper{max-width:1000px;margin-left:auto;margin-right:auto}.rules-paper iframe{width:100%;height:60vh;border:0}.record-overview{display:flex;background:linear-gradient(110deg,#edf0e2,#fcf7e9);border:1px solid #dcdeca;border-radius:9px;padding:23px 30px;gap:100px}.record-overview span{font-size:13px;color:#8d937b}.record-overview strong{display:block;font:33px Georgia,serif;margin-top:12px;color:#aa8951}.record-overview small{font:12px system-ui}.filter-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.filter-tabs button{border:1px solid #d7d9c5;background:transparent;color:#7e8f76;padding:9px 22px;border-radius:5px;font-size:13px}.filter-tabs .active{background:#315646;border-color:#315646;color:#fff1d2}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}th{background:#edf1e4;padding:16px;font-size:12px;font-weight:500;color:#7a8c70}td{padding:20px 16px;border-bottom:1px solid #e7eadc}td small{display:block;font-size:10px;color:#99a08a;margin-top:7px}td b{font-weight:500}.state{padding:5px 10px;border-radius:5px;font-size:11px;background:#f9efce;color:#ac8844}.fulfilled{background:#e7f0dc;color:#6b8b56}.rejected{background:#f7e9df;color:#b07f65}.note{color:#829274;font-size:12px}.pager{display:flex;align-items:center;gap:16px;justify-content:flex-end;margin-top:25px;font-size:12px}.pager>span{margin-right:auto;color:#87937c}.page-actions{text-align:center;margin-top:30px}.empty{text-align:center;padding:70px 20px;color:#809078}.bottom-nav{display:none}.dragon-dialog{border:1px solid #b8b795;max-width:calc(100% - 28px);width:525px;max-height:calc(100dvh - 40px);overflow:auto;border-radius:16px;padding:38px;background:#fffdf2;color:#274c40;text-align:center;box-shadow:inset 0 0 0 6px #f7f2e1,0 25px 100px #142a2755}.dragon-dialog::backdrop{background:#15382f8c;backdrop-filter:blur(4px)}.close{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #61785026;border-radius:50%;background:#f8f4eac9;color:#5d7251;line-height:1;transition:background-color .16s,color .16s,border-color .16s}.close:hover{background:#ede8d8;color:#344d38;border-color:#61785070}.close:active{background:#e4deca}.close:focus-visible{outline:2px solid #2d674e;outline-offset:3px}.close-mark{position:relative;display:block;width:18px;height:18px;pointer-events:none}.close-mark:before,.close-mark:after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:2px;border-radius:1px;background:currentColor;transform:rotate(45deg)}.close-mark:after{transform:rotate(-45deg)}.dialog-seal{display:inline-block;color:#af6d4a;font-size:11px;border:1px solid #bd8b6d;padding:4px 10px;border-radius:3px;margin:10px 0 19px}.dragon-dialog h2{font-size:31px;margin:12px 0 16px}.dragon-dialog h3{font-size:26px;margin:15px 0}.dragon-dialog p{font-size:13px;color:#89937c;line-height:1.9}.dragon-dialog label{display:block;text-align:left;margin:22px 0 8px;font-size:13px;color:#6d7f66}.dragon-dialog input,.dragon-dialog textarea{display:block;width:100%;padding:12px;background:#fffef9;color:#365343;border:1px solid #d0d5be;border-radius:6px;margin-top:9px;min-width:0}.dragon-dialog textarea{min-height:100px;resize:vertical}.dragon-dialog .error{font-size:12px;color:#b36d4d;min-height:18px;text-align:left;margin:10px 0}.dialog-actions{display:flex;gap:12px;margin-top:24px}.dialog-actions>*{flex:1;padding:12px}.prize-image{height:175px;display:grid;place-items:center;background:radial-gradient(#ede3b5,#fff8e900);margin:15px 0}.prize-image img{max-width:190px;max-height:175px;object-fit:contain}.prize-image span{font:70px 'SimSun',serif;color:#b2995f}.account-numbers{padding:25px;background:#f2f1e1;border-radius:7px;margin:20px 0;font-size:13px}.account-numbers strong{display:block;color:#a68548;font:28px Georgia,serif;margin-top:8px}.dragon-dialog iframe{border:0;width:100%;height:45vh}#message{position:fixed;bottom:85px;left:50%;transform:translateX(-50%);background:#254a3feb;color:#fff2cf;padding:12px 25px;border-radius:6px;z-index:10;font-size:14px;max-width:90%;box-shadow:0 6px 20px #10252230}.racing .water-track{background-size:auto 80px;animation:river-flow 1s linear infinite}.racing .boat-runner img{animation:paddle .35s infinite}.hero-go span{font-size:22px}@keyframes boat-float{50%{transform:translateY(-10px) rotate(1deg)}}@keyframes water-spread{to{transform:scale(1.2);opacity:0}}@keyframes paddle{50%{transform:rotate(-2deg)}}@keyframes river-flow{to{background-position:70px 0}}
@media(max-width:760px){body{font-size:13px;padding-bottom:62px}.topbar{height:62px}.top-inner{width:92%;gap:10px}.brand{font-size:20px;letter-spacing:2px;gap:8px}.brand i{width:26px;height:30px;font-size:15px}.topbar nav{display:none}.account{min-width:80px;padding:7px 12px;font-size:11px}main{width:92%}.dragon-hero{min-height:500px;display:block;overflow:hidden;margin:0 -4.35%;width:108.7%;padding:0 4.35%}.hero-copy{padding:31px 0 0 9px}.festival-tag{font-size:10px;letter-spacing:2px;gap:10px}.festival-tag i{width:22px}.hero-copy h1{font-size:68px;letter-spacing:8px;margin:20px 0 10px}.hero-copy>p{font-size:19px;letter-spacing:5px;margin-bottom:22px}.hero-actions{gap:14px}.hero-actions .button{min-height:39px;padding:9px 21px;font-size:12px}.hero-actions .text-button{font-size:11px}.hero-stamp{font-size:12px;padding:5px;right:24px;top:70px}.hero-scene{position:absolute;left:70px;right:-45px;top:225px;height:255px;min-height:0;pointer-events:none}.sun-disc{width:230px;height:230px;right:65px;top:-12px}.hero-boat{height:100%;width:100%;top:0;right:0}.hero-poem{right:35px;top:-55px;font-size:11px;letter-spacing:3px}.hero-poem span{padding-top:22px}.water-ring{bottom:8px;height:35px}.section-heading{margin-bottom:14px;gap:12px}.section-heading h2{font-size:24px}.kicker{font-size:9px;letter-spacing:3px;margin-bottom:5px}.section-heading .text-button,.section-heading a{font-size:11px;padding:0}.race-grid{display:block}.race-panel{padding:12px;border-radius:10px;box-shadow:inset 0 0 0 4px #f4f3e7}.race-lane{grid-template-columns:21px minmax(0,1fr) 70px;gap:5px;min-height:51px;padding:4px 7px}.lane-number{font-size:15px}.water-track{height:43px}.boat-runner{width:64px;height:40px;top:2px}.boat-runner>span{font-size:7px;bottom:-1px}.lane-reward b{font-size:8px}.lane-reward small{font-size:7px;margin-top:2px}.finish{width:3px}.race-controls{flex-wrap:wrap;margin:15px 1px 2px;gap:12px}.race-controls>div{min-width:70px}.race-controls>div>span{font-size:9px}.race-controls strong{font-size:25px;margin-top:3px}.race-controls p{font-size:10px;text-align:right}.race-controls .button{flex-basis:100%;min-height:45px;font-size:16px}.race-aside{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:14px}.my-gifts{padding:18px 13px;border-radius:9px}.my-gifts>span{font-size:9px;letter-spacing:1px}.my-gifts h3{font-size:18px;margin:9px 0 19px}.my-gifts>small{font-size:9px}.my-gifts>strong{font-size:24px;margin:9px 0 19px}.my-gifts>div{display:block;font-size:8px;padding-bottom:16px}.my-gifts>div b{display:block;margin-top:7px}.my-gifts a{font-size:9px;margin-top:14px}.race-steps{padding:17px 13px;margin:0;border-radius:9px}.race-steps h3{font-size:18px;margin-bottom:17px}.race-steps>div{gap:8px;margin:23px 0}.race-steps i{font-size:21px}.race-steps b{font-size:10px}.race-steps small{font-size:8px;margin-top:4px;line-height:1.6}.gifts-section{padding:27px 0}.gift-grid{grid-template-columns:1fr 1fr;gap:12px}.gift-visual{height:132px}.gift-visual>span:not(.gift-seal){font-size:8px;left:8px;top:8px;padding:3px 6px}.gift-card h3{font-size:17px;margin:14px 12px 5px}.gift-card p{font-size:11px;margin:0 12px 12px}.gift-card a{padding:10px 12px;font-size:10px}.site-footer{padding:10px 10px 30px;font-size:9px;letter-spacing:3px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fbfaf1f8;border-top:1px solid #d9ddc9;height:63px;align-items:center;justify-content:space-around;z-index:5;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav a,.bottom-nav button{border:0;background:none;text-align:center;font-size:10px;color:#809077}.bottom-nav span{display:block;font:22px 'SimSun',serif;margin-bottom:2px;color:#648568}.bottom-nav a[aria-current=page]{color:#a2844b}.page-heading{padding:32px 0 24px}.page-heading h1{font-size:34px;margin:14px 0 10px}.page-heading p{font-size:11px;letter-spacing:1px}.seal{font-size:9px;padding:4px 9px;letter-spacing:2px}.history,.rules-paper{padding:17px;margin-bottom:25px}.record-overview{gap:25px;padding:16px 19px}.record-overview span{font-size:10px}.record-overview strong{font-size:26px;margin-top:8px}.record-overview small{font-size:10px}.filter-tabs{gap:6px;margin:20px 0}.filter-tabs button{font-size:10px;padding:6px 9px}.history table{min-width:540px;font-size:11px}th{font-size:10px;padding:10px}td{padding:14px 10px}td small{font-size:9px}.history .outline{font-size:10px;padding:6px 9px}.pager{font-size:10px;gap:10px}.page-actions .button{font-size:12px;min-height:39px;padding:9px 22px}.page-actions{margin-top:25px}.dragon-dialog{padding:29px 22px;border-radius:14px}.dragon-dialog h2{font-size:27px}.dragon-dialog .dialog-seal{margin:5px 0 12px}.dragon-dialog .dialog-actions .button{font-size:13px;min-height:43px;padding:10px 12px}.dragon-dialog p{font-size:12px}.dragon-dialog input,.dragon-dialog textarea{font-size:14px}.prize-image{height:140px}.prize-image img{max-width:150px;max-height:140px}.dragon-dialog h3{font-size:24px}.dragon-dialog .wide{font-size:14px;min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media(max-width:760px){.hero-scene{left:0;right:0;top:239px;height:253px}.hero-poem{right:12px;top:-45px}.hero-boat{height:100%;width:100%}}

/* Optional component images retain the semantic control and label. */
button,.dialog-actions a,#modal,#modal .panel{background-repeat:no-repeat;background-position:center;background-size:100% 100%}

.brand img{width:42px;height:42px;object-fit:contain}.brand:has(img:not([hidden])) i{display:none}
@media (min-width:761px) and (max-width:1199px){
 .top-inner{width:94%;gap:16px}.brand{font-size:24px;gap:9px;letter-spacing:2px;flex:none}.topbar nav{gap:clamp(14px,2.3vw,27px);white-space:nowrap}.account{font-size:14px;min-height:44px;padding:9px 18px;flex:none}
 .dragon-hero{grid-template-columns:1fr 1fr;gap:12px;min-height:510px}.hero-copy{padding:36px 0 44px 12px;min-width:0}.festival-tag{font-size:13px;letter-spacing:2px;gap:10px}.hero-copy h1{font-size:clamp(72px,8vw,94px);letter-spacing:7px;white-space:nowrap}.hero-copy>p{font-size:23px;letter-spacing:4px;line-height:1.7;max-width:300px;margin-bottom:28px}.hero-actions{gap:10px;flex-wrap:wrap}.hero-actions .button{padding:12px 22px;gap:12px;white-space:nowrap}.hero-actions .text-button{white-space:nowrap;min-height:48px}.hero-stamp{right:10px;top:170px;font-size:14px}.hero-scene{min-height:490px}.sun-disc{width:330px;height:330px;right:12px;top:70px}.hero-poem{font-size:17px;right:8px;top:35px}.hero-boat{top:10%;height:85%;width:115%;right:-7%}
 .race-grid{grid-template-columns:minmax(0,1fr)}.race-aside{display:grid;grid-template-columns:1fr 1fr;gap:22px}.race-steps{margin-top:0}.race-controls{gap:20px}.race-controls>div{min-width:110px}.race-controls>div>span,.race-controls p{font-size:14px}.race-controls .button{white-space:nowrap}.race-lane{grid-template-columns:38px minmax(0,1fr) 140px;min-height:74px}.water-track{height:58px}.boat-runner{width:105px;height:58px}.boat-runner>span{font-size:12px;bottom:-2px}.lane-reward b{font-size:14px}.lane-reward small{font-size:12px}.my-gifts>small,.my-gifts>div,.my-gifts a,.race-steps small{font-size:13px}.race-steps b{font-size:15px}
 .hero-boat{width:100%;right:0}.gift-grid{gap:16px}.gift-card h3{font-size:19px;margin:16px 14px 6px}.gift-card a{font-size:14px;padding:12px 14px}.gift-card p{margin-left:14px;margin-right:14px}.history{padding:24px}.history table{font-size:14px}.history th,.history td{padding:14px 10px}.history td small,.history .state{font-size:12px}.filter-tabs button{font-size:14px;min-height:44px}.dragon-dialog{padding:44px 32px 30px}.dragon-dialog p,.dragon-dialog label{font-size:15px}
}

@media(prefers-reduced-motion:reduce){.close{transition:none}}
