:root{--title-size-desktop:3.5rem;--title-size-mobile:2.5rem;--subtitle-size-desktop:7.5rem;--subtitle-size-mobile:14vw;--primary-color:#111;--primary-hover:#333;--bg-color:#ffbf00;--text-primary:#111;--text-secondary:#444;--border-color:#0000001a;--card-bg:#fff;--success-color:#22c55e;--error-color:#e00;--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 24px #0000001f;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-primary);background-color:var(--bg-color);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}#root{flex-direction:column;width:100%;height:100vh;margin:0 auto;display:flex;position:relative;overflow:hidden}button{border-radius:var(--radius-full);background-color:var(--primary-color);color:#fff;cursor:pointer;border:1px solid #0000;width:100%;padding:.8em 1.5em;font-family:inherit;font-size:1rem;font-weight:600;transition:all .2s}button:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}button:disabled{color:#888;cursor:not-allowed;box-shadow:none;background-color:#ccc;transform:none}h1{letter-spacing:-.04em;font-size:2.5rem;font-weight:800;line-height:1.1}h2{letter-spacing:-.02em;margin-bottom:1rem;font-size:1.5rem;font-weight:700}.screen-container{text-align:center;background-color:var(--bg-color);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:1.5rem;animation:.4s ease-out fadeIn;display:flex}.bottom-action{background:var(--bg-color);width:100%;margin-top:auto;padding:1.5rem 0}.welcome-title{font-size:var(--title-size-desktop)}.welcome-subtitle{font-size:var(--subtitle-size-desktop);white-space:nowrap}@media (width<=768px){h1{font-size:2rem}h2{font-size:1.35rem}.screen-container{padding:1rem}button{padding:1em 1.2em;font-size:1.05rem}.welcome-title{font-size:var(--title-size-mobile)}.welcome-subtitle{font-size:var(--subtitle-size-mobile)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #1116}70%{transform:scale(1.05);box-shadow:0 0 0 10px #1110}to{transform:scale(1);box-shadow:0 0 #1110}}.typewriter-text{background:linear-gradient(90deg, var(--primary-color), #555);-webkit-text-fill-color:transparent;white-space:nowrap;border-right:3px solid var(--primary-color);-webkit-background-clip:text;font-size:2.5rem;font-weight:800;animation:1.5s steps(20,end) typing,.75s step-end infinite blink-caret;display:inline-block;overflow:hidden}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:#0000}50%{border-color:var(--primary-color)}}.department-list{flex-direction:column;flex:1;gap:.75rem;width:100%;max-width:500px;margin:1.5rem 0;padding-bottom:2rem;display:flex;overflow-y:auto}.department-item{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);color:var(--text-primary);padding:1rem 1.25rem;font-size:1.1rem;font-weight:500;transition:all .2s}.department-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.department-item.selected{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color);background-color:#1111110d}.nav-screen{flex-direction:column;width:100%;height:100%;display:flex}.nav-header{background-color:var(--bg-color);border-bottom:1px solid var(--border-color);z-index:10;box-shadow:var(--shadow-sm);padding:1.25rem 1rem}.nav-header-top{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.dept-badge{background-color:var(--primary-color);color:#fff;border-radius:var(--radius-full);padding:.25rem .6rem;font-size:.8rem;font-weight:600}.step-badge{color:var(--text-secondary);font-size:.85rem;font-weight:500}.target-waypoint{margin-bottom:.25rem;font-size:1.4rem;font-weight:800}.distance-info{color:var(--primary-color);font-size:1rem;font-weight:600}.nav-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.map-container{background-color:var(--bg-color);flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.map-placeholder{color:var(--text-secondary);text-align:center;flex-direction:column;align-items:center;padding:2rem;display:flex}.pulse-dot{background-color:var(--primary-color);border-radius:50%;width:24px;height:24px;margin-bottom:1rem;animation:2s infinite pulse}.nav-progress{background-color:var(--bg-color);border-top:1px solid var(--border-color);max-height:45%;padding:1.25rem 1rem;overflow-y:auto;box-shadow:0 -4px 12px #00000008}.waypoint-list{flex-direction:column;gap:1rem;display:flex}.waypoint-item{color:var(--text-secondary);align-items:center;gap:1rem;font-weight:500;display:flex}.waypoint-item.completed{color:var(--success-color)}.waypoint-item.current{color:var(--text-primary);font-weight:700}.waypoint-icon{border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;display:flex}.waypoint-item.completed .waypoint-icon{background-color:var(--success-color);color:#fff;border-color:var(--success-color)}.charis-sil-regular{font-family:Charis SIL,serif;font-style:normal;font-weight:400}.charis-sil-bold{font-family:Charis SIL,serif;font-style:normal;font-weight:700}.charis-sil-regular-italic{font-family:Charis SIL,serif;font-style:italic;font-weight:400}.charis-sil-bold-italic{font-family:Charis SIL,serif;font-style:italic;font-weight:700}.charm-regular{font-family:Charm,cursive;font-style:normal;font-weight:400}.charm-bold{font-family:Charm,cursive;font-style:normal;font-weight:700}
