.product-notice { margin: 12px 0; padding: 12px 18px; background: #e7f5f1; border-inline-start: 3px solid #127c79; color: #163d3b; }
.product-signals { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:8px 16px; margin:12px 0; }
.product-signals > div { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:8px; border-bottom:1px solid #dbe4e0; padding:6px 0; }
.product-signals dt { min-width:0; overflow-wrap:anywhere; font-size:13px; }.product-signals dd {margin:0;flex-shrink:0;}.signal-stars { white-space:nowrap; color:#936519; letter-spacing:0; font-size:16px; }
.product-result-card > .product-signals,.product-result-card > .experience-matches,.product-result-card > .product-caution { margin-inline:16px; }
.product-result-card .resort-name-en,.product-result-card .resort-name-zh { display:block; overflow-wrap:anywhere; }
.product-result-card .resort-name-zh { margin-block-start:4px; font-size:13px; color:#52625f; }
.experience-coverage { font-size:12px; line-height:1.6; color:#52625f; margin-block:0 8px; overflow-wrap:anywhere; }
.product-caution { padding:10px 12px; border-inline-start:3px solid #c27662; background:#fcf0ed; color:#65433a; font-size:14px; line-height:1.6; }
.product-table-scroll { overflow:auto; max-width:100%; border:1px solid #d8e5e2; border-radius:6px; }
.product-comparison { border-collapse:separate; border-spacing:0; table-layout:fixed; min-width:720px; width:100%; background:#fff; }
.product-comparison td,.product-comparison th { padding:14px; vertical-align:top; text-align:start; border-inline-end:1px solid #dfe8e5; border-bottom:1px solid #dfe8e5; min-width:180px; overflow-wrap:anywhere; font-size:14px; }
.product-comparison th { position:sticky; top:0; background:#e5f2ef; color:#154e4c; z-index:1; }
.product-comparison th:first-child { position:sticky; inset-inline-start:0; width:140px; z-index:2; }
.product-comparison small { display:block; margin-top:6px; color:#53625f; line-height:1.5; }
.product-comparison summary { cursor:pointer; font-weight:600; }.product-comparison p {font-size:13px;line-height:1.6;}
.product-reports h1,.product-report h1 {font-size:30px;line-height:1.25;letter-spacing:0;}
.saved-report {display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid #d3e1dd;}
.saved-report h2 {font-size:18px;margin:0 0 6px;}.saved-report time {font-size:13px;color:#53625f;}
.product-report > section {padding:26px 0;border-top:1px solid #d3e1dd;}.product-report h2 {font-size:22px;}
.report-resort {padding:14px 0;}.report-resort h3 {font-size:19px;}.report-resort p {font-size:15px;line-height:1.7;}
.product-report .resort-name-en,.product-report .resort-name-zh,.product-comparison .resort-name-en,.product-comparison .resort-name-zh {display:block;}
.product-report .resort-name-zh,.product-comparison .resort-name-zh {font-size:13px;color:#53625f;margin-top:4px;}
.generate-panel[aria-busy=true] button {pointer-events:none;}
button:disabled {cursor:wait;opacity:.6;}
@media(max-width:700px) { .product-reports .section-head,.product-report .section-head {display:flex;flex-direction:column;align-items:stretch;}.product-report h1,.product-reports h1 {font-size:25px;}.saved-report {align-items:flex-start;}.product-comparison {min-width:680px;}.product-comparison th:first-child {width:110px;} }
@media(prefers-reduced-motion:reduce) { .product-report *,.product-reports * {animation:none!important;scroll-behavior:auto!important;} }
@media print { .nav,.product-notice,.product-report button,.account-chip,.locale-prompt {display:none!important;} .site-shell,.page-block {margin:0!important;padding:0!important;box-shadow:none!important;width:100%!important;} .product-table-scroll {overflow:visible;}.product-comparison {min-width:0;}.product-comparison th,.product-comparison td {font-size:10px;padding:6px;position:static;}.product-report > section {break-inside:avoid;} body {background:#fff;} }
.progress-indeterminate { overflow: hidden; }
.experience-matches { padding-block:12px; border-block-start:1px solid #d3e1dd; }
.experience-matches h4 { margin:0 0 8px; font-size:14px; }
.experience-matches dl { margin:0; }
.experience-matches dl > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; padding-block:5px; font-size:13px; line-height:1.5; }
.experience-matches dt,.experience-matches dd { margin:0; overflow-wrap:anywhere; }
.experience-matches dd { color:#52625f; }
.experience-matches summary { cursor:pointer; font-size:13px; margin-block-start:10px; color:#155e5b; }
.experience-matches details p { font-size:12px; line-height:1.6; margin-block:8px 0; }
.progress-indeterminate > div { width: 35% !important; animation: analysis-progress 1.6s ease-in-out infinite; }
@keyframes analysis-progress { from { transform: translateX(-110%); } to { transform: translateX(310%); } }
@media (prefers-reduced-motion: reduce) { .progress-indeterminate > div { animation: none; width: 100% !important; opacity: .55; } }
