*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}.tc-overlay{position:fixed;inset:0;background:rgba(15,20,30,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:center;z-index:99999;padding:20px;opacity:0;pointer-events:none;transition:opacity .4s ease}.tc-overlay.visible{opacity:1;pointer-events:all}.tc-card{background:#fff;width:660px;max-width:100%;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.06);overflow:hidden;transform:translateY(28px) scale(.97);transition:transform .35s cubic-bezier(.22,.68,0,1.2)}.tc-overlay.visible .tc-card{transform:translateY(0) scale(1)}.tc-header{background:linear-gradient(135deg,#1a1f2e 0%,#2d3348 100%);padding:10px 32px 10px}.tc-title{font-size:26px;color:#fff;margin-top:14px;line-height:1.2;text-transform:uppercase}.tc-subtitle{font-size:13px;color:rgba(255,255,255,.5);margin-top:5px}.tc-body{padding:0 32px;position:relative}.tc-content{max-height:320px;overflow-y:auto;padding:20px 4px 16px 0;font-size:13.5px;line-height:1.75;color:#444}.tc-content::-webkit-scrollbar{width:4px}.tc-content::-webkit-scrollbar-track{background:#f5f5f5;border-radius:4px}.tc-content::-webkit-scrollbar-thumb{background:#ddd;border-radius:4px}.tc-content::-webkit-scrollbar-thumb:hover{background:#ccc}.tc-scroll-nudge{text-align:center;padding:8px 0 6px;font-size:14px;font-weight:500;color:#ff6b2c;border-top:1px dashed #ffe0d0;transition:opacity .3s}.tc-scroll-nudge.hidden{opacity:0;pointer-events:none}.tc-footer{padding:16px 32px 28px;border-top:1px solid #f0f0f0;background:#fafafa}.tc-agree-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 16px;background:#fff;border:1.5px solid #eee;border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s,opacity .2s}.tc-agree-row:hover:not(.locked){border-color:#ffd0ba;background:#fffaf8}.tc-agree-row.checked{border-color:#ff6b2c;background:#fff8f5}.tc-agree-row.locked{opacity:.45;cursor:not-allowed;pointer-events:none}.tc-checkbox-wrap{position:relative;width:20px;height:20px;flex-shrink:0;margin-top:1px}.tc-checkbox-wrap input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;z-index:2;margin:0}.tc-checkbox-custom{width:20px;height:20px;border:2px solid #ddd;border-radius:5px;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.tc-checkbox-wrap input:checked~.tc-checkbox-custom{background:#ff6b2c;border-color:#ff6b2c}.tc-checkbox-custom svg{width:11px;height:11px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.5);transition:all .15s ease}.tc-checkbox-wrap input:checked~.tc-checkbox-custom svg{opacity:1;transform:scale(1)}.tc-agree-text{font-size:13.5px;color:#333;font-weight:500;line-height:1.4;user-select:none}.tc-agree-text small{display:block;font-size:13.5px;color:#999;font-weight:400;margin-top:2px}#declineBtn{background:transparent;color:#999;border:1.5px solid #e0e0e0;padding:11px 20px;border-radius:9px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:7px;transition:color .2s,border-color .2s}#declineBtn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#declineBtn:hover{color:#e8622a;border-color:#e8622a}.tc-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}#acceptBtn{background:linear-gradient(135deg,#ff6b2c,#e8571a);color:#fff;border:none;padding:12px 28px;border-radius:9px;font-size:14px;font-weight:600;letter-spacing:.2px;cursor:not-allowed;opacity:.4;transition:opacity .2s,transform .15s,box-shadow .2s;display:flex;align-items:center;gap:8px}#acceptBtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}#acceptBtn.enabled{cursor:pointer;opacity:1;box-shadow:0 4px 16px rgba(255,107,44,.35)}#acceptBtn.enabled:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,107,44,.45)}#acceptBtn.enabled:hover svg{transform:translateX(3px)}#acceptBtn.enabled:active{transform:translateY(0)}#acceptBtn.loading{opacity:.7;cursor:wait}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}body.tc-modal-open{overflow:hidden;position:fixed;width:100%}