:root{--bg-page: #fff8ec;--bg-surface: #ffffff;--bg-accent-soft: #faeeda;--accent: #ef9f27;--accent-strong: #ba7517;--accent-text-on-soft: #633806;--accent-text-on-strong: #412402;--text-primary: #2c2c2a;--text-secondary: #6b6a63;--text-muted: #9a988e;--border-soft: #f0e3c8;--danger: #d85a30;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 10px;--shadow-card: 0 2px 10px rgba(64, 44, 10, .06)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-page);color:var(--text-primary);font-family:Hiragino Sans,Noto Sans JP,Yu Gothic,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}a{color:inherit}.app-shell{max-width:480px;margin:0 auto;min-height:100vh;background:var(--bg-page);display:flex;flex-direction:column;position:relative}.screen{flex:1;overflow-y:auto;padding-bottom:84px}.top-bar{padding:18px 18px 14px;background:var(--accent);border-radius:0 0 20px 20px}.top-bar__title{color:var(--accent-text-on-strong);font-size:20px;font-weight:500;margin:0 0 2px}.top-bar__subtitle{color:var(--accent-text-on-soft);font-size:12px;margin:0}.pill-button{border:none;border-radius:20px;padding:8px 16px;font-size:12px;font-weight:500;background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-soft)}.pill-button--active{background:var(--accent);color:var(--accent-text-on-strong);border-color:var(--accent)}.card{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.primary-button{background:var(--accent);color:var(--accent-text-on-strong);border:none;border-radius:20px;padding:13px;font-size:14px;font-weight:500;width:100%}.primary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button{background:var(--bg-surface);color:var(--accent-text-on-soft);border:1px solid var(--border-soft);border-radius:20px;padding:13px;font-size:14px;font-weight:500;width:100%}.bottom-nav{position:sticky;bottom:0;display:flex;justify-content:space-around;align-items:center;padding:12px 0;background:var(--bg-surface);border-top:1px solid var(--border-soft)}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--text-muted);background:none;border:none;text-decoration:none}.bottom-nav__item--active{color:var(--accent-strong)}.leaflet-popup-content{font-family:inherit}
