body.campaign-mode.campaign-register-mode{margin:0!important;background:#96000b!important}
body.campaign-mode.campaign-register-mode .app-shell{width:min(100%,768px)!important;max-width:768px!important;background:#fff4df!important;box-shadow:0 0 32px rgba(61,0,0,.32)!important}
body.campaign-register-mode .topbar,body.campaign-register-mode .bottom-nav{display:none!important}
body.campaign-mode #app.page-wrap{padding:0!important}
.campaign-register-document{width:100%;min-height:0!important;padding:0!important;overflow:hidden;background:#fff4df!important;color:#1b1b1b!important;font-family:"Microsoft YaHei","PingFang SC",sans-serif}
.campaign-register-document,.campaign-register-document *{box-sizing:border-box}
.campaign-register-document .sanda-form{display:block!important;gap:0!important;margin:0!important;padding:0!important}

.sanda-hero{position:relative;height:344px;overflow:hidden;background:#bc0010 url("campaign-assets/sanda1007-hero.png") center/cover no-repeat;color:#ffe695}
.sanda-hero-copy{position:absolute;top:14px;left:16.4%;z-index:2;text-align:center;text-shadow:0 3px 4px #8d0904,0 0 10px rgba(127,0,0,.45)}
.sanda-hero-copy strong{display:block;font:900 46px/.96 "KaiTi","STKaiti","Kaiti SC",serif;letter-spacing:.035em;transform:rotate(-4deg)}
.sanda-hero-copy strong span{padding-left:35px}
.sanda-hero-copy small{display:block;margin-top:10px;color:#fff1b2;font-size:16px;letter-spacing:.15em;white-space:nowrap}
.sanda-chairman{position:absolute;top:48px;right:10.5%;z-index:2;padding:9px 7px 10px;border-radius:35% 18% 35% 20%;background:linear-gradient(90deg,rgba(100,0,0,.82),rgba(134,0,0,.7));box-shadow:0 0 10px rgba(131,0,0,.4);color:#ffe8a2;text-align:center;font:700 17px/1.25 "KaiTi","STKaiti",serif;writing-mode:vertical-rl;letter-spacing:.06em}
.sanda-chairman b{font-size:21px}
.sanda-hero-projects{position:absolute;z-index:3;right:16%;bottom:9px;left:16%;display:flex;justify-content:space-between;gap:12px}
.sanda-hero-medal{display:flex;flex:0 0 109px;width:109px;height:109px;flex-direction:column;align-items:center;justify-content:center;border:3px solid #ffd96b;border-radius:50%;background:radial-gradient(circle at 50% 27%,#e53105,#a50008 72%);box-shadow:0 3px 4px rgba(61,0,0,.64),inset 0 0 0 2px #fff3a7,inset 0 0 15px rgba(245,163,17,.45);color:#ffe27a;text-shadow:1px 2px 2px #5d0000}
.sanda-gate{display:block;width:52px;height:54px;margin-top:-4px;background:url("campaign-assets/sanda1007-gate.svg") center/contain no-repeat}
.sanda-hero-medal b{margin-top:4px;font-size:20px;line-height:1;white-space:nowrap}

.sanda-paper{position:relative;z-index:4;width:calc(100% - 52px);margin:-3px auto 0;border:3px solid #c8201d;border-radius:19px 19px 13px 13px;background:#fff7e9 url("campaign-assets/sanda1007-paper.png") center top/100% 100% no-repeat;box-shadow:inset 0 0 0 3px #f8d48b,0 4px 12px rgba(131,11,7,.14)}
.sanda-paper-inner{padding:9px 21px 9px}
.sanda-document-head{text-align:center;color:#a4000a}
.sanda-document-head h1{margin:0;font:900 40px/1.28 "SimSun","Songti SC",serif;letter-spacing:.075em;text-shadow:0 1px 0 #f6d7c0}
.sanda-document-head p{display:table;margin:4px auto 11px;padding:4px 20px 5px;border-radius:30px;background:linear-gradient(#d91b17,#a70007);box-shadow:inset 0 2px 1px rgba(255,231,209,.32);color:#fff;font-size:18px;font-weight:700;line-height:1.25;letter-spacing:.035em;white-space:nowrap}
.sanda-notice{display:flex;align-items:center;gap:24px;min-height:89px;margin:0 0 12px;padding:9px 24px;border:1px solid #e9a33c;border-radius:12px;background:rgba(255,248,230,.8)}
.sanda-notice-icon{flex:0 0 44px;color:#bc6a14;font:400 47px/1 "SimSun",serif}
.sanda-notice strong{display:block;color:#9e0800;font-size:20px;line-height:1.3}
.sanda-notice p{margin:3px 0 0;color:#1a1a1a;font-size:16px;line-height:1.28}

.sanda-section{overflow:visible;margin:0 0 12px;border:1px solid #f0c281;border-radius:14px;background:rgba(255,255,255,.82)}
.sanda-section h2{position:relative;display:flex;align-items:center;height:37px;margin:0 -1px;padding:0 13px 0 68px;border-radius:12px 12px 0 0;background:linear-gradient(90deg,#b80009,#df2927);color:#fff;font-size:19px;font-weight:800;letter-spacing:.025em}
.sanda-section h2>span{position:absolute;top:-2px;left:-3px;display:grid;place-items:center;width:54px;height:41px;clip-path:polygon(0 50%,16% 0,78% 0,100% 50%,78% 100%,16% 100%);background:linear-gradient(130deg,#730000,#e4170e);box-shadow:inset 2px 0 #ffdb72;color:#fff;font-size:23px;font-weight:700;letter-spacing:.025em}
.sanda-section-body{padding:10px 16px}
.sanda-fields{display:grid;gap:7px}
.sanda-form .sanda-fields label{display:grid;grid-template-columns:143px minmax(0,1fr);align-items:center;gap:7px;min-width:0;font-size:16px}
.sanda-fields label span{white-space:nowrap}
.sanda-form em{color:#dd0014;font-style:normal}
.sanda-form .sanda-fields input{display:block;width:100%;height:37px;min-width:0;padding:0 13px;border:1px solid #c8c8c8;border-radius:6px;background:rgba(250,250,250,.93);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:#202020;font:400 15px/1 "Microsoft YaHei","PingFang SC",sans-serif}
.sanda-form input::placeholder{color:#aaa}
.sanda-form input:focus{border-color:#c41014;outline:2px solid rgba(205,17,24,.15)}
.sanda-choice-body{padding:9px 15px 10px}
.sanda-choice-body>p{margin:0 0 7px;font-size:15px;line-height:1.3}
.sanda-form .sanda-project-options,.sanda-form .sanda-method-options{display:grid;gap:7px}
.sanda-project-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.sanda-form .sanda-project-options label{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;height:65px;padding:5px 9px;border:1px solid #d5d5d5;border-radius:7px;background:linear-gradient(#f9f9f9,#f4f4f4);cursor:pointer}
.sanda-project-options input,.sanda-method-options input{flex:0 0 18px;width:18px!important;height:18px!important;min-height:0!important;margin:0!important;accent-color:#bb080e}
.sanda-project-icon{display:grid;flex:0 0 47px;place-items:center;width:47px;height:47px;border:2px solid #f4b62f;border-radius:50%;background:radial-gradient(circle at 40% 28%,#e32203,#a60008 75%);box-shadow:inset 0 0 0 2px #970000;color:#ffe077;font:800 30px/1 "KaiTi","SimSun",serif}
.sanda-project-options b{overflow:hidden;color:#b60007;font-size:16px;white-space:nowrap}
.sanda-project-options label:has(input:checked),.sanda-method-options label:has(input:checked){border-color:#cb1618;background:#fff2e8;box-shadow:0 0 0 1px rgba(200,20,20,.22)}
.sanda-method-options{grid-template-columns:repeat(5,minmax(0,1fr))}
.sanda-form .sanda-method-options label{display:flex;align-items:center;justify-content:center;min-width:0;height:65px;gap:1px;padding:5px 2px;border:1px solid #d5d5d5;border-radius:7px;background:linear-gradient(#fafafa,#f4f4f4);cursor:pointer;flex-direction:column}
.sanda-method-options label{position:relative}
.sanda-method-options input{position:absolute;top:24px;left:7px}
.sanda-method-options label>span{height:30px;color:#656565;font:700 29px/1 "Microsoft YaHei",sans-serif}
.sanda-method-options label>b{font-size:14px;font-weight:600;white-space:nowrap}
.sanda-account-row{margin-top:8px}
.sanda-account-row label{display:block;margin-bottom:5px;color:#202020;font-size:14px;line-height:1.3}
.sanda-form .sanda-account-row input{display:block;width:100%;height:44px;padding:0 14px;border:1px solid #edcbc2;border-radius:2px;background:rgba(255,250,247,.95);color:#202020;font:400 15px/1 "Microsoft YaHei","PingFang SC",sans-serif}
.sanda-confirmations{padding:11px 18px}
.sanda-confirmations ol{display:grid;gap:5px;margin:0;padding:0;list-style:none;counter-reset:confirmation}
.sanda-confirmations li{position:relative;min-height:22px;padding-left:23px;font-size:14px;line-height:1.45;counter-increment:confirmation}
.sanda-confirmations li::before{content:counter(confirmation) '.';position:absolute;left:0;color:#9d0a11;font-weight:700}
.sanda-sign-body{display:grid;grid-template-columns:minmax(0,1fr) 188px;gap:17px;min-height:161px;padding:10px 18px}
.sanda-sign-info{display:flex;flex-direction:column;justify-content:space-around;min-width:0;font-size:16px}
.sanda-sign-info p{margin:0;line-height:1.52}
.sanda-sign-chairman{display:flex;align-items:flex-end;gap:12px;min-width:0}
.sanda-sign-chairman img{flex:none;width:46px;height:46px;object-fit:contain;mix-blend-mode:multiply}
.sanda-sign-row{display:flex;align-items:center;gap:5px;min-width:0}
.sanda-sign-row>span{flex:0 0 auto;white-space:nowrap}
.sanda-sign-line{position:relative;flex:1;height:38px;min-width:70px;border-bottom:1px solid #333;cursor:pointer}
.sanda-sign-line canvas{display:block;width:100%;height:100%;pointer-events:none}
.sanda-sign-line b{position:absolute;right:0;bottom:7px;left:0;color:#ad9b93;font-size:12px;font-weight:400;text-align:center;pointer-events:none}
.sanda-sign-line b[hidden]{display:none}
.sanda-sign-row button{width:22px;height:22px;padding:0;border:1px solid #d8b6a5;border-radius:50%;background:#fff8f2;color:#9a080d;font-size:17px;line-height:1;cursor:pointer}
.sanda-seal{display:grid;place-items:center;align-self:center;width:188px;height:138px;border:1px solid #8b8b8b;background:#fff}
.sanda-seal img{display:block;width:min(120px,15vw);max-width:calc(100% - 12px);height:auto;object-fit:contain}
.sanda-form .sanda-submit{display:block;width:84%;height:57px;margin:12px auto 0;border:0;border-radius:32px;background:linear-gradient(#f41b1f,#d5000b);box-shadow:inset 0 1px 1px rgba(255,255,255,.35);color:#fff;font:900 27px/1 "SimSun","Songti SC",serif;letter-spacing:.08em;cursor:pointer}
.sanda-submit span{margin-left:8px;font:400 40px/0 serif;vertical-align:-3px}
.sanda-submit:disabled{opacity:.6;cursor:wait}
.sanda-validation-message[hidden]{display:none}
.sanda-validation-message{position:fixed;z-index:100000;right:14px;bottom:calc(16px + env(safe-area-inset-bottom));left:14px;display:flex;align-items:flex-start;gap:12px;width:min(460px,calc(100vw - 28px));margin:0 auto;padding:12px 12px 12px 15px;border:1px solid #c91d27;border-radius:10px;background:#fffaf2;box-shadow:0 8px 28px rgba(81,16,10,.27);color:#931018;font-size:14px;font-weight:700;line-height:1.5}
.sanda-validation-message span{flex:1}.sanda-validation-message button{flex:none;width:24px;height:24px;padding:0;border:0;background:transparent;color:#931018;font-size:22px;line-height:1;cursor:pointer}
.sanda-form .sanda-fields input.is-invalid,.sanda-form .sanda-account-row input.is-invalid{border-color:#cf1520!important;box-shadow:0 0 0 2px rgba(207,21,32,.18)}
.sanda-project-options.is-invalid,.sanda-method-options.is-invalid,.sanda-sign-line.is-invalid{border-radius:7px;outline:2px solid #cf1520;outline-offset:2px}
.sanda-motto{display:flex;align-items:center;justify-content:center;gap:14px;margin:12px 0 0;color:#a40000;font:900 19px/1.4 "KaiTi","STKaiti",serif;letter-spacing:.12em;white-space:nowrap}
.sanda-motto i{width:35px;height:1px;background:#d8271c}
.sanda-footer-art{height:184px;margin-top:-5px;background:#fff4df url("campaign-assets/sanda1007-footer.png") center bottom/100% auto no-repeat}

.signature-fullscreen-open,.signature-fullscreen-open body{overflow:hidden!important;overscroll-behavior:none}
.signature-fullscreen-open body{position:fixed;right:0;left:0;width:100%}
.register-signature-fullscreen[hidden]{display:none!important}
.register-signature-fullscreen{position:fixed;z-index:999999;inset:0;width:100%;height:100vh;height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none;background:#f8f0e3;color:#4a2c2c}
.register-signature-stage{position:absolute;inset:0;overflow:hidden;overscroll-behavior:none;touch-action:none;background:linear-gradient(145deg,#fffdf8,#f7ead9)}
.register-signature-stage>canvas{position:absolute;top:45%;left:50%;display:block;width:min(calc(100% - 48px),960px);height:min(52vh,360px);height:min(52dvh,360px);border:1px solid #d8b6a5;border-radius:10px;background:#fffaf3;box-shadow:0 6px 24px rgba(84,24,15,.1);cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transform:translate(-50%,-50%)}
.register-signature-full-placeholder{position:absolute;inset:0 0 10%;display:grid;place-items:center;pointer-events:none;color:rgba(126,43,43,.3);font:900 clamp(30px,5vw,62px)/1 "KaiTi",serif;letter-spacing:.12em}
.register-signature-full-placeholder[hidden]{display:none}
.register-signature-toolbar{position:absolute;z-index:2;right:16px;bottom:16px;left:16px;display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(167,116,79,.35);border-radius:10px;background:#fffaf3;box-shadow:0 5px 22px rgba(84,24,15,.16)}
.register-signature-toolbar strong{color:#8f1018;font-size:16px}.register-signature-toolbar span{color:#8b7166;font-size:12px}
.register-signature-toolbar button{height:38px;padding:0 16px;border:1px solid #cfae91;border-radius:6px;background:#fffaf3;color:#8f1018;font-weight:700}
.register-signature-toolbar button[data-signature-complete]{border-color:#aa0711;background:#b60914;color:#fff}

@media(max-width:768px){
  .sanda-hero{height:44.8vw}
  .sanda-hero-copy{top:1.8vw}.sanda-hero-copy strong{font-size:6vw}.sanda-hero-copy small{margin-top:1vw;font-size:2vw}
  .sanda-chairman{top:6vw;padding:1vw;font-size:2.2vw}.sanda-chairman b{font-size:2.6vw}
  .sanda-hero-projects{bottom:1vw}.sanda-hero-medal{flex-basis:14.2vw;width:14.2vw;height:14.2vw;border-width:2px}.sanda-gate{width:6.8vw;height:7vw}.sanda-hero-medal b{font-size:2.5vw}
  .sanda-paper{width:calc(100% - 6.8vw);border-width:2px;border-radius:3vw}
  .sanda-paper-inner{padding:1.1vw 2.7vw 1vw}
  .sanda-document-head h1{font-size:5.2vw}.sanda-document-head p{margin:1vw auto 1.4vw;padding:.5vw 2.6vw;font-size:2.3vw}
  .sanda-notice{gap:3vw;min-height:11.6vw;margin-bottom:1.5vw;padding:1.2vw 3vw;border-radius:1.5vw}.sanda-notice-icon{flex-basis:5.7vw;font-size:6vw}.sanda-notice strong{font-size:2.6vw}.sanda-notice p{font-size:2.1vw}
  .sanda-section{margin-bottom:1.5vw;border-radius:1.8vw}.sanda-section h2{height:4.8vw;padding-left:8.9vw;border-radius:1.5vw 1.5vw 0 0;font-size:2.5vw}.sanda-section h2>span{width:7vw;height:5.4vw;font-size:3vw}
  .sanda-section-body{padding:1.3vw 2.1vw}.sanda-fields{gap:.9vw}.sanda-form .sanda-fields label{grid-template-columns:18.6vw minmax(0,1fr);gap:.9vw;font-size:2.1vw}.sanda-form .sanda-fields input{height:4.8vw;padding:0 1.7vw;border-radius:.8vw;font-size:2vw}
  .sanda-choice-body{padding:1.2vw 2vw}.sanda-choice-body>p{margin-bottom:.9vw;font-size:2vw}.sanda-form .sanda-project-options,.sanda-form .sanda-method-options{gap:.9vw}
  .sanda-form .sanda-project-options label{height:8.5vw;gap:1vw;padding:.6vw 1vw}.sanda-project-options input,.sanda-method-options input{flex-basis:2.3vw;width:2.3vw!important;height:2.3vw!important}.sanda-project-icon{flex-basis:6.1vw;width:6.1vw;height:6.1vw;font-size:3.9vw}.sanda-project-options b{font-size:2.1vw}
  .sanda-form .sanda-method-options label{height:8.5vw}.sanda-method-options input{top:3.1vw;left:.9vw}.sanda-method-options label>span{height:3.9vw;font-size:3.8vw}.sanda-method-options label>b{font-size:1.8vw}
  .sanda-account-row{margin-top:1vw}.sanda-account-row label{margin-bottom:.6vw;font-size:2vw}.sanda-form .sanda-account-row input{height:5.7vw;padding:0 1.8vw;font-size:2vw}
  .sanda-confirmations{padding:1.4vw 2.3vw}.sanda-confirmations ol{gap:.6vw}.sanda-confirmations li{min-height:2.8vw;padding-left:3vw;font-size:1.8vw}
  .sanda-sign-body{grid-template-columns:minmax(0,1fr) 24.5vw;gap:2.2vw;min-height:21vw;padding:1.3vw 2.3vw}.sanda-sign-info{font-size:2.1vw}.sanda-sign-chairman{gap:1.2vw}.sanda-sign-chairman img{width:5.8vw;height:5.8vw}.sanda-sign-line{height:5vw}.sanda-sign-line b{font-size:1.6vw}.sanda-sign-row button{width:3vw;height:3vw;font-size:2.3vw}.sanda-seal{width:24.5vw;height:18vw}
  .sanda-form .sanda-submit{height:7.4vw;margin-top:1.6vw;font-size:3.5vw}.sanda-submit span{font-size:5.2vw}.sanda-motto{gap:1.8vw;margin-top:1.6vw;font-size:2.5vw}.sanda-motto i{width:4.5vw}.sanda-footer-art{height:24vw}
  .register-signature-stage>canvas{width:calc(100% - 28px);height:min(30vh,220px);height:min(30dvh,220px)}
  .register-signature-toolbar{right:10px;bottom:calc(10px + env(safe-area-inset-bottom));left:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:9px 11px}.register-signature-toolbar strong{grid-column:1/-1;font-size:16px;line-height:1.2;text-align:center}.register-signature-toolbar span{display:none}.register-signature-toolbar button{min-width:0;height:42px;padding:0 8px;font-size:14px}
}
@media(max-width:420px){
  .sanda-hero-copy strong{font-size:6.3vw}.sanda-hero-copy small{font-size:1.85vw}
  .sanda-notice p{font-size:2.3vw}.sanda-form .sanda-fields label{font-size:2.4vw}.sanda-form .sanda-fields input{font-size:2.3vw}
  .sanda-project-options b{font-size:1.9vw}.sanda-method-options label>b{font-size:1.65vw}.sanda-confirmations li{font-size:2vw}
}
@media(max-width:500px){
  .sanda-form .sanda-project-options label{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:67px;padding:5px 3px}
  .sanda-project-options input{position:absolute;top:7px;left:7px;flex:none;width:14px!important;height:14px!important}
  .sanda-project-icon{flex:0 0 30px;width:30px;height:30px;font-size:20px}
  .sanda-project-options b{display:block;width:100%;overflow:visible;color:#b60007;font-size:14px;text-align:center;white-space:nowrap}
  .sanda-confirmations{padding:8px 10px}.sanda-confirmations ol{gap:5px}.sanda-confirmations li{min-height:0;padding-left:18px;font-size:12px;line-height:1.5}
}
