:root{--bg-base: #0f1117;--bg-card: #161822;--bg-panel: #12141c;--bg-input: #1a1d27;--bg-elevated: #22252f;--bg-subtle: rgba(255, 255, 255, .03);--bg-hover: rgba(255, 255, 255, .04);--border: #22252f;--border-subtle: #2a2e3a;--border-muted: #3a3f4b;--border-overlay: rgba(255, 255, 255, .06);--text-bright: #ffffff;--text-primary: #f0f2f5;--text-secondary: #e1e4e8;--text-tertiary: #a5b4c8;--text-muted: #9ca3af;--text-dim: #8b95a5;--text-faded: #7a8494;--text-label: #6b7280;--text-placeholder: #555555;--text-faint: #4b5563;--accent: #6366f1;--accent-light: #818cf8;--accent-lighter: #a78bfa;--accent-bg: rgba(99, 102, 241, .08);--accent-bg-hover: rgba(99, 102, 241, .2);--header-bg: linear-gradient(135deg, #1a1a4e 0%, #2d1b69 30%, #4a1942 60%, #1a1a4e 100%);--header-glow1: rgba(99, 102, 241, .15);--header-glow2: rgba(236, 72, 153, .1);--title-gradient: linear-gradient(to right, #a78bfa, #ec4899, #f59e0b);--scrollbar: #2a2e3a;--filter-bg: rgba(15, 17, 23, .92);--shadow-card: rgba(0, 0, 0, .3);--shadow-fab: rgba(0, 0, 0, .5);--shadow-fab-hover: rgba(0, 0, 0, .6);--overlay-bg: rgba(0, 0, 0, .75);--panel-overlay: rgba(0, 0, 0, .6)}[data-theme=light]{color-scheme:light;--bg-base: #f5f5f7;--bg-card: #ffffff;--bg-panel: #fafafa;--bg-input: #f0f0f2;--bg-elevated: #e8e8ec;--bg-subtle: rgba(0, 0, 0, .02);--bg-hover: rgba(0, 0, 0, .04);--border: #e2e4e8;--border-subtle: #d4d6dc;--border-muted: #c0c4cc;--border-overlay: rgba(0, 0, 0, .08);--text-bright: #1a1a2e;--text-primary: #1e1e2e;--text-secondary: #2d2d3f;--text-tertiary: #4a4a5e;--text-muted: #5a5a6e;--text-dim: #6a6a7e;--text-faded: #7a7a8e;--text-label: #8a8a9e;--text-placeholder: #aaaaaa;--text-faint: #9a9aae;--accent: #5b5df0;--accent-light: #7577f5;--accent-lighter: #9b8ef8;--accent-bg: rgba(91, 93, 240, .08);--accent-bg-hover: rgba(91, 93, 240, .15);--header-bg: linear-gradient(135deg, #2a2a6e 0%, #3d2b89 30%, #5a2962 60%, #2a2a6e 100%);--header-glow1: rgba(99, 102, 241, .2);--header-glow2: rgba(236, 72, 153, .15);--title-gradient: linear-gradient(to right, #7c5fc4, #d63e8c, #d48a0b);--scrollbar: #d4d6dc;--filter-bg: rgba(245, 245, 247, .95);--shadow-card: rgba(0, 0, 0, .08);--shadow-fab: rgba(0, 0, 0, .15);--shadow-fab-hover: rgba(0, 0, 0, .2);--overlay-bg: rgba(0, 0, 0, .5);--panel-overlay: rgba(0, 0, 0, .4)}[data-theme=ocean]{--bg-base: #0a1628;--bg-card: #0f1f35;--bg-panel: #0c1a2e;--bg-input: #132640;--bg-elevated: #1a3050;--bg-subtle: rgba(100, 200, 255, .03);--bg-hover: rgba(100, 200, 255, .05);--border: #1a3050;--border-subtle: #204060;--border-muted: #2a5070;--border-overlay: rgba(100, 200, 255, .08);--text-bright: #ffffff;--text-primary: #e0f0ff;--text-secondary: #c0d8ef;--text-tertiary: #8ab4d8;--text-muted: #7aa4c8;--text-dim: #6a94b8;--text-faded: #5a84a8;--text-label: #4a7498;--text-placeholder: #3a6488;--text-faint: #3a5a78;--accent: #0ea5e9;--accent-light: #38bdf8;--accent-lighter: #7dd3fc;--accent-bg: rgba(14, 165, 233, .08);--accent-bg-hover: rgba(14, 165, 233, .2);--header-bg: linear-gradient(135deg, #0a1e3d 0%, #0c2d5e 30%, #0a3a6e 60%, #0a1e3d 100%);--header-glow1: rgba(14, 165, 233, .15);--header-glow2: rgba(56, 189, 248, .1);--title-gradient: linear-gradient(to right, #7dd3fc, #0ea5e9, #06b6d4);--scrollbar: #204060;--filter-bg: rgba(10, 22, 40, .92);--shadow-card: rgba(0, 0, 0, .4);--shadow-fab: rgba(0, 0, 0, .6);--shadow-fab-hover: rgba(0, 0, 0, .7);--overlay-bg: rgba(0, 0, 0, .75);--panel-overlay: rgba(0, 0, 0, .6)}[data-theme=sunset]{--bg-base: #1a0f0f;--bg-card: #231515;--bg-panel: #1e1111;--bg-input: #2d1a1a;--bg-elevated: #3a2222;--bg-subtle: rgba(255, 150, 50, .03);--bg-hover: rgba(255, 150, 50, .05);--border: #3a2222;--border-subtle: #4a2e2e;--border-muted: #5a3a3a;--border-overlay: rgba(255, 150, 50, .08);--text-bright: #ffffff;--text-primary: #ffe8d8;--text-secondary: #f0d0b8;--text-tertiary: #c8a888;--text-muted: #b89878;--text-dim: #a88868;--text-faded: #987858;--text-label: #886848;--text-placeholder: #785838;--text-faint: #684828;--accent: #f59e0b;--accent-light: #fbbf24;--accent-lighter: #fcd34d;--accent-bg: rgba(245, 158, 11, .08);--accent-bg-hover: rgba(245, 158, 11, .2);--header-bg: linear-gradient(135deg, #2d0a0a 0%, #4a1a0a 30%, #6a2a0a 60%, #2d0a0a 100%);--header-glow1: rgba(245, 158, 11, .15);--header-glow2: rgba(239, 68, 68, .1);--title-gradient: linear-gradient(to right, #fcd34d, #f59e0b, #ef4444);--scrollbar: #4a2e2e;--filter-bg: rgba(26, 15, 15, .92);--shadow-card: rgba(0, 0, 0, .4);--shadow-fab: rgba(0, 0, 0, .6);--shadow-fab-hover: rgba(0, 0, 0, .7);--overlay-bg: rgba(0, 0, 0, .75);--panel-overlay: rgba(0, 0, 0, .6)}[data-theme=enchanted]{--bg-base: #110d1e;--bg-card: #1a1430;--bg-panel: #150f28;--bg-input: #201838;--bg-elevated: #2a2048;--bg-subtle: rgba(180, 100, 255, .03);--bg-hover: rgba(180, 100, 255, .05);--border: #2a2048;--border-subtle: #352a58;--border-muted: #403468;--border-overlay: rgba(180, 100, 255, .08);--text-bright: #ffffff;--text-primary: #f0e8ff;--text-secondary: #d8c8f0;--text-tertiary: #b0a0d0;--text-muted: #a090c0;--text-dim: #9080b0;--text-faded: #8070a0;--text-label: #706090;--text-placeholder: #605080;--text-faint: #504070;--accent: #a855f7;--accent-light: #c084fc;--accent-lighter: #d8b4fe;--accent-bg: rgba(168, 85, 247, .08);--accent-bg-hover: rgba(168, 85, 247, .2);--header-bg: linear-gradient(135deg, #1a0a3e 0%, #2d1069 30%, #4a0a5a 60%, #1a0a3e 100%);--header-glow1: rgba(168, 85, 247, .15);--header-glow2: rgba(236, 72, 153, .1);--title-gradient: linear-gradient(to right, #d8b4fe, #a855f7, #ec4899);--scrollbar: #352a58;--filter-bg: rgba(17, 13, 30, .92);--shadow-card: rgba(0, 0, 0, .4);--shadow-fab: rgba(0, 0, 0, .6);--shadow-fab-hover: rgba(0, 0, 0, .7);--overlay-bg: rgba(0, 0, 0, .75);--panel-overlay: rgba(0, 0, 0, .6)}[data-theme=aurora]{--bg-base: #080e14;--bg-card: #0d1720;--bg-panel: #0a131c;--bg-input: #111d2a;--bg-elevated: #182838;--bg-subtle: rgba(52, 211, 153, .03);--bg-hover: rgba(52, 211, 153, .05);--bg-glow: radial-gradient(ellipse at 20% 50%, rgba(16, 185, 129, .06) 0%, transparent 60%), radial-gradient(ellipse at 80% 30%, rgba(139, 92, 246, .05) 0%, transparent 50%), radial-gradient(ellipse at 50% 90%, rgba(6, 182, 212, .04) 0%, transparent 50%);--border: #182838;--border-subtle: #1e3448;--border-muted: #284458;--border-overlay: rgba(52, 211, 153, .08);--text-bright: #ffffff;--text-primary: #e0fff0;--text-secondary: #b8e8d4;--text-tertiary: #7cc8a8;--text-muted: #6cb898;--text-dim: #5ca888;--text-faded: #4c9878;--text-label: #3c8868;--text-placeholder: #2c7858;--text-faint: #2a6858;--accent: #10b981;--accent-light: #34d399;--accent-lighter: #6ee7b7;--accent-bg: rgba(16, 185, 129, .08);--accent-bg-hover: rgba(16, 185, 129, .2);--header-bg: linear-gradient(135deg, #041210 0%, #0a2a20 20%, #0e1a38 45%, #1a0a3a 70%, #0a1628 100%);--header-glow1: rgba(16, 185, 129, .2);--header-glow2: rgba(139, 92, 246, .15);--title-gradient: linear-gradient(to right, #6ee7b7, #06b6d4, #a78bfa);--scrollbar: #1e3448;--filter-bg: rgba(8, 14, 20, .92);--shadow-card: rgba(0, 0, 0, .4);--shadow-fab: rgba(0, 0, 0, .6);--shadow-fab-hover: rgba(0, 0, 0, .7);--overlay-bg: rgba(0, 0, 0, .75);--panel-overlay: rgba(0, 0, 0, .6)}[data-theme=neon]{--bg-base: #0a0a12;--bg-card: #10101e;--bg-panel: #0d0d18;--bg-input: #161628;--bg-elevated: #1e1e35;--bg-subtle: rgba(236, 72, 153, .03);--bg-hover: rgba(236, 72, 153, .05);--bg-glow: radial-gradient(ellipse at 15% 40%, rgba(236, 72, 153, .07) 0%, transparent 55%), radial-gradient(ellipse at 85% 60%, rgba(6, 182, 212, .06) 0%, transparent 50%), radial-gradient(ellipse at 50% 20%, rgba(250, 204, 21, .04) 0%, transparent 45%);--border: #1e1e35;--border-subtle: #2a2a48;--border-muted: #383860;--border-overlay: rgba(236, 72, 153, .1);--text-bright: #ffffff;--text-primary: #f8e8f8;--text-secondary: #e0c8e8;--text-tertiary: #c090d8;--text-muted: #b080c8;--text-dim: #a070b8;--text-faded: #9060a8;--text-label: #805098;--text-placeholder: #604078;--text-faint: #504068;--accent: #ec4899;--accent-light: #f472b6;--accent-lighter: #f9a8d4;--accent-bg: rgba(236, 72, 153, .08);--accent-bg-hover: rgba(236, 72, 153, .2);--header-bg: linear-gradient(135deg, #12041a 0%, #2a0830 20%, #0a1828 50%, #18082a 75%, #0a0a18 100%);--header-glow1: rgba(236, 72, 153, .2);--header-glow2: rgba(6, 182, 212, .18);--title-gradient: linear-gradient(to right, #f472b6, #22d3ee, #facc15);--scrollbar: #2a2a48;--filter-bg: rgba(10, 10, 18, .92);--shadow-card: rgba(0, 0, 0, .4);--shadow-fab: rgba(0, 0, 0, .6);--shadow-fab-hover: rgba(0, 0, 0, .7);--overlay-bg: rgba(0, 0, 0, .8);--panel-overlay: rgba(0, 0, 0, .65)}[data-theme=tropical]{--bg-base: #0c1210;--bg-card: #121c18;--bg-panel: #0f1814;--bg-input: #182820;--bg-elevated: #22382c;--bg-subtle: rgba(248, 113, 113, .03);--bg-hover: rgba(248, 113, 113, .05);--bg-glow: radial-gradient(ellipse at 25% 35%, rgba(251, 146, 60, .06) 0%, transparent 55%), radial-gradient(ellipse at 75% 70%, rgba(20, 184, 166, .06) 0%, transparent 50%), radial-gradient(ellipse at 50% 10%, rgba(250, 204, 21, .04) 0%, transparent 40%);--border: #22382c;--border-subtle: #2c4838;--border-muted: #3a5a48;--border-overlay: rgba(251, 146, 60, .08);--text-bright: #ffffff;--text-primary: #f0f8e8;--text-secondary: #d0e8c8;--text-tertiary: #98c8a0;--text-muted: #88b890;--text-dim: #78a880;--text-faded: #689870;--text-label: #588860;--text-placeholder: #487850;--text-faint: #386840;--accent: #fb923c;--accent-light: #fdba74;--accent-lighter: #fed7aa;--accent-bg: rgba(251, 146, 60, .08);--accent-bg-hover: rgba(251, 146, 60, .2);--header-bg: linear-gradient(135deg, #0a1a10 0%, #1a3020 20%, #2a1a08 45%, #0a2828 70%, #0a1a10 100%);--header-glow1: rgba(251, 146, 60, .18);--header-glow2: rgba(20, 184, 166, .15);--title-gradient: linear-gradient(to right, #fb923c, #facc15, #2dd4bf);--scrollbar: #2c4838;--filter-bg: rgba(12, 18, 16, .92);--shadow-card: rgba(0, 0, 0, .4);--shadow-fab: rgba(0, 0, 0, .6);--shadow-fab-hover: rgba(0, 0, 0, .7);--overlay-bg: rgba(0, 0, 0, .75);--panel-overlay: rgba(0, 0, 0, .6)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-base);color:var(--text-secondary);min-height:100vh}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column;position:relative}.app:before{content:"";position:fixed;inset:0;background:var(--bg-glow, none);pointer-events:none;z-index:0}.header{position:relative;overflow:hidden;padding:3rem 1.5rem 2.5rem;text-align:center}.header-bg{position:absolute;inset:0;background:var(--header-bg);z-index:0}.header-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,var(--header-glow1) 0%,transparent 60%),radial-gradient(ellipse at 70% 80%,var(--header-glow2) 0%,transparent 60%)}.header-content{position:relative;z-index:1;max-width:800px;margin:0 auto}.header-title{font-size:3rem;font-weight:800;background:var(--title-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.header-subtitle{font-size:1.15rem;color:var(--text-tertiary);margin-bottom:2rem}.header-stats{display:flex;justify-content:center;gap:3rem}.stat{display:flex;flex-direction:column;align-items:center}.stat-number{font-size:2rem;font-weight:700;color:#fff}.stat-label{font-size:.8rem;color:#ffffff8c;text-transform:uppercase;letter-spacing:.08em}.theme-picker{display:flex;justify-content:center;gap:.6rem;margin-top:1.5rem}.theme-dot{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.15);background:var(--dot-color);cursor:pointer;transition:all .2s;padding:0;flex-shrink:0}.theme-dot:hover{transform:scale(1.2);border-color:#fff6}.theme-dot.active{border-color:#ffffffe6;transform:scale(1.15);box-shadow:0 0 8px #ffffff40}.filters-container{position:sticky;top:0;z-index:100;background:var(--filter-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-overlay)}.filters{max-width:1200px;margin:0 auto;padding:1rem 1.5rem}.search-wrapper{position:relative;margin-bottom:.75rem}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-placeholder)}.search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-secondary);font-size:.95rem;font-family:inherit;transition:border-color .2s}.search-input::placeholder{color:var(--text-placeholder)}.search-input:focus{outline:none;border-color:var(--accent)}.filter-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.filter-group label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-label);margin-bottom:.3rem;font-weight:600}.filter-group select{width:100%;padding:.55rem .75rem;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);font-size:.85rem;font-family:inherit;cursor:pointer;transition:border-color .2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.filter-group select:focus{outline:none;border-color:var(--accent)}.filter-info{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem}.results-count{font-size:.85rem;color:var(--text-label)}.results-count strong{color:var(--text-tertiary)}.clear-btn{background:none;border:1px solid var(--border-muted);color:var(--text-tertiary);padding:.35rem .85rem;border-radius:6px;font-size:.8rem;cursor:pointer;font-family:inherit;transition:all .2s}.clear-btn:hover{border-color:var(--accent);color:var(--text-bright)}.main{flex:1;max-width:1200px;margin:0 auto;padding:2rem 1.5rem;width:100%}.park-section{margin-bottom:3rem}.park-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.park-title{font-size:1.5rem;font-weight:700;color:var(--text-bright)}.resort-badge{padding:.25rem .75rem;border-radius:20px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.resort-badge.disney{background:#6366f126;color:#818cf8;border:1px solid rgba(99,102,241,.25)}.resort-badge.universal{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.25)}.park-count{font-size:.85rem;color:var(--text-label)}.rides-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.ride-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;flex-direction:column;cursor:pointer}.ride-image{width:100%;height:140px;display:block;flex-shrink:0}.ride-card-body{padding:1rem 1.25rem 1.25rem;flex:1;display:flex;flex-direction:column}.ride-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--shadow-card)}.ride-card.disney:hover{border-color:#6366f166}.ride-card.universal:hover{border-color:#f59e0b66}.ride-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.ride-name{font-size:1.05rem;font-weight:600;color:var(--text-primary);line-height:1.3}.thrill-badge{flex-shrink:0;padding:.2rem .6rem;border-radius:6px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.thrill-low{background:#22c55e1f;color:#4ade80;border:1px solid rgba(34,197,94,.2)}.thrill-moderate{background:#f59e0b1f;color:#fbbf24;border:1px solid rgba(245,158,11,.2)}.thrill-high{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.2)}.ride-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.tag{padding:.2rem .55rem;border-radius:5px;font-size:.72rem;font-weight:500}.tag-type{background:#8b5cf61a;color:#a78bfa}.tag-area{background:#64748b1f;color:#94a3b8}.ride-desc{font-size:.85rem;color:var(--text-faded);line-height:1.55;flex:1;margin-bottom:.75rem}.add-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.5rem;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-subtle);color:var(--text-dim);font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.add-btn svg{width:15px;height:15px}.add-btn:hover{border-color:var(--accent);color:var(--text-tertiary);background:var(--accent-bg)}.add-btn.added{border-color:#22c55e4d;color:#4ade80;background:#22c55e14}.add-btn.added:hover{border-color:#ef44444d;color:#f87171;background:#ef444414}.ride-card.in-list{border-color:#22c55e33}.fab-list{position:fixed;bottom:1.5rem;right:1.5rem;z-index:200;display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:50px;border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-secondary);font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 4px 20px var(--shadow-fab);transition:all .2s}.fab-list svg{width:20px;height:20px}.fab-list:hover{border-color:var(--accent);background:var(--bg-elevated);transform:translateY(-2px);box-shadow:0 6px 24px var(--shadow-fab-hover)}.fab-badge{background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 6px}.no-results{text-align:center;padding:4rem 1rem;color:var(--text-label)}.no-results h2{font-size:1.4rem;color:var(--text-muted);margin-bottom:.5rem}.footer{text-align:center;padding:2rem 1rem;border-top:1px solid var(--border);color:var(--text-faint);font-size:.8rem}@media(max-width:768px){.header{padding:2rem 1rem 1.5rem}.header-title{font-size:2rem}.header-subtitle{font-size:.95rem}.header-stats{gap:1.5rem}.stat-number{font-size:1.5rem}.filter-row{grid-template-columns:repeat(2,1fr)}.rides-grid{grid-template-columns:1fr}.park-header{flex-direction:column;align-items:flex-start;gap:.5rem}}@media(max-width:480px){.filter-row{grid-template-columns:1fr}}.modal-overlay{position:fixed;inset:0;z-index:1000;background:var(--overlay-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .25s ease}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:transparent}.modal-content::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:3px}.modal-close{position:absolute;top:12px;right:12px;z-index:10;width:36px;height:36px;border-radius:50%;border:none;background:#00000080;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;padding:0}.modal-close svg{width:18px;height:18px}.modal-close:hover{background:#000c}.modal-hero{width:100%;border-radius:16px 16px 0 0;overflow:hidden}.ride-image-large{width:100%;height:200px;display:block}.modal-body{padding:1.5rem 1.75rem 2rem}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.modal-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.3}.modal-location{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.modal-park{font-size:.9rem;color:var(--text-tertiary);font-weight:500}.modal-area{font-size:.85rem;color:var(--text-label)}.modal-area:before{content:"/";margin-right:.75rem;color:var(--border-muted)}.modal-tags{margin-bottom:1.25rem}.modal-tags .tag{font-size:.8rem;padding:.3rem .7rem}.modal-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem;margin-bottom:1.5rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:10px;padding:1rem}.modal-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.modal-stat-value{font-size:1.1rem;font-weight:700;color:var(--text-secondary);margin-bottom:.2rem}.modal-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-label);font-weight:600}.modal-description{line-height:1.7;color:var(--text-muted);font-size:.95rem}.modal-description p{margin:0}@media(max-width:640px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-height:95vh;border-radius:16px 16px 0 0}.modal-title{font-size:1.25rem}.modal-body{padding:1.25rem 1.25rem 1.5rem}.modal-stats{grid-template-columns:repeat(2,1fr)}}.modal-add-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;border-radius:10px;border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent-light);font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;margin-top:1.5rem;transition:all .2s}.modal-add-btn svg{width:18px;height:18px}.modal-add-btn:hover{background:var(--accent-bg-hover);border-color:var(--accent-light)}.modal-add-btn.added{border-color:#22c55e66;background:#22c55e1a;color:#4ade80}.modal-add-btn.added:hover{border-color:#ef444466;background:#ef44441a;color:#f87171}.panel-backdrop{position:fixed;inset:0;z-index:900;background:var(--panel-overlay);opacity:0;pointer-events:none;transition:opacity .3s}.panel-backdrop.open{opacity:1;pointer-events:auto}.list-panel{position:fixed;top:0;right:0;bottom:0;z-index:950;width:380px;max-width:100vw;background:var(--bg-panel);border-left:1px solid var(--border);display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.list-panel.open{transform:translate(0)}.panel-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.panel-title{font-size:1.2rem;font-weight:700;color:var(--text-primary)}.panel-count{font-size:.8rem;color:var(--text-label);background:var(--bg-input);padding:.2rem .6rem;border-radius:10px}.panel-close-btn{position:static;margin-left:auto}.panel-body{flex:1;overflow-y:auto;padding:1rem 0}.panel-body::-webkit-scrollbar{width:5px}.panel-body::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:3px}.panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--text-faint)}.panel-empty svg{width:48px;height:48px;margin-bottom:1rem;opacity:.4}.panel-empty p{font-size:1rem;font-weight:600;color:var(--text-label);margin-bottom:.4rem}.panel-empty span{font-size:.8rem}.panel-park-group{margin-bottom:.5rem}.panel-park-name{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-label);font-weight:700;padding:.5rem 1.5rem .4rem}.panel-ride-item{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.5rem;cursor:pointer;transition:background .15s}.panel-ride-item:hover{background:var(--bg-hover)}.panel-ride-info{flex:1;min-width:0}.panel-ride-name{display:block;font-size:.9rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-ride-meta{display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:var(--text-label);margin-top:.15rem}.panel-thrill{padding:.1rem .4rem;border-radius:4px;font-size:.65rem;font-weight:700;text-transform:uppercase}.panel-remove-btn{flex-shrink:0;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--text-faint);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s}.panel-remove-btn svg{width:14px;height:14px}.panel-remove-btn:hover{background:#ef444426;color:#f87171}.panel-clear-btn{display:block;margin:1rem auto;padding:.5rem 1.25rem;border-radius:8px;border:1px solid rgba(239,68,68,.25);background:#ef444414;color:#f87171;font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.panel-clear-btn:hover{background:#ef444426;border-color:#ef444466}@media(max-width:480px){.list-panel{width:100vw}.fab-list{bottom:1rem;right:1rem;padding:.65rem 1rem;font-size:.85rem}}.fab-schedule{position:fixed;bottom:1.5rem;right:10.5rem;z-index:200;display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:50px;border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-secondary);font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 4px 20px var(--shadow-fab);transition:all .2s}.fab-schedule svg{width:20px;height:20px}.fab-schedule:hover{border-color:var(--accent);background:var(--bg-elevated);transform:translateY(-2px);box-shadow:0 6px 24px var(--shadow-fab-hover)}.schedule-panel{position:fixed;top:0;right:0;bottom:0;z-index:950;width:480px;max-width:100vw;background:var(--bg-panel);border-left:1px solid var(--border);display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.schedule-panel.open{transform:translate(0)}.schedule-calendar{padding:.75rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.schedule-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.schedule-cal-month{font-size:.9rem;font-weight:700;color:var(--text-primary)}.schedule-cal-nav{width:28px;height:28px;border-radius:6px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s}.schedule-cal-nav svg{width:14px;height:14px}.schedule-cal-nav:hover{border-color:var(--accent);color:var(--text-tertiary)}.schedule-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.schedule-cal-day-header{font-size:.65rem;font-weight:700;text-transform:uppercase;color:var(--text-label);text-align:center;padding:.25rem 0}.schedule-cal-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.3rem 0;min-height:32px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:.78rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s}.schedule-cal-day:hover{background:var(--bg-hover)}.schedule-cal-day.other-month{color:var(--text-faint);opacity:.4}.schedule-cal-day.today{outline:1.5px solid var(--accent);outline-offset:-1.5px;font-weight:700;color:var(--accent-light)}.schedule-cal-day.selected{background:var(--accent);color:#fff;font-weight:700}.schedule-cal-day.selected.today{outline-color:#fff}.schedule-cal-dot{position:absolute;bottom:2px;width:4px;height:4px;border-radius:50%;background:var(--accent-light)}.schedule-cal-day.selected .schedule-cal-dot{background:#fff}.schedule-date-header{font-size:.95rem;font-weight:700;color:var(--text-primary);padding:.75rem 1.5rem .25rem}.schedule-park-select{display:flex;align-items:center;gap:.75rem;padding:.5rem 1.5rem .75rem}.schedule-park-select label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-label);font-weight:700;flex-shrink:0}.schedule-park-select select{flex:1;padding:.5rem .75rem;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);font-size:.85rem;font-family:inherit;cursor:pointer;transition:border-color .2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.schedule-park-select select:focus{outline:none;border-color:var(--accent)}.schedule-header-info{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.schedule-hours{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-tertiary);font-weight:500}.schedule-optimize-btn{display:flex;align-items:center;gap:.35rem;padding:.35rem .8rem;border-radius:6px;border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent-light);font-size:.78rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.schedule-optimize-btn:hover{background:var(--accent-bg-hover);border-color:var(--accent-light)}.schedule-timeline{padding:.75rem 1.5rem}.schedule-ride-block{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:.25rem;transition:border-color .2s}.schedule-ride-block:hover{border-color:var(--border-muted)}.schedule-ride-block.overflow{opacity:.5;border-color:#ef44444d;background:#ef444408}.schedule-ride-time{font-size:.72rem;font-weight:700;color:var(--accent-light);min-width:65px;padding-top:.15rem;white-space:nowrap}.schedule-ride-content{flex:1;min-width:0}.schedule-ride-name{font-size:.88rem;font-weight:600;color:var(--text-secondary);line-height:1.3;margin-bottom:.35rem}.schedule-ride-chips{display:flex;flex-wrap:wrap;gap:.3rem}.schedule-chip{padding:.1rem .45rem;border-radius:4px;font-size:.65rem;font-weight:600}.schedule-chip-wait{background:#f59e0b1a;color:#fbbf24}.schedule-chip-duration{background:#22c55e1a;color:#4ade80}.schedule-chip-area{background:#64748b1f;color:#94a3b8}.schedule-ride-actions{display:flex;flex-direction:column;gap:.15rem;flex-shrink:0}.schedule-move-btn,.schedule-remove-btn{width:24px;height:24px;border-radius:5px;border:none;background:transparent;color:var(--text-faint);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s}.schedule-move-btn svg,.schedule-remove-btn svg{width:14px;height:14px}.schedule-move-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-tertiary)}.schedule-move-btn:disabled{opacity:.25;cursor:default}.schedule-remove-btn:hover{background:#ef444426;color:#f87171}.schedule-walk-block{display:flex;align-items:center;gap:.5rem;padding:.2rem 0 .2rem 2rem}.schedule-walk-line{width:2px;height:20px;background:repeating-linear-gradient(to bottom,var(--border-muted) 0px,var(--border-muted) 3px,transparent 3px,transparent 6px);flex-shrink:0}.schedule-walk-info{font-size:.72rem;color:var(--text-label);font-style:italic}.schedule-summary{display:flex;align-items:center;gap:1rem;padding:.75rem;margin-top:.5rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;font-size:.78rem;font-weight:600;color:var(--text-tertiary)}.schedule-overflow-warning{color:#f87171;font-weight:700}.schedule-available{padding:.5rem 1.5rem 1rem;border-top:1px solid var(--border);margin-top:.5rem}.schedule-available-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-label);font-weight:700;padding:.5rem 0 .4rem}.schedule-available-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;transition:background .15s}.schedule-available-info{flex:1;min-width:0}.schedule-available-name{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-available-meta{display:block;font-size:.7rem;color:var(--text-label);margin-top:.1rem}.schedule-add-btn{flex-shrink:0;width:28px;height:28px;border-radius:6px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-faint);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s}.schedule-add-btn svg{width:14px;height:14px}.schedule-add-btn:hover{border-color:#22c55e66;background:#22c55e1a;color:#4ade80}.schedule-header-actions{display:flex;align-items:center;gap:.5rem}.schedule-smartplan-btn{display:flex;align-items:center;gap:.35rem;padding:.35rem .8rem;border-radius:6px;border:1px solid rgba(168,85,247,.4);background:#a855f714;color:#c084fc;font-size:.78rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.schedule-smartplan-btn:hover{background:#a855f726;border-color:#a855f799}.sp-form{padding:1rem 1.5rem 1.5rem}.sp-form-header{margin-bottom:1rem}.sp-form-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:.2rem}.sp-form-subtitle{font-size:.78rem;color:var(--text-label)}.sp-field{margin-bottom:1rem}.sp-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-label);font-weight:700;margin-bottom:.4rem}.sp-time-row{display:flex;align-items:center;gap:.5rem}.sp-time-input{flex:1;padding:.45rem .6rem;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);font-size:.85rem;font-family:inherit;transition:border-color .2s}.sp-time-input:focus{outline:none;border-color:var(--accent)}.sp-time-sep{font-size:.78rem;color:var(--text-label);flex-shrink:0}.sp-chips{display:flex;flex-wrap:wrap;gap:.35rem}.sp-chip{padding:.3rem .65rem;border-radius:20px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-tertiary);font-size:.73rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s}.sp-chip:hover{border-color:var(--border-muted);background:var(--bg-hover)}.sp-chip.active{border-color:#a855f780;background:#a855f71f;color:#c084fc}.sp-hint{display:block;font-size:.65rem;color:var(--text-faint);margin-top:.3rem;font-style:italic}.sp-select{width:100%;padding:.45rem .75rem;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);font-size:.85rem;font-family:inherit;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color .2s}.sp-select:focus{outline:none;border-color:var(--accent)}.sp-actions{display:flex;gap:.5rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.sp-btn{flex:1;padding:.55rem 1rem;border-radius:8px;font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;border:1px solid transparent}.sp-btn-cancel{background:var(--bg-hover);color:var(--text-tertiary);border-color:var(--border-subtle)}.sp-btn-cancel:hover{background:var(--bg-subtle);border-color:var(--border-muted)}.sp-btn-generate{background:#a855f726;color:#c084fc;border-color:#a855f766}.sp-btn-generate:hover{background:#a855f740;border-color:#a855f799}.sp-btn-accept{background:#22c55e26;color:#4ade80;border-color:#22c55e66}.sp-btn-accept:hover{background:#22c55e40;border-color:#22c55e99}.sp-preview{padding:.75rem 1.5rem 1rem}.sp-preview-header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.75rem}.sp-preview-title{font-size:1rem;font-weight:700;color:var(--text-primary)}.sp-preview-stats{font-size:.78rem;color:var(--text-label);font-weight:500}.sp-empty{text-align:center;padding:2rem 1rem;color:var(--text-label)}.sp-empty p{font-size:.95rem;font-weight:600;color:var(--text-tertiary);margin-bottom:.25rem}.sp-empty span{font-size:.78rem}@media(max-width:768px){.schedule-panel{width:100vw}}@media(max-width:480px){.fab-schedule{bottom:4rem;right:1rem;padding:.65rem 1rem;font-size:.85rem}}
