:root{color-scheme:dark;--bg:#080b12;--panel:#11151f;--panel-high:#171c28;--border:#2a3040;--border-soft:#242a38;--text:#f5f6fb;--muted:#939caf;--faint:#677187;--input:#191e2b;--input-border:#2e3547;--accent:#6567ff;--cyan:#26b2ff;--green:#13cea1;--green-bg:rgba(19,206,161,.1);--shadow:0 12px 35px rgba(0,0,0,.14);--gradient:linear-gradient(110deg,#6760ff 0%,#477efb 49%,#24b4f2 100%);--radius:22px;--focus:#a4b4ff}
:root[data-theme="light"]{color-scheme:light;--bg:#f6f8ff;--panel:#fff;--panel-high:#f9faff;--border:#dfe3f0;--border-soft:#e9ebf4;--text:#171c2d;--muted:#687287;--faint:#7d879a;--input:#f4f6fc;--input-border:#dfe4f0;--accent:#5755e8;--cyan:#178bdc;--green:#008c6b;--green-bg:rgba(0,140,107,.08);--shadow:0 10px 30px rgba(42,49,94,.06);--focus:#4a4ddb}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6;transition:background .2s,color .2s;isolation:isolate}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button{border:0}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}img{max-width:100%}[hidden]{display:none!important}.page-width{width:min(1480px,calc(100% - 80px));margin-inline:auto}.ambient{position:fixed;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(90px);opacity:.13}.ambient-one{width:560px;height:400px;top:-300px;left:50%;background:#6a58ff;transform:translateX(-50%)}.ambient-two{width:420px;height:380px;right:-300px;top:260px;background:#4862fd;opacity:.07}:root[data-theme="light"] .ambient{opacity:.07}.topbar{min-height:101px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:13px;min-width:0}.brand-mark{width:47px;height:47px;border-radius:15px;display:grid;place-items:center;background:var(--gradient);box-shadow:0 5px 23px #4f72f939;color:white}.brand-mark svg{width:29px;height:29px;stroke-width:2.15}.brand strong{display:block;font-size:19px;font-weight:750;letter-spacing:-.55px;line-height:1.3}.brand small{display:block;color:var(--muted);font-size:12px;letter-spacing:.15px;margin-top:4px}.top-actions{display:flex;gap:12px;align-items:center}.tutorial-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;border:1px solid #5450a757;background:#7163ff0b;color:#b0b4ff;border-radius:30px;font-size:13px;font-weight:650;min-height:44px}.tutorial-button:hover{background:#7163ff20}.tutorial-button svg{width:17px;height:17px}.arrow-icon{font-size:16px;margin-left:4px}:root[data-theme="light"] .tutorial-button{color:#5b54d4;border-color:#d8d4ff;background:#ededff}.language-switch{display:flex;border:1px solid var(--border);border-radius:30px;overflow:hidden;background:var(--panel);height:44px}.language-switch button{width:45px;background:transparent;color:var(--muted);font-weight:700;font-size:13px}.language-switch button[aria-pressed="true"]{color:#fff;background:var(--gradient)}.icon-button{display:grid;place-items:center;width:43px;height:43px;border:1px solid var(--border);border-radius:14px;background:var(--panel);color:var(--muted)}.icon-button:hover{color:var(--text);border-color:var(--faint)}.icon-button svg{width:22px;height:22px}.moon-icon{display:none}:root[data-theme="light"] .sun-icon{display:none}:root[data-theme="light"] .moon-icon{display:block}.hero{text-align:center;padding:0 0 28px}.announcement{display:flex;justify-content:center;align-items:center;gap:8px;font-weight:600;font-size:13px;letter-spacing:.6px;color:#d4d8e8;margin:2px 0 21px}.announcement>span:first-child{color:#ffb45d;font-size:19px}:root[data-theme="light"] .announcement{color:#4e5874}.hero-badge{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:650;letter-spacing:.5px;color:#b4b6ff;background:#6760ff13;border:1px solid #7170fd13;border-radius:30px;padding:6px 18px}.hero-badge>span:first-child{font-size:20px;line-height:1;color:#ffab55}:root[data-theme="light"] .hero-badge{color:#6660d6;background:#ebeaff}.hero h1{font-size:clamp(29px,3.5vw,51px);line-height:1.28;letter-spacing:-1.6px;font-weight:800;margin:13px 0 8px}.gradient-text{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-note{font-size:12px;letter-spacing:1px;color:var(--faint)}.portal-grid{display:grid;grid-template-columns:minmax(250px,1fr) minmax(450px,2.05fr) minmax(250px,1fr);gap:21px;align-items:start}.panel{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(135deg,var(--panel-high),var(--panel) 55%);box-shadow:var(--shadow)}.guide-panel,.support-panel{padding:25px 24px 19px;min-height:586px}.section-eyebrow{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:650;letter-spacing:1.8px;color:var(--faint);margin-bottom:9px}.eyebrow-line{height:2px;width:15px;border-radius:3px;background:#7167ff}.guide-panel h2{font-size:23px;letter-spacing:-.6px;font-weight:750}.guide-intro{font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.8;white-space:pre-line}.guide-steps{margin:16px 0 0;padding:0;list-style:none}.guide-step{display:flex;gap:13px;padding:15px 0;border-bottom:1px solid var(--border-soft)}.guide-step:first-child{padding-top:8px}.guide-step:last-child{border-bottom:0;padding-bottom:12px}.step-number{width:37px;height:38px;border:1px solid var(--input-border);border-radius:11px;background:linear-gradient(140deg,#ffffff08,#ffffff02);display:grid;place-items:center;font-size:12px;font-weight:750;color:#dde2f3;flex-shrink:0;box-shadow:inset 0 1px 1px #ffffff08}:root[data-theme="light"] .step-number{color:#5c5bba;background:#f1f2fc;border-color:#e2e4f4}.step-copy{min-width:0;flex:1}.step-copy h3{font-size:14px;font-weight:700;margin:0 0 3px}.step-copy p{color:var(--muted);font-size:12px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}.small-link{display:inline-flex;align-items:center;gap:10px;border-radius:8px;color:#fff;background:var(--gradient);padding:7px 11px;font-size:11px;font-weight:650;margin-top:9px;box-shadow:0 4px 10px #5555ff19}.small-link:hover{filter:brightness(1.1)}.small-link.secondary{color:#acb3ff;background:#7469fd12;border:1px solid #6460bb45;box-shadow:none}.guide-help{display:flex;align-items:center;gap:7px;margin-top:7px;padding-top:16px;border-top:1px solid var(--border-soft);font-size:10.5px;color:var(--muted)}.guide-help svg{width:14px;height:14px}.guide-help>span:last-child{margin-left:auto;color:#a9a6ff}.main-column{display:grid;gap:18px}.status-panel{height:85px;border-color:#5951a668;display:grid;grid-template-columns:1fr 1fr;align-items:center;border-radius:19px}.status-half{display:grid;justify-items:center;gap:2px;position:relative}.status-half+div:before{content:"";position:absolute;width:1px;height:44px;background:var(--border);left:0;top:4px}.status-half>span{font-size:11px;color:var(--muted)}.status-heading{display:flex;align-items:center;gap:8px;color:var(--green);font-size:20px;font-weight:750}.status-heading.offline{color:#ffba6a}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px var(--green-bg)}.status-dot.offline{background:#ffba6a;box-shadow:0 0 0 5px #ffba6a18}.eta-heading{display:flex;align-items:baseline;gap:5px;line-height:1.5}.eta-heading strong{font-size:27px;font-weight:800;letter-spacing:1px}.eta-heading>span{font-size:11px;color:var(--muted);font-weight:650}.redemption-panel{min-height:483px;padding:24px 26px 0;overflow:hidden}.service-tabs{display:flex;align-items:center;gap:8px;border-radius:30px;max-width:480px;margin:0 auto}.service-tab{display:flex;flex:1;align-items:center;justify-content:center;gap:6px;min-height:43px;border:1px solid var(--border);border-radius:26px;font-size:12px;font-weight:650;color:var(--muted);background:transparent;padding:6px 10px;white-space:nowrap}.service-tab svg{width:15px;height:15px}.service-tab.active{color:#fff;background:var(--gradient);border-color:transparent;box-shadow:0 4px 18px #595dfa23}.service-tab:hover:not(.active){background:var(--input);color:var(--text)}.progress-steps{display:flex;justify-content:space-between;list-style:none;padding:0 18px;margin:30px 0 26px}.progress-steps li{position:relative;display:flex;flex-direction:column;align-items:center;flex:1;gap:8px;color:var(--faint)}.progress-steps li+li:before{content:"";width:calc(100% - 68px);height:2px;background:var(--border);position:absolute;top:23px;right:calc(50% + 34px)}.progress-number{width:47px;height:47px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--input);font-size:14px;font-weight:750;box-shadow:inset 0 1px 2px #ffffff03}.progress-steps strong{font-size:11.5px;font-weight:650;white-space:nowrap}.progress-steps li.current{color:var(--text)}.progress-steps li.current .progress-number,.progress-steps li.complete .progress-number{color:#fff;border-color:transparent;background:var(--gradient);box-shadow:0 5px 16px #446efa3d}.progress-steps li.complete{color:var(--muted)}.progress-steps li.complete+li:before{background:linear-gradient(90deg,#5f67e6,var(--border))}.field-label{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;margin:0 0 10px}.field-label svg{width:18px;height:18px;color:#9390ff}.field-label-tag{margin-left:auto;font-size:9px;font-weight:500;color:var(--faint);letter-spacing:.5px}input,textarea{width:100%;border:1px solid var(--input-border);border-radius:12px;background:var(--input);color:var(--text);padding:13px 15px;line-height:1.6;box-shadow:inset 0 2px 4px #00000004;transition:border-color .15s}input:hover,textarea:hover{border-color:#4d5470}input:focus,textarea:focus{border-color:#7771f1;outline:0;box-shadow:0 0 0 3px #6863f01f}.code-input{height:55px;font-size:14px;letter-spacing:.4px}.code-input::placeholder{letter-spacing:0}input::placeholder,textarea::placeholder{color:var(--faint)}textarea{resize:vertical;min-height:90px}.input-help{font-size:11px;line-height:1.7;margin:9px 0 16px;color:var(--muted)}.primary-button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:45px;padding:10px 20px;border:0;border-radius:12px;background:var(--gradient);color:#fff;font-weight:700;font-size:13px;box-shadow:0 7px 20px #545cf532}.primary-button:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 9px 22px #545cf546}.redeem-button{display:flex;width:100%;height:58px;border-radius:30px;font-size:15px;position:relative}.redeem-button svg{width:19px;height:19px}.button-arrow{position:absolute;right:24px;font-size:20px;font-weight:400;opacity:.85}.security-note{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--faint);font-size:9px;letter-spacing:.15px;min-height:48px;margin-top:18px;border-top:1px solid var(--border-soft)}.security-note svg{width:13px;height:13px}.tab-intro{margin:24px 0 22px;padding:13px 15px;font-size:12px;line-height:1.8;background:#6b63fd0b;border:1px solid #6b63fd23;border-radius:12px;color:var(--muted)}.exchange-fields .field-label{font-size:12px;margin-top:15px}.exchange-fields input,.exchange-fields textarea{font-size:12px}.exchange-fields .input-help{margin-bottom:18px}.support-panel h2{font-size:18px;font-weight:750;letter-spacing:-.45px}.support-intro{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.75}.contact-list{display:grid;gap:11px;margin:22px 0 23px}.contact-row{display:flex;align-items:center;gap:9px;min-width:0}.contact-icon{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:8px;background:#14bf9210;color:#2cd6a9}.contact-icon.qq{color:#6ea3ff;background:#6ea3ff0e}.contact-icon svg{width:16px;height:16px;stroke-width:1.5}.contact-copy{min-width:0;flex:1;font-size:11px;display:flex;flex-wrap:wrap;gap:2px 5px;align-items:center}.contact-copy span{color:var(--muted)}.contact-copy strong{font-size:11px;font-weight:650;overflow-wrap:anywhere}.contact-copy-button{background:transparent;color:var(--faint);display:grid;place-items:center;padding:4px;border-radius:5px}.contact-copy-button svg{width:13px;height:13px}.contact-copy-button:hover{color:var(--text);background:var(--input)}.qr-carousel{padding:14px 14px 10px;border:1px solid var(--border-soft);background:#ffffff01;border-radius:16px}.qr-label{display:flex;align-items:center;gap:6px;font-size:10px;margin-bottom:12px;min-height:19px}.mini-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#8482ff;flex-shrink:0}.qr-label strong{font-weight:600;min-width:0;overflow-wrap:anywhere}.qr-counter{margin-left:auto;color:var(--faint);font-size:8px;font-variant-numeric:tabular-nums;letter-spacing:1px;white-space:nowrap}.qr-image-wrap{aspect-ratio:1;max-width:264px;margin:auto;border:1px solid var(--border-soft);border-radius:11px;overflow:hidden;background:var(--input);padding:12px;display:grid;place-items:center}.qr-image-wrap:has(img:not([hidden])){background:white}.qr-image-wrap img{width:100%;height:100%;object-fit:contain;display:block;min-height:0;max-height:240px}.qr-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;width:100%;height:100%;border:1px dashed #67718850;border-radius:7px;color:var(--faint);padding:8px}.qr-placeholder svg{width:49px;height:49px;stroke-width:1.2;margin-bottom:3px;color:#677188}.qr-placeholder strong{font-size:11px;font-weight:500}.qr-placeholder span{font-size:8px;line-height:1.7}.qr-caption{font-size:11px;text-align:center;color:var(--muted);padding-top:10px;min-height:28px}.carousel-controls{display:flex;justify-content:center;align-items:center;gap:9px;height:25px;margin-top:6px}.carousel-arrow,.carousel-pause{height:26px;min-width:26px;background:transparent;color:var(--faint);border-radius:7px;font-size:19px;line-height:1}.carousel-pause{font-size:11px;min-width:23px}.carousel-arrow:hover,.carousel-pause:hover{background:var(--input);color:var(--text)}.carousel-dots{display:flex;align-items:center;gap:2px}.carousel-dot{position:relative;display:grid;place-items:center;width:20px;height:24px;background:transparent;border-radius:6px;padding:0}.carousel-dot:before{content:"";width:5px;height:5px;border-radius:4px;background:var(--border)}.carousel-dot[aria-pressed="true"]:before{width:17px;background:var(--gradient)}.support-bottom{display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px;color:var(--faint);margin-top:16px}.support-bottom svg{width:12px;height:12px}.portal-footnote{display:flex;justify-content:center;align-items:center;gap:6px;color:var(--faint);font-size:9px;margin:22px auto 0;letter-spacing:.2px}.portal-footnote .mini-dot{background:var(--green);width:4px;height:4px}.site-footer{min-height:72px;display:flex;justify-content:center;align-items:center;gap:13px;font-size:10px;color:var(--faint);text-align:center}.site-footer a{color:#9b9cf7}.footer-divider{color:var(--border)}.notice{padding:12px 14px;border-radius:11px;font-size:12px;line-height:1.7;white-space:pre-line;border:1px solid #6479ed44;background:#6479ed10;color:var(--muted);margin-top:16px;overflow-wrap:anywhere}.notice.success{color:var(--green);border-color:#11ac8044;background:var(--green-bg)}.notice.error{color:#f19797;border-color:#ee747444;background:#ee74740b}:root[data-theme="light"] .notice.error{color:#b12d3c}.result{margin-top:18px;padding:17px;border:1px solid #10b88c3b;border-radius:15px;background:#10b88c06}.result-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.result-heading h3{font-size:14px;font-weight:700}.result-badge{font-size:9px;background:var(--green-bg);color:var(--green);padding:2px 7px;border-radius:5px;white-space:nowrap}.result-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:10px;color:var(--muted);margin-bottom:12px}.result-meta dd{margin:0;text-align:right;overflow-wrap:anywhere}.result-meta dt{color:var(--faint)}.delivery-content{font-family:inherit;font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;max-height:360px;overflow:auto;background:var(--input);border:1px solid var(--border-soft);border-radius:9px;margin:0;padding:12px}.result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.result-actions .primary-button{font-size:11px;min-height:36px;padding:6px 12px;border-radius:9px;box-shadow:none}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:6px 12px;background:var(--input);color:var(--text);border:1px solid var(--border);border-radius:9px;font-size:11px;font-weight:600}.secondary-button:hover{border-color:var(--faint)}.result-note{font-size:10px;color:var(--faint);line-height:1.8;margin-top:11px}.ticket-list{display:grid;gap:8px;margin-top:15px}.ticket-card{padding:12px;border:1px solid var(--border-soft);border-radius:10px;background:var(--input)}.ticket-card h4{margin:0 0 5px;font-size:11px}.ticket-card p{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);line-height:1.8}.ticket-card small{display:block;color:var(--faint);font-size:9px;margin-top:5px}.skip-link{position:fixed;left:15px;top:-70px;z-index:50;background:var(--accent);color:white;padding:9px 16px;border-radius:8px}.skip-link:focus{top:15px}.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}.noscript-notice{position:fixed;bottom:0;left:0;right:0;text-align:center;background:#aa2540;color:#fff;padding:15px;z-index:60}.busy{animation:busy-pulse 1.3s ease-in-out infinite}@keyframes busy-pulse{50%{opacity:.6}}
.tutorial-main{max-width:1160px}.breadcrumb{display:inline-flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);margin:19px 0}.breadcrumb>span:last-child{color:var(--text)}.tutorial-hero{text-align:center;padding:17px 0 41px}.tutorial-hero h1{font-size:42px;letter-spacing:-1.4px;margin:15px 0 11px;line-height:1.3}.tutorial-hero p{max-width:720px;margin:auto;color:var(--muted);font-size:13px;white-space:pre-line}.tutorial-layout{display:grid;grid-template-columns:225px 1fr;gap:24px;align-items:start}.tutorial-nav{padding:23px 20px;position:sticky;top:24px}.tutorial-nav nav{display:grid;margin:13px 0 23px;gap:4px}.toc-link{display:flex;gap:10px;font-size:12px;padding:9px 7px;border-radius:8px;color:var(--muted)}.toc-link:hover{color:var(--text);background:var(--input)}.toc-link span:first-child{color:#a1a2ff;font-size:10px;padding-top:2px;font-variant-numeric:tabular-nums}.tutorial-nav>.primary-button{width:100%;font-size:12px}.tutorial-section{padding:27px 29px;margin-bottom:18px}.tutorial-section-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.tutorial-section-title .step-number{width:34px;height:34px;border-radius:9px;color:#b3b4ff;background:#7064ff12}.tutorial-section-title h2{font-size:18px;letter-spacing:-.35px}.tutorial-section-body{font-size:13px;line-height:2;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.faq-panel{padding:25px 29px;margin-top:25px}.faq-panel h2{font-size:21px;margin-bottom:18px}.faq-item{border-top:1px solid var(--border-soft)}.faq-item summary{padding:15px 22px 15px 0;font-size:13px;font-weight:600;cursor:pointer;position:relative;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:2px;color:#9a98ed;font-size:19px;top:11px}.faq-item[open] summary:after{content:"−"}.faq-item p{font-size:12px;color:var(--muted);line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;padding-bottom:17px}.tutorial-cta{padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:23px 0 28px;border-color:#7065bc4d}.tutorial-cta h2{font-size:19px;margin-bottom:5px}.tutorial-cta p{font-size:11px;color:var(--muted)}.tutorial-cta>.primary-button{font-size:12px;white-space:nowrap}.tutorial-page .site-footer{margin-top:12px}
@media(min-width:1550px){.page-width{width:min(1540px,calc(100% - 110px))}.topbar{min-height:113px}.brand-mark{width:51px;height:51px}.brand strong{font-size:21px}.brand small{font-size:13px}.hero{padding-bottom:31px}.hero h1{font-size:54px;margin-top:15px}.hero-note{font-size:13px}.announcement{font-size:15px}.hero-badge{font-size:13px}.portal-grid{gap:24px;grid-template-columns:1fr 2.06fr 1fr}.guide-panel,.support-panel{padding:29px 26px 21px;min-height:635px}.guide-panel h2{font-size:25px}.guide-intro{font-size:14px}.guide-step{padding:18px 0}.step-copy h3{font-size:16px}.step-copy p{font-size:13px}.small-link{font-size:12px}.step-number{width:42px;height:43px;font-size:13px}.section-eyebrow{font-size:10px}.guide-help{font-size:11px}.status-panel{height:94px}.status-heading{font-size:23px}.status-half>span{font-size:13px}.eta-heading strong{font-size:30px}.eta-heading>span{font-size:13px}.main-column{gap:20px}.redemption-panel{min-height:521px;padding:29px 29px 0}.service-tabs{max-width:540px}.service-tab{min-height:47px;font-size:14px}.progress-steps{margin:33px 0 31px}.progress-number{width:52px;height:52px;font-size:16px}.progress-steps strong{font-size:13px}.progress-steps li+li:before{top:26px}.field-label{font-size:17px}.code-input{height:60px;font-size:16px}.input-help{font-size:12px}.redeem-button{height:63px;font-size:17px}.security-note{font-size:10px;min-height:52px}.support-panel h2{font-size:21px}.support-intro{font-size:12px}.contact-list{gap:13px;margin:25px 0}.contact-copy,.contact-copy strong{font-size:12px}.qr-carousel{padding:16px 17px 10px}.qr-label{font-size:11px}.qr-caption{font-size:12px}.qr-placeholder strong{font-size:12px}.qr-placeholder span{font-size:9px}.support-bottom{font-size:10px;margin-top:17px}.site-footer{font-size:11px}}
@media(max-width:1170px){.page-width{width:calc(100% - 42px)}.portal-grid{grid-template-columns:minmax(210px,1fr) minmax(390px,1.85fr);gap:18px}.support-panel{grid-column:1/-1;min-height:0;display:grid;grid-template-columns:1.2fr 1fr;column-gap:30px;padding:22px 26px}.support-panel .section-eyebrow,.support-panel h2,.support-panel .support-intro,.support-panel .contact-list,.support-panel .support-bottom{grid-column:1}.support-panel .section-eyebrow{align-self:end;margin-bottom:6px}.support-panel h2{align-self:center}.support-panel .contact-list{margin:17px 0;align-content:start}.support-panel .qr-carousel{grid-column:2;grid-row:1/7;display:grid;grid-template-columns:145px 1fr;gap:0 20px;align-items:center;max-width:400px;width:100%;justify-self:end;padding:14px}.support-panel .qr-image-wrap{grid-column:1;grid-row:1/5;width:145px}.support-panel .qr-label{grid-column:2;align-self:end;margin-bottom:5px}.support-panel .qr-label .qr-counter{display:none}.support-panel .qr-caption{grid-column:2;font-size:10px;align-self:start}.support-panel .carousel-controls{grid-column:2;gap:2px;margin-top:0}.support-panel .support-bottom{justify-content:flex-start;margin-top:0;align-self:end}.guide-panel{padding-inline:20px;min-height:586px}.redemption-panel{padding-inline:23px}.hero h1{font-size:42px}.hero{padding-bottom:25px}.hero-note{font-size:11px}.topbar{min-height:95px}.announcement{margin-bottom:16px}.tutorial-main{max-width:1080px}.tutorial-layout{grid-template-columns:210px 1fr}}
@media(max-width:760px){.page-width{width:calc(100% - 32px)}.topbar{min-height:85px;gap:10px}.brand{gap:9px}.brand-mark{width:38px;height:38px;border-radius:12px}.brand-mark svg{width:25px;height:25px}.brand strong{font-size:15px;letter-spacing:-.3px}.brand small{font-size:9px;margin-top:2px}.top-actions{gap:7px}.tutorial-button{width:35px;min-height:35px;height:35px;padding:0;border-radius:11px}.tutorial-button span,.tutorial-button .arrow-icon{display:none}.tutorial-button svg{width:17px;height:17px}.language-switch{height:35px}.language-switch button{width:31px;font-size:11px}.icon-button{width:35px;height:35px;border-radius:11px}.icon-button svg{width:19px;height:19px}.hero{padding:5px 0 24px}.announcement{font-size:10px;gap:5px;letter-spacing:.1px;margin:3px 0 13px}.announcement>span:first-child{font-size:15px}.hero-badge{padding:5px 12px;font-size:10px}.hero h1{font-size:clamp(26px,5.4vw,39px);letter-spacing:-1px;margin:13px 0 7px}.hero-note{font-size:10px;letter-spacing:.4px}.portal-grid{grid-template-columns:1fr;gap:16px}.main-column{grid-row:1;gap:13px}.status-panel{height:79px}.status-heading{font-size:19px}.eta-heading strong{font-size:26px}.status-half>span{font-size:10px}.redemption-panel{min-height:0;padding:22px 20px 0;border-radius:19px}.service-tab{font-size:11px;padding:7px 8px;min-height:42px;gap:5px}.service-tab svg{width:14px;height:14px}.service-tabs{gap:7px}.progress-steps{margin:27px 0 25px;padding:0 1px}.progress-steps strong{font-size:10px}.progress-number{width:43px;height:43px;font-size:13px}.progress-steps li+li:before{top:21px;width:calc(100% - 56px);right:calc(50% + 28px)}.field-label{font-size:14px}.code-input{font-size:14px;height:54px}.input-help{font-size:10px;margin:9px 0 17px}.redeem-button{height:53px;font-size:14px}.security-note{font-size:8px;min-height:43px;margin-top:20px}.guide-panel{padding:23px 21px 18px;min-height:0}.guide-panel h2{font-size:21px}.guide-intro{font-size:12px}.guide-steps{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin-top:18px}.guide-step{padding:14px 0;gap:10px;align-items:flex-start}.guide-step:first-child{padding-top:14px}.guide-step:nth-child(3){border-bottom:0}.step-number{width:31px;height:33px;font-size:10px;border-radius:9px}.step-copy h3{font-size:12px}.step-copy p{font-size:10px}.small-link{font-size:10px;padding:6px 8px;gap:5px;margin-top:8px}.guide-help{font-size:10px;margin-top:7px;padding-top:13px}.support-panel{display:block;padding:23px 21px 19px;grid-column:auto}.support-panel h2{font-size:20px}.support-intro{font-size:12px}.contact-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px!important;margin:20px 0!important}.contact-copy{font-size:10px}.contact-copy strong{font-size:10px}.support-panel .qr-carousel{display:block;max-width:100%;padding:18px 22px 10px}.support-panel .qr-image-wrap{width:min(225px,100%);max-width:225px;margin:0 auto;padding:11px}.support-panel .qr-label{margin-bottom:14px;align-items:center;font-size:11px}.support-panel .qr-label .qr-counter{display:block}.support-panel .qr-caption{font-size:12px;margin-top:5px}.support-panel .carousel-controls{gap:10px;margin-top:8px}.support-panel .support-bottom{justify-content:center;margin-top:15px}.qr-placeholder strong{font-size:12px}.qr-placeholder span{font-size:9px}.portal-footnote{font-size:9px;align-items:flex-start;margin:20px 8px 0;text-align:center}.portal-footnote .mini-dot{margin-top:6px}.site-footer{font-size:9px;gap:8px;flex-wrap:wrap;padding:18px 5px;min-height:65px;line-height:1.8}.tutorial-page .tutorial-button{width:auto;padding:0 9px}.tutorial-page .tutorial-button span:first-child{display:block}.tutorial-page .tutorial-button span:last-child{display:none}.tutorial-main .breadcrumb{margin:10px 0}.tutorial-hero{padding:17px 0 27px}.tutorial-hero h1{font-size:31px;margin:13px 0 10px}.tutorial-hero p{font-size:12px}.tutorial-layout{display:block}.tutorial-nav{position:static;padding:19px;margin-bottom:17px}.tutorial-nav nav{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}.toc-link{padding:6px 9px;background:var(--input);font-size:11px}.tutorial-nav>.primary-button{display:none}.tutorial-section{padding:21px 20px;margin-bottom:14px}.tutorial-section-title{gap:10px;margin-bottom:14px}.tutorial-section-title h2{font-size:16px}.tutorial-section-body{font-size:12px}.faq-panel{padding:21px 20px;margin-top:18px}.faq-panel h2{font-size:20px}.faq-item summary{font-size:12px}.tutorial-cta{padding:20px;align-items:flex-start;flex-direction:column;gap:17px}.tutorial-cta h2{font-size:19px}.tutorial-cta>.primary-button{width:100%}.tutorial-page .brand strong{font-size:14px}}
@media(max-width:380px){.page-width{width:calc(100% - 24px)}.brand strong{font-size:13px}.brand small{font-size:8px}.brand-mark{width:34px;height:34px}.top-actions{gap:5px}.tutorial-button{display:none}.hero h1{font-size:25px}.redemption-panel{padding-inline:16px}.service-tab{font-size:10px;gap:4px}.service-tab svg{display:none}.contact-list{grid-template-columns:1fr}.guide-steps{gap:0 12px}.guide-step{gap:8px}.step-copy h3{font-size:11px}.small-link{font-size:9px;padding:6px}}
.delivery-section-heading{margin:0 0 9px;font-size:12px;font-weight:650;color:var(--text)}
.product-delivery-note{margin-top:19px;padding-top:16px;border-top:1px solid var(--border-soft)}
.product-note-content{padding:13px 14px;border:1px solid var(--border-soft);border-left:3px solid var(--accent);border-radius:9px;background:var(--input);font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}
/* Fit the desktop home frame after the editable heading and reserve space for
   the visible footer. Small phones/tablets keep their normal document flow. */
@media(min-width:1171px){
  .portal-grid{--portal-height:max(520px,calc(100vh - var(--portal-offset,340px) - 52px));height:var(--portal-height);min-height:var(--support-content-floor,0px);align-items:stretch}
  @supports(height:100dvh){.portal-grid{--portal-height:max(520px,calc(100dvh - var(--portal-offset,340px) - 52px))}}
  body:not(.tutorial-page) .portal-footnote{margin-top:8px;line-height:14px}
  body:not(.tutorial-page) .site-footer{min-height:28px;line-height:16px;padding:5px 0;font-size:9px}
  .portal-grid>.guide-panel,.portal-grid>.support-panel{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}
  .portal-grid>.guide-panel{padding-top:21px}
  .portal-grid .panel-scroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent;padding:4px;margin:-4px;overflow-wrap:anywhere}
  .guide-panel .guide-steps{margin-top:10px}
  .guide-panel .guide-step,.guide-panel .guide-step:first-child,.guide-panel .guide-step:last-child{padding-block:clamp(10px,calc(2vh - 9px),17px)}
  .guide-panel .small-link{margin-top:6px;padding-block:6px}
  .guide-panel .guide-help{flex:0 0 auto;min-height:38px;margin-top:10px;padding-top:13px}
  .support-panel .support-bottom{flex:0 0 auto;min-height:27px;margin-top:14px}
  .portal-grid>.main-column{height:100%;min-height:0;grid-template-rows:85px minmax(0,1fr)}
  .main-column>.status-panel{height:100%;min-height:0}
  .main-column>.redemption-panel{min-height:0;display:flex;flex-direction:column;padding-top:22px;overflow:hidden}
  .redemption-panel>.service-tabs{flex:0 0 auto;width:100%}
  .redemption-panel>#service-content{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent;padding:0 6px 8px;margin:4px -6px 0;scroll-padding-block:12px}
  .redemption-panel>.security-note{flex:0 0 auto;min-height:41px;margin-top:7px;padding:8px 0;text-align:center}
  .redemption-panel .progress-steps{margin-top:clamp(27px,3.1vh,40px);margin-bottom:clamp(25px,3vh,38px)}
  .redemption-panel .tab-intro{margin:13px 0 14px;padding:10px 13px;font-size:12px;line-height:1.7}
  .redemption-panel .field-label{margin-bottom:8px}
  .redemption-panel .code-input{height:48px}
  .redemption-panel .input-help{margin:7px 0 12px}
  .redemption-panel .exchange-fields{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:9px 14px;margin-top:2px}
  .redemption-panel .exchange-field{min-width:0}
  .redemption-panel .exchange-field>.field-label{margin-top:0;margin-bottom:7px;font-size:12px;line-height:1.6}
  .redemption-panel .exchange-field>input{height:45px;padding:10px 12px;font-size:12px}
  .redemption-panel .exchange-field>textarea{display:block;min-height:77px;height:77px;padding:9px 12px;font-size:12px;line-height:1.6}
  .redemption-panel .exchange-fields>.input-help{grid-column:1/-1;margin:0;font-size:11px;line-height:1.7}
  .redemption-panel .submit-dock{position:sticky;bottom:0;z-index:2;margin-top:2px;padding:10px 0 5px;background:linear-gradient(180deg,transparent,var(--panel) 10px)}
  .redemption-panel .redeem-button{height:52px}
  .redemption-panel .result{margin-top:14px}
  .redemption-panel .delivery-content{max-height:none;overflow:visible}
  .panel-scroll:focus-visible,#service-content:focus-visible{outline-offset:-3px}
}
@media(min-width:1550px){
  .portal-grid>.guide-panel{padding-top:25px}
  .portal-grid>.main-column{grid-template-rows:94px minmax(0,1fr)}
  .main-column>.redemption-panel{padding-top:25px}
  .redemption-panel>.security-note{min-height:43px}
}
@media(min-width:761px) and (max-width:1170px){.support-scroll{display:contents}}
.clipboard-buffer{position:fixed;left:-10000px;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
/* Two independent support images. Never crop QR codes; the carousel remains an
   alternate template, with its original controls and responsive rules intact. */
.support-image-panels{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}
.support-image-card{display:flex;flex-direction:column;min-width:0;min-height:0;padding:12px 10px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,#ffffff03,#ffffff00)}
.support-image-slot{display:contents}
.support-image-label{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin:0 0 11px;font-size:14px;font-weight:750;line-height:1.5;overflow-wrap:anywhere}
.support-image-label>span:last-child{min-width:0}
.support-image-label>.mini-dot{width:6px;height:6px}
/* The natural-flow layout keeps square images on phones and tablets. On desktop,
   the two cards share the support panel's available height (see the rules below). */
.support-image-wrap{position:relative;display:grid;place-items:center;flex:0 0 auto;width:100%;aspect-ratio:1;min-height:0;border:1px solid var(--border-soft);border-radius:12px;overflow:hidden;background:var(--input)}
.support-image-wrap.has-image{background:#fff;border-color:#ffffffb3;box-shadow:0 4px 18px #00000012}
.support-image-wrap>img{position:absolute;inset:0;width:100%;height:100%;padding:6px;object-fit:contain;display:block}
.support-image-placeholder{position:absolute;inset:9px;width:auto;height:auto}
.support-image-symbol{font-size:36px!important;line-height:1!important;color:var(--faint)}
.support-image-caption{flex:0 0 auto;margin:11px 0 1px;text-align:center;color:var(--muted);font-size:13px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}
.qr-carousel .carousel-controls{height:auto;min-height:25px;flex-wrap:wrap}
.qr-carousel .carousel-dots{justify-content:center;flex-wrap:wrap;max-width:100%;min-width:0}
.qr-carousel .carousel-controls:has(.carousel-dot:nth-child(5)){display:grid;grid-template-columns:26px minmax(0,1fr) 23px 26px;gap:6px}
.qr-carousel .carousel-controls:has(.carousel-dot:nth-child(5)) #qr-previous{grid-column:1;grid-row:1}
.qr-carousel .carousel-controls:has(.carousel-dot:nth-child(5)) #qr-dots{grid-column:2;grid-row:1}
.qr-carousel .carousel-controls:has(.carousel-dot:nth-child(5)) #qr-pause{grid-column:3;grid-row:1}
.qr-carousel .carousel-controls:has(.carousel-dot:nth-child(5)) #qr-next{grid-column:4;grid-row:1}
@media(min-width:1171px){
  /* QR7: size the actual content to the frame; do not merely hide its scrollbar.
     Fixed headings and captions stay visible while each complete QR image scales
     into the remaining space. Long redemption results retain their own scrolling. */
  .portal-grid>.support-stacked{overflow:visible}
  .portal-grid>.support-stacked .support-scroll{overflow:visible;padding:0;margin:0}
  .support-stacked .support-scroll{display:flex;flex-direction:column;min-height:0}
  .support-stacked .support-scroll>.section-eyebrow,.support-stacked .support-scroll>h2,.support-stacked .support-scroll>.support-intro,.support-stacked .support-scroll>.contact-list{flex:0 0 auto}
  .support-stacked .contact-list{margin-block:15px;gap:10px}
  .support-stacked .support-image-panels{flex:1 1 0;min-height:0;grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}
  .support-stacked .support-image-card{padding:10px;min-height:0}
  .support-stacked .support-image-label{margin-bottom:6px}
  /* The slot can be wide or tall, but the white QR surface must stay square.
     Absolute positioning keeps its measured size from feeding back into flex. */
  .support-stacked .support-image-slot{display:block;position:relative;flex:1 1 0;min-width:0;min-height:0}
  .support-stacked .support-image-wrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);flex:0 0 auto;width:var(--support-qr-size,0px);height:var(--support-qr-size,0px);aspect-ratio:1;min-height:0}
  .support-stacked .support-image-wrap>img{padding:6px;object-fit:contain}
  .support-stacked .support-image-caption{margin:6px 0 0;font-size:12px;line-height:1.5}
  .support-stacked .support-bottom{margin-top:10px;min-height:24px}
}
/* QR8: compact spacing is the desktop default, including high-DPI screens whose
   CSS viewport is just over 1100px tall. A tall viewport must not reintroduce a
   113px header and oversized hero at 100% browser zoom, stealing height from both
   QR images. Shorter-screen rules below still reduce spacing further. */
@media(min-width:1171px){
  body:not(.tutorial-page) .topbar{min-height:78px}
  .hero{padding-bottom:18px}
  .hero .announcement{margin:0 0 9px;font-size:12px}
  .hero .hero-badge{font-size:11px;padding:4px 14px}
  .hero h1{font-size:42px;margin:9px 0 5px}
  .hero-note{font-size:11px}
  .portal-grid>.guide-panel,.portal-grid>.support-panel{padding:18px 20px 12px}
  .support-stacked .contact-list{margin-block:10px;gap:7px}
  .support-panel h2{font-size:18px;line-height:1.45}
  .support-intro{font-size:11px;line-height:1.55}
  .support-stacked .support-image-panels{gap:10px}
}
@media(min-width:1171px) and (max-height:850px){
  body:not(.tutorial-page) .topbar{min-height:62px}
  .hero{padding-bottom:12px}
  .hero .announcement{margin-bottom:5px;font-size:11px;line-height:1.4}
  .hero .announcement>span:first-child{font-size:14px}
  .hero .hero-badge{padding:2px 12px;font-size:10px;line-height:1.5}
  .hero .hero-badge>span:first-child{font-size:15px}
  .hero h1{font-size:32px;margin:6px 0 3px;line-height:1.2}
  .hero-note{font-size:10px;line-height:1.4}
  .portal-grid>.guide-panel,.portal-grid>.support-panel{padding:14px 17px 10px}
  .guide-panel .section-eyebrow,.support-panel .section-eyebrow{margin-bottom:5px;font-size:8px}
  .guide-panel h2{font-size:20px}
  .guide-panel .guide-intro{font-size:11px;line-height:1.65;margin-top:4px}
  .guide-panel .guide-steps{margin-top:7px}
  .guide-panel .guide-step,.guide-panel .guide-step:first-child,.guide-panel .guide-step:last-child{padding-block:8px;gap:10px}
  .guide-panel .step-number{width:31px;height:33px;font-size:10px;border-radius:9px}
  .guide-panel .step-copy h3{font-size:12px;margin-bottom:2px}
  .guide-panel .step-copy p{font-size:10.5px;line-height:1.65}
  .guide-panel .small-link{font-size:10px;margin-top:5px;padding:4px 8px}
  .guide-panel .guide-help{font-size:9px;min-height:29px;margin-top:6px;padding-top:7px}
  .portal-grid>.main-column{grid-template-rows:65px minmax(0,1fr);gap:12px}
  .main-column>.redemption-panel{padding-top:15px}
  .status-heading{font-size:19px}
  .eta-heading strong{font-size:24px}
  .status-half>span,.eta-heading>span{font-size:10px}
  .service-tab{min-height:37px;font-size:11px}
  .redemption-panel .progress-steps{margin:19px 0 17px}
  .progress-number{width:40px;height:40px;font-size:13px}
  .progress-steps li+li:before{top:20px}
  .progress-steps strong{font-size:10px}
  .redemption-panel .field-label{font-size:13px}
  .redemption-panel .code-input{height:42px;font-size:12px}
  .redemption-panel .input-help{font-size:10px;margin:6px 0 9px}
  .redemption-panel .redeem-button{height:44px;font-size:13px}
  .redemption-panel>.security-note{min-height:30px;font-size:8px;padding:5px 0;margin-top:5px}
  .support-panel h2{font-size:16px;line-height:1.4}
  .support-panel .support-intro{font-size:10px;line-height:1.5}
  .support-stacked .contact-list{margin-block:8px;gap:5px}
  .support-panel .contact-icon{width:22px;height:22px}
  .support-panel .contact-copy,.support-panel .contact-copy strong{font-size:10px}
  .support-stacked .support-image-card{padding:7px 8px}
  .support-stacked .support-image-label{font-size:12px;line-height:1.4;margin-bottom:4px}
  .support-stacked .support-image-caption{font-size:10px;line-height:1.4;margin-top:4px}
  .support-stacked .support-image-panels{gap:8px}
  .support-stacked .support-bottom{font-size:8px;min-height:18px;margin-top:6px}
}
@media(min-width:1171px) and (max-height:750px){
  body:not(.tutorial-page) .topbar{min-height:54px}
  .hero{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:14px;padding-bottom:10px}
  .hero .announcement{margin:0;font-size:10px}
  .hero .hero-badge{justify-self:start}
  .hero h1,.hero .hero-note{grid-column:1/-1}
  .hero h1{font-size:29px;margin-top:6px}
}
@media(min-width:761px) and (max-width:1170px){
  .support-stacked .support-image-panels{grid-column:2;grid-row:1/7;width:100%;max-width:340px;justify-self:end}
}
@media(max-width:760px){
  .support-image-panels{gap:16px;margin-top:8px}
  .support-image-label{font-size:15px}
}
@media(max-width:380px){body{min-width:0}}
/* Mobile-only contact presentation. Desktop QR templates retain their original
   layout and data. The page remains usable if no configured mobile slide exists. */
.mobile-contact-launcher,.mobile-contact-dialog{display:none}
@media(max-width:760px){
  body.mobile-contact-enabled .portal-grid>.support-panel{display:none}
  html.mobile-contact-open{overflow:hidden}
  .mobile-contact-launcher{position:fixed;z-index:40;right:14px;bottom:calc(clamp(120px,20vh,180px) + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:7px;max-width:min(168px,calc(100vw - 28px));min-height:46px;padding:7px 12px 7px 7px;border:1px solid #9b9eff70;border-radius:16px;background:var(--panel);box-shadow:0 7px 28px #02061544,0 0 0 4px #6968ff0c;color:var(--text);font-size:12px;font-weight:650;animation:mobile-contact-enter .18s ease-out}
  .mobile-contact-floating-label,#mobile-contact-floating-label{overflow-wrap:anywhere;line-height:1.5}
  .mobile-contact-symbol{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:11px;background:var(--gradient);color:#fff}
  .mobile-contact-symbol svg{width:19px;height:19px}
  .mobile-contact-launcher>span:last-child{font-size:14px;color:var(--muted)}
  .mobile-contact-dialog[open]{display:flex;flex-direction:column;width:min(380px,calc(100% - 28px));max-width:none;max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);padding:0;margin:auto;overflow:hidden;border:1px solid var(--border);border-radius:24px;background:var(--panel);color:var(--text);box-shadow:0 24px 100px #0007;animation:mobile-contact-enter .18s ease-out}
  .mobile-contact-dialog::backdrop{background:#040713b8;backdrop-filter:blur(5px)}
  .mobile-contact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-shrink:0;padding:22px 22px 16px;border-bottom:1px solid var(--border-soft)}
  .mobile-contact-head>div{min-width:0}
  .mobile-contact-eyebrow{display:block;margin-bottom:5px;font-size:9px;letter-spacing:2px;color:var(--accent);font-weight:750}
  .mobile-contact-head h2{font-size:21px;line-height:1.4;overflow-wrap:anywhere}
  .mobile-contact-close{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border:1px solid var(--border);border-radius:12px;background:var(--input);color:var(--muted);font-size:24px;line-height:1}
  .mobile-contact-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:17px 22px 12px;scrollbar-width:thin}
  .mobile-contact-subtitle{font-size:12px;line-height:1.75;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 16px}
  .mobile-contact-slide-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
  .mobile-contact-slide-head h3{min-width:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
  .mobile-contact-slide-head>span{flex-shrink:0;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
  .mobile-contact-image{display:grid;place-items:center;width:min(100%,260px);aspect-ratio:1;margin:0 auto;background:#fff;border:1px solid #e4e7ee;border-radius:16px;padding:10px;overflow:hidden}
  .mobile-contact-image>img{display:block;width:100%;height:100%;max-height:240px;object-fit:contain;user-select:auto;-webkit-touch-callout:default}
  .mobile-contact-image-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:170px;color:#687287;text-align:center;font-size:12px;line-height:1.7}
  .mobile-contact-image-error svg{width:30px;height:30px}
  .mobile-contact-image-error span{font-size:10px}
  .mobile-contact-caption{font-size:12px;line-height:1.8;color:var(--muted);text-align:center;margin:13px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
  .mobile-contact-value{display:flex;align-items:center;gap:12px;margin-top:15px;padding:11px 12px;border:1px solid var(--border-soft);border-radius:12px;background:var(--input)}
  .mobile-contact-value>div{flex:1;min-width:0}
  .mobile-contact-value span{display:block;font-size:10px;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}
  .mobile-contact-value strong{display:block;font-size:12px;line-height:1.7;overflow-wrap:anywhere;user-select:all}
  .mobile-contact-value button{flex-shrink:0;min-height:36px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--panel);font-size:11px;color:var(--accent)}
  .mobile-contact-controls{display:grid;grid-template-columns:34px minmax(0,1fr) 34px 34px;align-items:center;gap:5px;margin-top:14px}
  .mobile-contact-controls>button{min-width:34px;min-height:34px;background:var(--input);border:1px solid var(--border-soft);border-radius:10px;font-size:23px;line-height:1;color:var(--muted)}
  .mobile-contact-controls>.mobile-contact-pause{font-size:14px}
  .mobile-contact-controls:has(.mobile-contact-pause[hidden]){grid-template-columns:34px minmax(0,1fr) 34px}
  .mobile-contact-dots{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0;min-width:0}
  .mobile-contact-dots>button{display:grid;place-items:center;width:22px;height:28px;padding:0;background:transparent;border:0;border-radius:7px}
  .mobile-contact-dots>button:before{content:"";width:6px;height:6px;border-radius:5px;background:var(--faint)}
  .mobile-contact-dots>button[aria-pressed="true"]:before{width:16px;background:var(--gradient)}
  .mobile-contact-feedback{font-size:11px;line-height:1.7;text-align:center;color:var(--muted);overflow-wrap:anywhere}
  .mobile-contact-feedback:empty{display:none}
  .mobile-contact-feedback:not(:empty){padding-top:10px}
  .mobile-contact-foot{flex-shrink:0;padding:13px 22px 16px;border-top:1px solid var(--border-soft);text-align:center;background:var(--panel)}
  .mobile-contact-foot>button{display:block;width:100%;min-height:44px;padding:9px 12px;border-radius:13px;background:var(--gradient);color:#fff;font-size:13px;font-weight:650}
  .mobile-contact-foot>small{display:block;margin-top:8px;font-size:10px;color:var(--muted);line-height:1.6}
}
@media(max-width:760px) and (max-height:660px){.mobile-contact-head{padding:15px 18px 12px}.mobile-contact-body{padding:12px 18px}.mobile-contact-image{width:min(100%,210px)}.mobile-contact-foot{padding:10px 18px 12px}}
/* Keep a complete QR visible within the scrollable body on short landscape screens. */
@media(max-width:760px) and (max-height:480px){.mobile-contact-image{width:min(100%,180px,calc(100vh - 230px));width:min(100%,180px,calc(100dvh - 230px))}}
@keyframes mobile-contact-enter{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}
