:root{--ink:#17334d;--muted:#5d7182;--navy:#123b64;--blue:#155e92;--cyan:#52d2dd;--pale:#eef7fb;--line:#d8e4ec;--danger:#b4353f;--radius:18px;--font:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif}*{box-sizing:border-box}body{margin:0;background:#f3f8fc;color:var(--ink);font-family:var(--font);line-height:1.65;font-size:15px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--blue)}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}a:focus-visible,button:focus-visible{outline:3px solid #54b8d2;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:3px solid #a7dfec;outline-offset:1px;border-color:#277fa7}h1,h2,h3,p{margin-top:0}h1,h2{line-height:1.4;letter-spacing:-.03em}h2{font-size:27px;margin-bottom:14px}h3{font-size:18px}.site-header{max-width:1180px;margin:auto;min-height:110px;padding:25px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:13px;color:var(--navy);text-decoration:none;font-size:20px;font-weight:700;line-height:1.4}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:.07em;font-weight:400;margin-top:2px}.brand-mark{position:relative;width:43px;height:43px;display:grid;place-items:center;background:var(--navy);border-radius:12px;color:#fff;font-family:Arial,sans-serif;font-size:25px;letter-spacing:-3px;padding-right:3px;line-height:1}.brand-mark span{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--cyan);right:-3px;bottom:0;border:2px solid #f3f8fc}.year-label{font-size:12px;color:var(--muted);border-bottom:1px solid #c8d8e3;padding-bottom:5px;white-space:nowrap}.workspace{max-width:1100px;margin:22px auto 48px;display:grid;grid-template-columns:minmax(270px,.85fr) minmax(0,1.2fr);gap:72px;padding:0 32px;align-items:start}.intro{padding-top:36px;position:sticky;top:30px}.intro-tag{display:inline-block;color:#397994;font-size:13px;margin-bottom:20px}.intro h1{font-size:44px;line-height:1.45;color:var(--navy);font-weight:700;margin-bottom:22px}.intro>p{color:var(--muted);line-height:1.95;font-size:15px}.distill-art{position:relative;height:210px;width:290px;margin:14px 0 24px}.art-vessel{position:absolute;width:118px;height:132px;left:82px;top:49px;clip-path:polygon(35% 0,65% 0,65% 34%,96% 85%,94% 95%,86% 100%,14% 100%,6% 95%,4% 85%,35% 34%);background:#cadfea;overflow:hidden;transform:rotate(-9deg)}.art-vessel:before{content:"";position:absolute;inset:3px;background:#e4f1f8;clip-path:polygon(36% 0,64% 0,64% 35%,96% 86%,93% 94%,85% 98%,15% 98%,7% 94%,4% 86%,36% 35%)}.art-liquid{position:absolute;background:#65c5dc;width:150px;height:95px;left:-10px;top:72px;border-radius:38% 47% 0 0;transform:rotate(9deg)}.bubble{position:absolute;border-radius:50%;background:#e4f8ff}.b-one{width:13px;height:13px;left:51px;top:88px}.b-two{width:8px;height:8px;left:69px;top:111px}.b-three{width:6px;height:6px;left:35px;top:122px}.art-orbit{position:absolute;border:1px solid #d4e6ef;border-radius:50%;transform:rotate(-28deg)}.orbit-one{width:255px;height:125px;top:60px;left:9px}.orbit-two{width:210px;height:185px;top:30px;left:30px;transform:rotate(35deg)}.orbit-three{width:155px;height:215px;top:15px;left:60px;transform:rotate(70deg)}.art-spark{position:absolute;font-family:Arial,sans-serif;font-weight:400;color:#71bacd;font-size:30px}.spark-one{left:42px;top:22px}.spark-two{right:24px;bottom:25px;font-size:23px}.art-dot{position:absolute;width:9px;height:9px;border-radius:50%;background:#a0d6e5;right:39px;top:35px}.steps{list-style:none;padding:0;margin:18px 0;color:#658094;font-size:13px}.steps li{display:flex;align-items:center;gap:11px;margin:13px 0}.steps li span{border:1px solid #c9dce8;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-size:12px}.steps li.active{color:var(--navy);font-weight:700}.steps li.active span,.steps li.done span{background:var(--navy);border-color:var(--navy);color:white}.steps li.done{color:#467b85}.intro .intro-foot{font-size:12px;margin:23px 0}.content-column{min-width:0}.panel{background:white;border:1px solid #e0ebf2;border-radius:var(--radius);padding:34px;box-shadow:0 14px 45px #24527306}.lookup-panel{padding:42px 40px;margin-top:22px}.panel-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#ebf5fa;color:var(--blue);margin-bottom:24px}.panel-icon svg{width:27px;height:27px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.panel-description{color:var(--muted);font-size:14px;line-height:1.9;margin-bottom:27px}.field{display:flex;flex-direction:column;gap:7px;min-width:0;position:relative}.field>span{font-weight:500;font-size:13px}.field input,.field select,.field textarea,.admin-toolbar input,.admin-toolbar select{width:100%;min-width:0;min-height:48px;border:1px solid #d4e0e9;border-radius:9px;background:#fff;color:var(--ink);padding:11px 13px;font-size:15px;transition:border-color .15s}.field input::placeholder,.field textarea::placeholder{color:#8b9eac}.field textarea{min-height:96px;resize:vertical}.field small{color:var(--muted);font-size:11px;line-height:1.7}.field .field-error{color:var(--danger)}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--danger);background:#fffafa}.required-mark{color:#46839b;font-size:10px;margin-left:4px}.lookup-panel .field,.admin-login .field{margin-bottom:21px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 21px;border:1px solid transparent;border-radius:9px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,transform .15s}.button:active{transform:translateY(1px)}.primary{background:var(--navy);color:white}.primary:hover{background:#1b527b}.secondary{color:var(--navy);border-color:#ccdfe9;background:white}.secondary:hover{background:#eef7fb}.full{width:100%}.lookup-panel .primary{margin-top:6px;min-height:50px}.text-button{border:0;background:transparent;padding:4px 0;color:var(--blue);font-size:12px;line-height:1.7;text-decoration:none;white-space:nowrap}.text-button:hover{text-decoration:underline}.privacy-note{margin:23px 0 0;padding-top:20px;border-top:1px solid #edf2f5;font-size:11px;line-height:1.8;color:var(--muted);display:flex;align-items:flex-start;gap:7px}.privacy-note svg{width:16px;min-width:16px;margin-top:2px;stroke:#7c99aa;stroke-width:1.2}.site-footer{max-width:1100px;margin:0 auto;padding:22px 32px 32px;display:flex;justify-content:space-between;gap:20px;color:#738a9b;font-size:11px}.site-footer a{color:#607f92;text-decoration:none}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-kicker{font-size:12px;color:#42849b;margin-bottom:9px}.notice{font-size:12px;color:#456d83;background:#f0f7fb;border-left:3px solid #7bbdce;border-radius:0 6px 6px 0;padding:11px 13px;line-height:1.8;margin:8px 0 27px}.notice.new-record{background:#fff7e9;border-color:#d5af66;color:#876225}.form-section{border:0;padding:0;margin:0 0 28px;min-width:0}.form-section legend{display:block;font-size:16px;font-weight:700;padding:0;margin-bottom:16px;width:100%}.form-section .section-help{font-size:12px;color:var(--muted);margin-bottom:16px;margin-top:-8px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 16px}.wide{grid-column:1/-1}.league-section{padding:20px;background:#f0f8fc;border-radius:12px;border:1px solid #dfedf4;margin:6px 0 28px}.league-section legend{float:left;margin-bottom:12px;color:var(--navy)}.league-section .section-help{clear:both;margin-top:0}.league-section .field input{background:white}.form-message{padding:11px 13px;border-radius:7px;background:#fff0f1;color:var(--danger);font-size:12px;line-height:1.8;margin:14px 0}.save-bar{border-top:1px solid #e5edf2;padding-top:20px;display:flex;flex-direction:column;gap:12px}.save-bar p{font-size:12px;color:var(--muted);margin:0}.save-bar .button{width:100%}.form-bottom-note{font-size:11px;line-height:1.8;color:#748a99;margin:15px 0 0}.welcome-panel{text-align:center;padding:35px 30px;overflow:hidden}.welcome-seal{width:64px;height:64px;background:#e3f6f2;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px}.welcome-seal svg{width:40px;stroke:#278872;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.welcome-panel h2{font-size:33px;line-height:1.5;margin:8px 0 12px;color:var(--navy)}.welcome-description{font-size:13px;color:var(--muted);line-height:1.9}.welcome-qr{margin:25px auto 14px;padding-top:23px;border-top:1px solid #e2edf3;animation:qr-arrive .65s .55s both}.welcome-qr h3{font-size:17px;margin-bottom:18px}.qr-crop{width:min(280px,100%);aspect-ratio:1;position:relative;overflow:hidden;margin:0 auto 13px;border:8px solid #fff;outline:1px solid #e7ebf1;border-radius:12px;background:#f9f7fe}.qr-crop img{position:absolute;width:140%;height:auto;max-width:none;left:-20%;top:-79.5%}.qr-hint{font-size:11px;color:var(--muted);margin-bottom:9px}.group-number{font-size:12px;color:var(--muted);display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap}.group-number strong{font-weight:600;color:var(--navy);letter-spacing:.02em}.welcome-qr .button{font-size:12px;min-height:40px}.save-receipt{font-size:11px;color:#7b8e9b;margin:26px 0 10px}#confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:30}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:12px 22px;background:#153b54;color:white;box-shadow:0 5px 20px #123b6422;border-radius:10px;font-size:13px;z-index:50;max-width:calc(100% - 32px);text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.admin-main{max-width:1150px;margin:20px auto 50px;padding:0 32px;min-height:65vh}.admin-login{max-width:430px;margin:55px auto}.admin-login h1{font-size:28px}.admin-title-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0 28px}.admin-title-row h1{font-size:32px;margin-bottom:6px}.admin-title-row .panel-description{margin:0;font-size:13px}.admin-toolbar{display:grid;grid-template-columns:1fr 175px auto;gap:12px;align-items:center}.admin-toolbar input,.admin-toolbar select{background:white;font-size:13px}.export-row{display:flex;align-items:center;gap:22px;margin:18px 0;flex-wrap:wrap}.export-row>span{font-size:12px;color:var(--muted);margin-left:auto}.table-wrap{overflow:auto;background:white;border:1px solid #deebf2;border-radius:12px}.member-table{border-collapse:collapse;width:100%;text-align:left;min-width:680px}.member-table th{background:#edf5fa;padding:15px 19px;color:#4c7188;font-size:12px;font-weight:500}.member-table td{padding:17px 19px;font-size:13px;vertical-align:middle;border-top:1px solid #edf2f6;max-width:290px}.member-table td strong{display:block;font-size:13px;font-weight:600}.member-table td small{display:block;font-size:11px;line-height:1.8;color:var(--muted);margin-top:4px}.member-table .button{min-height:34px;padding:6px 14px;font-size:12px}.record-state{font-size:11px;color:#856a35;background:#fff6e3;border-radius:4px;padding:4px 7px;display:inline-block}.record-state.complete{color:#297963;background:#eaf7f1}.admin-note{font-size:11px;line-height:1.9;color:var(--muted);margin-top:18px}.admin-editor{max-width:780px;margin:20px auto}.empty-state{text-align:center;padding:36px;color:var(--muted);font-size:13px}.search-label{min-width:0}
@keyframes qr-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1200px){.workspace{margin-top:35px}.intro{padding-top:48px}}
@media(max-width:850px){.workspace{gap:35px;grid-template-columns:minmax(225px,.8fr) minmax(0,1.2fr)}.lookup-panel{padding:32px 25px}.intro h1{font-size:36px}.distill-art{transform:scale(.82);transform-origin:left center;width:235px;margin-bottom:5px}.panel{padding:25px}.panel-heading{gap:10px}.panel-heading h2{font-size:24px}}
@media(max-width:650px){body{font-size:14px}.site-header{min-height:88px;padding:20px}.brand{font-size:18px}.brand-mark{width:37px;height:37px;font-size:23px;border-radius:10px}.brand small{font-size:10px}.year-label{font-size:10px}.workspace{display:block;padding:0 20px;margin:0 auto 20px}.intro{position:static;padding:6px 4px 12px}.intro-tag{font-size:11px;margin-bottom:12px}.intro h1{font-size:30px;line-height:1.35;margin-bottom:13px}.intro h1 br{display:none}.intro>p{font-size:12px;line-height:1.8;margin-bottom:16px}.intro>p br{display:none}.distill-art,.intro .intro-foot{display:none}.steps{display:flex;justify-content:space-between;margin:14px 0 11px;gap:6px}.steps li{gap:6px;font-size:10px;margin:0;white-space:nowrap}.steps li span{width:20px;height:20px;font-size:10px}.panel,.lookup-panel{padding:25px 21px;border-radius:15px}.lookup-panel{margin-top:5px}.panel-icon{display:none}.lookup-panel h2{font-size:23px;margin-bottom:12px}.panel-description{font-size:12px;margin-bottom:22px}.field input,.field select,.field textarea{font-size:16px;min-height:48px;padding:11px}.field>span{font-size:12px}.lookup-panel .field{margin-bottom:18px}.privacy-note{font-size:10px}.field-grid{gap:17px 12px}.form-section{margin-bottom:25px}.field-grid .field[data-key="associationJoinDate"],.field-grid .field[data-key="department"],.field-grid .field[data-key="leagueJoinMonth"]{grid-column:1/-1}.form-section legend{font-size:15px}.league-section{padding:16px 13px}.league-section .field-grid{grid-template-columns:1fr}.panel-heading h2{font-size:22px}.panel-heading .text-button{font-size:11px}.workspace.mode-edit .intro h1,.workspace.mode-edit .intro-tag,.workspace.mode-edit .intro>p{display:none}.workspace.mode-edit .intro{padding-top:0}.notice{font-size:11px;margin-bottom:23px}.welcome-panel h2{font-size:29px}.welcome-panel{padding-top:30px}.qr-crop{width:min(265px,100%)}.site-footer{padding:20px;font-size:10px}.admin-main{padding:0 16px;margin-top:4px}.admin-login{margin:35px auto;padding:26px}.admin-title-row h1{font-size:27px}.admin-title-row .panel-description{font-size:11px}.admin-title-row .button{font-size:11px;min-height:38px;padding:8px 12px}.admin-toolbar{grid-template-columns:1fr auto;gap:10px}.admin-toolbar .search-label{grid-column:1/-1}.admin-toolbar select{font-size:12px}.admin-toolbar .button{font-size:12px}.export-row{gap:8px 18px}.export-row .text-button{font-size:11px}.export-row>span{margin-left:0;width:100%}.admin-editor{padding:23px 17px}.admin-editor h2{font-size:21px}.member-table td,.member-table th{padding:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#confetti{display:none}}
