/* Point exchange presentation only; lottery and transaction logic are independent. */
.tt-points.tt-exchange { --tt-accent:#fff23c; --tt-ink:#f5f8ff; --tt-muted:#b5cee6; background:radial-gradient(ellipse at 100% 0,#07478799,transparent 50%),linear-gradient(150deg,#001a3e,#07356a); color:#f5f8ff; border:1px solid #178ec9; border-radius:22px; padding:40px 24px 72px; font-family:"Paperlogy","Noto Sans KR",sans-serif; line-height:1.5; }
.tt-exchange .tt-heading { margin-bottom:28px; }
.tt-exchange .tt-heading h1 { font-family:inherit; font-size:36px; line-height:1.2; font-weight:800; margin-bottom:12px; }
.tt-exchange .tt-eyebrow { color:#70daff; }
.tt-exchange .tt-heading p { color:#b5cee6; font-size:16px; font-weight:600; }
.tt-exchange .tt-pill { border:1px solid #35618d; background:#0c3159; color:#fff23c; font-size:16px; }
.tt-exchange .tt-card { background:#06274c; color:#f5f8ff; border:1px solid #35618d; border-radius:20px; padding:28px; margin-bottom:28px; box-shadow:none; }
.tt-exchange h2 { font-family:inherit; color:#fff23c; font-size:22px; font-weight:800; line-height:1.3; }
.tt-exchange .tt-exchange-notice { background:#06274c; border-left-width:1px; }
.tt-exchange .tt-exchange-notice p { color:#d5e5f5; font-size:14px; line-height:1.55; }
.tt-exchange .tt-section-heading { align-items:center; flex-wrap:wrap; }
.tt-exchange .tt-section-heading > span { color:#b5cee6; font-size:14px; padding:9px 14px; border:1px solid #35618d; border-radius:9px; background:#0c3159; }
.tt-exchange .tt-section-heading b { color:#fff23c; font-size:20px; margin-left:6px; }
.tt-exchange legend { font-size:15px; font-weight:600; margin:0 0 14px; color:#fff; }
.tt-exchange .tt-companies { grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.tt-exchange .tt-company input { width:1px; height:1px; opacity:0; top:0; left:0; }
.tt-exchange .tt-company-content { display:flex; flex-direction:column; padding:0; gap:0; align-items:stretch; background:#fff; border:2px solid transparent; border-radius:12px; overflow:hidden; transition:border-color .15s,box-shadow .15s; }
.tt-exchange .tt-company-thumbnail { display:block; position:relative; aspect-ratio:16/9; background:#0c3159; width:100%; overflow:hidden; }
.tt-exchange .tt-company img { display:block; width:100%; height:100%; object-fit:cover; }
.tt-exchange .tt-company-placeholder { width:100%; height:100%; border-radius:0; font-size:42px; background:#0c3159; color:#fff23c; }
.tt-exchange .tt-company-details { display:flex; flex-direction:column; gap:4px; text-align:center; padding:10px 8px; background:#fff; }
.tt-exchange .tt-company strong { font-size:16px; font-weight:700; color:#001a3e; }
.tt-exchange .tt-company small { font-size:11px; line-height:1.4; color:#435a75; }
.tt-exchange .tt-company:hover .tt-company-content { border-color:transparent; }
.tt-exchange .tt-company input:checked + .tt-company-content { background:#fff; border-color:#fff23c; box-shadow:0 0 0 1px #fff23c; }
.tt-exchange .tt-company input:focus-visible + .tt-company-content { outline:3px solid #fff; outline-offset:4px; }
.tt-exchange .tt-company input:checked + .tt-company-content .tt-company-thumbnail::after { content:'✓'; position:absolute; right:10px; top:10px; width:27px; height:27px; display:grid; place-items:center; border-radius:50%; background:#fff23c; color:#001a3e; font-size:18px; font-weight:800; }
.tt-exchange .tt-form-grid { gap:20px; margin-top:30px; }
.tt-exchange .tt-form-grid label { font-size:15px; font-weight:600; }
.tt-exchange .tt-form-grid input,.tt-exchange .tt-form-grid select { background:#0c3159; border:1px solid #52779d; color:#fff; min-height:52px; padding:12px 14px; font-family:inherit; font-size:14px; }
.tt-exchange .tt-form-grid input::placeholder { color:#b5cee6; font-size:13px; }
.tt-exchange .tt-form-grid input:focus,.tt-exchange .tt-form-grid select:focus { outline:2px solid #fff23c; outline-offset:2px; }
.tt-exchange .tt-exchange-summary { background:#0c3159; border:1px solid #35618d; color:#d5e5f5; font-size:14px; line-height:1.5; gap:8px 16px; }
.tt-exchange .tt-exchange-summary b { color:#fff23c; }
.tt-exchange .tt-exchange-summary small { color:#b5cee6; font-size:12px; }
.tt-exchange .tt-button { border:1px solid #42caff; background:linear-gradient(110deg,#038aff,#0753a7); color:#fff; font-family:inherit; font-size:16px; font-weight:700; min-height:52px; width:100%; }
.tt-exchange .tt-button:hover { background:linear-gradient(110deg,#219aff,#0861bc); }
.tt-exchange .tt-button:disabled { background:#153c66; border-color:#35618d; color:#9dbbd7; opacity:1; }
.tt-exchange .tt-feedback { color:#b5cee6; font-size:13px; line-height:1.5; margin-bottom:0; }
.tt-exchange .tt-error { color:#ff9b93; }
.tt-exchange .tt-exchange-history { background:#0c3159; border-color:#35618d; }
.tt-exchange .tt-table-scroll { border:1px solid #cadceb; border-radius:10px; }
.tt-exchange .tt-table-scroll:focus-visible { outline:2px solid #fff23c; outline-offset:3px; }
.tt-exchange .tt-table { background:#f2f7fd; color:#052b63; font-family:inherit; font-size:14px; }
.tt-exchange .tt-table th,.tt-exchange .tt-table td { text-align:center; vertical-align:middle; padding:15px 12px; border-bottom:1px solid #d5e1ed; }
.tt-exchange .tt-table th { background:#dcebf9; color:#052b63; font-size:14px; font-weight:700; }
.tt-exchange .tt-table tbody tr:nth-child(even) { background:#eaf2fb; }
.tt-exchange .tt-muted { color:#b5cee6; }
.tt-exchange .tt-status { font-size:12px; font-weight:600; padding:6px 10px; }
.tt-exchange .tt-status-processing { background:#fff8cc; color:#725900; }
.tt-exchange .tt-status-completed { background:#e0f3eb; color:#176848; }
.tt-exchange .tt-status-rejected { background:#ffebef; color:#a82943; }
.tt-exchange .tt-pager { color:#b5cee6; }
.tt-exchange .tt-pager a { color:#fff23c; }
.tt-exchange .tt-empty { padding:32px!important; }
@media(max-width:991px) { .tt-exchange .tt-companies { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) { .tt-points.tt-exchange { padding:28px 12px 48px; border-radius:14px; } .tt-exchange .tt-heading { flex-direction:column; align-items:flex-start; gap:14px; } .tt-exchange .tt-heading h1 { font-size:27px; } .tt-exchange .tt-heading p { font-size:14px; } .tt-exchange .tt-heading > .tt-pill { display:inline-block; padding:7px 12px; font-size:13px; } .tt-exchange .tt-card { padding:20px 16px; border-radius:14px; margin-bottom:20px; } .tt-exchange h2 { font-size:20px; } .tt-exchange .tt-exchange-notice p { font-size:13px; } .tt-exchange .tt-companies { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .tt-exchange .tt-company-details { padding:9px 7px; } .tt-exchange .tt-company strong { font-size:15px; } .tt-exchange .tt-company small { font-size:11px; } .tt-exchange .tt-section-heading > span { font-size:12px; } .tt-exchange .tt-section-heading b { font-size:17px; } .tt-exchange .tt-form-grid { grid-template-columns:1fr; gap:18px; } .tt-exchange .tt-exchange-summary { flex-direction:column; } .tt-exchange .tt-table { min-width:760px; font-size:12px; } .tt-exchange .tt-table th { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .tt-exchange * { transition:none!important; } }

.tt-exchange .tt-exchange-table-hint { display:none; }
@media(max-width:767px) { .tt-exchange .tt-exchange-table-hint { display:block; font-size:12px; color:#b5cee6; text-align:right; margin:10px 0 0; } }

.tt-exchange .tt-amount-label { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.tt-exchange .tt-amount-label .tt-pill { margin-left:auto; padding:4px 9px; font-size:12px; line-height:1.3; }
.tt-exchange .tt-company small:empty { display:none; }
.tt-exchange #tt-exchange-feedback { text-align:center; margin-top:16px; }
.tt-exchange #tt-exchange-feedback::before { content:'※ '; }

.tt-exchange legend { display:block; position:static; height:auto; overflow:visible; clip:auto; }
.tt-exchange .tt-amount-label .tt-pill { margin-left:0; }

.tt-exchange legend { line-height:1.5; text-indent:0; }

.tt-exchange .tt-current-balance { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; margin-top:28px; border:1px solid #35618d; border-radius:10px; background:#0c3159; }
.tt-exchange .tt-current-balance > span { font-size:14px; color:#d5e5f5; font-weight:600; }
.tt-exchange .tt-current-balance strong { font-size:24px; color:#fff23c; font-weight:800; }
.tt-exchange .tt-current-balance + .tt-form-grid { margin-top:18px; }
.tt-exchange .tt-exchange-rules { margin:18px 0 0; padding:18px 18px 10px 34px; border:1px solid #35618d; border-radius:12px; background:#0c3159; color:#d5e5f5; font-size:14px; line-height:1.5; list-style:disc outside; }
.tt-exchange .tt-exchange-rules li { margin-bottom:8px; }
@media(max-width:767px) { .tt-exchange .tt-current-balance { padding:12px; } .tt-exchange .tt-current-balance strong { font-size:21px; } .tt-exchange .tt-exchange-rules { font-size:13px; padding:16px 14px 8px 30px; } }

.tt-exchange .tt-current-balance { flex-direction:column; align-items:stretch; gap:0; }
.tt-exchange .tt-point-summary-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.tt-exchange .tt-point-summary-row > span { font-size:14px; color:#d5e5f5; font-weight:600; }
.tt-exchange .tt-convertible-points { margin-top:10px; padding-top:10px; border-top:1px solid #35618d; }

.tt-exchange .tt-form-grid { grid-template-columns:1fr; }
.tt-exchange .tt-amount-control { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; }
.tt-exchange .tt-convertible-inline { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:10px; font-size:14px; color:#d5e5f5; font-weight:600; }
.tt-exchange .tt-convertible-inline b { color:#fff23c; font-weight:700; }
.tt-exchange #tt-exchange-amount { appearance:none; -webkit-appearance:none; padding-right:48px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 20px center; background-size:16px; }
@media(max-width:767px) { .tt-exchange .tt-amount-control { grid-template-columns:minmax(0,1fr) auto; gap:12px; } .tt-exchange .tt-convertible-inline { flex-direction:column; align-items:flex-start; gap:3px; font-size:11px; } .tt-exchange .tt-convertible-inline b { font-size:14px; } }

.tt-exchange .tt-exchange-rules b { color:#fff23c; font-weight:700; }

/* Self-diagnosis visual theme: white provider cards, yellow selection, blue action. */
.tt-exchange .tt-heading h1 { color:#fff23c; }
.tt-exchange .tt-company strong { color:#173b60; }
.tt-exchange .tt-company input:checked + .tt-company-content { background:#fff8cc; border-color:#ffe346; box-shadow:0 0 0 1px #ffe346; }
.tt-exchange .tt-company input:checked + .tt-company-content .tt-company-details { background:#fff8cc; }
.tt-exchange .tt-company-content { box-shadow:0 2px 6px #00122a18; }
.tt-exchange .tt-company:hover .tt-company-details { background:#f1f7fd; }
.tt-exchange .tt-button { box-shadow:0 0 18px #009eff20; }
.tt-exchange .tt-button:disabled { box-shadow:none; }
.tt-exchange .tt-table .tt-empty { color:#435a75; }
.tt-exchange .tt-exchange-history { border-color:#178ec9; }

/* White form controls with the self-diagnosis navy text. */
.tt-exchange .tt-form-grid input,.tt-exchange .tt-form-grid select { background-color:#fff; color:#001a3e; border-color:#d5e1ed; }
.tt-exchange .tt-form-grid input::placeholder { color:#526a86; opacity:1; }
.tt-exchange .tt-form-grid select option { background:#fff; color:#001a3e; }
.tt-exchange #tt-exchange-amount { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23001a3e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }

.tt-exchange .tt-current-balance { background:#fff; border-color:#d5e1ed; }
.tt-exchange .tt-current-balance .tt-point-summary-row > span,.tt-exchange .tt-current-balance strong { color:#001a3e; }

.tt-exchange .tt-exchange-rules { background:#fff; border-color:#d5e1ed; color:#001a3e; }
.tt-exchange .tt-exchange-rules b { color:#0753a7; }

.tt-exchange .tt-label-title,.tt-exchange legend { display:flex; align-items:center; gap:8px; }
.tt-exchange .tt-label-icon { display:inline-block; width:19px; height:19px; flex:0 0 19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.tt-exchange .tt-convertible-inline { color:#fff; }
.tt-exchange .tt-heading h1 { margin-bottom:6px; }
.tt-exchange .tt-exchange-rules { font-size:15px; }
@media(max-width:767px) { .tt-exchange .tt-exchange-rules { font-size:14px; } }

/* Compact provider title and description. */
.tt-exchange .tt-company strong { font-weight:600; line-height:1.25; }
.tt-exchange .tt-company-details { gap:2px; }
.tt-exchange .tt-company small { line-height:1.3; }

.tt-exchange .tt-current-balance .tt-point-summary-row > span { font-size:16px; }
.tt-exchange .tt-balance-member { min-width:0; }
.tt-exchange .tt-balance-member .sv_member { color:#001a3e; }
.tt-exchange .tt-balance-member img { vertical-align:middle; }

.tt-exchange .tt-table th { background:#06274c; color:#fff; }

/* Consistent box borders across both point pages. */
.tt-points.tt-exchange,.tt-exchange .tt-card,.tt-exchange .tt-exchange-history,.tt-exchange .tt-exchange-notice,.tt-exchange .tt-exchange-rules,.tt-exchange .tt-current-balance,.tt-exchange .tt-table-scroll,.tt-exchange .tt-form-grid input,.tt-exchange .tt-form-grid select { border-color:#35618d; }

.tt-exchange .tt-table th,.tt-exchange .tt-table td { padding-top:12px; padding-bottom:12px; }
@media(max-width:767px) { .tt-exchange .tt-table th,.tt-exchange .tt-table td { padding-top:10px; padding-bottom:10px; } }

.tt-exchange .tt-table tbody tr:nth-child(odd) { background:#fff; }

.tt-exchange .tt-table,.tt-exchange .tt-table tbody tr:nth-child(odd),.tt-exchange .tt-table tbody tr:nth-child(even) { background:#fff; }
