.mobile-app{height:100%;width:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column;background:var(--paper);border-left:1px solid var(--rule);border-right:1px solid var(--rule)}.app-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--rule-strong)}.app-bar-title{display:flex;flex-direction:column;line-height:1.05}.ab-name{font-size:22px;font-weight:700;letter-spacing:-.5px}.ab-sub{font-family:var(--mono);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft);margin-top:3px}.live-dot{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--paper);background:var(--accent);padding:4px 8px;border-radius:2px}.day-nav{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--rule);background:var(--paper-2)}.day-nav>button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--rule-strong);background:var(--paper);font-family:var(--mono);font-size:22px;line-height:1;color:var(--ink)}.day-nav>button:disabled{opacity:.3}.day-nav-dots{display:flex;gap:10px}.day-nav-dots .dot{width:9px;height:9px;border:1px solid var(--rule-strong);background:transparent;border-radius:50%;padding:0}.day-nav-dots .dot.active{background:var(--accent);border-color:var(--accent)}.day-nav-dots .dot.locked{border-style:dashed;opacity:.5}.day-nav-dots .dot.locked.active{background:transparent;border-color:var(--accent);opacity:1}.app-scroll{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.dayview{padding:18px 16px 8px;display:flex;flex-direction:column;gap:16px}.day-heading{display:flex;flex-direction:column;gap:6px}.day-kicker{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--accent)}.day-heading h2{margin:0;font-size:25px;font-weight:700;letter-spacing:-.6px;line-height:1.1}.video-card{position:relative;width:100%;aspect-ratio:3 / 2;background:#000;border:1px solid var(--rule-strong);overflow:hidden}.video-el{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#000}.video-card.placeholder{background:var(--paper-2)}.video-placeholder-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;background-image:repeating-linear-gradient(45deg,rgba(26,27,29,.05) 0 2px,transparent 2px 11px)}.vp-badge{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--paper);background:var(--ink);padding:4px 9px}.vp-title{font-size:17px;font-weight:600;max-width:16em}.vp-note{font-family:var(--mono);font-size:11px;letter-spacing:.5px;color:var(--ink-soft)}.map-card{border:1px solid var(--rule-strong);background:var(--paper)}.map-card-canvas{position:relative;width:100%;height:300px}.map-card-canvas .scene-root{position:absolute;top:0;right:0;bottom:0;left:0}.map-card-canvas .overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--paper);color:var(--ink-soft);font-family:var(--mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;text-align:center;padding:0 24px}.map-card-bar{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-top:1px solid var(--rule-strong)}.map-card-label{font-family:var(--mono);font-size:10px;letter-spacing:2px;color:var(--ink-soft)}.mini-switch{display:flex;border:1px solid var(--rule-strong)}.mini-switch button{border:none;border-left:1px solid var(--rule-strong);background:transparent;color:var(--ink);padding:5px 12px;font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase}.mini-switch button:first-child{border-left:none}.mini-switch button.active{background:var(--ink);color:var(--paper)}.day-details{display:flex;flex-direction:column;gap:12px}.detail-route{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;font-size:16px;padding-bottom:12px;border-bottom:1px solid var(--rule)}.dr-from{color:var(--ink-soft)}.dr-arrow{color:var(--accent);font-weight:700}.dr-to{font-weight:700}.detail-stats{display:flex;flex-wrap:wrap;gap:7px}.chip{font-family:var(--mono);font-size:11px;letter-spacing:.5px;padding:5px 9px;border:1px solid var(--rule-strong);color:var(--ink)}.detail-note{margin:0;font-size:14px;line-height:1.6;color:#3a3b3c}.locked-day{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;padding:64px 24px;min-height:60vh;background-image:repeating-linear-gradient(45deg,rgba(26,27,29,.045) 0 2px,transparent 2px 12px)}.locked-kicker{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--ink-soft)}.lock-badge{width:68px;height:68px;display:flex;align-items:center;justify-content:center;border:1px solid var(--rule-strong);border-radius:50%;background:var(--paper)}.lock-glyph{font-size:26px;filter:grayscale(1)}.locked-count{font-family:var(--mono);font-size:20px;font-weight:700;letter-spacing:1.5px;color:var(--ink);font-variant-numeric:tabular-nums}.locked-sub{font-family:var(--mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft)}.app-foot{display:flex;justify-content:space-between;padding:16px;font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--ink-soft);border-top:1px solid var(--rule);margin-top:8px}.hut-tip{background:var(--paper);color:var(--ink);border:1px solid var(--rule-strong);padding:5px 8px;font-family:var(--mono);font-size:10px;line-height:1.4;white-space:nowrap;transform:translateY(-100%);pointer-events:none}.hut-tip strong{display:block;font-family:var(--sans);font-size:11px}.hut-tip span{color:var(--ink-soft);font-size:9px}:root{--paper: #e7e5df;--paper-2: #efeee9;--ink: #1a1b1d;--ink-soft: #76746e;--rule: rgba(26, 27, 29, .22);--rule-strong: rgba(26, 27, 29, .6);--accent: #c0392b;--sans: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono: "Space Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%;overflow:hidden;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer}
