:root{--bg:#071913;--surface:#0d261e;--surface-2:#123127;--card:#102c23;--text:#f6f5ee;--muted:#a9b8b1;--line:#ffffff17;--accent:#d7b66f;--accent-2:#84d7ae;--danger:#ff9d86;--ok:#8fe0b6;--shadow:0 16px 40px #00000047;--radius:22px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{background:radial-gradient(circle at 85% -10%,#d7b66f29,transparent 34%),var(--bg);color:var(--text);min-height:100vh;margin:0}button,input{font:inherit}.app-shell{min-height:100vh;padding-bottom:calc(78px + env(safe-area-inset-bottom))}.topbar{z-index:20;padding:calc(14px + env(safe-area-inset-top)) 18px 14px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#071913fa,#071913e6,#0719138c);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.eyebrow{color:var(--accent);letter-spacing:.15em;margin:0 0 3px;font-size:11px;font-weight:800}.topbar h1{letter-spacing:-.02em;margin:0;font-size:21px}.icon-button{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--text);border-radius:14px}.content{width:min(100%,760px);margin:0 auto;padding:8px 16px 26px}.bottom-nav{z-index:30;width:min(100%,760px);padding:8px 8px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-top:1px solid var(--line);background:#081b15f0;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{color:var(--muted);background:0 0;border:0;border-radius:14px;place-items:center;gap:2px;padding:6px 2px 2px;display:grid}.nav-item span{font-size:21px;line-height:1}.nav-item small{font-size:10px;font-weight:700}.nav-item.active{color:var(--accent-2);background:#84d7ae14}.hero{background:linear-gradient(135deg,#d7b66f26,#84d7ae14),var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px;padding:24px 20px;position:relative;overflow:hidden}.hero:after{content:"☾";color:#d7b66f12;font-size:118px;position:absolute;top:-16px;right:14px;transform:rotate(-12deg)}.hero h2{letter-spacing:-.045em;max-width:82%;margin:3px 0 8px;font-size:31px;line-height:1.02}.hero p{color:var(--muted);margin:0;line-height:1.5}.hero-row{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.pill{border:1px solid var(--line);color:#e8eee9;background:#ffffff09;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:12px;font-weight:700;display:inline-flex}.pill.gold{color:#f3d897;background:#d7b66f14;border-color:#d7b66f40}.section{margin-top:24px}.section-head{justify-content:space-between;align-items:end;gap:12px;margin:0 2px 12px;display:flex}.section-head h3{letter-spacing:-.02em;margin:0;font-size:19px}.section-head p,.section-head button{color:var(--muted);margin:0;font-size:12px}.link-btn{background:0 0;border:0;padding:4px;font-weight:800;color:var(--accent-2)!important}.stats{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px}.stat strong{letter-spacing:-.04em;font-size:22px;display:block}.stat span{color:var(--muted);margin-top:2px;font-size:10px;display:block}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 10px 30px #00000026}.card+.card{margin-top:11px}.card-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.card-title h4{margin:0;font-size:17px;line-height:1.25}.card-title .date{color:var(--accent);white-space:nowrap;font-size:11px;font-weight:800}.muted{color:var(--muted)}.small{font-size:12px}.notice{border-left:3px solid var(--accent);background:#d7b66f12;border-radius:0 14px 14px 0;padding:12px 13px;font-size:13px;line-height:1.45}.notice.green{border-left-color:var(--accent-2);background:#84d7ae12}.notice.red{border-left-color:var(--danger);background:#ff9d8612}.timeline{margin-top:14px}.timeline-item{grid-template-columns:58px 16px 1fr;gap:9px;padding-bottom:17px;display:grid;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item:not(:last-child) .dot:after{content:"";background:var(--line);width:1px;position:absolute;top:13px;bottom:-20px;left:7px}.time{color:var(--accent);padding-top:1px;font-size:12px;font-weight:800}.dot{border:3px solid var(--surface-2);background:var(--accent-2);border-radius:50%;width:15px;height:15px;position:relative}.event strong{margin-bottom:2px;font-size:14px;display:block}.event p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.event .event-actions{flex-wrap:wrap;gap:7px;margin-top:7px;display:flex}.mini-link{color:var(--accent-2);background:#84d7ae0d;border:1px solid #84d7ae29;border-radius:9px;align-items:center;gap:5px;padding:5px 8px;font-size:11px;font-weight:750;text-decoration:none;display:inline-flex}.day-card{overflow:hidden}.day-meta{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.day-summary{color:var(--muted);font-size:13px;line-height:1.45}.details-toggle{border:1px solid var(--line);width:100%;color:var(--text);background:#ffffff08;border-radius:13px;margin-top:12px;padding:10px 12px;font-weight:700}.day-details{padding-top:13px;display:none}.day-card.expanded .day-details{display:block}.day-card.expanded .details-toggle{color:var(--accent-2)}.search-wrap{z-index:15;background:linear-gradient(180deg,var(--bg) 75%,transparent);padding:7px 0 11px;position:sticky;top:78px}.search{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:16px;outline:0;padding:12px 14px}.filters{scrollbar-width:none;gap:8px;padding:2px 0 8px;display:flex;overflow:auto}.filters::-webkit-scrollbar{display:none}.filter{border:1px solid var(--line);background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:700}.filter.active{color:var(--accent-2);background:#84d7ae1f;border-color:#84d7ae47}.ticket{grid-template-columns:1fr auto;gap:12px;display:grid}.ticket h4{margin:0 0 5px;font-size:15px}.ticket p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.ticket-price{color:var(--accent);white-space:nowrap;font-weight:850}.ticket-foot{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;margin-top:2px;padding-top:11px;display:flex}.status-btn{border:1px solid var(--line);color:var(--text);background:#ffffff08;border-radius:12px;padding:8px 10px;font-size:12px;font-weight:800}.status-btn.booked{color:var(--ok);background:#84d7ae1f;border-color:#84d7ae47}.badge{letter-spacing:.03em;color:var(--muted);background:#ffffff0d;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850;display:inline-flex}.badge.urgent{color:#ffd1c6;background:#ff9d861f}.badge.advance{color:#f1d69b;background:#d7b66f1f}.badge.onsite{color:#b8e8d0;background:#84d7ae1a}.progress-card{padding:17px}.progress-line{background:#ffffff0f;border-radius:999px;height:9px;margin-top:11px;overflow:hidden}.progress-line span{background:linear-gradient(90deg,var(--accent-2),var(--accent));border-radius:inherit;height:100%;display:block}.budget-row{justify-content:space-between;gap:10px;margin-top:10px;font-size:13px;display:flex}.budget-row strong{color:var(--accent)}.city-grid{gap:12px;display:grid}.city-card{position:relative;overflow:hidden}.city-card .city-num{color:#ffffff0a;font-size:52px;font-weight:900;position:absolute;top:7px;right:14px}.city-card h4{margin:0 0 3px;font-size:22px}.city-card ul{color:var(--muted);margin:12px 0 0;padding-left:18px;font-size:12px;line-height:1.65}.hotel-box{background:#ffffff09;border-radius:14px;margin-top:12px;padding:11px;font-size:12px}.hotel-box strong{color:var(--text);margin-bottom:3px;display:block}.info-grid{gap:11px;display:grid}.info-card h4{margin:0 0 8px}.info-card p,.info-card li{color:var(--muted);font-size:12px;line-height:1.55}.info-card ul{margin:7px 0;padding-left:18px}.phrase{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:8px;padding:10px 0;display:grid}.phrase:first-of-type{border-top:0}.phrase strong{font-size:14px}.phrase span{color:var(--accent);font-size:12px}.source-link{color:var(--accent-2);font-weight:750;text-decoration:none}.empty{text-align:center;color:var(--muted);padding:28px 18px}@media (width>=680px){.content{padding-left:22px;padding-right:22px}.city-grid{grid-template-columns:1fr 1fr}.stats{gap:12px}.hero{padding:30px}.hero h2{font-size:38px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
