:root{--bg:#f4f6fb;--surface:#fff;--surface-2:#edf0f8;--border:#1c2c6321;--text:#0d1b3e;--text-muted:#4a5880;--text-faint:#8998c0;--accent:#1e3a8a;--accent-strong:#c0112a;--danger:#c0112a;--hm-label-w:200px;--hm-cell-min:34px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}.site-nav{background:var(--surface);border-bottom:1px solid var(--border);padding:0 28px}.site-nav-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1320px;height:56px;margin:0 auto;display:flex}.nav-logo{color:var(--text);white-space:nowrap;font-family:Outfit,sans-serif;font-size:18px;font-weight:800;text-decoration:none}.nav-logo:hover{text-decoration:none}.nav-links{gap:20px;font-size:14px;font-weight:500;display:flex}.nav-links a{color:var(--text-muted);text-decoration:none}.nav-links a:hover{color:var(--accent)}.nav-links a.active{color:var(--accent);font-weight:600}body{background:radial-gradient(1100px 520px at 72% -12%, #1e3a8a0d, transparent 62%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}.page{flex-direction:column;gap:20px;max-width:1320px;margin:0 auto;padding:40px 28px 60px;display:flex}.hero{text-align:center;padding:16px 0 8px}.hero-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;margin-bottom:18px;padding:5px 14px;font-size:11.5px;font-weight:600;display:inline-block}.hero h1{letter-spacing:-.02em;color:var(--text);margin:0 0 10px;font-family:Outfit,Inter,sans-serif;font-size:44px;font-weight:800}.hero-castle{-webkit-text-fill-color:initial;margin-right:4px}.hero-sub{color:var(--text-muted);max-width:560px;margin:0 auto;font-size:15.5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px 22px;box-shadow:0 2px 16px #00000012}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.card h2{margin:0 0 2px;font-family:Outfit,Inter,sans-serif;font-size:18px;font-weight:700}.card-sub{color:var(--text-muted);max-width:640px;margin:0;font-size:12.5px}.controls-row{flex-wrap:wrap;align-items:flex-end;gap:18px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-faint);font-size:11.5px;font-weight:600}input[type=date]{background:var(--surface-2);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:10px;outline:none;padding:9px 12px;font-size:13.5px;transition:border-color .15s}input[type=date]:focus{border-color:var(--accent)}input[type=date]::-webkit-calendar-picker-indicator{filter:opacity(.5);cursor:pointer}select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);font:inherit;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234a5880' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:10px;outline:none;padding:9px 32px 9px 12px;font-size:13.5px;transition:border-color .15s}select:focus{border-color:var(--accent)}.controls-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;padding-bottom:6px;display:flex}.meta-pill{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:6px 13px;font-size:12px}.btn-primary{background:var(--accent-strong);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:10px;padding:11px 26px;font-size:14px;font-weight:700;transition:transform .12s,background .12s,opacity .12s;box-shadow:0 2px 10px #c0112a40}.btn-primary:hover:not(:disabled){background:#e01530;transform:translateY(-1px)}.btn-primary:disabled{opacity:.55;cursor:default;box-shadow:none}.history-panel{border-color:#1e3a8a40}.btn-close{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:9px;width:32px;height:32px;font-size:13px;transition:color .12s,border-color .12s}.btn-close:hover{color:var(--text);border-color:var(--accent)}.history-summary{color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:18px;margin-bottom:14px;font-size:13.5px;display:flex}.history-summary strong{color:var(--text);font-variant-numeric:tabular-nums;font-family:Outfit,Inter,sans-serif;font-size:22px;font-weight:700}.trend-down{color:#057a55}.trend-up{color:#c0112a}.history-offer{color:var(--accent)}.history-note{color:var(--text-muted);margin:4px 0 8px;font-size:13px}.stats{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:3px;padding:16px 18px;display:flex}.stat-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);font-size:11px;font-weight:600}.stat-value{font-variant-numeric:tabular-nums;color:var(--text);font-family:Outfit,Inter,sans-serif;font-size:26px;font-weight:700}.stat-detail{color:var(--text-muted);font-size:12px}.hm-head-tools{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;gap:2px;padding:3px;display:flex}.segmented button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:600;transition:background .12s,color .12s}.segmented button:hover{color:var(--text)}.segmented .seg-active{color:var(--text);background:#1e3a8a1f}.segmented button:disabled{opacity:.4;cursor:default}.segmented button:disabled:hover{color:var(--text-muted)}.legend{align-items:center;gap:10px;display:flex}.legend-bar{border-radius:999px;width:140px;height:10px}.legend-label{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11.5px}.hm-scroll{border-radius:10px;max-height:70vh;overflow:auto}.hm-grid{gap:2px;min-width:fit-content;padding-bottom:4px;display:grid}.hm-corner{z-index:3;background:var(--surface);position:sticky;top:0;left:0}.hm-date{z-index:2;background:var(--surface);font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;padding:2px 0 6px;display:flex;position:sticky;top:0}.hm-date-month{color:var(--accent);text-transform:uppercase;min-height:13px;font-size:9.5px;font-weight:700}.hm-date-wd{color:var(--text-faint);font-size:10px}.hm-date-day{color:var(--text-muted);font-size:12px;font-weight:600}.hm-weekend .hm-date-day,.hm-weekend .hm-date-wd{color:var(--accent)}.hm-group{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);padding:14px 0 4px 2px;font-family:Outfit,Inter,sans-serif;font-size:11.5px;font-weight:700;position:sticky;left:0}.hm-label{z-index:1;background:var(--surface);color:var(--text);white-space:nowrap;text-overflow:ellipsis;align-items:center;padding:0 12px 0 2px;font-size:12px;display:flex;position:sticky;left:0;overflow:hidden}a.hm-label.hm-label-link{color:var(--text);text-decoration:none}a.hm-label.hm-label-link:hover{color:var(--accent);text-decoration:underline}.hm-cell{font-variant-numeric:tabular-nums;color:#0a0d1cd9;cursor:default;border-radius:5px;justify-content:center;align-items:center;height:26px;font-size:10.5px;font-weight:600;display:flex}.hm-price{cursor:pointer;transition:transform 80ms,box-shadow 80ms}.hm-selected{outline-offset:1px;z-index:1;outline:2px solid #1e3a8a;position:relative}.hm-price:hover{z-index:1;position:relative;transform:scale(1.18);box-shadow:0 2px 12px #00000040}.hm-empty{background:repeating-linear-gradient(45deg,#1e3a8a0d,#1e3a8a0d 3px,#1e3a8a1a 3px 6px)}.hm-pending{background:var(--surface-2);animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}.hm-tooltip{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff7;border:1px solid #1e3a8a33;border-radius:12px;max-width:280px;padding:12px 14px;position:fixed;box-shadow:0 12px 40px #00000026}.chart-tip{position:static}.tip-resort{margin-bottom:1px;font-size:13px;font-weight:700}.tip-date{color:var(--text-muted);margin-bottom:8px;font-size:11.5px}.tip-price-row{align-items:baseline;gap:6px;display:flex}.tip-price{font-variant-numeric:tabular-nums;font-family:Outfit,Inter,sans-serif;font-size:21px;font-weight:700}.tip-per{color:var(--text-muted);font-size:11px}.tip-badge{color:#047857;background:#10b9811f;border:1px solid #10b9814d;border-radius:6px;margin-left:2px;padding:1px 7px;font-size:11px;font-weight:700}.tip-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;gap:12px;margin-top:4px;font-size:11.5px;display:flex}.tip-offer{color:var(--accent);border-top:1px solid var(--border);margin-top:8px;padding-top:7px;font-size:11.5px}.tip-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding-top:7px;display:flex}.tip-hint{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px}.tip-disney-link{color:var(--accent-strong);white-space:nowrap;font-size:11.5px;font-weight:700;text-decoration:none}.tip-disney-link:hover{text-decoration:underline}.btn-disney{color:var(--accent-strong);border:1.5px solid var(--accent-strong);white-space:nowrap;border-radius:9px;padding:6px 14px;font-size:12.5px;font-weight:700;text-decoration:none;transition:background .12s,color .12s}.btn-disney:hover{background:var(--accent-strong);color:#fff}.error-banner{color:#9b0e22;background:#c0112a12;border:1px solid #c0112a4d;border-radius:12px;padding:13px 18px;font-size:13.5px}.info-banner{color:var(--accent);background:#1e3a8a0f;border:1px solid #1e3a8a33;border-radius:12px;padding:13px 18px;font-size:13.5px}.empty-state{text-align:center;color:var(--text-muted);padding:70px 0}.empty-icon{margin-bottom:12px;font-size:36px;display:block}.footer{text-align:center;color:var(--text-faint);max-width:720px;margin:12px auto 0;font-size:12px}.cheapstay-controls{flex-wrap:wrap;gap:16px;margin-bottom:18px;display:flex}.cheapstay-controls .field select{min-width:260px}.cheapstay-results{flex-direction:column;gap:8px;display:flex}.cheapstay-row{border:1px solid var(--border);background:var(--surface-2);border-radius:9px;align-items:center;gap:10px;padding:7px 12px;display:flex}.cheapstay-best{background:#1e3a8a0f;border-color:#1e3a8a38}.cheapstay-rank{color:var(--accent);text-align:center;min-width:22px;font-size:12px;font-weight:700}.cheapstay-best .cheapstay-rank{color:var(--accent-strong);font-size:14px}.cheapstay-info{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.cheapstay-dates{color:var(--text);white-space:nowrap;font-size:12.5px;font-weight:600}.cheapstay-nights-row{flex-wrap:wrap;gap:4px;display:flex}.cheapstay-night{font-variant-numeric:tabular-nums;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:default;border-radius:5px;padding:1px 6px;font-size:11px}.cheapstay-totals{white-space:nowrap;align-items:baseline;gap:6px;display:flex}.cheapstay-total{font-variant-numeric:tabular-nums;color:var(--text);font-family:Outfit,Inter,sans-serif;font-size:16px;font-weight:700}.cheapstay-per{color:var(--text-muted);font-size:11px}.cheapstay-note{color:var(--text-faint);margin:4px 0 0;font-size:11.5px}.preset-row{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;display:flex}.btn-preset{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;padding:5px 14px;font-size:12.5px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.btn-preset:hover:not(:disabled){background:var(--surface);border-color:var(--accent);color:var(--accent)}.btn-preset-active{background:var(--accent);border-color:var(--accent);color:#fff}.btn-preset-active:hover:not(:disabled){background:var(--accent);color:#fff}.btn-preset:disabled{opacity:.5;cursor:default}@media (width<=720px){:root{--hm-label-w:130px;--hm-cell-min:28px}.hero h1{font-size:32px}.page{gap:16px;padding:24px 14px 40px}.card{padding:16px}.stats{grid-template-columns:repeat(2,1fr)}.hm-head-tools{flex-direction:column;align-items:flex-start;gap:10px}.controls-meta{margin-left:0}}@media (width<=480px){.hero h1{font-size:26px}.hero-sub{font-size:13.5px}.stats{grid-template-columns:1fr}.controls-row{gap:12px}input[type=date]{width:100%}.card-head{flex-direction:column}.history-summary{gap:10px}}
