/* Existing invitation and feedback styles, served externally for CSP-safe dialogs. */

.tsi-dialog{box-sizing:border-box;width:550px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 36px);padding:0;border:1px solid var(--line,var(--border,#e6e3e5));border-radius:17px;background:var(--paper,var(--card,#fff));color:var(--ink,var(--text,#282528));box-shadow:0 25px 90px #271a253b;overflow:auto;font:14px/1.7 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;z-index:10000}
.tsi-dialog::backdrop{background:#241a2769;backdrop-filter:blur(2px)}.tsi-dialog *,.tsi-auth *{box-sizing:border-box}.tsi-dialog [hidden],.tsi-auth [hidden]{display:none!important}.tsi-dialog p,.tsi-auth p{text-align:justify;text-justify:inter-ideograph;text-align-last:auto}.tsi-head{display:flex;align-items:center;justify-content:space-between;padding:13px 17px 0;gap:12px}.tsi-brand{font-size:12px;color:var(--muted,#70666c)}.tsi-brand:before{content:'';display:inline-block;width:6px;height:6px;background:#a51f38;border-radius:50%;margin-right:7px}.tsi-close{width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted,#777);font:25px/1 sans-serif;cursor:pointer}.tsi-close:hover{background:var(--wash,var(--surface,#f7f4f5))}.tsi-main{padding:8px 30px 27px}.tsi-dialog h2{font-size:28px;line-height:1.4;margin:7px 0 12px;letter-spacing:-.5px}.tsi-intro{color:var(--muted,#6b6569);margin:0 0 21px;font-size:14px;line-height:1.85}.tsi-rewards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 13px}.tsi-reward{padding:19px 16px;border:1px solid var(--line,var(--border,#e7e2e5));border-radius:10px}.tsi-reward-edu{background:var(--soft,var(--accent-soft,#fff2f5));border-color:#e9cbd4}.tsi-reward-title{font-size:14px;font-weight:600}.tsi-reward strong{display:block;font-size:35px;line-height:1.3;color:var(--accent,#a51f38);font-weight:650;margin:10px 0 8px;letter-spacing:-1px}.tsi-reward strong span{font-size:11px;font-weight:400;letter-spacing:0;margin-left:5px}.tsi-small{font-size:12px;color:var(--muted,#70676d);line-height:1.8}.tsi-dialog .tsi-eligibility{font-size:12px;color:var(--muted,#70676d);margin:12px 0 20px}.tsi-field-label{font-size:13px;font-weight:600;display:block;margin:14px 0 8px}.tsi-link{display:flex;gap:9px}.tsi-link input{font:13px/1.5 inherit;min-width:0;flex:1;width:100%;padding:11px 12px;border:1px solid var(--line,var(--border,#e5dfe2));border-radius:7px;color:var(--ink,var(--text,#282528));background:var(--wash,var(--surface,#faf8f9))}.tsi-button{box-sizing:border-box;border:1px solid #a51f38;background:#a51f38;color:white;border-radius:7px;font:600 14px/1.5 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;padding:11px 16px;min-height:44px;white-space:normal;cursor:pointer}.tsi-button:hover{filter:brightness(.96)}.tsi-button:disabled{opacity:.55;cursor:wait}.tsi-secondary{background:transparent;color:var(--ink,var(--text,#302b2f));border-color:var(--line,var(--border,#dfd6dc))}.tsi-note{padding:12px 14px;margin:16px 0;border-radius:8px;background:var(--wash,var(--surface,#f7f5f6));font-size:13px;color:var(--muted,#70666d)}.tsi-status{font-size:12px;line-height:1.8;color:var(--accent,#a51f38);min-height:0;margin-top:8px}.tsi-status:empty{display:none}.tsi-rules,.tsi-records{border-top:1px solid var(--line,var(--border,#e6e0e3));padding-top:15px;margin-top:18px;font-size:13px}.tsi-dialog summary{cursor:pointer;font-size:13px;line-height:1.8;min-height:32px;color:var(--ink,var(--text,#30272d))}.tsi-rules ol{padding-left:20px;color:var(--muted,#70666d);margin:8px 0 0}.tsi-rules li{margin:7px 0;text-align:justify}.tsi-record-list{list-style:none;padding:0;margin:5px 0}.tsi-record{padding:13px 0;border-bottom:1px solid var(--line,var(--border,#e6e0e3))}.tsi-record-email{font-size:14px;font-weight:550;overflow-wrap:anywhere;color:var(--ink,var(--text,#2a2729))}.tsi-record-reward{font-size:13px;color:var(--accent,#a51f38);margin-top:5px}.tsi-record-status{font-size:12px;color:var(--muted,#776970);margin-top:3px}.tsi-actions{display:grid;gap:9px;margin-top:18px}.tsi-dialog button:focus-visible,.tsi-dialog input:focus-visible,.tsi-dialog summary:focus-visible,.tsi-entry:focus-visible,.tsi-mobile:focus-visible,.tsi-auth input:focus-visible,.tsi-auth button:focus-visible{outline:3px solid #bf647b;outline-offset:3px}.tsi-entry{white-space:nowrap;border:1px solid #e2c3cd;background:var(--soft,var(--accent-soft,#fff3f6));color:var(--accent,#a51f38);border-radius:7px;padding:9px 11px;font:500 13px/1.5 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;cursor:pointer;min-height:38px;margin-right:4px}.tsi-mobile{display:none}.tsi-auth{padding:13px 14px;border:1px solid #e8cbd3;border-radius:8px;margin:0 0 14px;background:var(--soft,var(--accent-soft,#fff4f6));font:13px/1.75 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;color:var(--ink,var(--text,#3e3037))}.tsi-auth strong{display:block;margin-bottom:5px;font-weight:600}.tsi-auth p{margin:5px 0}.tsi-consent{display:flex;align-items:flex-start;gap:8px;margin-top:9px;cursor:pointer;font-size:12px;line-height:1.8}.tsi-consent input{width:16px;height:16px;flex:none;margin:3px 0 0;accent-color:#a51f38}.tsi-auth-link{font:12px/1.6 inherit;padding:5px 0;margin-top:5px;border:0;border-bottom:1px solid currentColor;background:none;color:var(--accent,#a51f38);cursor:pointer}.tsi-quota-value{font-size:26px;font-weight:650;color:var(--accent,#a51f38);margin-top:5px}.tsi-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:11000;background:#382a31;color:white;border-radius:8px;padding:11px 17px;max-width:calc(100vw - 32px);font:13px/1.7 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;text-align:center;pointer-events:none}.tsi-toast[hidden]{display:none!important}.tsi-empty{padding:15px 0;color:var(--muted,#75676e);font-size:13px}.tsi-quota-symbol{display:grid;place-items:center;width:45px;height:45px;border:1px solid #edcbd5;border-radius:13px;color:#a51f38;font-size:25px;background:#fff2f6;margin:5px 0 15px}
@media(max-width:600px){.tsi-entry.tsi-has-mobile{display:none}.tsi-mobile{display:flex;width:100%;flex-basis:100%;justify-content:space-between;align-items:center;min-height:44px;border:0;border-radius:7px;background:var(--soft,var(--accent-soft,#fff2f5));color:var(--accent,#a51f38);font:500 14px/1.6 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;padding:11px 14px;text-align:left;cursor:pointer}.tsi-main{padding:4px 22px 23px}.tsi-dialog h2{font-size:25px}.tsi-rewards{gap:9px}.tsi-reward{padding:15px 12px}.tsi-reward-title{font-size:13px}.tsi-reward strong{font-size:31px}.tsi-reward strong span{font-size:10px}.tsi-reward .tsi-small{font-size:11px}.tsi-link{flex-direction:column}.tsi-link input{font-size:13px;padding:12px}.tsi-link .tsi-button{width:100%}.tsi-records summary{font-size:12px}.tsi-entry{font-size:12px;padding:8px}.tsi-entry span{display:none}}
.ts-fb-overlay{position:fixed;inset:0;z-index:30000;background:rgba(30,26,22,.34);display:flex;align-items:center;justify-content:center;padding:22px;overflow:auto;font:14px/1.6 "PingFang SC","Microsoft YaHei",sans-serif;color:#242323}
.ts-fb-overlay[hidden],.ts-fb-overlay [hidden]{display:none!important}.ts-fb-overlay *{box-sizing:border-box}
/* Prevent each host page's generic button rules from altering the shared dialog. */
.ts-fb-overlay button{margin:0;letter-spacing:normal;font-weight:400;flex:0 0 auto}
.ts-fb-overlay button::before,.ts-fb-overlay button::after{content:none}
.ts-fb-dialog{background:#fff;width:100%;max-width:480px;max-height:calc(100dvh - 44px);overflow:auto;border:1px solid #e7e2dc;border-radius:16px;padding:26px;box-shadow:0 10px 40px #30241c25;--fb-line:#e7e2dc;--fb-muted:#78716c;--fb-soft:#faf9f8;--fb-bg:#fff;--fb-ink:#242323;--fb-red:#a31e36}
.ts-fb-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.ts-fb-head h3{margin:0;font:600 19px/1.5 "PingFang SC",sans-serif}.ts-fb-close{padding:2px 6px;border-radius:0;border:0;background:transparent;color:var(--fb-muted);font:24px/1 sans-serif;min-width:36px;min-height:36px;cursor:pointer}
.ts-fb-dialog p{margin:0 0 20px;color:var(--fb-muted);text-align:justify}.ts-fb-dialog label{display:block;margin-bottom:9px}.ts-fb-text{display:block;width:100%;min-height:132px;padding:12px;border:1px solid var(--fb-line);border-radius:9px;resize:vertical;font-size:14px;line-height:1.7;font-family:inherit;background:var(--fb-bg);color:var(--fb-ink)}.ts-fb-text::placeholder{color:var(--fb-muted)}
.ts-fb-image-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;color:var(--fb-muted);font-size:12px;margin:9px 0 18px}.ts-fb-add{border-radius:0;border:0;background:transparent;color:var(--fb-red);font-size:14px;font-family:inherit;cursor:pointer;padding:8px 0;min-height:40px}.ts-fb-images{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:20px}.ts-fb-thumb{position:relative;width:104px;height:82px;border:1px solid var(--fb-line);border-radius:9px;background:var(--fb-soft)}.ts-fb-thumb img{width:100%;height:100%;object-fit:contain;border-radius:9px}.ts-fb-remove{padding:0;position:absolute;right:-8px;top:-8px;width:30px;height:30px;border:1px solid var(--fb-line);border-radius:50%;background:var(--fb-bg);color:var(--fb-ink);font:20px sans-serif;cursor:pointer}
.ts-fb-error{margin-bottom:14px;color:var(--fb-red)}.ts-fb-actions{display:flex;justify-content:flex-end;gap:10px}.ts-fb-cancel,.ts-fb-send,.ts-fb-done,.ts-fb-login{border:1px solid var(--fb-line);border-radius:9px;background:var(--fb-bg);padding:11px 20px;font:14px/1.5 "PingFang SC",sans-serif;color:var(--fb-muted);cursor:pointer}.ts-fb-send,.ts-fb-done,.ts-fb-login{background:#a31e36;border-color:#a31e36;color:#fff}.ts-fb-send:disabled{opacity:.65;cursor:wait}.ts-fb-success{text-align:center;padding:28px 0 18px}.ts-fb-success b{display:block;font-size:18px;margin-bottom:12px}.ts-fb-success p{text-align:center}.ts-fb-success-mark{display:inline-flex;border-radius:50%;background:#f7edef;color:#a31e36;padding:9px 17px;font-size:24px;margin-bottom:20px}
html[data-theme="dark"] .ts-feedback-entry{background:#28282a!important;color:#ed8c9e!important;border-color:#ed8c9e55!important;box-shadow:0 0 0 4px #ed8c9e10,0 0 16px 3px #ed8c9e1c!important}
html[data-theme="dark"] .ts-fb-dialog{background:#202021;color:#f0eeeb;--fb-line:#494442;--fb-muted:#b8b1ab;--fb-soft:#28282a;--fb-bg:#202021;--fb-ink:#f0eeeb;--fb-red:#ed8c9e}
@media(max-width:600px){.ts-feedback-entry{padding:8px 9px!important;font-size:12px!important;min-height:36px}.ts-fb-overlay{padding:14px}.ts-fb-dialog{padding:20px;max-height:calc(100dvh - 28px)}.ts-fb-text{font-size:16px}.ts-fb-image-tools{font-size:11px}}
@media(pointer:coarse){.ts-fb-remove{width:44px;height:44px}}
