:root{--primary-color:#fca311;--secondary-color:#14213d;--bg-color:#fff;--surface-color:#f8f9fa;--text-primary:#333;--text-secondary:#666;--border-color:#e5e5e5;--border-radius-lg:16px;--border-radius-md:12px;--border-radius-sm:8px;--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #00000026;--safe-area-bottom:env(safe-area-inset-bottom,20px)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}h1,h2,h3,h4{color:var(--secondary-color);font-weight:700}.app-container{background-color:var(--bg-color);max-width:600px;min-height:100vh;padding-bottom:calc(80px + var(--safe-area-bottom));margin:0 auto;position:relative;box-shadow:0 0 20px #0000000d}.btn-primary{background:linear-gradient(135deg, var(--primary-color), #ffb703);color:#fff;border-radius:var(--border-radius-lg);cursor:pointer;width:100%;box-shadow:var(--shadow-md);border:none;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:1.1rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex}.btn-primary:active{box-shadow:var(--shadow-sm);transform:scale(.98)}.btn-secondary{background:var(--surface-color);width:100%;color:var(--secondary-color);border:1px solid var(--border-color);border-radius:var(--border-radius-md);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:1rem;font-weight:600;display:flex}.bottom-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border-color);width:100%;max-width:600px;padding:12px 0 calc(12px + var(--safe-area-bottom));z-index:1000;background:#fffffff2;justify-content:space-around;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{color:var(--text-secondary);flex-direction:column;align-items:center;gap:4px;font-size:.75rem;display:flex}.nav-item.active{color:var(--primary-color);font-weight:700}.nav-icon{width:24px;height:24px}
